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
330
第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
200
第101回 雲勉【オンライン】VPC から始めるネットワーク入門
sumikurayurie1125
0
140
第99回 雲勉【オンライン:初心者向け】Infrastructure as Code (IaC) 入門 〜TerraformとAnsibleを使ってみよう〜
sumikurayurie1125
0
190
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
180
第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
56
第90回 雲勉【オンライン:初心者向け】AWS App RunnerにLaravelをデプロイしてLINEBotを作ってみよう
sumikurayurie1125
0
770
Other Decks in Technology
See All in Technology
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
270
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
180
.NET 9 のパフォーマンス改善
nenonaninu
0
1.2k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
170
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
130
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
20241220_S3 tablesの使い方を検証してみた
handy
4
660
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
140
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
210
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Making the Leap to Tech Lead
cromwellryan
133
9k
KATA
mclloyd
29
14k
Designing for Performance
lara
604
68k
Statistics for Hackers
jakevdp
796
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Mobile First: as difficult as doing things right
swwweet
222
9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Designing Experiences People Love
moore
138
23k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
A designer walks into a library…
pauljervisheath
205
24k
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