Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Capacity Providerとは?ECSの次世代スケーリング戦略

濱田孝治
December 11, 2019

Capacity Providerとは?ECSの次世代スケーリング戦略

re:Invent2019で発表されたECSのCapacity Providerについて喋りました。今までのオートスケーリング戦略を柔軟に組み合わせることができ、さらにFargateの場合は非常にお安くタスクを起動できるFARGATE_SPOTも利用できるため、今後のECSのワークロードにおいて検討必須の素晴らしい機能です。

濱田孝治

December 11, 2019
Tweet

More Decks by 濱田孝治

Other Decks in Technology

Transcript

  1. 8 Agenda • Capacity Providerとは • ECS on EC2の場合 •

    ECS on Fargateの場合 • Capacity Provider Strategyによるタスク配分戦略 • Capacity Providerのユースケース • あなたにも今すぐ10分でできるFARGATE_SPOTの 活⽤⽅法
  2. 11 Capacity Providerとは 名称 特徴 Capacity provider ECSのタスクを実⾏するインフラを決定する ・EC2︓Auto Scaling

    Group ・Fargate︓FARGATE, FARGATE SPOT Capacity provider strategy 複数のCapacity providerの組み合わせ⽅ (最⼩タスク数、タスク数⽐率)を決定する
  3. 13 Capacity Providerの構造(EC2) Auto Scaling group Capacity Provider Auto Scaling

    group Capacity Provider Auto Scaling group Capacity Provider Capacity Provider Strategy ・ ・ ・ • VPC • サブネット • AMI • インスタンスタイプ • オンデマンド or スポット ECS Cluster Auto Scaling group
  4. 16 Capacity Providerの作り⽅(EC2) ECS Cluster 起動順序 • ECS Cluster作成 •

    Auto Scaling group作成 • Capacity Provider作成 Auto Scaling group Capacity Provider
  5. 17 Capacity Providerの作り⽅(EC2) ECS Cluster 起動順序 • ECS Cluster作成 •

    Auto Scaling group作成 • Capacity Provider作成 • タスク実⾏、もしくはサービス作成 Auto Scaling group Capacity Provider ECS Tasks
  6. 18 Capacity Providerの作り⽅(EC2) ECS Cluster 起動順序 • ECS Cluster作成 •

    Auto Scaling group作成 • Capacity Provider作成 • タスク実⾏、もしくはサービス作成 • EC2インスタンス起動 • タスクの配置 Auto Scaling group Capacity Provider EC2 Instances ECS Tasks
  7. 20 Capacity Providerの構造(Fargate) FARGATE Capacity Provider FARGATE_SPOT Capacity Provider Capacity

    Provider Strategy ECS Cluster Fargateで登録できるCapacity Provider はFARGATEとFARGATE_SPOTのみ
  8. 25 Capacity Providerの作り⽅(Fargate) ECS Cluster 起動順序 • ECS Cluster作成 •

    Capacity Provider作成 • タスク実⾏、もしくはサービス作成 • タスクの配置 Capacity Provider ECS Tasks
  9. 27 Capacity Provider Strategyとは • 複数のCapacity Providerの組み合わせ⽐率を決定 • Base︓最⼩タスク数(1つのみ指定) •

    注意︓run-taskのみ有効、create serviceでは無効(将来対応 予定) • Weight︓タスク数⽐率
  10. 31 ユースケース2︓AZのバランシング AZのバランス⽐率を全て同じに する CP1:Base=0, Weight=1 CP2:Base=0, Weight=1 CP3:Base=0, Weight=1

    これにより、Auto Scaling groupがスケールするとき も、タスクのリバランシン グが不要 ECS Cluster Auto Scaling group (AZ1) Capacity Provider:CP1 Auto Scaling group (AZ2) Capacity Provider:CP2 Auto Scaling group (AZ3) Capacity Provider:CP3