Amazon Aurora クラスターを削除したときに発生したエラーをトラブルシューティングする方法を教えてください。

最終更新日: 2019 年 5 月 16 日

Amazon Aurora クラスターを削除したいのですが。

  • エラーメッセージが表示されます。
    – または –
  • 削除するオプションが Amazon Aurora コンソールでは使用不可 (グレー表示) です。

この問題を解決してクラスターを削除する方法を教えてください。

簡単な説明

Amazon Relational Database Service(Amazon RDS) コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用して Aurora クラスターを削除できます。詳細については、DB インスタンスを削除するをご参照ください。

AWS CLI を使用して Aurora クラスターを削除するには、まずクラスター内のすべてのインスタンスを削除する必要があります。クラスター内のすべてのインスタンスを削除したら、delete-db-cluster を使用してクラスターを削除できます。Amazon RDS コンソールを使用してクラスター内の最後のインスタンスを削除すると、空のクラスターも自動的に削除されます。

解決方法

クラスターを削除する前に、次の点を考慮してください。

  • インスタンスが 1 つしかないクラスターがあり、Amazon RDSコンソールを使用してそのインスタンスを削除すると、そのインスタンスとクラスターの両方が削除されます。
  • 1 つの書き込みインスタンスと 1 つまたは複数の読み取りインスタンス/リードレプリカを含むクラスターがあり、その書き込みインスタンスを削除しても、書き込みインスタンスとクラスターは影響を受けません。ただし、書き込みインスタンスを削除すると、その読み取りインスタンスは書き込みインスタンスとして昇格します。その後、読み取りインスタンスはフェイルオーバーします。このため、ダウンタイムが発生する可能性があります。

RDS コンソールを使用して RDS クラスターを削除する

Amazon RDS コンソールで、次の手順に従います:

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[データベース]、クラスターの順に選択します。
  3. [アクション] を選択してから、[クラスターを削除する] を選択します。 
    注: [Delete Cluster] がグレーまたは使用不可の場合は、削除する必要があるクラスター内にインスタンスがある可能性があります。

「このデータベースでは削除保護オプションが有効になっています。最後の Aurora DB インスタンスを削除し、Aurora クラスターを変更し、削除保護を無効にすることができます」というエラーが表示された場合、次の手順に従います。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[データベース]、クラスターの順に選択します。
  3. [アクション] を選択し、[クラスターを変更する] を選択します。
  4. [Disable deletion protection] を選択し、[Continue] を選択します。
  5. [Apply immediately] を選択します。

AWS CLI を使用して RDS クラスターを削除する

注意: 以下の手順は、Aurora MySQL と Aurora PostgreSQL の両方に該当します。

次のようなコマンドを実行して、Aurora クラスターを削除します。

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

次のようなコマンドを実行して、リードレプリカインスタンスを削除します。

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

AWS CLI を使用して Aurora を削除しようとしたときにエラーメッセージが表示される場合は、以下を確認してください。

InvalidDBClusterStateFault エラー

「DeleteDBCluster 操作の呼び出し時にエラー (InvalidDBClusterStateFault) が発生しました。クラスターを削除できません。まだ削除されていない状態の DB インスタンスが含まれています。」

クラスターを削除する前に、クラスターに関連付けられているすべてのインスタンスを削除する必要があります。次のようなコマンドを実行してインスタンスを削除します。

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

InvalidParameterCombination エラー

「DeleteDBInstance 操作の呼び出し時にエラーが発生しました (InvalidParameterCombination)。クラスターインスタンスを削除するときに FinalDBSnapshotIdentifier を指定できません」

このエラーはクラスターを削除する前に、クラスターレベルのスナップショットを取得していないことを警告するものです。次のようなコマンドを実行してインスタンスを削除し、最後のスナップショットをスキップすることができます。

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

注: 自動バックアップを保持するには、 --no-delete-automated-backups を追加します。自動バックアップを削除するには、--delete-automated-backups を使用します。

リードレプリカ DB クラスタの最後のインスタンスを削除できません

「リードレプリカ DB クラスターの最後のインスタンスを削除できません。削除するには、DB クラスターをスタンドアロン DB クラスターに昇格してください」

次のようなコマンドを実行して、リードレプリカクラスタを昇格させます

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