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
第7回 雲勉LT【オンライン:初心者向け】サーバレスコンテナサービス Lambda, Farg...
Search
Y.Sumikura
January 06, 2023
Technology
2
400
第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
210
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
200
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
190
第8回 雲勉LT【オンライン:中級者向け】AthenaでS3上のデータとDynamoDBのデータを結合する
sumikurayurie1125
0
270
第93回 雲勉【オンライン:初心者向け】CI/CDって結局何なの?インフラエンジニアがCode3兄弟を学ぶ
sumikurayurie1125
11
3.3k
第6回 雲勉LT【オンライン:初心者向け】2022年 気になったアップデート情報:「RDSコンソールの、EC2ワンクリック接続オプション」について
sumikurayurie1125
0
160
第5回 雲勉LT【オンライン:初心者向け】GCのサービスだけでCI_CDを構築してみよう
sumikurayurie1125
0
58
第90回 雲勉【オンライン:初心者向け】AWS App RunnerにLaravelをデプロイしてLINEBotを作ってみよう
sumikurayurie1125
0
790
Other Decks in Technology
See All in Technology
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
910
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
270
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
180
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
230
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
300
Active Directory攻防
cryptopeg
PRO
8
5.5k
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
8
1.2k
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
200
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
190
MIMEと文字コードの闇
hirachan
2
1.4k
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.2k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Rails Girls Zürich Keynote
gr2m
94
13k
Become a Pro
speakerdeck
PRO
26
5.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
GraphQLとの向き合い方2022年版
quramy
44
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
RailsConf 2023
tenderlove
29
1k
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