4.2.2.2. Amazon Web Services S3 구성
MTC(Migration Toolkit for Containers)의 복제 리포지토리로 AWS(Amazon Web Services) S3 스토리지 버킷을 구성할 수 있습니다.
사전 요구 사항
- 소스 및 대상 클러스터에서 AWS S3 스토리지 버킷에 액세스할 수 있어야 합니다.
- AWS CLI가 설치되어 있어야 합니다.
스냅샷 복사 방법을 사용하는 경우:
- EC2 EBS(Elastic Block Storage)에 액세스할 수 있어야 합니다.
- 소스 및 대상 클러스터는 동일한 지역에 있어야 합니다.
- 소스 및 대상 클러스터는 동일한 스토리지 클래스를 보유해야 합니다.
- 스토리지 클래스는 스냅샷과 호환 가능해야 합니다.
프로세스
AWS S3 버킷을 생성합니다.
$ aws s3api create-bucket \ --bucket <bucket> \1 --region <bucket_region>2 IAM 사용자
velero를 생성합니다.$ aws iam create-user --user-name veleroEC2 EBS 스냅샷 정책을 생성합니다.
$ cat > velero-ec2-snapshot-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:CreateTags", "ec2:CreateVolume", "ec2:CreateSnapshot", "ec2:DeleteSnapshot" ], "Resource": "*" } ] } EOF하나 또는 모든 S3 버킷에 대한 AWS S3 액세스 정책을 생성합니다.
$ cat > velero-s3-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::<bucket>/*"1 ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::<bucket>"2 ] } ] } EOF출력 예
"Resource": [ "arn:aws:s3:::*"EC2 EBS 정책을
velero에 연결합니다.$ aws iam put-user-policy \ --user-name velero \ --policy-name velero-ebs \ --policy-document file://velero-ec2-snapshot-policy.jsonAWS S3 정책을
velero에 연결합니다.$ aws iam put-user-policy \ --user-name velero \ --policy-name velero-s3 \ --policy-document file://velero-s3-policy.jsonvelero에 대한 액세스 키를 생성합니다.$ aws iam create-access-key --user-name velero { "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>,1 "AccessKeyId": <AWS_ACCESS_KEY_ID>2 } }credentials-velero파일을 생성합니다.$ cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOFData Protection 애플리케이션을 설치하기 전에
credentials-velero파일을 사용하여 AWS의Secret오브젝트를 생성합니다.