6.5.3. Configuración de Amazon Web Services
Configure el almacenamiento de objetos S3 de Amazon Web Services (AWS) como un repositorio de replicación para Migration Toolkit for Containers (MTC).
Requisitos previos
- Debe tener instalada la CLI de AWS.
- El bucket de almacenamiento S3 de AWS debe ser accesible para los clústeres de origen y destino.
Si utiliza el método de copia de instantáneas:
- Debe tener acceso a EC2 Elastic Block Storage (EBS).
- Los clústeres de origen y destino deben estar en la misma región.
- Los clústeres de origen y destino deben tener la misma clase de almacenamiento.
- La clase de almacenamiento debe ser compatible con las instantáneas.
Procedimiento
Establezca la variable
BUCKET
:$ BUCKET=<your_bucket>
Establezca la variable
REGION
:$ REGION=<your_region>
Cree un bucket S3 de AWS:
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION 1
- 1
us-east-1
no admiteLocationConstraint
. Si su región esus-east-1
, omita--create-bucket-configuration LocationConstraint=$REGION
.
Cree el usuario IAM:
$ aws iam create-user --user-name velero 1
- 1
- Si quiere usar Velero para hacer copias de seguridad de varios clústeres con múltiples buckets de S3, cree un nombre de usuario único para cada clúster.
Cree un archivo
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
Adjunte las políticas para conceder los permisos necesarios al usuario
velero
:$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
Cree la clave de acceso para el usuario
velero
:$ aws iam create-access-key --user-name velero
Ejemplo de salida
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }
Registre
AWS_SECRET_ACCESS_KEY
yAWS_ACCESS_KEY_ID
. Utilice las credenciales para añadir AWS como repositorio de replicación.