Restaurer un cluster Amazon EKS - AWS Backup

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Restaurer un cluster Amazon EKS

Vous pouvez restaurer les sauvegardes du cluster EKS à l'aide de la AWS Backup console ou de la CLI. Les sauvegardes EKS sont des points de restauration composites qui incluent à la fois des sauvegardes de l'état du cluster EKS et des sauvegardes de volumes persistants.

AWS Backup prend en charge plusieurs expériences de restauration, y compris les restaurations granulaires au niveau de l'espace de noms. Les restaurations ne sont pas destructives et ne remplaceront aucun objet Kubernetes existant dans votre cluster EKS cible. Les restaurations ne remplaceront pas non plus les versions Kubernetes du cluster EKS cible.

Les sauvegardes EKS doivent être restaurées sur un cluster EKS cible, c'est-à-dire un cluster Amazon EKS préprovisionné. Dans le cadre du processus de restauration, vous pouvez choisir de créer un nouveau cluster EKS qui AWS Backup sera créé en votre nom.

Note

AWS Backup fournira un ensemble limité d'options pour créer un nouveau cluster EKS dans le cadre d'une restauration. Pour toutes les fonctionnalités de création de clusters EKS, les clients peuvent créer un nouveau cluster EKS à l'aide de la console EKS ou APIs le sélectionner comme cible de restauration.

Fonctionnalités de restauration pour Amazon EKS

Type de restauration Restaurer la cible Restaurer le comportement
Restauration d'un cluster existant Restaurer sur le cluster EKS source ou sur le cluster EKS existant Restaure toutes les ressources Kubernetes et les volumes persistants dans les clusters EKS existants. Toutes les restaurations sont non destructives et les objets existants ne sont pas remplacés. Pour les objets ignorés, vous pouvez vous abonner aux notifications SNS
Restauration d'un nouveau cluster Crée un nouveau cluster Amazon EKS dans le cadre de votre restauration EKS Restore crée un nouveau cluster EKS et restaure toutes les ressources Kubernetes et les volumes persistants dans le cluster nouvellement créé
Restauration de l'espace de noms Cluster Amazon EKS existant Les restaurations portant uniquement sur les espaces de noms spécifiés, leurs ressources Kubernetes et les restaurations de stockage persistantes correspondantes ne sont pas destructives et les objets existants ne sont pas remplacés. Pour les objets ignorés, vous pouvez vous abonner aux notifications SNS
Restauration permanente du stockage Dépendant du stockage persistant Restaurez le stockage persistant individuel sous forme de restaurations autonomes. Consultez Comportement de restauration d'Amazon EBS, Amazon S3, Amazon EFS.

Autorisations

Les autorisations requises dépendent du type de restauration et de la destination cible.

  • AWS BackupAWSBackupServiceRolePolicyForRestorescontient les autorisations requises pour restaurer votre cluster Amazon EKS et votre stockage persistant EBS et EFS.

  • Si votre cluster EKS contient un compartiment S3, ou si vous restaurez le point de récupération S3 enfant seul, vous devrez vous assurer que les politiques ou autorisations suivantes sont attribuées à votre rôle AWSBackupServiceRolePolicyForS3Restore.

Considérations avant la restauration

Avant de commencer une tâche de restauration EKS, passez en revue les points suivants. Si vous restaurez une sauvegarde EKS qui a été copiée sur un compte ou une région, assurez-vous de prendre en compte ces considérations avant les restaurations afin d'éviter les échecs de restauration.

  1. Rôles IAM : lors de la restauration sur un autre cluster, les rôles IAM utilisés dans le cluster source (tels que Pod identity, IRSA). Le fournisseur OIDC (configurations, etc.) doit être présent dans le compte/la région en tant que cluster de destination.

  2. Vérifiez la version et la compatibilité d'EKS : les versions d'API des objets que vous souhaitez restaurer doivent être identiques (ou aussi proches que possible) et prises en charge dans le nouveau cluster. AWS Backup effectuera au mieux une restauration entre les versions d'EKS, bien que des problèmes de compatibilité puissent survenir lors de la restauration entre des versions très différentes.

  3. Classes de stockage correspondantes : pour les restaurations d'un cluster EKS existant, assurez-vous que les modules complémentaires du pilote de stockage CSI appropriés sont installés avant la restauration

  4. Compartiments S3 : lors de la restauration d'un cluster EKS avec des compartiments S3, assurez-vous que votre compartiment S3 est versionné et accessible dans le compte ou la région de destination.

  5. Référentiel d'images : lors de la restauration d'un cluster EKS, assurez-vous que le compte ou la région du cluster EKS de destination a accès aux images référencées dans le cadre de la restauration. Vérifiez que votre registre dispose des autorisations nécessaires pour toutes les régions/politiques relatives aux comptes.

  6. Groupes de sécurité : les groupes de sécurité doivent être pré-créés pour ALB, Pod Identities, EKS Node Groups, etc. dans le compte et la région cibles si vous créez un nouveau cluster EKS dans le cadre de votre restauration

  7. Zones de disponibilité et nœuds EBS : les zones de disponibilité dans lesquelles vous restaurez vos volumes EBS doivent être mappées à la zone de disponibilité d'un nœud EKS existant

  8. Restaurations non destructives : toutes les restaurations EKS seront non destructives et ne remplaceront pas les objets Kubernetes de la restauration cible.

  9. Activer les journaux d'audit EKS : activez les journaux d'audit EKS pour une journalisation et un dépannage supplémentaires avant la restauration. Vous pouvez également vous abonner aux notifications SNS pour signaler les objets ignorés ou défaillants lors de la restauration.

