翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeDeploy イベントのトリガーを作成
AWS CodeDeploy デプロイまたはインスタンスイベントの Amazon SNS (Amazon Simple Notification Service) トピックを発行するトリガーを作成できます。次に、そのイベントが発生した場合、関連付けられたトピックのすべてのサブスクライバーは、SMS メッセージまたは E メールメッセージなどの、トピックで指定されたエンドポイントを経由して通知を受信します。Amazon SNS では、トピックをサブスクライブするための複数の方法が用意されています。
トリガーを作成する前に、トリガーの参照先となる Amazon SNS トピックを設定する必要があります。詳細については、「トピックの作成」を参照してください。トピックを作成する際には、Topic-group-us-west-3-deploy-fail
または Topic-group-project-2-instance-stop
などの形式で、目的をわかりやすくする名前を付けることをお勧めします。
トリガーのために通知を送信する前に、 CodeDeploy サービスロールへの Amazon SNS アクセス許可を付与する必要もあります。詳細については、「 CodeDeploy サービスロールへの Amazon SNS アクセス許可の付与」を参照してください。
トピックを作成した後、サブスクライバーを追加できます。トピックの作成、管理、およびサブスクライブについての詳細は、「Amazon Simple Notification Service とは」を参照してください。
CodeDeploy イベントの通知を送信するトリガーの作成 (コンソール)
CodeDeploy コンソールを使用して、 CodeDeploy イベントのトリガーを作成できます。セットアッププロセスの最後に、アクセス許可およびトリガーの詳細の両方が正しくセットアップされていることを確認するためにテスト通知メッセージが送信されます。
CodeDeploy イベントのトリガーを作成
-
AWS Management Console で AWS CodeDeploy コンソールを開きます。
AWS Management Consoleにログインし、https://console.aws.amazon.com/codedeploy CodeDeploy
でコンソールを開きます。 注記 の開始方法 CodeDeploy設定したのと同じユーザーでサインインします。
ナビゲーションペインで [デプロイ] を展開し、[アプリケーション] を選択します。
-
[アプリケーション] ページで、トリガーを追加するデプロイグループに関連付けられているアプリケーションの名前を選択します。
-
[アプリケーションの詳細] ページで、トリガーを追加するデプロイグループを選択します。
-
[編集] を選択します。
-
[Advanced - optional (詳細 - オプション)] を展開します。
-
[トリガー] エリアで、[Create trigger (トリガーの作成)] を選択します。
-
[Create deployment trigger (デプロイトリガーの作成)] ペインで、次の操作を行います。
-
[トリガー名] に、用途をわかりやすく示すトリガーの名前を入力します。
Trigger-group-us-west-3-deploy-fail
またはTrigger-group-eu-central-instance-stop
などの形式をお勧めします。 -
[イベント] で、通知を送信するために Amazon SNS トピックをトリガーするイベントタイプまたはタイプを選択します。
-
[Amazon SNS トピック] で、このトリガーの通知を送信するために作成したトピックの名前を選択します。
-
[トリガーを作成] を選択します。 CodeDeploy Amazon SNS CodeDeploy トピックとの間のアクセスを正しく設定したことを確認するためのテスト通知を送信します。トピックに対して選択したエンドポイントタイプに応じて、トピックをサブスクライブしている場合は、SMS メッセージまたは E メールメッセージで確認を受信します。
-
-
[Save changes] (変更の保存) をクリックします。
CodeDeploy イベントの通知を送信するトリガーの作成 (CLI)
CLI を使用して、デプロイグループを作成するときにトリガーを含めることも、既存のデプロイグループにトリガーを追加することもできます。
新しいデプロイグループの通知を送信するためのトリガーを作成するには
JSON ファイルを作成してデプロイグループを設定し、create-deployment-groupコマンドの使用--cli-input-json
オプションを実行します。
JSON ファイルを作成する最も簡単な方法は、--generate-cli-skeleton
オプションを使用して JSON 形式のコピーを取得し、プレーンテキストエディターで必要な値を指定することです。
-
次のコマンドを実行し、結果をプレーンテキストエディターにコピーします。
aws deploy create-deployment-group --generate-cli-skeleton
-
CodeDeploy 既存のアプリケーションの名前を追加します。
{ "applicationName": "TestApp-us-east-2", "deploymentGroupName": "", "deploymentConfigName": "", "ec2TagFilters": [ { "Key": "", "Value": "", "Type": "" } ], "onPremisesInstanceTagFilters": [ { "Key": "", "Value": "", "Type": "" } ], "autoScalingGroups": [ "" ], "serviceRoleArn": "", "triggerConfigurations": [ { "triggerName": "", "triggerTargetArn": "", "triggerEvents": [ "" ] } ] }
-
設定するパラメータの値を指定します。
create-deployment-groupコマンドを使用するときは、少なくとも次のパラメータの値を指定する必要があります。
-
applicationName
: アカウントで既に作成されたアプリケーションの名前。 -
deploymentGroupName
: 作成するデプロイグループの名前。 -
serviceRoleArn
: CodeDeploy アカウントで設定する既存のサービスロールの ARN。詳細については、「ステップ 2: サービスロールを作成する CodeDeploy」を参照してください。
triggerConfigurations
セクションで、次のパラメーターの値を指定します。-
triggerName
: 簡単に識別できるように、トリガーに付与した名前。Trigger-group-us-west-3-deploy-fail
またはTrigger-group-eu-central-instance-stop
などの形式をお勧めします。 -
triggerTargetArn
: トリガーに関連付けるために作成した Amazon SNS トピックの ARN で以下の形式:arn:aws:sns:us-east-2:444455556666:NewTestTopic
。 -
triggerEvents
: 通知をトリガーするイベントタイプまたはイベント。1 つ以上のイベントタイプを指定し、複数のイベントタイプ名をカンマで区切ることができます (たとえば、"triggerEvents":["DeploymentSuccess","DeploymentFailure","InstanceFailure"]
)。1 つ以上のイベントタイプを追加すると、これらのすべてのタイプの通知は、それぞれの異なるトピックではなく、指定したトピックに送信されます。次のイベントタイプから選択できます。-
DeploymentStart
-
DeploymentSuccess
-
DeploymentFailure
-
DeploymentStop
-
DeploymentRollback
-
DeploymentReady (Blue/Greデプロイグループの置き換え先インスタンスのみに適用)
-
InstanceStart
-
InstanceSuccess
-
InstanceFailure
-
InstanceReady (Blue/Greデプロイグループの置き換え先インスタンスのみに適用)
-
以下の設定例では、
dep-group-ghi-789-2
という名前のアプリケーション用のTestApp-us-east-2
という名前のデプロイグループを作成し、デプロイの開始、成功、または失敗のたびに通知の送信を促すトリガーを作成します。{ "applicationName": "TestApp-us-east-2", "deploymentConfigName": "CodeDeployDefault.OneAtATime", "deploymentGroupName": "dep-group-ghi-789-2", "ec2TagFilters": [ { "Key": "Name", "Value": "Project-ABC", "Type": "KEY_AND_VALUE" } ], "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role", "triggerConfigurations": [ { "triggerName": "Trigger-group-us-east-2", "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments", "triggerEvents": [ "DeploymentStart", "DeploymentSuccess", "DeploymentFailure" ] } ] }
-
-
更新を JSON ファイルとして保存し、create-deployment-group コマンドを実行するときに
--cli-input-json
オプションを使用してそのファイルを呼び出します。重要 ファイル名の前に必ず
file://
を含めてください。このコマンドでは必須です。aws deploy create-deployment-group --cli-input-json file://
filename
.json作成プロセスの最後に、アクセス許可およびトリガーの詳細の両方が正しく設定されていることを示すテスト通知メッセージが届きます。
既存のデプロイグループの通知を送信するためのトリガーを作成するには
AWS CLIupdate-deployment-groupCodeコマンドを既存のデプロイグループに追加するには、JSON ファイルを作成してデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、アップデートデプロイグループを更新し、 CodeDeploy --cli-input-json
JSON ファイルを作成する最も簡単な方法は、get-deployment-group コマンドを実行し、JSON 形式でデプロイグループの設定をコピーして、プレーンテキストエディターでパラメーター値を更新することです。
-
次のコマンドを実行し、結果をプレーンテキストエディターにコピーします。
aws deploy get-deployment-group --application-name
application
--deployment-group-namedeployment-group
-
出力から次のものを削除します。
-
出力の先頭の [
{ "deploymentGroupInfo":
] を削除します。 -
出力の末尾の [
}
] を削除します。 -
[
deploymentGroupId
] を含む行を削除します。 -
[
deploymentGroupName
] を含む行を削除します。
テキストファイルのコンテンツは、次のようになります。
{ "applicationName": "TestApp-us-east-2", "deploymentConfigName": "CodeDeployDefault.OneAtATime", "autoScalingGroups": [], "ec2TagFilters": [ { "Type": "KEY_AND_VALUE", "Value": "Project-ABC", "Key": "Name" } ], "triggerConfigurations": [], "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role", "onPremisesInstanceTagFilters": [] }
-
-
[
triggerConfigurations
] セクションで、[triggerEvents
]、[triggerTargetArn
]、および [triggerName
] パラメーターのデータを追加します。トリガー設定パラメータについては、を参照してくださいTriggerConfig。テキストファイルのコンテンツは、次のようになります。このコードでは、デプロイの開始、成功、または失敗のたびに通知を送信するように求められます。
{ "applicationName": "TestApp-us-east-2", "deploymentConfigName": "CodeDeployDefault.OneAtATime", "autoScalingGroups": [], "ec2TagFilters": [ { "Type": "KEY_AND_VALUE", "Value": "Project-ABC", "Key": "Name" } ], "triggerConfigurations": [ { "triggerEvents": [ "DeploymentStart", "DeploymentSuccess", "DeploymentFailure" ], "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments", "triggerName": "Trigger-group-us-east-2" } ], "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role", "onPremisesInstanceTagFilters": [] }
-
更新を JSON ファイルとして保存し、update-deployment-group
--cli-input-json
オプションを使用してコマンドを実行します。必ず--current-deployment-group-name
オプションを含めて、filename
を JSON ファイルの名前に置き換えてください。重要 ファイル名の前に必ず
file://
を含めてください。このコマンドでは必須です。aws deploy update-deployment-group --current-deployment-group-name
deployment-group-name
--cli-input-json file://filename
.json作成プロセスの最後に、アクセス許可およびトリガーの詳細の両方が正しく設定されていることを示すテスト通知メッセージが届きます。