Aurora DB 클러스터 및 DB 인스턴스 삭제 - Amazon Aurora

Aurora DB 클러스터 및 DB 인스턴스 삭제

Aurora DB 클러스터가 더 이상 필요하지 않은 경우 삭제할 수 있습니다. 클러스터를 삭제하면 데이터가 포함된 클러스터 볼륨이 제거됩니다. 클러스터를 삭제하기 전에 데이터의 스냅샷을 저장할 수 있습니다. 나중에 스냅샷을 복원하여 동일한 데이터가 포함된 새 클러스터를 만들 수 있습니다.

클러스터 자체와 클러스터에 포함된 데이터를 보존하면서 클러스터에서 DB 인스턴스를 삭제할 수도 있습니다. DB 인스턴스를 삭제하면 클러스터가 사용량이 많지 않거나 여러 DB 인스턴스의 계산 용량이 필요하지 않은 경우 요금을 줄일 수 있습니다.

Aurora DB 클러스터 삭제

Aurora 는 DB 클러스터를 삭제하는 단일 단계 방법을 제공하지 않습니다. 이 설계는 실수로 데이터가 손실되거나 애플리케이션을 오프라인으로 전환하지 않도록 하기 위한 것입니다. Aurora 애플리케이션은 일반적으로 미션 크리티컬하며 고가용성이 필요합니다. 따라서 Aurora 에서는 DB 인스턴스를 추가 및 제거하여 클러스터 용량을 쉽게 확장하거나 축소할 수 있습니다. 그러나 클러스터 자체를 제거하려면 별도로 삭제해야 할 것이 있습니다.

클러스터에서 모든 DB 인스턴스를 제거한 다음 클러스터 자체를 삭제하려면 다음 일반 절차를 따르십시오.

  1. 클러스터의 모든 판독기 인스턴스를 삭제합니다. Aurora DB 클러스터에서 DB 인스턴스 삭제의 절차를 따릅니다.

    클러스터에 리더 인스턴스가 있는 경우 인스턴스 중 하나를 삭제하면 해당 클러스터의 컴퓨팅 용량만 줄어듭니다. 읽기 장치 인스턴스를 먼저 삭제하면 절차 전체에서 클러스터가 사용 가능한 상태로 유지되고 불필요한 장애 조치 (failover) 작업이 수행되지 않습니다.

  2. 클러스터에서 작성기 인스턴스를 삭제합니다. 다시 한 번, Aurora DB 클러스터에서 DB 인스턴스 삭제의 절차를 따릅니다.

    DB 인스턴스를 삭제하면 모든 DB 인스턴스를 삭제한 후에도 클러스터 및 연결된 클러스터 볼륨이 유지됩니다.

  3. DB 클러스터를 삭제합니다.

    • AWS Management Console – 클러스터를 선택한 다음 작업 메뉴에서 삭제를 선택합니다. 나중에 필요할 경우에 대비하여 다음 옵션을 선택하여 클러스터의 데이터를 보존할 수 있습니다.

      • 클러스터 볼륨의 최종 스냅샷을 생성합니다. 기본 설정은 최종 스냅샷을 생성하는 것입니다.

      • 자동 백업을 보존합니다. 기본 설정은 자동 백업을 보존하지 않는 것입니다.

        참고

        Aurora Serverless v1 DB 클러스터의 자동 백업은 유지되지 않습니다.

      또한 Aurora에서는 클러스터를 삭제할지 확인해야 합니다.

    • CLI와 APIdelete-db-cluster CLI 명령 또는 DeleteDBCluster API 작업을 호출합니다. 나중에 필요할 경우에 대비하여 다음 옵션을 선택하여 클러스터의 데이터를 보존할 수 있습니다.

      • 클러스터 볼륨의 최종 스냅샷을 생성합니다.

      • 자동 백업을 보존합니다.

        참고

        Aurora Serverless v1 DB 클러스터의 자동 백업은 유지되지 않습니다.

빈 Aurora 클러스터 생성

AWS Management Console, AWS CLI 또는 Amazon RDS API를 사용해 빈 DB 클러스터를 삭제할 수 있습니다.

작은 정보

