Amazon Web Services ブログ

New – AWS CodeDeploy イベントの通知機能

AWS CodeDeploy は、EC2 インスタンスや オンプレミスで稼働するインスタンスを含む、さまざまなインスタンスに、それらを可能な限りオンライン状態にしたまま、コードを容易にデプロイできるようにするサービスです。CodeDeploy は、1 つのインスタンスから数千のインスタンスにいたる範囲を対象にできるように設計されました (詳細については、「New AWS Tools for Code Management and Deployment」を参照)。

CodeDeploy の通知
全体的なビルド、テスト、およびデプロイパイプラインの一環として、CodeDeploy を使いやすくするために、今日、新しい通知システムを導入しました。Amazon SNS 通知をアプリケーションのデプロイプロセスの前後および途中に送信するトリガーを作成できるようになりました。トリガーの設定は、デプロイプロセス全体を対象にすることも、デプロイプロセスでターゲットにされる個々のインスタンスを対象にすることもできます。また、成功した場合と失敗した場合の両方で、トリガーを送信できます。次に、すべてのトリガーを一覧します。

  • DEPLOYMENT_START
  • DEPLOYMENT_SUCCESS
  • DEPLOYMENT_FAILURE
  • DEPLOYMENT_STOP
  • INSTANCE_START
  • INSTANCE_SUCCESS
  • INSTANCE_FAILURE

アプリケーションあたり最大 10 のトリガーを作成できます。複数のトリガーを 1 つのトピックに接続することも、各トリガーを個々のトピックに送信することもできます。SNS でサポートされているいずれのデリバリプロトコル (httphttps、E メール、SMS、およびモバイルプッシュ) も使用できます。Lambda 関数を起動することもできます。

トリガーの作成
トリガーは、AWS マネジメントコンソールまたは AWS コマンドラインインターフェイス (CLI) を介して作成できます。この投稿では、コンソールを使用する操作手順を示します。サンプル CodeDeploy アプリケーションをセットアップします (3 つの t2.micro インスタンス)。

次に、初期デプロイを実行します。

SNS トピックを作成し、E メール経由でサブスクライブして、サブスクリプションを確認します。

コンソールに戻り、CodeDeploy 内でアプリケーションを開きます。

別のタブで IAM を開き、サービスロールに関連付けられているポリシーに、SNS に書き込むアクセス許可を付与します (アプリケーション用にマネージド型 AWSCodeDeployRole を選択している場合は、これを行う必要はありません)。

CodeDeploy に戻り、[Create trigger] をクリックします。名前を入力し、イベントを選択し (この例ではすべてのイベントを選択)、ドロップダウンから SNS トピックを選択します。

また、個々のイベントも選択します。

トリガーが作成され、コンソールに表示されます。

CodeDeploy によって確認メッセージがトピックに送信され、[受信トレイ] の先頭に表示されます。

デプロイを開始し、E メールが届くのを待ちます。次のようなメッセージが届きます。

説明をわかりやすくするために E メールを使いましたが、実際のアプリケーションでは、メッセージを取得して処理するコードを記述する必要があります。

トリガーはすでに利用でき、すぐに使い始めることができます!