Amazon Aurora 클러스터를 삭제할 때 받은 오류 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 2월 9일

Amazon Aurora 클러스터를 삭제하고 싶습니다. 하지만

  • 오류 메시지가 나타났습니다.

        - 또는 -

  • Amazon Relational Database Service (Amazon RDS) 콘솔에서 삭제 옵션을 사용할 수 없습니다 (회색으로 표시).

이 문제를 해결하고 클러스터를 삭제하려면 어떻게 해야 합니까?

간략한 설명

Amazon RDS 콘솔이나 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 Amazon Aurora 클러스터를 삭제할 수 있습니다. 자세한 내용은 DB 인스턴스 삭제를 참조하십시오.

AWS CLI를 이용해 Aurora 클러스터를 삭제하려면 먼저 클러스터 내에서 인스턴스를 모두 삭제합니다. 클러스터 내의 모든 DB 인스턴스를 삭제한 후에 delete-db-cluster를 이용해 클러스터를 삭제할 수 있습니다. Amazon RDS 콘솔을 사용하여 클러스터의 마지막 DB 인스턴스를 삭제하면 빈 클러스터도 자동으로 삭제됩니다.

해결 방법

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

클러스터를 삭제하기 전에 고려해야 할 사항은 다음과 같습니다.

  • DB 인스턴스가 하나뿐인 클러스터에서 Amazon RDS 콘솔을 사용하여 해당 DB 인스턴스를 삭제하고, 그 다음에 해당 DB 인스턴스와 클러스터를 모두 삭제합니다.
  • 쓰기 인스턴스 하나와 하나 이상의 읽기 인스턴스/읽기 전용 복제본이 있는 클러스터에서 읽기 인스턴스를 삭제하면 쓰기 인스턴스와 클러스터에 영향을 미치지 않습니다. 쓰기 인스턴스를 삭제하면 읽기 인스턴스가 자동으로 쓰기 인스턴스로 승격됩니다.​ 이 페일오버 작업으로 가동 중지 시간이 발생합니다.

Amazon RDS 콘솔을 사용하여 내부에 인스턴스가 없는 Aurora 클러스터를 삭제합니다.

Amazon RDS 콘솔에서 다음 단계를 따릅니다.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택한 다음, 클러스터를 선택합니다.
  3. 작업을 선택한 다음 클러스터 삭제를 선택합니다.
    참고: Delete Cluster가 회색이거나 사용할 수 없는 경우, 클러스터 안에 반드시 지워야 할 인스턴스가 있는 것입니다. 이 경우 클러스터의 모든 인스턴스를 삭제합니다. Amazon RDS 콘솔을 사용하여 클러스터의 마지막 인스턴스를 삭제하면 클러스터도 자동으로 삭제됩니다.

다음과 같은 오류가 나타나면 아래 단계를 따르십시오.

"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"

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택한 다음, 클러스터를 선택합니다.
  3. 작업을 선택한 다음, 클러스터 수정을 선택합니다.
  4. 삭제 비활성화를 선택하고 계속을 선택합니다.
  5. 즉시 적용을 선택합니다.

AWS CLI를 사용하여 Aurora 클러스터 삭제

참고: 다음 단계는 Aurora MySQL과 Aurora PostgreSQL 모두에 적용됩니다.

1.    오로라 클러스터 삭제

다음 명령을 실행합니다.

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

이 명령은 클러스터를 삭제하고 최종 DB 클러스터 스냅샷을 생성합니다. 최종 스냅샷을 만들지 않으려면 이 명령을 실행할 때 ---skip-final-snapshot 옵션을 사용합니다. 이 명령을 실행할 때 다음 오류가 나타날 수 있습니다.

"An error occurred (InvalidDBClusterStateFault) when calling the DeleteDBCluster operation: Cluster cannot be deleted, it still contains DB instances in non-deleting state"

이는 클러스터에 인스턴스가 있기 때문에 클러스터를 삭제할 수 없음을 나타냅니다. 클러스터를 삭제하려면 먼저 클러스터에 연결된 인스턴스를 모두 삭제해야 함을 기억하십시오.

2.    클러스터에서 인스턴스 생성

다음 명령을 실행합니다.

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

클러스터에서 인스턴스를 삭제하려고 할 때 다음 오류 메시지 중 하나가 나타날 수 있습니다.

  • "InvalidParameterCombination: An error occurred (InvalidParameterCombination) when calling the DeleteDBInstance operation: FinalDBSnapshotIdentifier cannot be specified when deleting a cluster instance"

    해당 클러스터에서 인스턴스를 삭제하는 명령을 실행할 때, --final-db-snapshot-identifier 옵션을 사용하면 이 오류가 나타납니다. 이 오류는 클러스터에서 인스턴스를 삭제할 때 최종 스냅샷을 만들 수 없다는 경고를 표시합니다. --final-db-snapshot-identifier 옵션을 제거하거나 --skip-final-snapshot 옵션을 사용한 다음 명령을 다시 실행합니다.

  • "InvalidDBClusterStateFault: 읽기 복제본 DB 클러스터 오류의 마지막 인스턴스를 삭제할 수 없습니다. 삭제하려면 DB 클러스터를 독립 실행형 DB 클러스터로 승격하십시오"

    이 오류는 삭제하려는 Aurora 클러스터가 복제본 역할을 하고 있으나 클러스터가 독립 실행형으로 승격될 때까지는 해당 클러스터의 마지막 인스턴스를 삭제할 수 없음을 나타냅니다.

3.    복제본 클러스터 승격

다음 명령을 실행하여 복제본 클러스터를 승격시킵니다.

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