先にまとめ
- コンテナが不定期に停止する代わりに 通常価格の70%OFF になるサービス
- Savings Plansとの併用はできない。らしい (伝聞のためソースなし
- 雑に始めたければ、Capacity Provider を
FARGATE SPOT
のみにする- Fargete と Fargate Spot を併用したければ、Capacity provider strategy を設定する
- 停止の120秒前に Amazon EventBridge で通知がくる
- ただし、2019/12月時点の東京リージョンでは、80H稼働し続けても特に死ぬことはなかったらしい
さっき止めるまで80時間ぐらい、10タスク中1つも落ちませんでした。FARGATE_SPOT、マジで今は東京リージョン使い放題です。 https://t.co/qDIX3vu2wo
— 濱田孝治(ハマコー) (@hamako9999) 2019年12月12日
想定される使いみち
- 中断しても困らない並列処理や分散処理
- QA環境などのテストサーバ
- 本番サーバのバッファ
Fargate Spotの雑なはじめかた
ECS の Capacity Provider を FARGATE SPOT
のみにする
Capacity Provider って何?
ECSのクラスターの実行環境。Fargete ならば FARGATE
と FARGATE SPOT
がある
FARGATE
を消してしまえば、 Capacity Provider はFARGATE SPOT
のみなので、全ての task が Fargate Spot で実行される- 余談。ECS on EC2 ならば、ECS Cluster Auto Scaling も追加可能
- これは、コンテナの増減に応じて、EC2のスケールイン/アウトを自動にしてくれるサービス
- これまでは、個別に管理する必要があったので大変だった
Capacity provider strategy
もし、 FARGATE
と FARGATE SPOT
を併用したい場合、Capacity provider strategy という設定で、task実行時の Capacity Provider の配分を決めることができる
コンテナの停止を検知する方法
Amazon EventBridge とは
AWSとSaaSを統合するために、AWSで発生するイベントを他のAWSサービスやSaaSと紐付けるサービス
Amazon EventBridge は、独自のアプリケーション、統合 Software-as-a-Service (SaaS) アプリケーション、および AWS のサービスからのデータを使用して、アプリケーションを簡単に接続することを可能にするサーバーレスイベントバスです。
Amazon EventBridge と SNS ってどう違うの?
大規模に素早く pub/sub したい場合は SNS。いろいろなサービスと手軽に繋がりたい場合は、EventBridge という感じらしい