CloudWatch 로그 그룹에서 내 DataSync 태스크 로그를 찾을 수 없는 이유는 무엇인가요?

2분 분량
0

AWS DataSync 태스크를 실행했지만 관련 Amazon CloudWatch 로그 그룹에서 로그를 찾을 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

CloudWatch Logs에 DataSync에서 로그를 업로드하도록 허용하는 리소스 정책이 있는지 확인합니다. 다음 단계에 따라 DataSync 에이전트의 AWS 리전에서 CloudWatch Logs 리소스 정책을 검토합니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

1.    AWS Command Line Interface(AWS CLI)를 사용하여 describe-resource-policies 명령을 실행합니다.

aws logs describe-resource-policies --region us-east-1

참고: CloudWatch 로그의 경우 각 AWS 계정에는 리전당 최대 10개의 리소스 정책이 허용됩니다. 이 제한을 초과하면 리소스 정책을 생성할 때 오류 메시지가 표시됩니다.

2.    명령의 출력을 검토합니다. 리소스 정책이 설정되지 않은 경우 출력은 다음과 유사합니다.

{
  "resourcePolicies": []
}

중요: DataSync에 대한 리소스 정책이 올바른 AWS 리전에서 활성화되어 있는지 확인합니다. 정책은 사용 중인 DataSync 에이전트와 동일한 리전에 있어야 합니다.

다음 단계에 따라 로그 업로드를 위한 권한을 DataSync에 부여하는 리소스 정책을 생성합니다.

1.    로그 업로드를 위한 최소 권한을 DataSync에 부여하는 JSON 파일을 생성합니다.

{
  "Statement": [
    {
      "Sid": "DataSyncLogsToCloudWatchLogs",
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Principal": {
        "Service": "datasync.amazonaws.com"
      },
      "Resource": "*"
    }
  ],
  "Version": "2012-10-17"
}

파일 policy.json의 이름을 지정할 수 있습니다.

2.    AWS CLI를 사용해 put-resource-policy 명령을 실행하여 JSON 파일을 통해 리소스 정책을 생성합니다.

aws logs put-resource-policy --policy-name trustDataSync --policy-document file://policy.json --region <Region>

중요: DataSync 에이전트의 AWS 리전을 --region의 값으로 설정합니다.

3.    describe-resource-policies 명령을 실행하여 리소스 정책이 생성되었는지 확인합니다.

aws logs describe-resource-policies --region <Region>

참고: CloudWatch 로그의 경우 각 AWS 계정에는 리전당 최대 10개의 리소스 정책이 허용됩니다. 이 제한을 초과하면 리소스 정책을 생성할 때 오류 메시지가 표시됩니다. put-resource-policy 명령을 사용하여 한도에 도달했는지 확인합니다.

4.    리소스 정책을 생성한 후 명령 출력은 다음과 유사합니다.

{
  "resourcePolicies": [
    {
      "policyName": "trustDataSync",
      "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"DataSyncLogsToCloudWatchLogs\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"datasync.amazonaws.com\"},\"Action\":[\"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\":\"*\"}]}",
      "lastUpdatedTime": 1577448776606
    }
  ]
}

5.    리소스 정책을 테스트하려면 DataSync 태스크를 실행합니다. 태스크가 실행되고 몇 분 후에 관련 CloudWatch 로그 그룹의 로그 스트림이 표시되는지 확인합니다.


관련 정보

CloudWatch Logs 리소스에 대한 액세스 권한 관리 개요

AWS 공식
AWS 공식업데이트됨 2년 전