Comment résoudre les problèmes de restauration d’instantanés depuis mon cluster de bases de données Aurora compatible avec PostgreSQL ?
Je souhaite résoudre les erreurs de restauration d’instantanés lorsque je restaure à partir de mon instantané de base de données (DB) Amazon Aurora édition compatible avec PostgreSQL.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Avant de résoudre les erreurs de restauration de l’instantané, vérifiez que votre instantané est compatible avec votre configuration cible et que vous disposez des autorisations requises.
Vérifier la compatibilité des instantanés avant la restauration
Avant de restaurer un instantané, vérifiez la compatibilité des versions pour éviter les erreurs.
Vérifier l'état de l’instantané et la version du moteur
Vous pouvez utiliser la console ou l'AWS CLI pour vérifier la compatibilité de la version avant de restaurer un instantané.
Pour utiliser la console, procédez comme suit :
- Ouvrez la console Amazon Relational Database Service (Amazon RDS).
- Choisissez Instantanés.
- Sélectionnez votre instantané.
- Choisissez l'onglet Détails, puis confirmez les configurations suivantes :<br id=hardline_break/> Vérifiez que le paramètre Moteur est aurora-postgresql.<br id=hardline_break/> Vérifiez que la version du moteur est compatible avec votre version cible.<br id=hardline_break/> Assurez-vous que le statut est défini sur Disponible.
Pour utiliser l'AWS CLI afin de répertorier toutes les versions d’Aurora compatible avec PostgreSQL disponibles, exécutez la commande describe-db-engine-versions suivante :
aws rds describe-db-engine-versions \ --engine aurora-postgresql \ --query "DBEngineVersions[?EngineVersion=='your-snapshot-version'].ValidUpgradeTarget[*].EngineVersion" \ --region your-region
Remarque : remplacez your-snapshot-version par la version du moteur de votre instantané et your-region par votre région AWS.
Vérifier les autorisations IAM
Assurez-vous que votre utilisateur ou votre rôle Gestion des identités et des accès AWS (AWS IAM) dispose des autorisations requises.
Pour vérifier vos autorisations actuelles, exécutez la commande get-user de l’AWS CLI suivante :
aws iam get-user --region your-region
Remarque : remplacez your-region par votre région AWS.
Exemple de politique IAM :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBInstance", "rds:DescribeDBSnapshots", "rds:DescribeDBClusters", "rds:DescribeDBInstances" ], "Resource": "*" } ] }
Résoudre les erreurs d'autorisation IAM
Si vous ne disposez pas des autorisations Amazon RDS requises, le message d'erreur suivant s'affiche :
« User is not authorized to perform: rds:RestoreDBClusterFromSnapshot »
Pour résoudre cette erreur, ajoutez les autorisations Amazon RDS requises à votre politique IAM. Procédez comme suit :
-
Ouvrez la console IAM.
-
Dans le volet de navigation, sélectionnez Utilisateurs ou Rôles.
-
Sélectionnez votre nom d'utilisateur ou de rôle.
-
Choisissez Ajouter des autorisations.
-
Choisissez Créer une politique en ligne ou modifiez une politique déjà associée à l'entité IAM.
-
Choisissez l’onglet JSON.
-
Entrez la politique qui inclut les autorisations requises pour la restauration de l’instantané :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBInstance", "rds:DescribeDBSnapshots", "rds:DescribeDBClusterSnapshots", "rds:DescribeDBClusters", "rds:DescribeDBInstances" ], "Resource": "*" } ] } -
Sélectionnez Suivant.
-
Entrez un nom de politique. Par exemple, entrez RDSSnapshotRestorePolicy.
-
Sélectionnez Créer une politique.
Résoudre les erreurs d'autorisation de chiffrement AWS KMS
Si vous essayez de restaurer un instantané chiffré sans les autorisations appropriées pour AWS Key Management Service (AWS KMS), l'un des messages d'erreur suivants s'affiche :
« Unable to restore from encrypted snapshot »
« KMS key access denied »
Pour résoudre l'erreur, vérifiez la clé AWS KMS utilisée par votre instantané, puis ajoutez les autorisations AWS KMS requises à votre politique IAM.
Pour vérifier la clé AWS KMS utilisée par votre instantané, exécutez la commande describe-db-cluster-snapshots suivante :
aws rds describe-db-cluster-snapshots \ --db-cluster-snapshot-identifier your-snapshot-id \ --region your-region
Remarque : remplacez your-snapshot-id par l’identifiant de l’instantané et your-region par votre région AWS.
Ajoutez ensuite les autorisations AWS KMS à votre politique IAM :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:CreateGrant", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] }
Remarque : remplacez region par votre région AWS, account-id par l’ID du compte AWS et key-id par l’ID de la clé AWS KMS.
Résoudre les erreurs de capture d'écran introuvable
Si vous essayez de restaurer à partir d'un instantané qui n'existe pas ou auquel vous ne pouvez pas accéder, le message d'erreur suivant s'affiche :
« DBClusterSnapshotNotFoundFault: DBClusterSnapshot snapshot-id not found »
Pour résoudre cette erreur, vérifiez que l’instantané existe et que vous disposez des autorisations d'accès.
Pour répertorier les instantanés disponibles dans votre compte, exécutez la commande describe-db-cluster-snapshots suivante :
aws rds describe-db-cluster-snapshots \ --region your-region
Remarque : remplacez your-region par votre région AWS.
Si l'instantané est partagé depuis un autre compte AWS, vérifiez qu'il a été partagé avec votre compte et que vous avez accepté le partage.
Résoudre les erreurs de paramètres non valides
Si vous spécifiez une classe d'instance incompatible lors de la restauration, le message d'erreur suivant s'affiche :
« InvalidParameterValue: Invalid DB Instance class »
Pour résoudre cette erreur, choisissez une classe d'instance Aurora édition compatible avec PostgreSQL.
Pour répertorier les classes d'instance valides pour la version de votre moteur cible, exécutez la commande describe-orderable-db-instance-options suivante :
aws rds describe-orderable-db-instance-options \ --engine aurora-postgresql \ --engine-version your-version \ --region your-region
Remarque : remplacez your-version par votre version de PostgreSQL, par exemple, 15.4. Remplacez your-region par votre région AWS.
Examinez la sortie et choisissez une classe d'instance qui prend en charge la version de votre moteur cible et les fonctionnalités requises.
Résoudre les erreurs liées au groupe de sous-réseaux
Si vous spécifiez un sous-réseau non valide lors de la restauration, le message d'erreur suivant s'affiche :
« InvalidSubnet: The requested subnet is not valid »
Pour résoudre cette erreur, vérifiez que votre groupe de sous-réseaux de base de données contient des sous-réseaux dans plusieurs zones de disponibilité.
Pour vérifier la configuration de votre groupe de sous-réseaux, exécutez la commande describe-db-subnet-groups suivante :
aws rds describe-db-subnet-groups \ --db-subnet-group-name your-subnet-group \ --region your-region
Remarque : remplacez your-subnet-group par le nom de votre groupe de sous-réseaux DB et your-region par votre région AWS.
Vérifiez que le groupe de sous-réseaux contient des sous-réseaux dans au moins deux zones de disponibilité. Si le groupe de sous-réseaux ne contient pas de sous-réseaux dans plusieurs zones de disponibilité, vous pouvez modifier le groupe de sous-réseaux pour ajouter des sous-réseaux dans des zones de disponibilité supplémentaires.
Résoudre les erreurs d'accès aux clés AWS KMS intercompte
Si vous essayez de restaurer un instantané chiffré partagé depuis un autre compte AWS sans les autorisations AWS KMS appropriées, le message d'erreur suivant s'affiche :
« AccessDenied: Cross-account pass role is not allowed »
Pour résoudre cette erreur, assurez-vous que la stratégie de clé AWS KMS autorise l'accès intercompte et que votre rôle IAM dispose des autorisations nécessaires.
Pour vérifier la stratégie de clé AWS KMS, exécutez la commande get-key-policy suivante :
aws kms get-key-policy \ --key-id your-key-id \ --policy-name default \ --region your-region
Remarque : remplacez your-key-id par l’identifiant de clé AWS KMS et your-region par votre région AWS.
Vérifiez que la stratégie de clé inclut une instruction qui autorise votre compte AWS à accéder au déchiffrement et à la création d’octrois. Si vous ne parvenez pas à mettre à jour la stratégie de clé AWS KMS, contactez le propriétaire de l’instantané pour mettre à jour la stratégie de clé AWS KMS.
Pour les instantanés chiffrés intercompte, vous ne pouvez pas effectuer de restauration directe à partir de l'instantané partagé. Utilisez plutôt votre propre clé AWS KMS pour copier l'instantané partagé sur votre compte, puis restaurez-le à partir de cette copie. Pour plus d'informations, consultez la section Partage d'instantanés chiffrés.
Résoudre les problèmes de compatibilité de la version du moteur
Si vous essayez de restaurer une version de moteur incompatible, il se peut que vous receviez un message d'erreur pendant le processus de restauration.
Pour résoudre ce problème, assurez-vous que votre version cible est égale ou supérieure à la version PostgreSQL de l’instantané. Vous ne pouvez pas effectuer de restauration vers une version inférieure.
Pour vérifier les versions d’Aurora compatible avec PostgreSQL disponibles, exécutez la commande describe-db-engine-versions suivante :
aws rds describe-db-engine-versions \ --engine aurora-postgresql \ --region your-region
Remarque : remplacez your-region par votre région AWS.
Examinez la sortie pour identifier les versions de moteur compatibles avec votre objectif de restauration.
Résoudre les problèmes de compatibilité de la classe d'instance
Si vous sélectionnez une classe d'instance qui ne prend pas en charge la version de votre moteur cible ou les fonctionnalités requises, la restauration risque d'échouer.
Pour résoudre ce problème, choisissez une classe d'instance qui dispose du stockage et de la mémoire nécessaires pour votre charge de travail. Vérifiez que la classe d'instance prend en charge la version d’Aurora compatible avec PostgreSQL que vous restaurez et prend en charge toutes les fonctionnalités spécifiques, telles que Performance Insights.
Pour vérifier la compatibilité de la classe d'instance, exécutez la commande describe-orderable-db-instance-options :
aws rds describe-orderable-db-instance-options \ --engine aurora-postgresql \ --engine-version your-version \ --region your-region
Remarque : remplacez your-version par votre version de PostgreSQL, par exemple, 15.4. Remplacez your-region par votre région AWS.
Informations connexes
Restauration à partir d'un instantané de cluster de bases de données
Partage d'un instantané de cluster de bases de données
- Sujets
- Database
- Balises
- Aurora PostgreSQL
- Langue
- Français

Contenus pertinents
- demandé il y a 2 ans
- demandé il y a 2 ans
- demandé il y a 3 ans
AWS OFFICIELA mis à jour il y a 5 mois