LoginSignup
10
8

More than 3 years have passed since last update.

【AWS】既存のECS ClusterにFargate Spotを適用させる

Last updated at Posted at 2019-12-04

概要

今年のre:inventでFargateにもspot Instanceみたいなものを使えるようになりました。
お値段とかどんなサービスかはクラメソさんのブログを見てください。
【最大70%引きで使用可能、東京でも利用可能】AWS Fargate Spotがリリースされました。

今回は既存のClusterに適用にするにはマネジメントコンソールでのやり方がわからなかったためCLIでやりました。
そのための手順のみ記載していきます。

手順

AWS CLIのアップデート

CapacityProviders用のコマンドがいるのでバージョンを最新にします。

console
pip install --upgrade awscli

今回の手順は以下のバージョンで行いました。

console
$ 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タブにこのように表示されます。

スクリーンショット 2019-12-04 17.02.07.png

あとは、右上のUpdate Clusterを押すと以下のように割合設定できます。

スクリーンショット 2019-12-04 17.02.34.png

注意点

2019/12/04時点ではCapacityProvidersタブにあるCapacityProviderを選択してDeactivateを押すと消えます。
消えたあとにUpdate Cluster画面に戻っても、もとに戻せないのでまたCLIからです。

検証中ですが、設定だけしても次回タスクがFARGATE_SPOTで上がってこない可能性あります。
その場合、CLIでサービスを強制deployしたら行けました。
こちらは、検証後に再度アップします

2019/12/21 追記

その後の調べた内容をブログにまとめました。

参照記事

Using AWS Fargate Capacity Providers

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8