Comment éliminer la réception d'une erreur lors la suppression d'un cluster Amazon Aurora ?

Date de la dernière mise à jour : 16/05/2019

Je veux supprimer un cluster Amazon Aurora, mais :

  • Je reçois un message d'erreur.
    - ou -
  • L'option permettant de supprimer n'est pas disponible (grisée) dans la console Amazon Aurora.

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

Brève description

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

Pour supprimer un cluster Aurora en utilisant l’interface de ligne de commande (CLI) AWS, vous devez d'abord supprimer toutes les instances dans le cluster. Ensuite, vous pouvez supprimer le cluster en utilisant delete-db-cluster. Si vous supprimez la dernière instance dans le cluster en utilisant la console Amazon RDS, le cluster vide est également supprimé automatiquement.

Résolution

Avant de supprimer un cluster, tenez compte des points suivants :

  • Si vous disposez d'un cluster ayant une seule instance et que vous supprimez cette dernière à l'aide de la console Amazon RDS, l'instance et le cluster sont supprimés.
  • 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. Toutefois, si vous supprimez l’instance en écriture, l'instance en lecture devient une instance en écriture. Ensuite, l'instance en lecture échoue, ce qui peut entraîner une interruption.

Suppression d'un cluster RDS à l'aide de la console RDS

Suivez les étapes suivantes dans la console Amazon RDS :

  1. Ouvrez la console Amazon RDS.
  2. Sélectionnez Databases (Bases de données) dans le volet de navigation, puis sélectionnez le cluster.
  3. Sélectionnez Actions, puis Delete Cluster (Supprimer le cluster). 
    Remarque : si Delete Cluster (Supprimer le cluster) est grisé ou indisponible, il existe peut-être une instance dans le cluster que vous devez supprimer.

Si vous recevez le message d'erreur « This database has deletion protection option enabled, to be able to delete the last Aurora DB instance, modify the Aurora cluster and disable deletion protection » (L’option de protection contre la suppression est activée sur cette base de données. 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), procédez comme suit :

  1. Ouvrez la console Amazon RDS.
  2. Sélectionnez Databases (Bases de données) dans le volet de navigation, puis sélectionnez le cluster.
  3. Sélectionnez Actions, puis Modify Cluster (Modifier le cluster).
  4. Choisissez Disable deletion protection (Désactiver la protection contre la suppression), puis Continue (Continuer).
  5. ChoisissezApply immediately (Appliquer immédiatement).

Suppression d'un cluster RDS à l'aide de l'interface de ligne de commande (CLI) AWS

Remarque : les étapes suivantes s'appliquent à la fois pour Aurora MySQL et Aurora PostgreSQL.

Supprimez un cluster Aurora en exécutant une commande similaire à celle-ci :

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

Supprimez une instance de réplica en lecture en exécutant une commande similaire à celle-ci :

aws rds delete-db-instance --db-instance-identifier mysql-aurora-replica --final-db-snapshot-identifier mydbinstancefinal2

Si vous recevez un message d'erreur lorsque vous tentez de supprimer une instance Aurora à l'aide de l'interface de ligne de commande (CLI) AWS, vérifiez les points suivants :

Erreur InvalidDBClusterStateFault

« An error occurred (InvalidDBClusterStateFault) when calling the DeleteDBCluster operation: Cluster cannot be deleted, it still contains DB instances in non-deleting state » (Une erreur s'est produite (InvalidDBClusterStateFault) lors de l'appel de l'opération DeleteDBCluster : le cluster ne peut pas être supprimé, il contient toujours des instances de base de données qui n'ont pas l'état de non-suppression)

Toutes les instances associées au cluster doivent être supprimées pour pouvoir supprimer le cluster. Supprimez l'instance en exécutant une commande similaire à celle-ci :

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

Erreur InvalidParameterCombination

« An error occurred (InvalidParameterCombination) when calling the DeleteDBInstance operation: FinalDBSnapshotIdentifier cannot be specified when deleting a cluster instance » (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 indique que vous n'avez pas créé d’instantané de cluster avant de supprimer le cluster. Vous pouvez supprimer l'instance et ignorer l'instantané final en exécutant une commande similaire à celle-ci :

aws rds delete-db-instance --db-instance-identifier test-replica --skip-final-snapshot

Remarque : pour conserver les sauvegardes automatisées, ajoutez --no-delete-automated-backups. Pour supprimer les sauvegardes automatisées, utilisez --delete-automated-backups.

Erreur Cannot delete the last instance of the read replica DB cluster (Impossible de supprimer la dernière instance du cluster de bases de données réplica en lecture)

« Cannot delete the last instance of the read replica DB cluster » (Impossible de supprimer la dernière instance du cluster de bases de données réplica en lecture). « Promote the DB cluster to a standalone DB cluster in order to delete it » (Impossible de supprimer la dernière instance du cluster de bases de données réplica en lecture. Convertissez le cluster de base de données en cluster de base de données autonome pour pouvoir le supprimer)

Convertissez le cluster réplica en lecture en exécutant une commande similaire à celle-ci :

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