Restaurar un clúster de Amazon EKS - AWS Backup

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Restaurar un clúster de Amazon EKS

Puede restaurar las copias de seguridad del clúster de EKS mediante la AWS Backup consola o la CLI. Las copias de seguridad de EKS son puntos de recuperación compuestos que incluyen tanto las copias de seguridad del estado del clúster de EKS como las de los volúmenes persistentes.

AWS Backup admite múltiples experiencias de restauración, incluidas las restauraciones granulares a nivel de espacio de nombres. Las restauraciones no son destructivas y no sobrescribirán ningún objeto de Kubernetes existente en el clúster de EKS de destino. Las restauraciones tampoco sobrescribirán las versiones de Kubernetes del clúster de EKS de destino.

Las copias de seguridad de EKS deben restaurarse en un clúster de EKS de destino, es decir, en un clúster de Amazon EKS que se haya aprovisionado previamente. Como parte del flujo de trabajo de restauración, puede optar por crear un nuevo clúster de EKS que AWS Backup se creará en su nombre.

nota

AWS Backup proporcionará un conjunto limitado de opciones para crear un nuevo clúster de EKS como parte de una restauración. Para todas las funciones de creación de clústeres de EKS, los clientes pueden crear un nuevo clúster de EKS mediante la consola de EKS o APIs seleccionarlo como su objetivo de restauración.

Capacidades de restauración para Amazon EKS

Tipo de restauración Restaurar el destino Restaurar el comportamiento
Restauración de clústeres existentes Restaure al clúster EKS de origen o al clúster EKS existente Restaura todos los recursos y volúmenes persistentes de Kubernetes en los clústeres de EKS existentes. Todas las restauraciones no son destructivas y los objetos existentes no se sobrescriben. En el caso de los objetos que se omiten, puede suscribirse a las notificaciones de SNS
Restauración de un nuevo clúster Crea un nuevo clúster de Amazon EKS como parte de la restauración de EKS La restauración crea un nuevo clúster de EKS y restaura todos los recursos y volúmenes persistentes de Kubernetes en un clúster recién creado
Restauración del espacio de nombres Clúster Amazon EKS existente Restaura solo los espacios de nombres específicos; sus recursos de Kubernetes y las correspondientes restauraciones de almacenamiento persistente no son destructivas y los objetos existentes no se sobrescriben. En el caso de los objetos que se omiten, puedes suscribirte a las notificaciones de SNS
Restauración de almacenamiento persistente Depende del almacenamiento persistente Restaure el almacenamiento persistente individual como restauraciones independientes. Consulte Restaurar el comportamiento de Amazon EBS, Amazon S3 y Amazon EFS.

Permisos

Los permisos necesarios dependen del tipo de restauración y del destino de destino.

  • AWS Backup La política gestionada AWSBackupServiceRolePolicyForRestorescontiene los permisos necesarios para restaurar el clúster de Amazon EKS y el almacenamiento persistente de EBS y EFS.

  • Si su clúster EKS contiene un bucket de S3 o si va a restaurar el punto de recuperación de S3 secundario por sí solo, tendrá que asegurarse de que las siguientes políticas o permisos estén asignados a su función AWSBackupServiceRolePolicyForS3Restore.

Consideraciones antes de la restauración

