6.5.3. Configurazione di Amazon Web Services
Si configura lo storage a oggetti Amazon Web Services (AWS) S3 come repository di replica per il Migration Toolkit for Containers (MTC).
Requisiti
- È necessario che sia installata l'interfaccia della riga di comando di AWS.
- Il bucket di storage AWS S3 deve essere accessibile ai cluster di origine e di destinazione.
Se si utilizza il metodo di copia degli snapshot:
- È necessario avere accesso a EC2 Elastic Block Storage (EBS).
- I cluster di origine e di destinazione devono trovarsi nella stessa area geografica.
- I cluster di origine e di destinazione devono avere la stessa classe di storage.
- La classe di storage deve essere compatibile con gli snapshot.
Procedura
Impostare la variabile
BUCKET:$ BUCKET=<your_bucket>Impostare la variabile
REGION:$ REGION=<your_region>Creare un bucket AWS S3:
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION1 - 1
us-east-1non supporta unLocationConstraint. Se l'area geografica èus-east-1, omettere--create-bucket-configuration LocationConstraint=$REGION.
Creare un utente IAM:
$ aws iam create-user --user-name velero1 - 1
- Se si desidera utilizzare Velero per eseguire il backup di più cluster con più bucket S3, creare un nome utente unico per ogni cluster.
Creare un file
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}" ] } ] } EOFAllegare i criteri per dare all'utente
velerole autorizzazioni necessarie:$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.jsonCreare una chiave di accesso per l'utente
velero:$ aws iam create-access-key --user-name veleroEsempio di output
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }Registrare
AWS_SECRET_ACCESS_KEYeAWS_ACCESS_KEY_ID. Si utilizzano le credenziali per aggiungere AWS come repository di replica.