概要
今年のre:inventでFargateにもspot Instanceみたいなものを使えるようになりました。
お値段とかどんなサービスかはクラメソさんのブログを見てください。
【最大70%引きで使用可能、東京でも利用可能】AWS Fargate Spotがリリースされました。
今回は既存のClusterに適用にするにはマネジメントコンソールでのやり方がわからなかったためCLIでやりました。
そのための手順のみ記載していきます。
手順
AWS CLIのアップデート
CapacityProviders用のコマンドがいるのでバージョンを最新にします。
pip install --upgrade awscli
今回の手順は以下のバージョンで行いました。
$ aws --version
aws-cli/1.16.296 Python/3.7.4 Darwin/18.7.0 botocore/1.13.32
CLIコマンド
aws ecs put-cluster-capacity-providers \
--cluster [クラスター名] \
--capacity-providers FARGATE FARGATE_SPOT \
--default-capacity-provider-strategy capacityProvider=FARGATE,weight=1,base=1\ \
--profile [プロファイル名]
参照記事には、--capacity-providers
には既に設定されているCapacityProvidersも全部書きましょうとありますが、ないのでFARGATE
,FARGATE_SPOT
の2つでOKです。
--default-capacity-provider-strategy
に関しては、デフォルトでのCapacityProvidersと割合(weight)及び最低必要数(base)を記載します。
Update Cluster
コマンド実行後にCapacityProvidersタブにこのように表示されます。
あとは、右上のUpdate Cluster
を押すと以下のように割合設定できます。
注意点
2019/12/04時点ではCapacityProvidersタブにあるCapacityProviderを選択してDeactivate
を押すと消えます。
消えたあとにUpdate Cluster
画面に戻っても、もとに戻せないのでまたCLIからです。
検証中ですが、設定だけしても次回タスクがFARGATE_SPOT
で上がってこない可能性あります。
その場合、CLIでサービスを強制deployしたら行けました。
こちらは、検証後に再度アップします
2019/12/21 追記
その後の調べた内容をブログにまとめました。