6.5.3. Configuration d’Amazon Web Services
Vous configurez le stockage d’objets Amazon Web Services (AWS) S3 comme référentiel de réplication pour Migration Toolkit for Containers (MTC).
Conditions préalables
- Il faut que la CLI AWS soit déjà installée.
- Le compartiment de stockage AWS S3 doit être accessible aux clusters source et cible.
Si vous utilisez la méthode de copie de cliché :
- Vous devez avoir accès à EC2 Elastic Block Storage (EBS).
- Les clusters source et cible doivent se trouver dans la même région.
- Les clusters source et cible doivent avoir la même classe de stockage.
- La classe de stockage doit être compatible avec les clichés.
Procédure
Définissez la variable
BUCKET:$ BUCKET=<your_bucket>Définissez la variable
REGION:$ REGION=<your_region>Créez un compartiment AWS S3 :
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION1 - 1
us-east-1ne prend pas en charge la contrainte d’emplacement (LocationConstraint). Si votre région estus-east-1, omettez--create-bucket-configuration LocationConstraint=$REGION.
Créez un utilisateur IAM :
$ aws iam create-user --user-name velero1 - 1
- Si vous souhaitez utiliser Velero pour sauvegarder plusieurs clusters avec plusieurs compartiments S3, créez un nom d’utilisateur unique pour chaque cluster.
Créez un fichier
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}" ] } ] } EOFAttachez les stratégies pour donner à l’utilisateur
veleroles autorisations nécessaires :$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.jsonCréez une clé d’accès pour l’utilisateur
velero:$ aws iam create-access-key --user-name veleroExemple de sortie
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }Enregistrez
AWS_SECRET_ACCESS_KEYetAWS_ACCESS_KEY_ID. Vous utilisez les informations d’identification pour ajouter AWS comme référentiel de réplication.