🍱
ECSでFARGATE_SPOTの起動数を指定する方法
ECSでFARGATE_SPOTを指定する方法が分かりにくかったのでメモ。
困っている人に届きますように。
前提
FARGATE_SPOTを使う場合、ECSサービスでプラットフォームバージョン 1.3.0 以降を指定する必要がある。
クラスタのデフォルトキャパシティープロバイダー戦略を更新する場合
対象クラスタの詳細画面>クラスターの更新を押下。
デフォルトのキャパシティープロバイダー戦略にて、下記のように設定して更新ボタンを押下する。
サービスごとにキャパシティープロバイダー戦略を更新する場合
対象クラスタの詳細画面>サービスの更新を押下。
キャパシティープロバイダー戦略にて、下記のように設定して更新ボタンを押下する。
設定値
※ベースは優先起動するタスクの数。
※ウェイトは起動割合。
FARGATE:FARGATE_SPOT=1:1とする場合
プロバイダー 1:FARGATE ベース 0 ウェイト1
プロバイダー 2:FARGATE_SPOT ベース 0 ウェイト1
FARGATEで何台か優先起動させる場合
プロバイダー 1:FARGATE ベース 2 ウェイト1 # ベース=FARGATEで優先起動する台数
プロバイダー 2:FARGATE_SPOT ベース 0 ウェイト3
この設定だと、タスク数6つのときにFARGATE:FARGATE_SPOT=3:3となる。
1.タスクを2つまでFARGATEで優先起動する。
→FARGATE×2、残りタスク4つを起動予定
2.ウェイトに従ってタスクを起動する。
FARGATE:FARGATE_SPOT=1:3のため、残り4タスクをこの割合で起動する。
→FARGATE×3、FARGATE_SPOT×3
タスク数10だとFARGATE:FARGATE_SPOT=4:6、
タスク数30だとFARGATE:FARGATE_SPOT=9:21
プロバイダー 1:FARGATE ベース 2 ウェイト1
プロバイダー 2:FARGATE_SPOT ベース 0 ウェイト1
この設定だと、タスク数6つのときにFARGATE:FARGATE_SPOT=4:2となる。
タスク数10だとFARGATE:FARGATE_SPOT=6:4、
タスク数30だとFARGATE:FARGATE_SPOT=16:14
Discussion