Configurations EKS

Lorsque vous restaurez l'Amazon composite AWS Backup, vous choisissez le type de restauration et la destination cible. Vous pouvez choisir de restaurer sur le cluster EKS source, sur un cluster EKS existant ou de créer un nouveau cluster EKS comme cible de restauration. Pour les nouveaux clusters EKS, vous pouvez choisir d'utiliser les mêmes paramètres d'infrastructure existants (par exemple, VPC, sous-réseaux) que le cluster sauvegardé ou d'en configurer de nouveaux. AWS Backup effectuera toujours une restauration non destructive qui ne remplacera pas les ressources existantes.

Pour les restaurations d'espaces de noms, vous pouvez spécifier jusqu'à 5 espaces de noms à restaurer de manière sélective. Seules les ressources délimitées par un espace de noms sont restaurées, tandis que les ressources étendues par cluster sont exclues, à l'exception des volumes persistants associés.

En tant que paramètre avancé, vous pouvez choisir de modifier l'ordre de restauration des objets Kubernetes. Par défaut, tous les objets Kubernetes AWS Backup seront restaurés dans l'ordre suivant :

Ressources Kubernetes étendues au cluster

  1. Définitions de ressources personnalisées

  2. Espaces de noms (l'espace de noms lui-même, et non les ressources de cet espace de noms)

  3. StorageClasses

  4. PersistentVolumes

Ressources Kubernetes limitées à l'espace de nommage

  1. PersistentVolumeClaims

  2. Secrets

  3. ConfigMaps

  4. ServiceAccounts

  5. LimitRanges

  6. Capsules

  7. ReplicaSets

Configurations de stockage persistantes

Dans le cadre de la restauration de sauvegarde composite Amazon EKS, la deuxième étape consistera à configurer vos configurations de stockage persistant. Cela varie en fonction du stockage persistant sauvegardé dans le cadre de votre cluster EKS.

Pour les instantanés Amazon EBS, vous devez fournir une zone de disponibilité dans laquelle le volume Amazon EBS sera restauré et créé. AWS Backup tentera ensuite de créer le pod EKS dans la même zone de disponibilité que celle sélectionnée afin que votre volume puisse être remonté sur votre cluster EKS dans le cadre de la restauration.

Dans le cadre de la restauration, vos volumes Amazon EBS et vos compartiments Amazon S3 AWS Backup seront remontés sur votre cluster EKS restauré. Les systèmes de fichiers Amazon EFS sont restaurés selon des préfixes aléatoires et nécessitent la création manuelle de points d'accès après la restauration pour être remontés sur votre cluster EKS. AWS Backup ne crée pas de points d'accès ni ne monte de cibles en votre nom. Consultez les instructions ici pour les points d'accès et les cibles de montage.

Procédure de restauration Amazon EKS

Suivez ces étapes pour restaurer les sauvegardes Amazon EKS à l'aide de la AWS Backup console ou AWS CLI :

Console
Pour restaurer votre cluster Amazon EKS
  1. Ouvrez la AWS Backup console à l'adresse https://console.aws.amazon.com/backup.

  2. Dans le panneau de navigation, choisissez Backup vaults (Coffres-forts de sauvegarde).

  3. Choisissez le coffre de sauvegarde qui contient votre sauvegarde Amazon EKS, puis sélectionnez le point de récupération pour votre sauvegarde Amazon EKS.

  4. Choisissez Restore (Restaurer).

  5. Dans le volet des options de restauration, choisissez votre type de restauration :

    • Restaurer le cluster EKS complet : restaure l'intégralité du point de récupération composite Amazon EKS

    • Sélectionnez les espaces de noms à restaurer : restaure jusqu'à cinq espaces de noms spécifiques

  6. Configurez la destination cible :

    • Pour la restauration du cluster, choisissez de créer un nouveau cluster ou d'utiliser un cluster existant

    • Pour les nouveaux clusters, spécifiez le nom du cluster, la version de Kubernetes, la configuration VPC, les rôles IAM, les sous-réseaux, les groupes de sécurité supplémentaires, les paramètres des groupes de nœuds, les profils fargate et les rôles IAM d'identité du pod

    • Pour les clusters existants, sélectionnez le cluster cible dans la liste déroulante

    • Pour la restauration des espaces de noms, spécifiez le cluster cible et les noms des espaces de noms

  7. Configurez éventuellement les paramètres avancés pour un ordre de restauration personnalisé pour les ressources Kubernetes.

  8. Choisissez le rôle de restauration IAM pour la tâche. Si vous n'utilisez pas le rôle par défaut, assurez-vous que le rôle sélectionné inclut l'PassRole autorisation iam :.

  9. Choisissez Restore backup.

AWS CLI

Utilisez la aws backup start-restore-job commande avec les métadonnées spécifiques à Amazon EKS.

Les métadonnées requises dépendent du type de restauration. Toutes les opérations de restauration nécessitent clusterName ce paramètre.

Restaurez les points de récupération Amazon EKS via AWS CLI

Utiliser StartRestoreJob. Vous pouvez spécifier les métadonnées suivantes lors des restaurations Amazon EKS :

Métadonnées obligatoires :

  • clusterName- Nom du cluster vers lequel effectuer la restauration

Métadonnées facultatives :

  • newCluster- (vrai/faux) Si nous devions créer un nouveau cluster EKS pendant la restauration

    • Si NewCluster est « vrai », les champs de métadonnées suivants s'appliquent :

      • eksClusterVersion- Version K8s du cluster souhaitée si vous souhaitez augmenter la version du cluster lors de la restauration

      • clusterRole- L'ARN du rôle IAM à associer au cluster EKS créé

      • clusterVpcConfig- VPC/Networking configuration pour le cluster EKS créé. Ce champ contient les champs imbriqués suivants :

        • vpcId- Le VPC associé à votre cluster

        • subnetIds- Les sous-réseaux associés à votre cluster

        • securityGroupIds- Les groupes de sécurité supplémentaires associés à votre cluster

      • nodeGroups- Les groupes de nœuds gérés à créer sur le cluster EKS. La restauration NodeGroups for doit avoir tous les mêmes groupes de nœuds depuis la sauvegarde et correspondre nodeGroupId.

        • nodeGroupId- L'ID du groupe de nœuds

        • subnetIds- Les sous-réseaux spécifiés pour le groupe Auto Scaling associé à votre groupe de nœuds

        • instanceTypes- Si le groupe de nœuds n'a pas été déployé avec un modèle de lancement, il s'agit du type d'instance associé au groupe de nœuds

        • nodeRole- Le rôle IAM associé à votre groupe de nœuds

        • securityGroupIds- Le groupe IDs de sécurité autorisé à accéder aux nœuds par SSH

        • remoteAccessEc2SshKey- Le nom de la clé Amazon EC2 SSH qui permet d'accéder aux communications SSH avec les nœuds du groupe de nœuds gérés

      • fargateProfiles- Les profils Fargate à créer sur le cluster EKS. Les profils Fargate à restaurer doivent avoir tous les mêmes profils Fargate au moment de la sauvegarde et avoir le même nom.

        • name- Le nom du profil Fargate

        • subnetIds- Le nombre IDs de sous-réseaux dans lesquels lancer un pod

        • podExecutionRoleArn- L'ARN du rôle IAM du rôle d'exécution du Pod à utiliser pour un Pod qui correspond aux sélecteurs du profil Fargate

      • podIdentityAssociations- Les associations d'identité des pods à créer sur le cluster EKS

        • associationId- L'identifiant de l'association Pod Identity

        • roleArn- L'ARN du rôle IAM pour la Pod Identity Association

  • kubernetesRestoreOrder- Remplacez l'ordre dans lequel les manifestes Kubernetes sont restaurés. Cet ordre aura la priorité sur l'ordre de restauration du service par défaut. Cela suit le format suivant group/version/kind or version/kind :

    [« v1/volumes persistants », « v1/pods », » «] customresource/v2/custom

  • namespaceLevelRestore- (vrai/faux) Si vous souhaitez effectuer une restauration au niveau de l'espace de noms

  • namespaces- Une liste d'espaces de noms à restaurer si elle namespaceLevelRestore est « vraie ». Peut fournir jusqu'à 5 espaces de noms à restaurer

  • restoreKubernetesManifestsOnly- (vrai/faux) Si vous souhaitez uniquement restaurer les fichiers manifestes Kubernetes et aucun système de stockage persistant (EBS, S3, EFS, etc.)

  • nestedRestoreJobs- Restaurez la configuration des métadonnées de tous les points de restauration imbriqués pour les systèmes PersistentVolume de stockage dans le point de restauration composite. Voici une carte de RecoveryPointArn : RestoreMetadata de ce point de récupération

Restaurer dans un cluster existant

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"

Restaurer vers un nouveau cluster

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"

Après avoir démarré la tâche de restauration, utilisez describe-restore-job pour suivre la progression :

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

Vous pouvez vous abonner aux événements de notification pour les objets défaillants ou ignorés à des fins de restauration. Pour plus d'informations, consultez la section Options de notification avec AWS Backup.