Amazon S3 버킷이 요청자 지불로 구성된 경우 쿼리를 실행하는 사용자의 계정에 쿼리와 관련된 데이터 액세스 및 데이터 전송 요금이 부과됩니다. 자세한 내용은 Amazon S3 사용 설명서의 스토리지 전송 및 사용량에 대한 요청자 지불액 버킷 사용을 참조하세요.
Athena for Spark에서는 요청자 지불 버킷은 작업 그룹이 아닌 세션을 기반으로 활성화됩니다. 상위 수준에서 요청자 지불 버킷을 활성화하려면 다음 단계가 포함됩니다.
-
Amazon S3 콘솔에서 버킷에 대한 속성에서 요청자 지불을 활성화하고 액세스를 지정하는 버킷 정책을 추가합니다.
-
IAM 콘솔에서 버킷에 대한 액세스를 허용하는 IAM 정책을 생성하고 요청자 지불 버킷에 액세스하는 데 사용할 IAM 역할에 정책을 연결합니다.
-
Athena for Spark에서 세션 속성을 추가하여 요청자 지불 기능을 활성화합니다.
1단계: Amazon S3 버킷에서 요청자 지불 활성화 및 버킷 정책 추가
Amazon S3 버킷에 대한 요청자 지불을 활성화하려면
https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
버킷 목록에서 요청자 지불을 활성화할 버킷에 대한 링크를 선택합니다.
-
버킷 페이지에서 속성 탭을 선택합니다.
-
요청자 지불 섹션으로 스크롤을 내리고 편집을 선택합니다.
-
요청자 지불 편집 페이지에서 활성화를 선택하고 변경 사항 저장을 선택합니다.
-
권한 탭을 선택합니다.
-
버킷 정책 섹션에서 편집을 선택합니다.
-
버킷 정책 편집 페이지에서 소스 버킷에 원하는 버킷 정책을 적용합니다. 다음 정책 예제는 모든 AWS 보안 주체(
"AWS": "*"
)에 대한 액세스를 제공하지만 액세스 권한을 더 세분화할 수 있습니다. 예를 들어 다른 계정에서 특정 IAM 역할만 지정하려고 합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::
account_number
-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number
-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }
2단계: IAM 정책을 생성하여 IAM 역할에 연결
그런 다음 버킷에 액세스를 허용하는 IAM 정책을 생성합니다. 그리고 요청자 지불 버킷에 액세스하는 데 사용할 역할에 정책을 연결합니다.
요청자 지불 버킷에 대한 IAM 정책을 생성하고 정책을 역할에 연결하려면
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
IAM 콘솔의 탐색 창에서 정책을 선택합니다.
-
정책 생성을 선택합니다.
-
JSON을 선택합니다.
-
정책 편집기에서 다음과 같은 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
account_number
-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number
-us-east-1-my-s3-requester-pays-bucket/*" ] } ] } -
Next(다음)를 선택합니다.
-
검토 및 생성 페이지에 정책의 이름과 설명(선택 사항)을 입력하고 정책 생성을 선택합니다.
-
탐색 창에서 Roles를 선택합니다.
-
역할 페이지에서 사용하려는 역할을 찾고 역할 이름 링크를 선택합니다.
-
권한 정책 섹션에서 권한 추가, 정책 연결을 차례로 선택합니다.
-
기타 권한 정책 섹션에서 생성한 정책의 확인란을 선택하고 권한 추가를 선택합니다.
3단계: Athena for Spark 세션 속성 추가
요청자 지불에 대한 Amazon S3 버킷과 관련 권한을 구성한 후 Athena for Spark 세션에서 이 기능을 활성화할 수 있습니다.
Athena for Spark 세션에서 요청자 지불 버킷을 활성화하려면
-
노트북 편집기의 오른쪽 상단 Session(세션) 메뉴에서 Edit session(세션 편집)을 선택합니다.
-
Spark 속성을 확장합니다.
-
JSON으로 편집을 선택합니다.
-
JSON 텍스트 편집기에 다음을 입력합니다.
{ "spark.hadoop.fs.s3.useRequesterPaysHeader":"true" }
-
Save(저장)를 선택합니다.