This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.5.3. Amazon Web Services 구성
AWS(Amazon Web Services) S3 오브젝트 스토리지를 MTC(Migration Toolkit for Containers)의 복제 리포지토리로 구성합니다.
사전 요구 사항
- AWS CLI가 설치되어 있어야 합니다.
- 소스 및 대상 클러스터에서 AWS S3 스토리지 버킷에 액세스할 수 있어야 합니다.
스냅샷 복사 방법을 사용하는 경우:
- EC2 EBS(Elastic Block Storage)에 액세스할 수 있어야 합니다.
- 소스 및 대상 클러스터는 동일한 지역에 있어야 합니다.
- 소스 및 대상 클러스터는 동일한 스토리지 클래스를 보유해야 합니다.
- 스토리지 클래스는 스냅샷과 호환 가능해야 합니다.
프로세스
BUCKET
변수를 설정합니다.$ BUCKET=<your_bucket>
REGION
변수를 설정합니다.$ REGION=<your_region>
AWS S3 버킷을 생성합니다.
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION 1
- 1
us-east-1
은LocationConstraint를 지원하지 않습니다
. 해당 리전이us-east-1
인 경우--create-bucket-configuration LocationConstraint=$REGION
을 생략합니다.
IAM 사용자를 생성합니다.
$ aws iam create-user --user-name velero 1
- 1
- Velero를 사용하여 S3 버킷이 여러 개 있는 여러 클러스터를 백업하려면 각 클러스터에 고유한 사용자 이름을 생성합니다.
a
velero-policy.json
파일을 생성합니다.$ cat > velero-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:CreateTags", "ec2:CreateVolume", "ec2:CreateSnapshot", "ec2:DeleteSnapshot" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::${BUCKET}/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::${BUCKET}" ] } ] } EOF
velero
사용자에게 필요한 권한을 부여하도록 정책을 연결합니다.$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
velero 사용자에 대한 액세스 키를 생성합니다.
$ 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>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }
AWS_SECRET_ACCESS_KEY
및AWS_ACCESS_KEY_ID
를 기록합니다. 인증 정보를 사용하여 AWS를 복제 리포지토리로 추가합니다.