Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Lambda with AWS DataSync で実現する サーバレスファイル転送システム
Search
4hei4hei
February 09, 2024
1
120
AWS Lambda with AWS DataSync で実現する サーバレスファイル転送システム
NRI Netcom tech and design study #7
https://www.youtube.com/watch?v=RRQlSrG-GPc
4hei4hei
February 09, 2024
Tweet
Share
More Decks by 4hei4hei
See All by 4hei4hei
コスト観点で見る CloudFront
4hei4hei
8
1.8k
HTTP ヘッダ観点で見る CloudFront
4hei4hei
0
120
AWS DataSync クロスリージョン S3 to S3 転送をざっくり絵で紹介
4hei4hei
1
160
Amazon CloudFront Continuous Deployment 基本から自動化まで
4hei4hei
0
120
Origin 負荷軽減の観点で見る CloudFront - オプション機能から Originless 設計まで -
4hei4hei
1
67
Featured
See All Featured
Writing Fast Ruby
sferik
627
61k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
4 Signs Your Business is Dying
shpigford
180
21k
GraphQLとの向き合い方2022年版
quramy
43
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Making Projects Easy
brettharned
115
5.9k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Building an army of robots
kneath
302
43k
KATA
mclloyd
29
14k
Scaling GitHub
holman
458
140k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Transcript
AWS Lambda with AWS DataSync で実現する サーバレスファイル転送システム NRI ネットコム株式会社 西
洋平 NRI Netcom tech and design study #7 2023 年 05 月 31 日 #nncstudy
はじめに u 自己紹介 u 西 洋平 (にし ようへい) u 2020
年新卒入社 (4 年目) u AWS 上に構築された Web システムの運用/改善や PoC に従事 u Award u Japan AWS Jr. Champions (2023) u APN ALL AWS Certifications Engineers (2023) #nncstudy 1
#nncstudy 2 今日のお話 オンプレミスのファイル転送システムを AWS DataSync ベースに改修 & AWS 上へ移行した話
(入社 1~2 年目の新人の頃にやってた話)
#nncstudy 3 今日のお話 オンプレミスのファイル転送システムを AWS DataSync ベースに改修 & AWS 上へ移行した話
(入社 1~2 年目の新人の頃にやってた話) 元々どういう構成だったの? 改修してどうなったの? AWS DataSync って? よかった / 注意するポイントは?
以降のスライドでは以下の語句について省略した形で表記します #nncstudy 4 用語について
#nncstudy 5 AWS DataSync 導入前の構成 Application
#nncstudy 6 AWS DataSync 導入前の構成 Application 定期的に Amazon SQS をポーリング
対象ファイルを Amazon S3 から DL して転送 対象のファイル ID を通知 ファイルは AmazonS3 に配置
#nncstudy 7 AWS DataSync 導入前の構成 Application サーバに入らないと何もわからない e.g. • 今どの
ID を転送してる? 進捗は? • エラーになったけどどうなってる? エラー時の対象 ID 検索が難しい…… そもそも管理が……
#nncstudy 8 AWS DataSync 導入前の構成 Application サーバに入らないと何もわからない e.g. • 今どの
ID を転送してる? 進捗は? • エラーになったけどどうなってる? エラー時の対象 ID 検索が難しい…… そもそも管理が…… AWS 上へサーバレス化してリプレイスしよう!!!
#nncstudy 9 AWS DataSync 導入前の構成 Application サーバに入らないと何もわからない e.g. • 今どの
ID を転送してる? 進捗は? • エラーになったけどどうなってる? エラー時の対象 ID 検索が難しい…… そもそも管理が…… AWS 上へサーバレス化してリプレイスしよう!!! → AWS DataSync の出番
u AWS マネージドなデータ / ファイル転送サービス u 帯域幅の調整や転送後のファイル検証が可能 u 様々なユースケースに対応可能 #nncstudy
10 AWS DataSync AWS to AWS AWS to On-premise AWS to Other cloud
#nncstudy 11 AWS DataSync
#nncstudy 12 AWS DataSync 転送処理を担う実体 (Amazon EC2 やオンプレミスの VM にインストール)
Task には Task Execution の結果が 履歴として残っていく 転送元 / 先の情報
#nncstudy 13 AWS DataSync 転送処理を担う実体 (Amazon EC2 やオンプレミスの VM にインストール)
Task には Task Execution の結果が 履歴として残っていく 転送元 / 先の情報 AWS DataSync を使ってサーバレス化すると……
#nncstudy 14 サーバレス化後の構成
#nncstudy 15 サーバレス化後の構成 AWS SAM で開発 / 管理 AWS DataSync
での転送
#nncstudy 16 サーバレス化後の構成 Amazon DynamoDB で Task の情報を管理 (転送用 Task
の割り当てに活用) 予め AWS DataSync タスクを複数作成してプール化 Amazon DynamoDB の情報を定期更新 Amazon SQS 駆動で Task Execution を起動
#nncstudy 17 サーバレス化後の構成 AWS DataSync から転送進捗や情報を確認可能 Amazon CloudWatch Logs でログも確認可能
DLQ 新設で re-run 性 / 追跡性を向上
u デプロイ体制についても整備 #nncstudy 18 サーバレス化後の構成
u デプロイ体制についても整備 #nncstudy 19 サーバレス化後の構成 詳細はネットコムブログで https://tech.nri-net.com/entry/teaching_uncle_jenkins_about_aws_sam
ポイント 開発関連 n AWS SAM を使って開発 n AWS Lambda 作成/開発の手軽さ
n デプロイも設定ファイルでシンプルに 移行関連 n AWS DataSync 転送先の書き込み権限 n .aws-datasync/ の write 権限を要許可 運用関連 n AWS DataSync による恩恵 n Agent / Location 情報を流用しやすい n フォルダ単位で対象の限定も可能 n ファイルサイズや転送時間も表示 n 完全性の検証まで担ってくれる n 注意点 n Agent 単位の状態はウォッチしづらい #nncstudy 20
#nncstudy 21 ふりかえり サーバレス化してよかったこと 反省点 次やるなら……?
#nncstudy 22 ふりかえり サーバレス化してよかったこと ほぼ AWS DataSync 任せに!!! 反省点 次やるなら……?
#nncstudy 23 ふりかえり サーバレス化してよかったこと ほぼ AWS DataSync 任せに!!! 反省点 Agent
の可視性も考えたかった 次やるなら……?
#nncstudy 24 ふりかえり サーバレス化してよかったこと ほぼ AWS DataSync 任せに!!! 反省点 Agent
の可視性も考えたかった 次やるなら……? AWS StepFunctions で開発!!!
u AWS DataSync で転送処理をもっと便利に u 進捗や転送情報を可視化 / 転送後の検証まで u AWS
SAM を利用 u AWS Lambda の開発からデプロイまでをとても手軽に #nncstudy 25 おわりに