Antes de comenzar un trabajo de restauración de EKS, revise lo siguiente. Si va a restaurar una copia de seguridad de EKS que se ha copiado en una cuenta o región, asegúrese de tener en cuenta estas consideraciones antes de realizar la restauración para evitar errores de restauración.

  1. Funciones de IAM: al restaurar en un clúster diferente, las funciones de IAM utilizadas en el clúster de origen (como Pod identity o IRSA). El OIDC (configuraciones de proveedor, etc.) debe estar presente en la cuenta o región como clúster de destino.

  2. Compruebe la versión y la compatibilidad de EKS: las versiones de API de los objetos que desee restaurar deben ser de la misma versión (o lo más parecidas posible) y ser compatibles con el nuevo clúster. AWS Backup hará todo lo posible por restaurar entre versiones de EKS, aunque pueden surgir problemas de compatibilidad al restaurar entre versiones muy diferentes.

  3. Clases de almacenamiento coincidentes: para realizar restauraciones en un clúster EKS existente, asegúrese de instalar los complementos del controlador de almacenamiento CSI adecuados antes de la restauración

  4. Depósitos de S3: al restaurar un clúster de EKS con cubos de S3, asegúrese de que el depósito de S3 esté versionado y sea accesible en la cuenta o región de destino.

  5. Repositorio de imágenes: al restaurar un clúster de EKS, asegúrese de que la cuenta o región del clúster de EKS de destino tenga acceso a las imágenes a las que se hace referencia como parte de la restauración. Compruebe que su registro tenga los permisos necesarios para la política entre regiones y cuentas.

  6. Grupos de seguridad: los grupos de seguridad deben crearse previamente para ALB, Pod Identities, grupos de nodos EKS, etc. en la cuenta y región de destino si va a crear un nuevo clúster de EKS como parte de la restauración

  7. Nodos y zonas de disponibilidad de EBS: las zonas de disponibilidad en las que se recuperan los volúmenes de EBS deben asignarse a la zona de disponibilidad de un nodo de EKS existente

  8. Restauraciones no destructivas: todas las restauraciones de EKS no serán destructivas y no sobrescribirán los objetos de Kubernetes de la restauración de destino.

  9. Habilite los registros de auditoría de EKS: habilite los registros de auditoría de EKS para realizar más registros y solucionar problemas antes de la restauración. También puede suscribirse a las notificaciones de SNS para notificar los objetos omitidos o defectuosos durante la restauración.

Configuraciones de EKS

Cuando restauras el Amazon compuesto AWS Backup, eliges el tipo de restauración y el destino de destino. Puede optar por restaurar en el clúster de EKS de origen, en un clúster de EKS existente o crear un nuevo clúster de EKS como destino de la restauración. Para los nuevos clústeres de EKS, puede optar por utilizar los mismos ajustes de infraestructura existentes (por ejemplo, VPC, subredes) que el clúster del que se hizo la copia de seguridad o configurar otros nuevos. AWS Backup siempre realizará una restauración no destructiva que no sobrescriba los recursos existentes.

Para las restauraciones de espacios de nombres, puedes especificar hasta 5 espacios de nombres para restaurarlos de forma selectiva. Solo se restauran los recursos del ámbito del espacio de nombres, mientras que los recursos del ámbito del clúster se excluyen, excepto los volúmenes persistentes relacionados.

Como configuración avanzada, puedes optar por cambiar el orden de restauración de los objetos de Kubernetes. De forma predeterminada, AWS Backup restaurará todos los objetos de Kubernetes en el siguiente orden:

Recursos de Kubernetes con alcance de clúster

  1. Definiciones de recursos personalizadas

  2. Espacios de nombres (el espacio de nombres en sí, no los recursos dentro de ese espacio de nombres)

  3. StorageClasses

  4. PersistentVolumes

Recursos de Kubernetes con ámbito de espacio de nombres

  1. PersistentVolumeClaims

  2. Secretos

  3. ConfigMaps

  4. ServiceAccounts

  5. LimitRanges

  6. Pods

  7. ReplicaSets

Configuraciones de almacenamiento persistente

Como parte de la restauración de la copia de seguridad compuesta de Amazon EKS, el segundo paso consistirá en configurar las configuraciones de almacenamiento persistente. Esto variará en función del almacenamiento persistente del que se haga una copia de seguridad como parte del clúster de EKS.

Para las instantáneas de Amazon EBS, debe proporcionar una zona de disponibilidad en la que se restaurará y creará el volumen de Amazon EBS. AWS Backup A continuación, intentará crear el pod de EKS en la misma zona de disponibilidad que la seleccionada para poder volver a montar el volumen en el clúster de EKS como parte de la restauración.

