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
390
第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
190
第96回 雲勉【オンライン:初心者向け】インフラエンジニアのKubernetes入門
sumikurayurie1125
0
180
第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
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
230
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
880
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
230
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
790
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
スクラムのイテレーションを導入してチームの雰囲気がより良くなった話
eccyun
0
110
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
920
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
3.1k
Postman Flowsの基本 / Postman Flows Basics
yokawasa
1
100
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.6k
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
350
The Future of SEO: The Impact of AI on Search
badams
0
160
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Code Reviewing Like a Champion
maltzj
521
39k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Designing Experiences People Love
moore
139
23k
Unsuck your backbone
ammeep
669
57k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Bash Introduction
62gerente
610
210k
Building an army of robots
kneath
302
45k
Building Your Own Lightsaber
phodgson
104
6.2k
Being A Developer After 40
akosma
89
590k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
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