Comment puis-je résoudre une erreur que j'ai rencontrée lors de la suppression d'un cluster Amazon Aurora ?

Date de la dernière mise à jour : 09/02/2021

Je veux supprimer un cluster Amazon Aurora, mais :

  • J'ai reçu un message d'erreur.

        - ou -

  • L'option de suppression n'est pas disponible (grisé) dans la console Amazon Relational Database Service (Amazon RDS).

Comment puis-je résoudre ce problème et supprimer mon cluster ?

Brève description

Vous pouvez utiliser la console Amazon RDS ou l'interface de ligne de commande AWS (AWS CLI) pour supprimer un cluster Amazon Aurora. Pour plus d'informations, voir Suppression d'une instance de base de données.

Pour supprimer un cluster Aurora à l'aide de l'interface de ligne de commande AWS, supprimez d'abord toutes les instances de base de données à l'intérieur du cluster. Après avoir supprimé toutes les instances de base de données à l'intérieur d'un cluster, vous pouvez ensuite supprimer le cluster à l'aide de delete-db-cluster. Si vous supprimez la dernière instance de base de données du cluster à l'aide de la console Amazon RDS, le cluster vide est automatiquement supprimé.

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution des commandes depuis AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.

Avant de supprimer un cluster, vous devez tenir compte des points suivants :

  • Si vous avez un cluster avec une seule instance de base de données et que vous supprimez cette instance de base de données à l'aide de la console Amazon RDS, supprimez cette instance de base de données et le cluster.
  • Si vous disposez d'un cluster ayant une instance en écriture et un ou plusieurs réplicas/instances en lecture et que vous supprimez l'instance en lecture, l'instance en écriture et le cluster ne sont pas affectés. Si vous supprimez l'instance en écriture, l'instance en lecture est automatiquement promue en instance en écriture. Cette opération de basculement entraîne des temps d'arrêt.

Supprimer un cluster Aurora sans instance à l'aide de la console Amazon RDS

Suivez ces étapes dans la console Amazon RDS :

  1. Ouvrez la console Amazon RDS.
  2. Sélectionnez Bases de données dans le volet de navigation, puis sélectionnez le cluster.
  3. Sélectionnez Actions, puis cliquez sur Supprimer le cluster.
    Remarque : si Supprimer le cluster est gris ou indisponible, il se peut qu'il y ait une instance à l'intérieur du cluster que vous devez supprimer. Dans ce cas, supprimez toutes les instances du cluster. Lorsque vous supprimez la dernière instance du cluster à l'aide de la console Amazon RDS, le cluster est automatiquement supprimé.

Si vous recevez l'erreur suivante, suivez les étapes ci-dessous.

« Cette base de données dispose d'une option de protection contre la suppression et elle est activée. Pour pouvoir supprimer la dernière instance de base de données Aurora, modifiez le cluster Aurora et désactivez la protection contre la suppression »

  1. Ouvrez la console Amazon RDS.
  2. Sélectionnez Bases de données dans le volet de navigation, puis sélectionnez le cluster.
  3. Sélectionnez Actions, puis cliquez sur Modifier le cluster.
  4. Sélectionnez Désactiver la protection contre la suppression, puis choisissez Continuer.
  5. Sélectionnez Appliquer immédiatement.

Supprimer un cluster Aurora à l'aide de l'interface de ligne de commande AWS

Remarque : les étapes suivantes sont applicables pour Aurora MySQL et Aurora PostgreSQL.

1.    Supprimer un cluster Aurora

Exécutez la commande suivante :

aws rds delete-db-cluster --db-cluster-identifier sample-cluster --final-db-snapshot-identifier mydbinstancefinal

Cette commande supprime le cluster et prend l'instantané final du cluster de base de données. Si vous ne souhaitez pas prendre l'instantané final, utilisez l'option ---skip-final-snapshot lorsque vous exécutez cette commande. L'erreur suivante peut s'afficher lorsque vous exécutez cette commande :

« Une erreur s'est produite (InvalidDBClusterStateFault) lors de l'appel de l'opération DeleteDBCluster : le cluster ne peut pas être supprimé, car il contient toujours des instances de base de données qui n'ont pas l'état de non-suppression. »

Cela indique que le cluster ne peut pas être supprimé, car il contient encore des instances. Veillez à supprimer toutes les instances associées au cluster avant de supprimer le cluster.

2.    Supprimer une instance dans le cluster

Exécutez la commande suivante :

aws rds delete-db-instance --db-instance-identifier sample-instance

Vous pouvez recevoir l'un des messages d'erreur suivants lorsque vous tentez de supprimer une instance dans le cluster.

  • « InvalidParameterCombination : une erreur s'est produite (InvalidParameterCombination) lors de l'appel de l'opération DeleteDBInstance: FinalDBSnapshotIdentifier ne peut pas être spécifié lors de la suppression d'une instance de cluster »

    Cette erreur s'affiche lorsque vous utilisez l'option --final-db-snapshot-identifier lorsque vous exécutez la commande pour supprimer l'instance dans le cluster. Cette erreur vous avertit que vous ne pouvez pas prendre un instantané final lors de la suppression d'une instance dans le cluster. Supprimez l'option --final-db-snapshot-identifier ou utilisez l'option --skip-final-snapshot, puis exécutez à nouveau la commande.

  • « InvalidDBclusterStateFault : impossible de supprimer la dernière instance du cluster de base de données de réplica en lecture. Faites la promotion du cluster de base de données en cluster de base de données autonome afin de le supprimer »

    Cette erreur indique que le cluster Aurora que vous tentez de supprimer agit comme un réplica, mais que la dernière instance du cluster ne peut pas être supprimée tant que le cluster n'est pas promue en cluster autonome.

3.    Promouvoir un cluster de réplica

Promouvoir un cluster de réplicas en exécutant cette commande :

aws rds promote-read-replica-db-cluster --db-cluster-identifier rds-mysql-aurora-replica-cluster