SlideShare a Scribd company logo
1 of 27
© 2021, Amazon Web Services, Inc. or its Affiliates.
アマゾン ウェブ サービス ジャパン株式会社
落⽔ 恭介
Amazon ECS Deep Dive
~ Capacity Providers ~
2021.09.07
© 2021, Amazon Web Services, Inc. or its Affiliates.
本⽇お話すること
• Amazon ECS での Auto Scaling とは
• コンテナインスタンス (EC2 インスタンスレイヤ)
• ECS サービス (タスクレイヤ)
• ECS Cluster Auto Scaling
• ECS Cluster Auto Scaling とは
• Capacity Providers の概要
© 2021, Amazon Web Services, Inc. or its Affiliates.
ECS Cluster Auto Scaling
© 2021, Amazon Web Services, Inc. or its Affiliates.
ECS Cluster Auto Scaling とは
ECS が Auto Scaling グループのスケールインおよびスケールアウトアクションを管理
Ø Capacity Providers を利⽤することで実現
EC2 インスタンス EC2 インスタンス EC2 インスタンス
Application Auto Scaling
ECS Cluster Auto Scaling
ECS Tasks ECS Tasks ECS Tasks
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider
ECS Cluster
EC2 Auto Scaling Group
CapacityProvider
- Auto Scaling Group ARN
- Target Capacity
ECS Cluster
AWS Fargate AWS Fargate Spot
CapacityProvider
FARGATE
CapacityProvider
FARGATE_SPOT
• ECS とコンテナ実⾏基盤 (Auto Scaling グループ / Fargate) のインターフェイス
• Auto Scaling グループや Fargate を 1 つの Capacity Provider として定義
• 定義した Capacity Provider を ECS クラスターに紐付けて利⽤
• Fargate の Capacity Provider (FARGATE / FARGATE_SPOT) は事前定義済み
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy
• タスクをどの Capacity Provider に配置するかを
決定する「戦略」
• タスクの実⾏や ECS サービスを作成する際に
指定する
• base と weight を使⽤して、複数の Capacity
Provider にまたがって配置することも可能
Default Capacity Provider Strategy
• ECS クラスターがデフォルトで利⽤する Capacity Provider
Strategy
• Capacity Provider Strategy を指定せずにタスクの実⾏や
ECS サービスを作成した場合に利⽤される
ECS Cluster
EC2 Auto Scaling Group EC2 Auto Scaling Group
CapacityProvider A CapacityProvider B
ECS Tasks ECS Tasks
weight: 2 weight: 1
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy
ECS Cluster
EC2 Auto Scaling Group EC2 Auto Scaling Group
CapacityProvider A CapacityProvider B
ECS Tasks
6
weight: 5 weight: 1
• weight
• 実⾏するタスクの総数に対する指定した
Capacity Provider での相対的な割合
• base
• その Capacity Provider での最⼩実⾏タスク数
$ aws ecs run-task
--cluster MyEcsCluster
--task-definition task-def-family:revision
--count 6
--capacity-provider-strategy
capacityProvider=CapacityProviderA,weight=5
capacityProvider=CapacityProviderB,weight=1
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy
• weight
• 実⾏するタスクの総数に対する指定した
Capacity Provider での相対的な割合
• base
• その Capacity Provider での最⼩実⾏タスク数
ECS Cluster
EC2 Auto Scaling Group EC2 Auto Scaling Group
CapacityProvider A CapacityProvider B
ECS Tasks
6
weight: 1
base: 2
weight: 1
$ aws ecs run-task
--cluster MyEcsCluster
--task-definition task-def-family:revision
--count 6
--capacity-provider-strategy
capacityProvider=CapacityProviderA,weight=1,base=2
capacityProvider=CapacityProviderB,weight=1
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy (Fargate の場合)
ECS Cluster
AWS Fargate AWS Fargate Spot
CapacityProvider
FARGATE
CapacityProvider
FARGATE_SPOT
ECS Tasks
ECS Tasks
weight: 1
base: 2
weight: 1
• Fargate の場合も基本的な考え⽅は同じ
• Fargate と Fargate Spot は別の Capacity
Provider で扱う
• Fargate -> FARGATE
• Fargate Spot -> FARGATE_SPOT
• FARGATE / FARGATE_SPOT は事前定義済みのため、
ECS クラスターに紐づけるだけで利⽤可能
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy の考慮事項 (1)
ECS Cluster
AWS Fargate
CapacityProvider
FARGATE
CapacityProvider
Auto Scaling Group
ECS Tasks
weight: 1
base: 2
weight: 1
1. Fargate の Capacity Provider と Auto Scaling
グループの Capacity Provider を混在させた
Strategy を設定することはできない
EC2 Auto Scaling Group
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Strategy の考慮事項 (2)
2. 特定の Capacity Provider でタスクが
実⾏できない場合に、別の Capacity Provider
にフォールバックすることはできない
ECS Cluster
AWS Fargate AWS Fargate Spot
CapacityProvider
FARGATE
CapacityProvider
FARGATE_SPOT
ECS Tasks
weight: 1
base: 2
weight: 1
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Reservation
Capacity Provider
EC2 Auto Scaling Group
ECS Cluster
[AWS/ECS/ManagedScaling]
Capacity Provider Reservation
ECS Tasks
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Provider Reservation
CapacityProviderReservation = M / N x 100 で導出される値
• M : 実⾏しようとしているタスクに必要な Auto Scaling グループ内のインスタンス数
• N : 既に実⾏されている Auto Scaling グループ内の現在のインスタンス数
このメトリクスを利⽤したスケーリングポリシーで Cluster Auto Scaling を実現している
• Target Capacity = 100 → 既存リソースを使い切るまでスケールしない
• Target Capacity < 100 → 早めにスケールアウトし、急なスパイクにも対応
~~~~~~~~~~~~~~~~~~~~~~
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Managed Scaling
• Auto Scaling グループの Capacity Provider では
マネージドスケーリングを有効にできる
• マネージドスケーリングが有効な場合、ECS が
Auto Scaling グループのスケールインおよび
スケールアウトのアクションを管理
AutoScaling group
Amazon ECS
ECS が ASG を
直接制御
CP でマネージドスケーリング
を有効化
© 2021, Amazon Web Services, Inc. or its Affiliates.
Managed Scaling
Capacity Provider
EC2 Auto Scaling Group
ECS Cluster
[AWS/ECS/ManagedScaling]
Capacity Provider Reservation
ECS Tasks
© 2021, Amazon Web Services, Inc. or its Affiliates.
Capacity Providers とは
• ECS クラスター内のタスクで使⽤するインフラストラクチャを管理
• 以下のような概念、機能を持つ
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Managed Termination Protection
AutoScaling group
Amazon ECS
ECS がスケール
イン保護を制御
CP でマネージド
ターミネーション保護を有効化
マネージドターミネーション保護が有効な場合、
ECS はタスクを実⾏中の EC2 インスタンスが
終了しないように Auto Scaling グループの
スケールイン保護を制御する
© 2021, Amazon Web Services, Inc. or its Affiliates.
Managed Termination Protection
EC2 Auto Scaling Group
EC2 インスタンス EC2 インスタンス EC2 インスタンス
スケールイン保護 スケールイン保護 スケールイン保護
Amazon ECS
スケールイン保護の解除
Target Capacity (%): 100
© 2021, Amazon Web Services, Inc. or its Affiliates.
まとめ
© 2021, Amazon Web Services, Inc. or its Affiliates.
まとめ
ECS Cluster
EC2 Auto Scaling Group EC2 Auto Scaling Group
CapacityProvider A CapacityProvider B
ECS Tasks
weight: 2 weight: 1
[AWS/ECS/ManagedScaling]
Capacity Provider Reservation
© 2021, Amazon Web Services, Inc. or its Affiliates.
まとめ
• ECS on EC2 では、EC2 レイヤと ECS サービスレイヤの Auto Scaling を設定する必要がある
• ECS Cluster Auto Scaling により EC2 レイヤのマネージドスケーリングが可能に
• Capacity Providers という機能により ECS Cluster Auto Scaling を実現
• Capacity Provider
• Capacity Provider Strategy
• Capacity Provider Reservation
• Managed Scaling
• Managed Termination Protection
© 2021, Amazon Web Services, Inc. or its Affiliates.
Thank you!

