[小ネタ] CodeDeploy を設定した ECS サービスで「新しいデプロイの強制」を行う方法

クラシック ECS コンソールであれば「新しいデプロイの強制」はマネジメントコンソールからもできます
2023.04.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

アノテーション・テクニカルサポートチームの hato です。

ECS サービスでデプロイメントコントローラーCODE_DEPLOYを指定している場合、update-service コマンド等の ECS サービスの更新操作は限定され、代わりにcreate-deploymentコマンドを使用する必要があります。

create-deploymentコマンドは AppSpec ファイルの準備が必要なため、単純にタスクを再起動したい場合に少しでも簡単にできる方法がないか確認したところ、マネジメントコンソールから行う方法がありましたので、やってみます。

注意:2023年4月時点で、操作はクラシック Amazon ECS コンソールを使用する必要があります。
ECS のマネジメントコンソールを旧 UI に戻す方法を教えてください | DevelopersIO

やってみた

Amazon ECS コンソールの「クラスター」からサービスが含まれるクラスターを選択します。

サービスを選択します。

「更新」クリックします。

「新しいデプロイの強制」を選択した状態で、「次のステップ」をクリックします。

「次のステップ」をクリックします。
※CodeDeploy の情報は自動的に入力されます。

「次のステップ」をクリックします。

「次のステップ」をクリックします。

「サービスの更新」をクリックします。

CodeDeploy のデプロイメントが作成されます。 デプロイ ID を選択すると、

Blue/Green デプロイでタスクの入れ替えが行われます。

最後に

CodeDeployの画面AWS CLIで行う場合と比較して AppSpec ファイルの準備が不要なため、比較的手軽にできると思いました。

この記事が誰かのお役にたてば幸いです。

参考資料

ブルー/グリーンデプロイタイプを使用する場合は、クラシック Amazon ECS コンソールを使用する必要があります。

ローリング更新 (ECS) のデプロイタイプを使用するサービスのみが、新しい Amazon ECS エクスペリエンスにより更新可能です。

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。