Como parte de la restauración, AWS Backup volverá a montar los volúmenes de Amazon EBS y los buckets de Amazon S3 en el clúster de EKS restaurado. Los sistemas de archivos Amazon EFS se restauran con prefijos aleatorios y requieren la creación manual de puntos de acceso después de la restauración para volver a montarlos en el clúster de EKS. AWS Backup no crea puntos de acceso ni monta objetivos en su nombre; consulte esta guía para obtener información sobre los puntos de acceso y los objetivos de montaje.

Procedimiento de restauración de Amazon EKS

Siga estos pasos para restaurar las copias de seguridad de Amazon EKS mediante la AWS Backup consola o AWS CLI:

Console
Para restaurar el clúster de Amazon EKS
  1. Abra la AWS Backup consola en https://console.aws.amazon.com/backup.

  2. En el panel de navegación, elija Backup vaults (Almacenes de copia de seguridad).

  3. Elija el almacén de copias de seguridad que contiene la copia de seguridad de Amazon EKS y, a continuación, seleccione el punto de recuperación de la copia de seguridad de Amazon EKS.

  4. Elija Restore (Restaurar).

  5. En el panel de opciones de restauración, elija el tipo de restauración:

    • Restaurar el clúster de EKS completo: restaura todo el punto de recuperación compuesto de Amazon EKS

    • Seleccione los espacios de nombres que desee restaurar: restaura hasta cinco espacios de nombres específicos

  6. Configure el destino de destino:

    • Para la restauración del clúster, elija crear un clúster nuevo o utilizar uno existente

    • Para los clústeres nuevos, especifique el nombre del clúster, la versión de Kubernetes, la configuración de la VPC, las funciones de IAM, las subredes, los grupos de seguridad adicionales, la configuración de los grupos de nodos, los perfiles de Fargate y las funciones de IAM de identidad del pod

    • Para los clústeres existentes, selecciona el clúster de destino en el menú desplegable

    • Para la restauración del espacio de nombres, especifique el clúster de destino y los nombres del espacio de nombres

  7. Si lo desea, configure los ajustes avanzados para personalizar el orden de restauración de los recursos de Kubernetes.

  8. Elija el rol de restauración de IAM para el trabajo. Si no usa el rol predeterminado, asegúrese de que el rol seleccionado incluya el permiso iam:. PassRole

  9. Seleccione Restaurar copia de seguridad.

AWS CLI

Utilice el aws backup start-restore-job comando con metadatos específicos de Amazon EKS.

Los metadatos necesarios dependen del tipo de restauración. Todas las operaciones de restauración requieren el clusterName parámetro.

Restaure los puntos de recuperación de Amazon EKS mediante AWS CLI

Uso StartRestoreJob. Puede especificar los siguientes metadatos durante las restauraciones de Amazon EKS:

Metadatos obligatorios:

  • clusterName- Nombre del clúster en el que se va a restaurar

