ヘルスチェックの違い
ECSではタスク中で必須コンテナを指定したり、依存コンテナのヘルスチェックPASSを確認してか
らメインコンテナを立ち上げるなどの制御をすることで、複数プロセスの正常稼働を担保することが
可能です。EC2の場合はヘルスチェックに反応するプロセス以外の正常性を担保することが困難です。
ECSサービス EC2 AutoScalingグループ
ヘルスチェック
EC2インスタンスの起動状態 or
ELBのチェック or
カスタムスクリプトで手動でステータス設定
タスク定義のヘルスチェックコマンド or
ターゲットグループのヘルスチェック
一部プロセスFailしていた
としてもHealthy判定となる
複数プロセスの状態を加味した
Health判定が可能
Task
Container 1 Container 2
OK! NG
Health
Check
Process
1つ落ちているので
NG EC2
Process
1
Process
2
Health
Check
Process
OK! NG
(Process1が)
OK!
Slide 8
Slide 8 text
サービス入れ替えの違い
ECSだと1サービス内に複数個のタスク定義を混在させることが不可能です。EC2 AutoScalingは起
動テンプレート更新時に旧テンプレートのインスタンスを生かしたままにすることもできるため、グ
ループ内で異なる起動テンプレート由来のインスタンスが共存することもあり得ます。
ECSサービス EC2 AutoScalingグループ
入れ替え コンソール上で実行可能
サービスの更新をコンソール上で実行可能
Service
Old
Task
New
Task
New
Task
New
Task
新しいタスクをデプロイしたら
古いタスクは
共存できずに消えてしまう
Auto Scaling group
Old Template New Template
異なる起動テンプレートのインスタンスが
同じAutoScaling Group内で共存可能