Amazon RDS 저장 프로시저를 사용하는 Amazon Simple Storage Service(S3) 버킷과 Amazon RDS for Db2 DB 인스턴스 간에 파일을 전송할 수 있습니다. 자세한 내용은 Amazon RDS for Db2 저장 프로시저 참조 단원을 참조하십시오.
참고
DB 인스턴스와 Amazon S3 버킷은 같은 AWS 리전에 있어야 합니다.
RDS for Db2를 Amazon S3와 통합하려면 DB 인스턴스가 RDS for Db2가 있는 Amazon S3 버킷에 액세스할 수 있어야 합니다. 현재 S3 버킷이 없는 경우에는 버킷을 생성하세요.
1단계: IAM 정책 생성
이 단계에서는 Amazon S3 버킷에서 RDS DB 인스턴스로 파일을 전송하는 데 필요한 권한을 가진 AWS Identity and Access Management(IAM) 정책을 생성합니다. 이 단계에서는 이미 S3 버킷을 생성한 것으로 가정합니다. 자세한 내용은 Amazon S3 사용자 안내서의 버킷 생성을 참조하세요.
정책을 생성하기 전에 다음 정보를 기록해 둡니다.
-
버킷의 Amazon 리소스 이름(ARN)
-
버킷에서 SSE-KMS 또는 SSE-S3 암호화를 사용하는 경우 AWS Key Management Service(AWS KMS) 키에 대한 ARN.
다음 권한을 포함하는 IAM 정책을 생성합니다.
"kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts"
AWS Management Console 또는 AWS Command Line Interface(AWS CLI)를 사용하여 IAM 정책을 생성할 수 있습니다.
Amazon S3 버킷에 Amazon RDS 액세스를 허용하는 IAM 정책을 생성하려면
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 정책을 선택합니다.
-
정책 생성을 선택한 다음 JSON을 선택합니다.
-
서비스별 작업을 추가합니다. Amazon S3 버킷에서 Amazon RDS로 파일을 전송하려면 버킷 권한 및 객체 권한을 선택해야 합니다.
-
리소스(Resources)를 확장합니다. 버킷과 객체 리소스를 지정해야 합니다.
-
Next(다음)를 선택합니다.
-
정책 이름에 이 정책의 이름을 입력합니다.
-
(선택 사항) 설명에 이 정책에 대한 설명을 입력합니다.
-
정책 생성을 선택합니다.
Amazon S3 버킷에 Amazon RDS 액세스를 허용하는 IAM 정책을 생성하려면
-
create-policy 명령을 실행합니다. 다음 예제에서
iam_policy_name
및s3_bucket_name
을 IAM 정책 이름과 RDS for Db2 데이터베이스가 있는 Amazon S3 버킷 이름으로 대체합니다.대상 LinuxmacOS, 또는Unix:
aws iam create-policy \ --policy-name
iam_policy_name
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::s3_bucket_name
/*", "arn:aws:s3:::s3_bucket_name
" ] } ] }'Windows의 경우:
aws iam create-policy ^ --policy-name
iam_policy_name
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::s3_bucket_name
/*", "arn:aws:s3:::s3_bucket_name
" ] } ] }' -
정책이 생성되면 정책의 ARN을 기록해 둡니다. 2단계: IAM 역할 생성 및 IAM 정책 연결에 대한 ARN이 필요합니다.
IAM 정책 생성에 대한 자세한 내용은 IAM 사용 설명서의 IAM 정책 생성을 참조하세요.
2단계: IAM 역할 생성 및 IAM 정책 연결
이 단계에서는 1단계: IAM 정책 생성에서 IAM 정책을 생성했다고 가정합니다. 이 단계에서는 RDS for Db2 DB 인스턴스에 대한 IAM 역할을 만든 다음 역할에 IAM 정책을 연결합니다.
AWS Management Console 또는 AWS CLI를 사용하여 DB 인스턴스에 대한 IAM 역할을 만들 수 있습니다.
IAM 역할을 생성하여 여기에 IAM 정책을 연결하려면
AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
탐색 창에서 역할을 선택합니다.
-
역할 생성을 선택합니다.
-
신뢰할 수 있는 엔터티 유형에 AWS 서비스를 선택합니다.
-
서비스 또는 사용 사례의 경우 RDS를 선택한 다음 RDS – 데이터베이스에 역할 추가를 선택합니다.
-
Next(다음)를 선택합니다.
-
권한 정책의 경우 생성한 IAM 정책의 이름을 검색하여 선택합니다.
-
Next(다음)를 선택합니다.
-
역할 이름(Role name)에 역할 이름을 입력합니다.
-
(선택 사항)설명에 새 역할에 대한 설명을 입력합니다.
-
역할 생성을 선택합니다.
IAM 역할을 생성하여 여기에 IAM 정책을 연결하려면
-
create-role 명령을 실행합니다. 다음 예제에서
iam_role_name
을 IAM 역할 이름으로 바꿉니다.대상 LinuxmacOS, 또는Unix:
aws iam create-role \ --role-name
iam_role_name
\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Windows의 경우:
aws iam create-role ^ --role-name
iam_role_name
^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' -
역할이 생성되면 역할의 ARN을 기록하십시오. 3단계: RDS for Db2 DB 인스턴스에 IAM 역할 추가에 대한 ARN이 필요합니다.
-
attach-role-policy 명령을 실행합니다. 다음 예제에서
iam_policy_arn
을 1단계: IAM 정책 생성에서 생성한 IAM 정책의 ARN으로 대체합니다.iam_role_name
을 방금 생성한 IAM 역할 이름으로 바꿉니다.대상 LinuxmacOS, 또는Unix:
aws iam attach-role-policy \ --policy-arn
iam_policy_arn
\ --role-nameiam_role_name
Windows의 경우:
aws iam attach-role-policy ^ --policy-arn
iam_policy_arn
^ --role-nameiam_role_name
자세한 내용은 IAM 사용 설명서의 IAM 사용자에게 권한을 위임하기 위한 역할 생성을 참조하십시오.
3단계: RDS for Db2 DB 인스턴스에 IAM 역할 추가
이 단계에서는 IAM 역할을 RDS for Db2 DB 인스턴스에 추가합니다. 다음과 같은 요구 사항을 확인합니다.
-
필수 Amazon S3 권한 정책이 연결된 IAM 역할에 대한 액세스 권한이 있어야 합니다.
-
한 번에 하나의 IAM 역할만 RDS for Db2 DB 인스턴스에 연결할 수 있습니다.
-
RDS for Db2 DB 인스턴스는 사용 가능 상태여야 합니다.
AWS Management Console 또는 AWS CLI를 사용하여 DB 인스턴스에 IAM 역할을 추가할 수 있습니다.
IAM 역할을 RDS for Db2 DB 인스턴스에 추가하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 Databases(데이터베이스)를 선택합니다.
-
RDS for Db2 DB 인스턴스 이름을 선택합니다.
-
연결성 및 보안(Connectivity & security) 탭에서 페이지 하단의 IAM 역할 관리(Manage IAM roles) 섹션이 나올 때까지 아래로 스크롤합니다.
-
IAM 역할을 이 인스턴스에 추가에는 2단계: IAM 역할 생성 및 IAM 정책 연결에서 생성한 역할을 선택합니다.
-
기능에서 S3_INTEGRATION을 선택하십시오.
-
[Add role]을 선택합니다.
RDS for Db2 DB 인스턴스에 IAM 역할을 추가하려면 add-role-to-db-instance 명령을 실행합니다. 다음 예제에서 db_instance_name
및 iam_role_arn
을 DB 인스턴스의 이름과 2단계: IAM 역할 생성 및 IAM 정책 연결에서 생성한 IAM 역할의 ARN으로 대체합니다.
대상 LinuxmacOS, 또는Unix:
aws rds add-role-to-db-instance \ --db-instance-identifier
db_instance_name
\ --feature-name S3_INTEGRATION \ --role-arniam_role_arn
\
Windows의 경우:
aws rds add-role-to-db-instance ^ --db-instance-identifier
db_instance_name
^ --feature-name S3_INTEGRATION ^ --role-arniam_role_arn
^
RDS for Db2 DB 인스턴스에 역할이 성공적으로 추가되었는지 확인하려면 describe-db-instances 명령을 실행합니다. 다음 예제에서 db_instance_name
을 DB 인스턴스 이름으로 바꿉니다.
대상 LinuxmacOS, 또는Unix:
aws rds describe-db-instances \ --filters "Name=db-instance-id,Values=
db_instance_name
" \ --query 'DBInstances[].AssociatedRoles'
Windows의 경우:
aws rds describe-db-instances ^ --filters "Name=db-instance-id,Values=
db_instance_name
" ^ --query 'DBInstances[].AssociatedRoles'
다음 예제와 비슷한 출력이 생성됩니다.
[
[
{
"RoleArn": "arn:aws:iam::0123456789012:role/rds-db2-s3-role",
"FeatureName": "S3_INTEGRATION",
"Status": "ACTIVE"
}
]
]