Amazon Athena의 "Unable to Verify/Create Output Bucket" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 2월 10일

SQL Workbench/J, AWS Lambda 또는 AWS SDK를 사용하여 Amazon Athena 쿼리를 실행하면 "Unable to verify/create output bucket" 오류가 표시됩니다.

간략한 설명

이 오류의 몇 가지 일반적인 원인은 다음과 같습니다.

  • 쿼리 결과 위치에 대해 지정한 Amazon Simple Storage Service(Amazon S3) 버킷이 존재하지 않습니다.
  • 쿼리를 실행하는 사용자 또는 역할에 대한 AWS Identity and Access Management(IAM) 정책에 s3: GetBucketLocation과 같은 필요한 Amazon S3 권한이 없습니다.

​해결 방법

쿼리 결과 위치를 수동으로 설정하는 경우 S3 버킷이 존재하는지 확인합니다. 그런 다음 쿼리를 실행 중인 사용자 또는 역할에 대한 IAM 정책을 확인합니다.

  • 다음 예제 정책의 권한이 허용되는지 확인합니다.
  • IAM 정책에 aws:SourceIp 또는 aws:SourceVpc를 사용하여 S3 권한을 제한하는 Deny 문이 포함되지 않았는지 확인합니다.

참고: 버킷이 이미 있는 경우 s3:CreateBucket 권한이 필요하지 않습니다. 쿼리 결과 위치를 수동으로 설정한 경우 arn:aws:s3:::aws-athena-query-results-* 권한이 필요하지 않습니다. arn:aws:s3:::query-results-custom-bucketarn:aws:s3:::query-results-custom-bucket/* 권한은 쿼리 결과 위치를 수동으로 설정한 경우에만 필요합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload",
                "s3:CreateBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::aws-athena-query-results-*",
                "arn:aws:s3:::query-results-custom-bucket",
                "arn:aws:s3:::query-results-custom-bucket/*"
            ]
        }
    ]
}