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.6.5.3. Konfigurieren von Amazon Web Services
Sie konfigurieren den S3-Objektspeicher von Amazon Web Services (AWS) als Replikations-Repository für das Migration Toolkit for Containers (MTC).
Voraussetzungen
- Sie müssen die AWS CLI installiert haben.
- Der Speicher-Bucket für AWS S3 muss für den Quell- und den Ziel-Cluster zugänglich sein.
Wenn Sie die Schnappschuss-Kopiermethode verwenden:
- Sie müssen Zugang zu EC2 Elastic Block Storage (EBS) haben.
- Der Quell- und der Ziel-Cluster müssen sich in derselben Region befinden.
- Die Quell- und Ziel-Cluster müssen dieselbe Speicherklasse haben.
- Die Speicherklasse muss mit Schnappschüssen kompatibel sein.
Vorgehensweise
Legen Sie die Variable
BUCKET
fest:BUCKET=<your_bucket>
$ BUCKET=<your_bucket>
Copy to Clipboard Copied! Legen Sie die Variable
REGION
fest:REGION=<your_region>
$ REGION=<your_region>
Copy to Clipboard Copied! Erstellen Sie einen AWS S3-Bucket:
aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION
1 Copy to Clipboard Copied! - 1
us-east-1
unterstützt keinenLocationConstraint
. Wenn Ihre Regionus-east-1
ist, lassen Sie--create-bucket-configuration LocationConstraint=$REGION
weg.
Erstellen Sie einen IAM-Benutzer:
aws iam create-user --user-name velero
$ aws iam create-user --user-name velero
1 Copy to Clipboard Copied! - 1
- Wenn Sie Velero für die Sicherung mehrerer Cluster mit mehreren S3-Buckets verwenden möchten, erstellen Sie für jeden Cluster einen eindeutigen Benutzernamen.
Erstellen Sie die Datei
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" ], "Resource": [ "arn:aws:s3:::${BUCKET}" ] } ] } EOF
$ 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" ], "Resource": [ "arn:aws:s3:::${BUCKET}" ] } ] } EOF
Copy to Clipboard Copied! Fügen Sie die Richtlinien hinzu, um dem Benutzer
velero
die erforderlichen Berechtigungen zu erteilen:aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
Copy to Clipboard Copied! Erstellen Sie einen Zugriffsschlüssel für den Benutzer
velero
:aws iam create-access-key --user-name velero
$ aws iam create-access-key --user-name velero
Copy to Clipboard Copied! Beispielausgabe
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }
Copy to Clipboard Copied! Halten Sie den
AWS_SECRET_ACCESS_KEY
und dieAWS_ACCESS_KEY_ID
fest. Sie benötigen die Anmeldedaten, um AWS als Replikations-Repository hinzuzufügen.