[5] register-task-definition で新しいイメージを使う task definition (の revision) を登録する。
[6] update-service で service が使う task definition を新しいものに差し替える。このとき --task-definition で revision 番号なしで指定しておけば、最新のものになる。
[7] 後は新しい方の container が起動して安定したら、古い方は自動的に停止する。
[21] インスタンスが1つしかないと、新しい方が起動できずに切り替わらないかもしれません。
[9] 動作させるインスタンスの /etc/ecs/ecs.config
に認証情報を書いておく必要があります
>>8。
[11] インスタンスの (Auto Scaling 起動設定の) ユーザーデータとして、
/etc/ecs/ecs.config
を作成する過程を書いておけばOK >>10。
[12] これをしておかないと Web の management console ではなぜか起動しないように見えます。 (当該インスタンスでログを見たら認証エラーとわかります。)
[14] Web の management console にはインスタンスと Cluster を直接紐付ける UI
はなくて、動作させるインスタンスの /etc/ecs/ecs.config
で cluster の名前を指定する必要があります。
[15] インスタンスの (Auto Scaling 起動設定の) ユーザーデータとして、
/etc/ecs/ecs.config
を作成する過程を書いておけばOK >>10。
[16] Docker image の取得に失敗しているか、サーバーが正常に動作していないか、 ELB のヘルスチェックに失敗しているかもしれません。
[17] 動作するはずのインスタンスで /var/log/ecs/ に何か出ていないか調べてみましょう。 (認証エラー → >>9) (メモリー不足 → インスタンスの種類を変えてみる)
[18] docker コマンドが使えるはずなので、手動で動かして試してみましょう。
[19] 手動で正常にサーバーが動いているのに ELB を通して外部からアクセスできる状態にならないなら、死活検査でエラーになっている可能性もあります。
[22] ELB からインスタンスにアクセスできるかセキュリティグループをチェックしましょう。
[20] 検査する URL は存在するか、認証やリダイレクトになっていないか確認しましょう。 Host:
がサーバーにとって想定外だったときに正しいホストにリダイレクトする仕組みにしていないかもチェック。
[23] ecs-agent running but not connected after a while, generates AGENT errors trying to start tasks · Issue #316 · aws/amazon-ecs-agent ( ()) https://github.com/aws/amazon-ecs-agent/issues/316
[24] ELB が見ていないポートの container を見るようにサービスを更新しようとしても、
A client error (InvalidParameterException) occurred when calling the UpdateService operation: The load balancer elb12345 did not have a listener configured to route traffic to port 12345.
... というエラーになります。
[25] Amazon ECS におけるコンテナ インスタンス ドレイニングの自動化方法 | Amazon Web Services ブログ () https://aws.amazon.com/jp/blogs/news/how-to-automate-container-instance-draining-in-amazon-ecs/
[28] Container Instance Draining - Amazon Elastic Container Service () http://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html
[27] Amazon ECSのCloudWatchメトリクスとAutoScaling戦略 | Developers.IO () https://dev.classmethod.jp/cloud/aws/amazon-ecs-cloudwatch-metrics/