0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS CodeDeployのライフサイクルフック

Posted at

AWS CodeDeployのライフサイクルフックを各デプロイメントタイプ別に主要な機能と用途をまとめました。

1. EC2/オンプレミスデプロイメント

フック名 タイミング 主な用途
ApplicationStop 古いアプリケーション停止時 現在稼働中の古いバージョンを停止する
DownloadBundle コード取得時 新しいアプリケーションコードをダウンロードする
BeforeInstall インストール前 バックアップ作成や事前準備(例:ファイルの暗号解除)を実施
Install インストール時 新しいコードやファイルを実際にインストールする
AfterInstall インストール後 インストール後の設定変更や権限付与などの調整を行う
ApplicationStart 起動時 新しいアプリケーションを起動する
ValidateService 検証時 デプロイが正しく完了したか、動作確認を行う

2. ECSデプロイメント(ブルー/グリーンデプロイ)

フック名 タイミング 主な用途
BeforeInstall 新タスクセット作成前 新しいタスクセット作成前の準備を行う
AfterInstall 新タスクセット作成後 タスクセット作成後に初期設定や確認処理を実施
AfterAllowTestTraffic テストトラフィック開始後 テスト環境で新タスクセットの動作確認を行う
BeforeAllowTraffic 本番トラフィック移行前 本番環境へ移行する前の最終確認を実施

3. Lambdaデプロイメント

フック名 タイミング 主な用途
BeforeAllowTraffic トラフィック移行前 新しいLambda関数の動作確認や準備を実施
AfterAllowTraffic トラフィック移行後 デプロイ後、実際のトラフィック下での動作確認を行う

4. Auto Scalingとの連携(Auto Scalingライフサイクルフック)

フック名 用途 説明
起動フック インスタンス起動時 新しいインスタンスが起動した際に、初期設定やカスタム処理を実行する
終了フック インスタンス終了時 インスタンス終了前に、クリーンアップなどの後処理を実施する

キーポイントまとめ

  • EC2/オンプレミス:
    古いアプリケーションを停止(ApplicationStop)→ 新コードの取得(DownloadBundle)→ インストール前準備(BeforeInstall)→ インストール(Install)→ インストール後調整(AfterInstall)→ アプリケーション起動(ApplicationStart)→ 動作検証(ValidateService)。

  • ECS:
    新しいタスクセットの作成前後やトラフィック移行時に適切な処理を挟むことで、ブルー/グリーンデプロイを安全に実施。

  • Lambda:
    トラフィックの移行前後で検証を行い、デプロイの成功を確認。

  • Auto Scaling:
    インスタンスの起動・終了時にカスタム処理を実施するための仕組みで、CodeDeployのイベントとは異なる。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?