によるデプロイのモニタリング AWS CloudTrail - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

によるデプロイのモニタリング AWS CloudTrail

CodeDeploy は と統合されています。これは CloudTrail、 AWS アカウント CodeDeploy で によって、または に代わって行われた API コールをキャプチャし、指定した Amazon S3 バケットにログファイルを配信するサービスです。 CloudTrail は、 CodeDeploy コンソール、 CodeDeploy コマンドから 、 AWS CLIまたは API から直接 CodeDeploy APIs コールをキャプチャします。によって収集された情報を使用して CloudTrail、 に対して行われたリクエスト CodeDeploy、リクエスト元の送信元 IP アドレス、リクエスト者、リクエスト日時などを判断できます。の設定と有効化の方法など CloudTrail、 の詳細については、AWS CloudTrail 「 ユーザーガイド」を参照してください。

CodeDeploy の情報 CloudTrail

AWS アカウントで CloudTrail ログ記録が有効になっている場合、 CodeDeploy アクションに対する API コールはログファイルに記録されます。 CodeDeploy レコードは、ログファイルの他の AWS サービスレコードとともに記録されます。 は、期間とファイルサイズに基づいて新しいファイルを作成および書き込むタイミング CloudTrail を決定します。

すべての CodeDeploy アクションがログに記録され、AWS CodeDeploy 「 コマンドラインリファレンス」およびAWS CodeDeploy 「 API リファレンス」に文書化されます。例えば、デプロイの作成、アプリケーションの削除、アプリケーションリビジョンの登録を呼び出すと、 CloudTrail ログファイルにエントリが生成されます。

各ログエントリには、リクエストの生成者に関する情報が含まれます。ログ内のユーザー ID 情報は、リクエストがルート認証情報またはユーザー認証情報を使用して行われたか、ロールまたはフェデレーティッドユーザーの一時的なセキュリティ認証情報を使用して送信されたか、または別の AWS サービスによって送信されたかを判断するのに役立ちます。詳細については、イベントリファレンス の userIdentity フィールドを参照してください。 CloudTrail

必要な場合はログファイルを自身のバケットに保管できますが、ログファイルを自動的にアーカイブまたは削除するにように Amazon S3 ライフサイクルルールを定義することもできます。デフォルトで、Amazon S3 のサーバー側の暗号化 (SSE) を使用して、ログファイルが暗号化されます。

新しいログファイルが配信されると、 に Amazon SNS 通知 CloudTrail を発行させることができます。詳細については、「 の Amazon SNS 通知の設定 CloudTrail」を参照してください。

複数の AWS リージョンと複数の AWS アカウントの CodeDeploy ログファイルを 1 つの Amazon S3 バケットに集約することもできます。詳細については、「複数のリージョンからの CloudTrail ログファイルの受信」を参照してください。

CodeDeploy ログファイルエントリについて

CloudTrail ログファイルには、各エントリが複数の JSON 形式のイベントで構成される 1 つ以上のログエントリを含めることができます。ログエントリは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、任意のパラメータ、アクションの日時などに関する情報を含みます。ログエントリは、特定の順序になるように生成されるわけではありません。つまり、パブリック API コールの順序付けられたスタックトレースではありません。

次の例は、デプロイグループ CodeDeploy の作成アクションを示す CloudTrail ログエントリを示しています。

{ "Records": [{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11", "arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2014-11-27T03:57:36Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAI44QH8DHBEXAMPLE", "arn": "arn:aws:iam::123456789012:role/example-role", "accountId": "123456789012", "userName": "example-role" } } }, "eventTime": "2014-11-27T03:57:36Z", "eventSource": "codedeploy.amazonaws.com", "eventName": "CreateDeploymentGroup", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.11", "userAgent": "example-user-agent-string", "requestParameters": { "applicationName": "ExampleApplication", "serviceRoleArn": "arn:aws:iam::123456789012:role/example-instance-group-role", "deploymentGroupName": "ExampleDeploymentGroup", "ec2TagFilters": [{ "value": "CodeDeployDemo", "type": "KEY_AND_VALUE", "key": "Name" }], "deploymentConfigName": "CodeDeployDefault.HalfAtATime" }, "responseElements": { "deploymentGroupId": "7d64e680-e6f4-4c07-b10a-9e117EXAMPLE" }, "requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE", "eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }, ... additional entries ... ] }