Metadatos opcionales:

  • newCluster- (verdadero/falso) Si debemos crear un nuevo clúster de EKS durante la restauración

    • Si newCluster es «verdadero», se aplican los siguientes campos de metadatos:

      • eksClusterVersion- Se recomienda la versión K8 del clúster si se desea aumentar la versión del clúster durante la restauración

      • clusterRole- El ARN del rol de IAM que se debe adjuntar al clúster EKS creado

      • clusterVpcConfig- VPC/Networking configuración del clúster EKS creado. Este campo tiene los siguientes campos anidados:

        • vpcId- La VPC asociada a su clúster

        • subnetIds- Las subredes asociadas a su clúster

        • securityGroupIds- Los grupos de seguridad adicionales asociados a su clúster

      • nodeGroups- Los grupos de nodos gestionados que se crearán en el clúster EKS. El objeto NodeGroups de la restauración debe tener todos los mismos grupos de nodos de la época de la copia de seguridad y ser coincidentes nodeGroupId.

        • nodeGroupId- El ID del grupo de nodos

        • subnetIds- Las subredes que se especificaron para el grupo de Auto Scaling que está asociado a su grupo de nodos

        • instanceTypes- Si el grupo de nodos no se implementó con una plantilla de lanzamiento, este es el tipo de instancia que está asociado al grupo de nodos

        • nodeRole- El rol de IAM asociado a tu grupo de nodos

        • securityGroupIds- El grupo de seguridad al IDs que se le permite el acceso SSH a los nodos

        • remoteAccessEc2SshKey- El nombre de la clave Amazon EC2 SSH que proporciona acceso a la comunicación SSH con los nodos del grupo de nodos gestionado

      • fargateProfiles- Los perfiles de Fargate que se crearán en el clúster EKS. Los perfiles de Fargate para la restauración deben tener todos los mismos perfiles de Fargate de la época de la copia de seguridad y tener un nombre coincidente.

        • name- El nombre del perfil de Fargate

        • subnetIds- El número IDs de subredes en las que lanzar un pod

        • podExecutionRoleArn- El ARN del rol de IAM del rol de ejecución del pod que se utilizará en un pod que coincida con los selectores del perfil de Fargate

      • podIdentityAssociations- Las asociaciones de identidad de los pods que se crearán en el clúster EKS

        • associationId- El ID de la asociación de identidad del Pod

        • roleArn- El ARN del rol de IAM para la Pod Identity Association

  • kubernetesRestoreOrder- Anule el orden en que se restauran los manifiestos de Kubernetes. Este orden tendrá prioridad sobre el orden de restauración del servicio predeterminado. Esto sigue el formato: group/version/kind or version/kind

    ["v1/persistentvolumes», «v1/pods»,» «] customresource/v2/custom

  • namespaceLevelRestore- (verdadero/falso) Si desea realizar una restauración a nivel de espacio de nombres

  • namespaces- Una lista de espacios de nombres para restaurar si es «verdadera». namespaceLevelRestore Puede proporcionar hasta 5 espacios de nombres para restaurar

  • restoreKubernetesManifestsOnly- (verdadero/falso) Si desea restaurar únicamente los archivos de manifiesto de Kubernetes y no los sistemas de almacenamiento persistente (EBS, S3, EFS, etc.)

  • nestedRestoreJobs- Restaure la configuración de metadatos de todos los puntos de recuperación anidados de los sistemas de PersistentVolume almacenamiento en el punto de recuperación compuesto. Este es un mapa de RecoveryPointArn: de ese RestoreMetadata punto de recuperación

Restaure a un clúster existente

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"existing-cluster","newCluster":false}' \ --resource-type "EKS"

Restaurar a un clúster nuevo

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"new-cluster","newCluster":true,"clusterRole":"arn:aws:iam::123456789012:role/EKSClusterRole","eksClusterVersion":"1.33","clusterVpcConfig":"{\"vpcId\":\"vpc-1234\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"securityGroupIds\":[\"sg-123\"]}","nodeGroups":"[{\"nodeGroupId\":\"nodegroup-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"nodeRole\":\"arn:aws:iam::123456789012:role/EKSNodeGroupRole\",\"instanceTypes\":[\"t3.small\"]}]","fargateProfiles":"[{\"name\":\"fargate-profile-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"podExecutionRoleArn\":\"arn:aws:iam::123456789012:role/EKSFargateProfileRole\"}]"}' \ --resource-type "EKS"

Tras iniciar el trabajo de restauración, úselo describe-restore-job para supervisar el progreso:

aws backup describe-restore-job --restore-job-id restore-job-id

Puede suscribirse a los eventos de notificación de los objetos omitidos o fallidos para restaurarlos. Para obtener más información, consulte Opciones de notificación con AWS Backup.