新機能 - AWS CodeDeploy イベントの通知
AWS CodeDeploy は EC2 や オンプレミス のインスタンス群に対して可能な限りオンラインのままでコードをデプロイすることを支援するサービスです。AWS CodeDeploy はシングル インスタンスから数千のインスタンス群まで動作するように設計されています。(より詳細な情報は次のポストを参照してください。 New AWS Tools for Code Management and Deployment)
CodeDepoy の通知
ビルド、テスト、展開全体のパイプラインの一部として AWS CodeDeploy をより簡単に利用するために、新しい通知システムの機能が導入されました。これからはアプリケーションの展開プロセスの前、途中、後に Amazon SNS に通知を送信するトリガーを作成することができます。トリガーは展開するインスタンス全体または個別のインスタンスに対してセットすることができ、成功か失敗のどちらの場合でも送信することができます。以下がトリガー全体のリストです:
- DEPLOYMENT_START
- DEPLOYMENT_SUCCESS
- DEPLOYMENT_FAILURE
- DEPLOYMENT_STOP
- INSTANCE_START
- INSTANCE_SUCCESS
- INSTANCE_FAILURE
アプリケーションごとに10個までのトリガーを作成することができます。それぞれのトリガーをひとつのトピックに紐付けることも、それぞれ個別のトピックに送信することもできます。SNSがサポートするどのようなデリバリープロトコルも利用することができます。(http、https、SMSやモバイル プッシュが利用できます)またLambda ファンクションを実行することもできます。
トリガーの作成
トリガーは AWS 管理コンソールまたは AWS コマンドライン インターフェイス(CLI)で作成可能です。このポストではコンソールを使います。サンプルの CodeDeploy アプリケーションをセットアップします。(3つの t2.micro インスタンスを利用します):
そして最初の展開を行います:
SNS トピックを作成し、Eメールをサブスクライブし、サブスクリプションを確認します:
コンソールに戻って CodeDeploy 内のアプリケーションを開きます:
別のタブで IAM を開き、サービス ロールと関連しているポリシーを更新します。SNSへの書き込み権限を与えます。(アプリケーションに対して AWSCodeDeployRole を選択している場合はこの手順は不要です):
CodeDeploy に戻り、トリガーの作成をクリックし、名前を入力し、イベントを選択します(この例ではすべて(All)を選択します)ドロップダウンから SNS トピックを選択します。
個別のイベントを選択することもできます:
トリガーが作成され、コンソールに表示されます:
CodeDeployが確認のメッセージをトピックに対して送信します。私の受信ボックスにトピックが届きます:
次に展開を実施し、Eメールが届くのを待ちます!以下のような感じです:
今回は例を示す目的でEメールを利用しましたが、現実世界のアプリケーションではおそらくメッセージを捕捉して処理するコードを記述したくなるでしょう。
トリガーの機能はすでに有効で今日から利用を開始できます!
(日本語訳はSA 福井が担当しました。原文はこちらです。)
コメント