More Related Content

More from Amazon Web Services Japan

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピAmazon Web Services Japan
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operationsAmazon Web Services Japan
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報Amazon Web Services Japan
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon Web Services Japan
 

More from Amazon Web Services Japan (20)

202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
 
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
 
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Recently uploaded (8)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

202109 AWS Black Belt Online Seminar Amazon ECS Capacity Providers

  • 1. © 2021, Amazon Web Services, Inc. or its Affiliates. アマゾン ウェブ サービス ジャパン株式会社 落⽔ 恭介 Amazon ECS Deep Dive ~ Capacity Providers ~ 2021.09.07
  • 2. © 2021, Amazon Web Services, Inc. or its Affiliates. 本⽇お話すること • Amazon ECS での Auto Scaling とは • コンテナインスタンス (EC2 インスタンスレイヤ) • ECS サービス (タスクレイヤ) • ECS Cluster Auto Scaling • ECS Cluster Auto Scaling とは • Capacity Providers の概要
  • 3. © 2021, Amazon Web Services, Inc. or its Affiliates. ECS Cluster Auto Scaling
  • 4. © 2021, Amazon Web Services, Inc. or its Affiliates. ECS Cluster Auto Scaling とは ECS が Auto Scaling グループのスケールインおよびスケールアウトアクションを管理 Ø Capacity Providers を利⽤することで実現 EC2 インスタンス EC2 インスタンス EC2 インスタンス Application Auto Scaling ECS Cluster Auto Scaling ECS Tasks ECS Tasks ECS Tasks
  • 5. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 6. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 7. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider ECS Cluster EC2 Auto Scaling Group CapacityProvider - Auto Scaling Group ARN - Target Capacity ECS Cluster AWS Fargate AWS Fargate Spot CapacityProvider FARGATE CapacityProvider FARGATE_SPOT • ECS とコンテナ実⾏基盤 (Auto Scaling グループ / Fargate) のインターフェイス • Auto Scaling グループや Fargate を 1 つの Capacity Provider として定義 • 定義した Capacity Provider を ECS クラスターに紐付けて利⽤ • Fargate の Capacity Provider (FARGATE / FARGATE_SPOT) は事前定義済み
  • 8. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 9. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy • タスクをどの Capacity Provider に配置するかを 決定する「戦略」 • タスクの実⾏や ECS サービスを作成する際に 指定する • base と weight を使⽤して、複数の Capacity Provider にまたがって配置することも可能 Default Capacity Provider Strategy • ECS クラスターがデフォルトで利⽤する Capacity Provider Strategy • Capacity Provider Strategy を指定せずにタスクの実⾏や ECS サービスを作成した場合に利⽤される ECS Cluster EC2 Auto Scaling Group EC2 Auto Scaling Group CapacityProvider A CapacityProvider B ECS Tasks ECS Tasks weight: 2 weight: 1
  • 10. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy ECS Cluster EC2 Auto Scaling Group EC2 Auto Scaling Group CapacityProvider A CapacityProvider B ECS Tasks 6 weight: 5 weight: 1 • weight • 実⾏するタスクの総数に対する指定した Capacity Provider での相対的な割合 • base • その Capacity Provider での最⼩実⾏タスク数 $ aws ecs run-task --cluster MyEcsCluster --task-definition task-def-family:revision --count 6 --capacity-provider-strategy capacityProvider=CapacityProviderA,weight=5 capacityProvider=CapacityProviderB,weight=1
  • 11. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy • weight • 実⾏するタスクの総数に対する指定した Capacity Provider での相対的な割合 • base • その Capacity Provider での最⼩実⾏タスク数 ECS Cluster EC2 Auto Scaling Group EC2 Auto Scaling Group CapacityProvider A CapacityProvider B ECS Tasks 6 weight: 1 base: 2 weight: 1 $ aws ecs run-task --cluster MyEcsCluster --task-definition task-def-family:revision --count 6 --capacity-provider-strategy capacityProvider=CapacityProviderA,weight=1,base=2 capacityProvider=CapacityProviderB,weight=1
  • 12. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy (Fargate の場合) ECS Cluster AWS Fargate AWS Fargate Spot CapacityProvider FARGATE CapacityProvider FARGATE_SPOT ECS Tasks ECS Tasks weight: 1 base: 2 weight: 1 • Fargate の場合も基本的な考え⽅は同じ • Fargate と Fargate Spot は別の Capacity Provider で扱う • Fargate -> FARGATE • Fargate Spot -> FARGATE_SPOT • FARGATE / FARGATE_SPOT は事前定義済みのため、 ECS クラスターに紐づけるだけで利⽤可能
  • 13. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy の考慮事項 (1) ECS Cluster AWS Fargate CapacityProvider FARGATE CapacityProvider Auto Scaling Group ECS Tasks weight: 1 base: 2 weight: 1 1. Fargate の Capacity Provider と Auto Scaling グループの Capacity Provider を混在させた Strategy を設定することはできない EC2 Auto Scaling Group
  • 14. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Strategy の考慮事項 (2) 2. 特定の Capacity Provider でタスクが 実⾏できない場合に、別の Capacity Provider にフォールバックすることはできない ECS Cluster AWS Fargate AWS Fargate Spot CapacityProvider FARGATE CapacityProvider FARGATE_SPOT ECS Tasks weight: 1 base: 2 weight: 1
  • 15. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 16. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Reservation Capacity Provider EC2 Auto Scaling Group ECS Cluster [AWS/ECS/ManagedScaling] Capacity Provider Reservation ECS Tasks
  • 17. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Provider Reservation CapacityProviderReservation = M / N x 100 で導出される値 • M : 実⾏しようとしているタスクに必要な Auto Scaling グループ内のインスタンス数 • N : 既に実⾏されている Auto Scaling グループ内の現在のインスタンス数 このメトリクスを利⽤したスケーリングポリシーで Cluster Auto Scaling を実現している • Target Capacity = 100 → 既存リソースを使い切るまでスケールしない • Target Capacity < 100 → 早めにスケールアウトし、急なスパイクにも対応 ~~~~~~~~~~~~~~~~~~~~~~
  • 18. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 19. © 2021, Amazon Web Services, Inc. or its Affiliates. Managed Scaling • Auto Scaling グループの Capacity Provider では マネージドスケーリングを有効にできる • マネージドスケーリングが有効な場合、ECS が Auto Scaling グループのスケールインおよび スケールアウトのアクションを管理 AutoScaling group Amazon ECS ECS が ASG を 直接制御 CP でマネージドスケーリング を有効化
  • 20. © 2021, Amazon Web Services, Inc. or its Affiliates. Managed Scaling Capacity Provider EC2 Auto Scaling Group ECS Cluster [AWS/ECS/ManagedScaling] Capacity Provider Reservation ECS Tasks
  • 21. © 2021, Amazon Web Services, Inc. or its Affiliates. Capacity Providers とは • ECS クラスター内のタスクで使⽤するインフラストラクチャを管理 • 以下のような概念、機能を持つ • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 22. © 2021, Amazon Web Services, Inc. or its Affiliates. Managed Termination Protection AutoScaling group Amazon ECS ECS がスケール イン保護を制御 CP でマネージド ターミネーション保護を有効化 マネージドターミネーション保護が有効な場合、 ECS はタスクを実⾏中の EC2 インスタンスが 終了しないように Auto Scaling グループの スケールイン保護を制御する
  • 23. © 2021, Amazon Web Services, Inc. or its Affiliates. Managed Termination Protection EC2 Auto Scaling Group EC2 インスタンス EC2 インスタンス EC2 インスタンス スケールイン保護 スケールイン保護 スケールイン保護 Amazon ECS スケールイン保護の解除 Target Capacity (%): 100
  • 24. © 2021, Amazon Web Services, Inc. or its Affiliates. まとめ
  • 25. © 2021, Amazon Web Services, Inc. or its Affiliates. まとめ ECS Cluster EC2 Auto Scaling Group EC2 Auto Scaling Group CapacityProvider A CapacityProvider B ECS Tasks weight: 2 weight: 1 [AWS/ECS/ManagedScaling] Capacity Provider Reservation
  • 26. © 2021, Amazon Web Services, Inc. or its Affiliates. まとめ • ECS on EC2 では、EC2 レイヤと ECS サービスレイヤの Auto Scaling を設定する必要がある • ECS Cluster Auto Scaling により EC2 レイヤのマネージドスケーリングが可能に • Capacity Providers という機能により ECS Cluster Auto Scaling を実現 • Capacity Provider • Capacity Provider Strategy • Capacity Provider Reservation • Managed Scaling • Managed Termination Protection
  • 27. © 2021, Amazon Web Services, Inc. or its Affiliates. Thank you!