Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Farg...
Search
Y.Sumikura
January 06, 2023
Technology
2
320
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Fargate, App Runnerの特徴、違いを解説
Y.Sumikura
January 06, 2023
Tweet
Share
More Decks by Y.Sumikura
See All by Y.Sumikura
第103回 雲勉【オンライン】インフラエンジニアにおける ChatGPT の便利な使い方と注意点
sumikurayurie1125
1
190
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
180
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
170
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
240
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.2k
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
150
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
54
第90回 雲勉【オンライン:初心者向け】AWS App RunnerにLaravelをデプロイしてLINEBotを作ってみよう
sumikurayurie1125
0
760
Other Decks in Technology
See All in Technology
241130紅白ぺぱ合戦LT「編集の技術」
toya524287
5
570
今はまだ小さい東京ガス内製開発チームが、これからもKubernetesと共に歩み続けるために
yussugi
3
530
マルチプロダクト、マルチデータ基盤での Looker活用事例 〜BQじゃなくてもLookerはいいぞ〜
gappy50
0
120
EthernetベースのGPUクラスタ導入による学びと展望
lycorptech_jp
PRO
0
440
データカタログを自作したけど 運用しなかった話@Findy Lunch LT「データカタログ 事例から学ぶメタデータ管理の実態」
ryo_suzuki
2
410
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
180
突き破って学ぶコンテナセキュリティ/container-breakout-cncj-lt
mochizuki875
5
240
乗っ取れKubernetes!!~リスクから学ぶKubernetesセキュリティの考え方~/k8s-risk-and-security
mochizuki875
3
430
Hyperledger Fabric(再)入門
gakumura
3
6.7k
GPUと画像生成AIが拓くマーケティングとビジネスの未来:次世代の可能性
iotcomjpadmin
0
310
2024年のAmazon Bedrockアップデート一挙おさらい 〜まだ間に合う! re:Invent直前までの重大ニュースを速習しよう〜
minorun365
PRO
3
160
GDGoC開発体験談 - Gemini生成AI活用ハッカソン / GASとFirebaseで挑むパン屋のフードロス解決 -
hotekagi
1
460
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
33
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Statistics for Hackers
jakevdp
796
220k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.3k
What's new in Ruby 2.0
geeforr
343
31k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Teambox: Starting and Learning
jrom
133
8.8k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Transcript
第7回 雲勉LT【オンライン︓初⼼者向け】 サーバレスコンテナサービス Lambda, App Runner, Fargateの特徴、違いを解説 2023/01/10
0.講師⾃⼰紹介 2 n 鈴⽊健⽃ 所属 クラウドインテグレーション事業部 構築第四セクション 経歴 • アイレットに2020年新卒で⼊社
• 新卒 3 年⽬(エンジニア歴 = 社会⼈歴) • 2022 APN ALL AWS Certifications Engineer • 2022 APN AWS Top Engineer • 2022年はJAWS-UGで 14 回登壇 @k_suzuki_pnx
アジェンダ 3 0. ⾃⼰紹介 1. 今回のLTの概要 2. コンテナの利便性 3. AWSのコンテナサービス
- AWS Lambda - AWS App Runner - AWS Fargate 4. それぞれのサービスを⽐較 5. まとめ 6. 参考
1. 本LTの概要 4
1.本LTの概要 5 本LTは昨年 2022/11/28 〜 12/2 に開催された re:Innvent 2022 のセッション
「 Build your application easily & efficiently with serverless containers (CON309) 」 の内容を⽇本語で解説したものとなります。 動画︓https://www.youtube.com/watch?v=MqPxzWqttJs
1.本LTの概要 6 話すこと ・コンテナがなぜ便利なのか ・Lambda, App Runner, Fargate の概要 ・コンテナという⽂脈における、それぞれのサービス⽐較
話さないこと ・サービスの詳細な解説
2.コンテナの利便性 7
2.コンテナの利便性 8 ソフトウェア作成では 適切なビジネススケール/タイミング で、適切なツール選ぶ ことが必要 植物に例えると ・苗⽊に熊⼿を使うと、苗がダメになる ・⽊にジョウロで⽔をやっても意味がない
2.コンテナの利便性 9 今回は 効率性 と 簡易性 を考慮 ・効率性 費⽤に対するコンピューティング能⼒、システムに適しているか ・簡易性
簡単にシステムを構築できる、容易に習得できる
2.コンテナの利便性 10 簡易性 と 効率性 を考慮した際、 ビジネス規模によって柔軟にシステム変更が可能なツール そこで選ばれたのは… コンテナ
2.コンテナの利便性 11 新規プロジェクトのフェーズにおけるコンテナのメリット ・ビルド済みのコンテナイメージを使ってすぐに開発を始められる ・ツールの選定や環境構築に時間をかけなくていい 既存プロジェクトにおけるコンテナのメリット ・標準化されたフォーマット ・⾼額なVMを多く抱える必要がない ・ロールバックが簡単にできるので、デプロイの信頼性と再現性を担保できる
3. AWSのコンテナサービス 12
3. AWSのコンテナサービス 13 n AWSのサーバレスコンテナのサービス AWS Lambda AWS App Runner
AWS Fargate
AWS Lambda サーバーをプロビジョニングしたり管理しなくてもコードを実⾏できるコンピューティングサービス 3. AWSのコンテナサービス 14 特徴 ・初回実⾏には時間がかかる(Cold start) ・1度実⾏されれば連続実⾏では
Cold start 発⽣なし ・並列実⾏の場合はCold startが発⽣ ・料⾦はコードが実⾏された時間のみ
AWS App Runner フルマネージド型のコンテナアプリケーションサービス インフラ、コンテナの経験がなくても、コンテナ化されたウェブアプリケーションや API サービスを構築、デプロイ、実⾏できる 3. AWSのコンテナサービス 15
特徴 ・ロードバランシングはAWSがやってくれる ・インスタンスに対する同時接続数を制御できる ・設定したCPU, メモリに対して1分単位で課⾦ ・業務時間中だけ稼働するアプリに向いてる
AWS Fargate サーバーレスで従量制料⾦のコンピューティングエンジン 3. AWSのコンテナサービス 16 特徴 ・ロードバランシングは料⾦が分離 ・オーケストレーションはECS, EKSを使う
・インバウンドの通信にはELB, API Gateway ・確保されてるCPU, メモリに料⾦が発⽣ →トラフィックが0でも料⾦がかかる
4.それぞれのサービスを⽐較 17
4.それぞれのサービスを⽐較 18 n 料⾦ Lambda ・メモリサイズに基づくミリ秒単位の起動に対して課⾦ ・同時にLambdaが実⾏される場合、別々に課⾦ ・リクエストが届いた後に次のリクエストが届くまでの 数秒から数ミリ秒の間に発⽣するコストをゼロに App
Runner ・ CPUとメモリサイズに基づいて、秒単位の課⾦ ・トラフィックが無い場合、メモリに対してのみ課⾦ ・トラフィックが発⽣した場合は、CPUに⼀律で課⾦ ・アプリケーションインスタンスが起動するたびに最低1分間起動 Fargate ・トラフィックの有無に関係なく、CPUとメモリに対して秒単位で⼀定の課⾦ ・他のリソースと組み合わせると別途課⾦が発⽣
4.それぞれのサービスを⽐較 19 n スケーリング Lambda ・インスタンスの起動は⾮常に早い →スパイクに対して迅速に対応 App Runner ・インスタンスを追加すると同時実⾏可能な容量が⼀気に増える
・応答が遅くなる可能性あり ・急激なスパイクがない限りはトラフィックを維持することが可能 Fargate ・スケーリングは⼀切組み込まれていない ・ユーザは⾃⾝の最適なスケーリングルールを設定する必要がある
4.それぞれのサービスを⽐較 20 n インバウンドのWEBトラフィック Lambda ・Lambda function URL (無料) か
API Gateway (リクエスト単位で課⾦) App Runner ・内臓されており料⾦も意識する必要はない Fargate ・⼀切内蔵されていない ・API GatewayやALBを使う必要あり (トラフィックが少ない場合はAPI Gateway,トラフィックが多い場合はALB)
5.まとめ 21
5.まとめ 22 n 効率性 • 右に⾏くほどアクセスが安定 (左に⾏くほどスパイクが発⽣) • 上に⾏くほどリクエスト数が多い Lambdaはスパイクが発⽣したり
リクエストの少ないシステム App Runnerはアクセスが多く ⼀定の間リクエストが 発⽣しない期間が存在するシステム Fargateはアクセスが多く安定したシステム 適したシステム
5.まとめ 23 n 簡易性 • 左に⾏くほど多くの制御が可能だが、少し複雑で多くの項⽬を設定する必要がある • 右に⾏くほど⾮常に簡単に設定することができ、AWSで完全に管理されている Lambdaはアプリケーションコードを 簡単に実⾏したい
App Runnerはコンテナアプリケーションを 簡単に実⾏したい Fargateはロードバランシングや オートスケーリングなど コンテナ以外の設定も制御したい 適したケース
6. 参考 24
6.参考 25 ・re:Inventのセッション動画(英語) https://www.youtube.com/watch?v=MqPxzWqttJs ・私が書いた翻訳記事 (Qiita) 【re:Invent2022レポート】サーバレスコンテナを使ってより使いやすく、効率的なアプリケー ションを構築しよう (CON309)
26