Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
現実世界で活用するAWSサーバーレス・コンテナサービス
Search
はまーん
February 01, 2021
Technology
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
現実世界で活用するAWSサーバーレス・コンテナサービス
AWS re:Invent 2020
https://reinvent.awsevents.com/
はまーん
February 01, 2021
More Decks by はまーん
See All by はまーん
アジリティと両立する AWS のガバナンスコントロール
track3jyo
4
530
もうすぐローンチ 3 周年! AWS App Runner の魅力と進化の歴史
track3jyo
10
7.3k
スタートアップと re:invent 2023 と THE FRUGAL ARCHITECT
track3jyo
1
510
AWS App Runner を使う時に押さえておきたい勘所 〜 Web アプリをコンテナに最適化する 〜
track3jyo
9
11k
Hugo で作ったブログに閲覧数ランキングが欲しい!
track3jyo
2
1.5k
必要十分な設計をデザインし続けるコト ~ ECS の Blue/Green デプロイを添えて ~
track3jyo
4
700
\ 祝!/AWS 大阪リージョン 2 周年の歩み
track3jyo
0
740
AWS re:Invent recap: SA が選ぶ 『スタートアップに嬉しい新サービス・新機能』 #AWSStartupfm
track3jyo
3
600
あなたと 「|」 したい・・・
track3jyo
2
3k
Other Decks in Technology
See All in Technology
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
590
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
500
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
980
FOSS4Gを活用した自治体業務DXの試み
470715
0
130
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
730
20260930_Gemma4_Hands-on
tsho
0
240
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
570
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
330
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Odyssey Design
rkendrick25
PRO
2
860
Building an army of robots
kneath
307
47k
RailsConf 2023
tenderlove
30
1.6k
Navigating Team Friction
lara
192
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
580
Ethics towards AI in product and experience design
skipperchong
2
420
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 現実世界で活⽤する AWS サーバーレス・コンテナサービス 濱 真⼀ アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト C O N 2 5 1 - G
想定聴講者 • サーバーレスとかコンテナというキーワードは知っている • どんなユースケースでサーバーレス・コンテナを活⽤できるかを知りたい • AWS のサーバーレス・コンテナサービスのそれぞれの特徴、どういう時に使うものかを知りた い ゴール
• サーバーレス・コンテナがそれぞれ解決する課題、そして AWS の関連サービスが解決してくれ る課題を理解する • ⾃⾝のアプリケーションのこの部分でサーバーレス・コンテナを活⽤でき、どのAWSサービス が必要か判断できるようになる 本セッションは…
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. サーバーレスとコンテナ 現実世界のユースケースパターン まとめ アジェンダ
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. サーバーレスとコンテナ
サーバーレス とは︖ サーバーがない? サーバーの存在を意識しない • ユーザーコントロール可能なサーバーを前提としない • AWS のフルマネージドな管理 •
ただしコンピュータリソースを意識する設定はある 例) AWS Lambda︓実⾏する関数のランタイムのメモリ量
サーバーレスを選択するビジネス価値 インフラのプロビジョニング不要 サーバ管理不要 ⾃動でスケール 価値に対する⽀払い ⾼可⽤かつ安全
サーバーレス の効能 + 利⽤費の 適正化 作業量の 削減 + 時間の 短縮
コンテナとは︖ コンテナイメージ ランタイム エンジン アプリケーション コード 依存ライブラリ パッケージ 各環境に配布 ローカル環境
ステージング環境 本番環境 コンテナ コンテナ コンテナ
なぜ多くの企業がコンテナ活⽤に 向かっているのか • Run Anywhere • Portability • Isolated processes
⼤きな変化を⽬指す過程において、 コンテナは最良の選択肢の⼀つ
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 現実世界のユースケースパターン
WEB アプリアーキテクチャ ホスティング API の エンドポイント (Amazon API Gateway) API
に対する認証認可 (Amazon Cognito) Amazon DynamoDB イベントバス (Amazon EventBridge) 定期実⾏ コンテナ実⾏環境 (AWS Fargate) バッチ処理を⾏うコンテナ (Amazon ECS タスク) ワークフロー管理 (AWS Step Functions) バックエンドの関数 (AWS Lambda) 集計 Simple Storage Service 格納 コンテナイメージの 保管場所 (Amazon ECR) Client ホスティング Simple Storage Service
パターン1︓動的 WEB アプリ API ホスティング API の エンドポイント (API Gateway)
API に対する認証認可 (Cognito) DynamoDB イベントバス (EventBridge) 定期実⾏ コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step Functions) バックエンドの関数 (Lambda) 集計 S3 格納 コンテナイメージの 保管場所 (ECR) Client S3
パターン1︓動的 WEB アプリ API API のエンドポイント (API Gateway) API に対する認証認可
(Cognito) DynamoDB Client バックエンドの関数 (Lambda)
パターン1︓動的 WEB アプリ API API のエンドポイント (API Gateway) API に対する認証認可
(Cognito) DynamoDB Client バックエンドの関数 (Lambda) • API のインターフェースとなるサービス • 豊富なバックエンド統合 • スロットリング、キャッシュ、バリデーション • 認証・認可
パターン1︓動的 WEB アプリ API API のエンドポイント (API Gateway) API に対する認証認可
(Cognito) DynamoDB Client バックエンドの関数 (Lambda) • 開発した 関数 を“フルマネージ ド”な環境で実⾏するサービス • イベントドリブン • Python、Node.js、Java、C#、 Go、PowerShell、Ruby 、カス タムランタイム
パターン1︓動的 WEB アプリ API API のエンドポイント (API Gateway) API に対する認証認可
(Cognito) DynamoDB Client バックエンドの関数 (Lambda) • API ベースでモバイルや Web アプリケーションに認証/認可機 能を提供するサービス
パターン1︓動的 WEB アプリ API サービス選定の理由は︖ • API Gateway • API
を実装時に考慮するキャッシュ機能や⼊⼒のバリデーション、スロットリング制御、 認証機能等を利⽤可能 • Lambda • サーバー管理を⾏う必要がないので、プログラムを書くという⾏為に集中できる • 関数に対するリクエストの数とコードの実⾏時間に基づく従量課⾦で、コストが最適化される どんなユースケースで使うことができるのか︖ • ⼀般的な WEB アプリケーションの API • モバイルアプリのバックエンドの API • リアルタイムチャット(WebSocket) • 業務系の API(プライベート API)
関連情報はこちら • Amazon API Gateway • https://aws.amazon.com/jp/blogs/news/webinar-bb-amazon-api-gateway-2019/ • AWS Lambda
• https://www.slideshare.net/AmazonWebServicesJapan/20190402-aws-black-belt-online-seminar-lets-dive-deep-into- aws-lambda-part1-part2/ • Amazon Cognito • https://www.slideshare.net/AmazonWebServicesJapan/20200630-aws-black-belt-online-seminar-amazon-cognito • サーバーレスアプリケーション向きの DB 設計ベストプラクティス • https://www.slideshare.net/AmazonWebServicesJapan/db-20190905 • 今から始めるサーバーレス • https://aws.amazon.com/jp/serverless/patterns/start-serverless/ パターン1︓動的 WEB アプリ API
パターン2︓定期実⾏のバッチ処理 ホスティング S3 API の エンドポイント (API Gateway) API に対する認証認可
(Cognito) DynamoDB イベントバス (EventBridge) 定期実⾏ コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step Functions) バックエンドの関数 (Lambda) 集計 S3 格納 コンテナイメージの 保管場所 (ECR) Client
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (Amazon ECS) retry End 定期実⾏
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (ECS) retry End 定期実⾏ • AWS サービス、SaaS プロバイダのための サーバーレス型のイベントバス • イベント駆動アーキテクチャを容易に構築 • スケジュール式でのトリガーも可能
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (ECS) retry End 定期実⾏ • 複数の処理をフロ ーとして管理する サービス • 可視化が可能 • 幅広い AWS の サービスに対応
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (ECS) retry End 定期実⾏ • AWS ネイティブなコンテナオーケ ストレーションツール • タスクとサービスというシンプルな リソース表現
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (ECS) retry End 定期実⾏ • AWS マネージドなコンテナ実⾏環境 • ホストの管理運⽤から解放され、 コンテナ⾃体にフォーカス可能 • ECS と EKS それぞれで利⽤可能
パターン2︓定期実⾏のバッチ処理 イベントバス (EventBridge) コンテナ実⾏環境 (Fargate) バッチ処理を⾏うコンテナ (ECS タスク) ワークフロー管理 (Step
Functions) コンテナイメージの 保管場所 (ECR) Start run task コンテナ管理 (ECS) retry End 定期実⾏ • フルマネージドなプライベートコンテナ イメージレジストリ • Docker CLI からの利⽤ • イメージスキャン機能
パターン2︓定期実⾏のバッチ処理 サービス選定の理由は︖ • ECS on Fargate • 平均的な処理時間が 15 分以上であり、Lambda
だとタイムアウトになる • ECS では ALB や Secrets Manager との統合等、AWS サービスとのネイティブな統合を利⽤可能 • Fargate を利⽤することでホストの運⽤管理から解放される • Step Functions • ECS のタスク実⾏に対するリトライやエラーハンドリングを組み込むため どんなユースケースで使うことができるのか︖ • 定期実⾏型のバッチ処理 • イベント駆動型のジョブ実⾏ • データ加⼯処理
パターン2︓定期実⾏のバッチ処理 関連情報はこちら • コンテナを有効活⽤したいあなたへ AWS コンテナサービス⼊⾨ 2020 • https://resources.awscloud.com/aws-summit-online-japan-2020-on-demand-aws-sessions-1-82341/aws-41-aws-summit- online-japan-2020-720p
• Amazon ECS Deep Dive • https://www.slideshare.net/AmazonWebServicesJapan/20190731-black-belt-online-seminar-amazon-ecs-deep-dive-162160987 • AWS Step Functions • https://www.slideshare.net/AmazonWebServicesJapan/20190522-aws-black-belt-online-seminar-aws-step-functions • Amazon EventBridge • https://www.slideshare.net/AmazonWebServicesJapan/20200122-aws-black-belt-online-seminar-amazon-eventbridge • AWSサービスで実現するバッチ実⾏環境のコンテナ/サーバレス化 (AWS Dev Day Tokyo 2019 / コネヒト株式会社様) • https://pages.awscloud.com/rs/112-TZM-766/images/G-5.pdf
データプレーン (コンテナの実⾏環境) 業務処理連携アーキテクチャ コンテナの管理 (Amazon EKS) pub/sub メッセージング (Amazon SNS
トピック) Email パートナー ソリューション メッセージキューイング (Amazon SQS キュー) HTTP DynamoDB メッセージキューイング (Amazon SQS キュー) Lambda Lambda ECR
データプレーン (コンテナの実⾏環境) パターン3︓Kubernetes on AWS コンテナの管理 (Amazon EKS) pub/sub メッセージング
(Amazon SNS トピック) Email パートナー ソリューション メッセージキューイング (Amazon SQS キュー) HTTP DynamoDB メッセージキューイング (Amazon SQS キュー) Lambda Lambda ECR
パターン3︓Kubernetes on AWS コンテナの管理 (Amazon EKS) ECR コンテナの実⾏環境 IAM Role
Security group Amazon CloudWatch Container Insights Kubernetes 関連の エコシステム
パターン3︓Kubernetes on AWS コンテナの管理 (Amazon EKS) ECR コンテナの実⾏環境 IAM Role
Security group Amazon CloudWatch Container Insights Kubernetes 関連の エコシステム • Kubernetes という OSS のコンテナ オーケストレーションツールのマネ ージドサービス • 関連する OSS をそのまま利⽤可能 • 各種 AWS サービスとの統合
パターン3︓Kubernetes on AWS サービス選定の理由は︖ • EKS • オンプレミス上で実⾏していた Kubernetes 上のアプリケーションを移⾏
• Kubernetes で利⽤できる豊富な OSS を利⽤したい • 運⽤が難しいコントロールプレーンの管理から解放され、データプレーンの運⽤負担も⼀部 軽減 • Pod(コンテナの最⼩実⾏単位) レベルでのアクセスコントロールの機能が備わっている どんなユースケースで使うことができるのか︖ • リソースの表現⼒が⾼いため常駐アプリケーションからジョブ実⾏のようなワークロードま で幅広く対応可能 • クラスターの継続的なバージョンアップ作業など Kubernetes ⾃体の運⽤難易度は⾼い
パターン3︓Kubernetes on AWS 関連情報はこちら • Kubernetes on AWS - Amazon
EKSとそれを⽀えるServicesやTools - • https://speakerdeck.com/track3jyo/kubernetes-on-aws-amazon-ekstosorewozhi-eruservicesyatools • eksctl 公式ドキュメント • https://eksctl.io/ • Introduction to Amazon EKS(⽇本語ワークショップ) • https://eks-for-aws-summit-online.workshop.aws/ • EKS Workshop (英語ワークショップ) • https://www.eksworkshop.com/ • CNCF Cloud Native Interactive Landscape ( 関連するOSSエコシステム群) • https://landscape.cncf.io/
データプレーン (コンテナの実⾏環境) パターン4︓処理間の⾮同期連携 コンテナの管理 (Amazon EKS) pub/sub メッセージング (Amazon SNS
トピック) Email パートナー ソリューション メッセージキューイング (Amazon SQS キュー) HTTP DynamoDB メッセージキューイング (Amazon SQS キュー) Lambda Lambda ECR
パターン4︓処理間の⾮同期連携 Email パートナー ソリューション メッセージ キューイング (SQS キュー) HTTP DynamoDB
Lambda イベントプロデューサー ( 処理A ) Lambda pub/sub メッセージング (SNS トピック) Amazon SNS Amazon SQS
パターン4︓処理間の⾮同期連携 Email パートナー ソリューション メッセージ キューイング (SQS キュー) HTTP DynamoDB
Lambda イベントプロデューサー ( 処理A ) Lambda pub/sub メッセージング (SNS トピック) Amazon SNS Amazon SQS • AWS マネージドなメッセージキュー • コンポーネント間を疎結合にする • ⾼いスケーラビリティ
パターン4︓処理間の⾮同期連携 Email パートナー ソリューション メッセージ キューイング (SQS キュー) HTTP DynamoDB
Lambda イベントプロデューサー ( 処理A ) Lambda pub/sub メッセージング (SNS トピック) Amazon SNS Amazon SQS • AWS マネージドな pub/sub メッセージン グサービス • システム間通信 • SMS、プッシュ通知、 Eメール
パターン4︓処理間の⾮同期連携 サービス選定の理由は︖ • SQS • プロデューサーとコンシューマが疎結合になる • 耐障害性が向上する • 処理単位でマイクロサービスにチームが分かれている際、プラットフォームや⾔語の違い
を吸収できる • ⾮同期アーキテクチャになり、処理間が違いを意識せずメッセージを送れる(and 消費できる) • SNS • メッセージの送信先の増加(キューの追加、E メール通知など)に対する拡張が容易 どんなユースケースで使うことができるのか︖ • 処理の塊(処理A、処理Bなど)の間をイベント駆動で⾮同期連携 • ⼤量メッセージの⾮同期での安定処理
パターン4︓処理間の⾮同期連携 関連情報はこちら • Amazon SNS • https://www.slideshare.net/AmazonWebServicesJapan/20190604-aws-black-belt-online-seminar-amazon-simple- notification-service-sns • Amazon
SQS • https://www.slideshare.net/AmazonWebServicesJapan/20190717-aws-black-belt-online-seminar-amazon-simple-queue- service
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. まとめ
AWS のサーバーレス関連サービス AWS Lambda AWS Fargate Amazon API Gateway Amazon
SNS Amazon SQS AWS Step Functions コンピュート データストア インテグレーション AWS AppSync Amazon Aurora Serverless Amazon S3 Amazon DynamoDB Amazon EventBridge
AWS のコンテナ関連サービス Deployment, scheduling, scaling, and management of containerized applications
Where the containers run Amazon Elastic Container Service Amazon Elastic Kubernetes Service Amazon EC2 AWS Fargate Container image repository Amazon Elastic Container Registry オーケストレーション コンピュートエンジン イメージレジストリ
コンピューティングの多様な選択肢 適切なコンピューティングサービスの選択が重要 Functions Containers Virtual Machines 運⽤コスト低 コントロール範囲
Thank you! © 2020, Amazon Web Services, Inc. or its
affiliates. All rights reserved. 濱 真⼀ アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト track3jyo