DB 인스턴스가 없는 클러스터를 유지하여 클러스터에 CPU 요금이 부과되지 않고 데이터를 보존할 수 있습니다. 클러스터에 대해 하나 이상의 새 DB 인스턴스를 만들어 클러스터를 다시 빠르게 사용할 수 있습니다. 연결된 DB 인스턴스가 없는 상태에서 클러스터에서 Aurora특정 관리 작업을 수행할 수 있습니다. 데이터에 액세스하거나 DB 인스턴스에 연결해야 하는 작업은 수행할 수 없습니다.

DB 클러스터를 삭제하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택한 다음 삭제하려는 DB 클러스터를 선택합니다.

  3. 작업에 대해 삭제를 선택합니다.

  4. DB 클러스터의 최종 DB 스냅샷을 생성하려면 최종 스냅샷 생성을 선택합니다. 이것이 기본 설정입니다.

  5. 최종 스냅샷을 생성하도록 선택한 경우 최종 스냅샷 이름을 입력합니다.

  6. 자동 백업을 보관하려면 자동 백업 보관을 선택합니다. 이것은 기본 설정이 아닙니다.

  7. 상자에 delete me를 입력합니다.

  8. Delete을 선택합니다.

AWS CLI를 사용하여 빈 Aurora DB 클러스터를 삭제하려면 delete-db-cluster 명령을 호출합니다.

빈 클러스터는 개발 및 테스트에만 deleteme-zero-instances 사용되었으며 중요한 데이터가 포함되어 있지 않다고 가정합니다. 이 경우 클러스터를 삭제할 때 클러스터 볼륨의 스냅샷을 보존할 필요가 없습니다. 다음 예시에서는 클러스터에 DB 인스턴스가 포함되어 있지 않은 것을 보여준 다음 최종 스냅샷을 만들거나 자동 백업을 보존하지 않고 빈 클러스터를 삭제합니다.

$ aws rds describe-db-clusters --db-cluster-identifier deleteme-zero-instances --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-zero-instances $ aws rds delete-db-cluster --db-cluster-identifier deleteme-zero-instances \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-zero-instances", "Status": "available", "Engine": "aurora-mysql" }

Amazon RDS API를 사용하여 빈 Aurora DB 클러스터를 삭제하려면 DeleteDBCluster 작업을 호출합니다.

단일 DB 인스턴스로 Aurora 클러스터 삭제

DB 클러스터에 삭제 방지 기능이 활성화된 경우에도 최근 DB 인스턴스를 삭제할 수 있습니다. 이 경우 DB 클러스터 자체는 여전히 존재하고 데이터는 보존됩니다. 새로운 DB 인스턴스를 클러스터에 연결하여 데이터에 다시 액세스할 수 있습니다.

다음 예제에서는 클러스터에 연결된 DB 인스턴스가 있는 경우 delete-db-cluster 명령이 작동하지 않는 방법을 보여 줍니다. 이 클러스터에는 단일 작성기 DB 인스턴스가 있습니다. 클러스터의 DB 인스턴스를 검사할 때 각 인스턴스의 IsClusterWriter 속성을 확인합니다. 클러스터에는 0개 또는 1개의 작성기 DB 인스턴스가 있을 수 있습니다. 값은 작성기 DB 인스턴스를 true 나타냅니다. 값은 읽기 DB 인스턴스를 false 나타냅니다. 클러스터에는 0, 1 또는 여러 개의 읽기 DB 인스턴스가 있을 수 있습니다. 이 경우 delete-db-instance 명령을 사용하여 작성기 DB 인스턴스를 삭제합니다. DB 인스턴스가 deleting 상태로 전환되는 즉시 클러스터도 삭제할 수 있습니다. 또한 이 예시에서는 클러스터에 보존할 가치가 있는 데이터가 없다고 가정합니다. 따라서 클러스터 볼륨의 스냅샷을 만들거나 자동 백업을 보존하지 않습니다.

$ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-only --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. $ aws rds describe-db-clusters --db-cluster-identifier deleteme-writer-only \ --query '*[].[DBClusterIdentifier,Status,DBClusterMembers[*].[DBInstanceIdentifier,IsClusterWriter]]' [ [ "deleteme-writer-only", "available", [ [ "instance-2130", true ] ] ] ] $ aws rds delete-db-instance --db-instance-identifier instance-2130 { "DBInstanceIdentifier": "instance-2130", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-only \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-writer-only", "Status": "available", "Engine": "aurora-mysql" }

여러 DB 인스턴스가 있는 Aurora 클러스터 삭제

클러스터에 DB 인스턴스가 여러 개 포함되어 있는 경우 일반적으로 하나의 작성기 인스턴스와 하나 이상의 읽기 전용 인스턴스가 있습니다. 리더 인스턴스는 작성기 인스턴스에 문제가 발생할 경우 인수하기 위해 대기 상태에 있어 고가용성을 지원합니다. 읽기 전용 인스턴스를 사용하여 쓰기 인스턴스에 오버헤드를 추가하지 않고도 읽기 집약적인 워크로드를 처리할 수 있도록 클러스터를 확장할 수도 있습니다.

읽기 장치 DB 인스턴스가 여러 개인 클러스터를 삭제하려면 먼저 읽기 장치 인스턴스를 삭제한 다음 작성기 인스턴스를 삭제합니다. 라이터 인스턴스를 삭제하면 클러스터와 해당 데이터가 그대로 유지됩니다. 클러스터는 별도의 작업을 통해 삭제합니다.

이 CLI 예제에서는 라이터 DB 인스턴스와 단일 리더 DB 인스턴스가 모두 포함된 클러스터를 삭제하는 방법을 보여 줍니다. describe-db-clusters 출력은 instance-7384 이 작성기 instance-1039 인스턴스이며 읽기 인스턴스임을 보여 줍니다. 읽기 장치 인스턴스가 있는 동안 작성기 인스턴스를 삭제하면 장애 조치 (failover) 작업이 발생하기 때문에 이 예제에서는 읽기 전용 인스턴스를 먼저 삭제합니다. 해당 인스턴스도 삭제하려는 경우 읽기 인스턴스를 작성자로 승격하는 것은 의미가 없습니다. 이 경우에도 이러한 db.t2.small 인스턴스가 개발 및 테스트에만 사용되는 것으로 간주하고 삭제 작업이 최종 스냅샷을 건너뛰고 자동 백업을 보존하지 않습니다.

$ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-and-reader --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. $ aws rds describe-db-clusters --db-cluster-identifier deleteme-writer-and-reader --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-writer-and-reader Instance: instance-1039 False Instance: instance-7384 True $ aws rds delete-db-instance --db-instance-identifier instance-1039 { "DBInstanceIdentifier": "instance-1039", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-7384 { "DBInstanceIdentifier": "instance-7384", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-and-reader \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-writer-and-reader", "Status": "available", "Engine": "aurora-mysql" }

다음 예에서는 작성기 DB 인스턴스와 여러 읽기 장치 DB 인스턴스가 포함된 DB 클러스터를 삭제하는 방법을 보여 줍니다. 이 작가와 리더 인스턴스의 보고서를 얻기 위해 describe-db-clusters 명령에서 간결한 출력을 사용합니다. 다시 말하지만, 작성기 DB 인스턴스를 삭제하기 전에 모든 판독기 DB 인스턴스를 삭제합니다. 독자 DB 인스턴스를 삭제하는 순서는 중요하지 않습니다.

DB 인스턴스가 여러 개 있는 이 클러스터에 보존할 가치가 있는 데이터가 포함되어 있다고 가정합니다. 따라서 이 예제의 delete-db-cluster 명령에는 생성할 스냅샷의 세부 정보를 지정하는 --no-skip-final-snapshot--final-db-snapshot-identifier 매개 변수가 포함됩니다. 여기에는 자동 백업을 보존하기 위한 --no-delete-automated-backups 파라미터도 포함됩니다.

$ aws rds describe-db-clusters --db-cluster-identifier deleteme-multiple-readers --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-multiple-readers Instance: instance-1010 False Instance: instance-5410 False Instance: instance-9948 False Instance: instance-8451 True $ aws rds delete-db-instance --db-instance-identifier instance-1010 { "DBInstanceIdentifier": "instance-1010", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-5410 { "DBInstanceIdentifier": "instance-5410", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-9948 { "DBInstanceIdentifier": "instance-9948", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-8451 { "DBInstanceIdentifier": "instance-8451", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-multiple-readers \ --no-delete-automated-backups \ --no-skip-final-snapshot \ --final-db-snapshot-identifier deleteme-multiple-readers-final-snapshot { "DBClusterIdentifier": "deleteme-multiple-readers", "Status": "available", "Engine": "aurora-mysql" }

다음 예에서는 요청된 스냅샷이 Aurora 생성되었는지 확인하는 방법을 보여 줍니다. 식별자를 지정하여 특정 스냅샷에 대한 세부 정보를 요청할 수 deleteme-multiple-readers-final-snapshot있습니다. 클러스터 식별자를 지정하여 삭제된 클러스터의 모든 스냅샷에 대한 보고서를 가져올 수도 deleteme-multiple-readers있습니다. 두 명령 모두 동일한 스냅 샷에 대한 정보를 반환합니다.

$ aws rds describe-db-cluster-snapshots \ --db-cluster-snapshot-identifier deleteme-multiple-readers-final-snapshot { "DBClusterSnapshots": [ { "AvailabilityZones": [], "DBClusterSnapshotIdentifier": "deleteme-multiple-readers-final-snapshot", "DBClusterIdentifier": "deleteme-multiple-readers", "SnapshotCreateTime": "11T01:40:07.354000+00:00", "Engine": "aurora-mysql", ... $ aws rds describe-db-cluster-snapshots --db-cluster-identifier deleteme-multiple-readers { "DBClusterSnapshots": [ { "AvailabilityZones": [], "DBClusterSnapshotIdentifier": "deleteme-multiple-readers-final-snapshot", "DBClusterIdentifier": "deleteme-multiple-readers", "SnapshotCreateTime": "11T01:40:07.354000+00:00", "Engine": "aurora-mysql", ...

Aurora 클러스터의 삭제 방지

삭제 보호가 설정된 클러스터는 삭제할 수 없습니다. 클러스터 내에서 DB 인스턴스를 삭제할 수 있지만 클러스터 자체는 삭제할 수 없습니다. 이렇게 하면 모든 데이터가 포함된 클러스터 볼륨이 실수로 삭제되지 않습니다. Aurora는 콘솔, AWS CLI 또는 RDS API를 사용하여 클러스터를 삭제하려고 할 때 DB 클러스터에 대해 삭제 방지를 적용합니다.

AWS Management Console을 사용하여 프로덕션 DB 클러스터를 생성할 때 기본적으로 삭제 방지가 활성화됩니다. 하지만 AWS CLI 또는 API를 사용하여 클러스터를 생성하는 경우 삭제 방지가 기본적으로 비활성화됩니다. 삭제 보호를 활성화 또는 비활성화해도 중단이 발생하지 않습니다. 클러스터를 삭제하려면 클러스터를 수정하고 삭제 방지 기능을 비활성화합니다. 삭제 방지 활성화 및 비활성화에 대한 자세한 내용은 콘솔, CLI, API를 사용하여 DB 클러스터 수정 단원을 참조하십시오.

작은 정보

모든 DB 인스턴스가 삭제되더라도 클러스터에 새 DB 인스턴스를 만들어 데이터에 액세스할 수 있습니다.

중지된 Aurora 클러스터 삭제

클러스터가 stopped 상태인 경우 삭제할 수 없습니다. 이 경우 클러스터를 삭제하기 전에 클러스터를 시작하십시오. 자세한 내용은 Aurora DB 클러스터 시작 섹션을 참조하세요.

읽기 전용 복제본인 Aurora MySQL 클러스터 삭제

Aurora MySQL에서는 다음 조건에 해당할 경우 DB 클러스터에서 DB 인스턴스를 삭제할 수 없습니다.

  • DB 클러스터는 다른 Aurora DB 클러스터의 읽기 전용 복제본입니다.

  • DB 인스턴스는 DB 클러스터의 유일한 인스턴스입니다.

이 경우 DB 인스턴스를 삭제하려면 더 이상 읽기 전용 복제본이 되지 않도록 먼저 DB 클러스터를 승격합니다. 승격이 완료된 후 DB 클러스터에서 최종 DB 인스턴스를 삭제할 수 있습니다. 자세한 내용은 여러 AWS 리전에 걸쳐 Amazon Aurora MySQL DB 클러스터 복제 섹션을 참조하세요.

클러스터를 삭제할 때의 최종 스냅샷

이 섹션에서는 Aurora 클러스터를 삭제할 때 최종 스냅샷을 생성할지 여부를 선택하는 방법을 보여 줍니다. 최종 스냅샷을 생성하도록 선택했지만 지정한 이름이 기존 스냅샷과 일치하는 경우 작업이 중지되고 오류가 발생합니다. 이 경우 스냅샷 세부 정보를 검토하여 현재 세부 정보를 나타내는지 또는 이전 스냅샷인지 확인합니다. 기존 스냅샷에 보존할 최신 데이터가 없는 경우 스냅샷 이름을 변경하고 다시 시도하거나 최종 스냅샷 파라미터에 다른 이름을 지정하세요.

Aurora DB 클러스터에서 DB 인스턴스 삭제

전체 클러스터를 삭제하는 프로세스의 일부로 Aurora DB 클러스터에서 DB 인스턴스를 삭제할 수 있습니다. 클러스터에 특정 수의 DB 인스턴스가 포함되어 있는 경우 클러스터를 삭제하려면 각 DB 인스턴스를 삭제해야 합니다. 클러스터를 실행 중인 상태로 둔 상태에서 클러스터에서 하나 이상의 판독기 인스턴스를 삭제할 수도 있습니다. 클러스터가 사용량이 아닌 경우 계산 용량 및 관련 요금을 줄이기 위해 이렇게 할 수 있습니다.

DB 인스턴스를 삭제하려면 인스턴스의 이름을 지정합니다.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 인스턴스를 삭제할 수 있습니다.

참고

Aurora 복제본이 삭제되면 인스턴스 엔드포인트가 즉시 제거되고 Aurora 복제본이 리더 엔드포인트에서 제거됩니다. 삭제되는 Aurora 복제본을 실행하는 문이 있는 경우 3분의 유예 기간이 있습니다. 기존 문은 유예 기간 동안 완료할 수 있습니다. 유예 기간이 종료되면 Aurora 복제본이 종료 및 삭제됩니다.

Aurora DB 클러스터의 경우 DB 인스턴스를 삭제해도 전체 클러스터가 삭제되지는 않습니다. 클러스터가 사용 중이 아닐 때 Aurora 클러스터에서 DB 인스턴스를 삭제하여 컴퓨팅 파워와 관련 요금을 줄일 수 있습니다. DB 인스턴스가 하나 또는 DB 인스턴스가 0인 Aurora 클러스터의 특수한 상황에 대한 자세한 내용은 단일 DB 인스턴스로 Aurora 클러스터 삭제 및 단원을 참조하십시오 빈 Aurora 클러스터 생성.

참고

삭제 방지가 활성화된 DB 클러스터는 삭제할 수 없습니다. 자세한 내용은 Aurora 클러스터의 삭제 방지 섹션을 참조하세요.

DB 클러스터를 수정하여 삭제 방지를 비활성화할 수 있습니다. 자세한 내용은 Amazon Aurora DB 클러스터 수정 섹션을 참조하세요.

DB 클러스터에서 DB 인스턴스를 삭제하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택한 후 삭제하려는 DB 인스턴스를 선택합니다.

  3. [ Actions]에 대해 [Delete]를 선택합니다.

  4. 상자에 delete me를 입력합니다.

  5. Delete을 선택합니다.

AWS CLI를 사용하여 DB 인스턴스를 삭제하려면 delete-db-instance 명령을 호출하고 --db-instance-identifier 값을 지정합니다.

Linux, macOS, Unix:

aws rds delete-db-instance \ --db-instance-identifier mydbinstance

Windows의 경우:

aws rds delete-db-instance ^ --db-instance-identifier mydbinstance

Amazon RDS API를 사용하여 DB 인스턴스를 삭제하려면 DeleteDBInstance 작업을 호출하고 DBInstanceIdentifier 파라미터를 지정합니다.

참고

DB 인스턴스의 상태가 deleting인 경우 CA 인증서 값이 RDS 콘솔이나 AWS CLI 명령 또는 RDS API 작업의 출력에 나타나지 않습니다. CA 인증서에 대한 자세한 내용은 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화 단원을 참조하십시오.