를 사용하여 배포 모니터링 AWS CloudTrail - AWS CodeDeploy

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 배포 모니터링 AWS CloudTrail

CodeDeploy CodeDeploy 계정에서 또는 AWS 계정을 대신하여 이루어진 API 호출을 캡처하고 지정한 Amazon S3 버킷으로 CloudTrail 로그 파일을 전송하는 서비스와 통합되어 있습니다. CloudTrail CodeDeploy 콘솔에서, 를 통한 CodeDeploy 명령 또는 CodeDeploy API에서 직접 API 호출을 캡처합니다. AWS CLI에서 수집한 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 로그 파일을 단일 Amazon S3 버킷으로 집계할 수 있습니다. 자세한 내용은 여러 지역에서 CloudTrail 로그 파일 수신을 참조하십시오.

CodeDeploy 로그 파일 항목 이해

CloudTrail 로그 파일은 하나 이상의 로그 항목을 포함할 수 있으며, 각 항목은 여러 JSON 형식의 이벤트로 구성됩니다. 로그 항목은 어떤 소스로부터의 요청 하나를 나타내며 요청된 작업, 모든 파라미터, 작업 날짜와 시간 등에 대한 정보가 들어 있습니다. 로그 항목의 순서가 정해져 있는 것은 아닙니다. 즉 순서가 지정된 퍼블릭 API 호출의 스택 추적이 아닙니다.

다음 예제는 배포 그룹 만들기 CloudTrail 작업을 보여주는 로그 항목을 보여줍니다. CodeDeploy

{ "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 ... ] }