Amazon Aurora
Aurora 사용 설명서 (API 버전 2014-10-31)

Amazon Aurora 글로벌 데이터베이스 작업

다음에서 Amazon Aurora 글로벌 데이터베이스에 대한 설명을 찾아볼 수 있습니다. Aurora 글로벌 데이터베이스는 여러 AWS 리전에 걸쳐 있어, 지연 시간이 짧은 전역 읽기와 리전 전체의 중단으로부터 재해 복구를 지원합니다.

Aurora 글로벌 데이터베이스 개요

Aurora 글로벌 데이터베이스는 데이터가 마스터로 사용되는 기본 AWS 리전 하나와 읽기 전용 보조 AWS 리전 하나로 이루어집니다. Aurora는 일반적으로 1초 미만의 지연 시간으로 보조 AWS 리전으로 데이터를 복제합니다. 기본 AWS 리전에서 기본 DB 인스턴스로 직접 쓰기 작업을 실행할 수 있습니다. Aurora 글로벌 데이터베이스는 전용 인프라를 사용하여 데이터를 복제하여 애플리케이션 워크로드를 처리할 수 있도록 데이터베이스 리소스를 완전 가용 상태로 유지합니다. 전 세계적으로 사용되는 애플리케이션은 낮은 지연 시간 읽기를 위해 보조 리전에서 리더 인스턴스를 사용할 수 있습니다. 흔히 발생하지는 않지만 데이터베이스가 AWS 리전에서 성능 저하되거나 분리되는 경우에는 보조 AWS 리전을 승격시켜 1분 안에 모든 읽기-쓰기 워크로드를 처리할 수 있습니다.

데이터가 마스터로 사용되는 기본 AWS 리전의 Aurora 클러스터는 읽기 및 쓰기 작업을 둘 다 수행합니다. 보조 리전의 클러스터는 낮은 지연 시간 읽기를 활성화합니다. 다른 DB 인스턴스 중 하나(Aurora 복제본)를 추가하여 읽기 전용 워크로드를 처리함으로써 보조 클러스터를 독립적으로 확장할 수도 있습니다. 재해 복구 시에는 보조 클러스터를 제거했다가 승격하여 모든 읽기/쓰기 작업을 허용할 수 있습니다.

기본 클러스터만 쓰기 작업을 수행합니다. 쓰기 작업을 수행하는 클라이언트는 기본 클러스터의 DB 클러스터 엔드포인트에 연결합니다.

Aurora 글로벌 데이터베이스의 장점

Aurora 글로벌 데이터베이스는 전용 인프라를 사용하여 기본 DB 클러스터와 보조 클러스터 간에 변경 내용을 복제합니다. Aurora 글로벌 데이터베이스는 다음과 같은 장점을 제공합니다.

  • Aurora 글로벌 데이터베이스에서 수행되는 복제는 기본 DB 클러스터의 성능에 영향을 미치지 않도록 제한되었습니다. DB 인스턴스의 리소스는 읽기/쓰기 워크로드 처리 전용입니다.

  • 일반적으로 1초 미만의 최소 지연 시간으로 변경 내용이 AWS 리전 간에 복제됩니다.

  • 보조 클러스터를 사용하면 재해 복구를 위한 빠른 장애 조치가 가능합니다. 일반적으로 보조 클러스터를 승격하여 1분 안에 쓰기 가능하도록 설정할 수 있습니다.

  • 원격 AWS 리전의 애플리케이션은 보조 클러스터에서 읽을 때 쿼리 지연 시간이 더 낮습니다.

  • 최대 16개 Aurora 복제본을 보조 클러스터에 추가하여 단일 Aurora 클러스터 용량 이상으로 읽기를 확장할 수 있습니다.

Aurora 글로벌 데이터베이스 요구 사항

Aurora 글로벌 데이터베이스는 다음 AWS 리전에서 사용할 수 있습니다.

  • 미국 동부(버지니아 북부)

  • 미국 동부(오하이오)

  • 미국 서부(오레곤)

  • EU(아일랜드)

AWS CLI 또는 RDS API를 통해 Aurora 클러스터를 생성한 후 나중에 Aurora 글로벌 데이터베이스에 추가하려는 경우 엔진 모드 파라미터에 global 값을 사용해야 합니다.

Aurora 글로벌 데이터베이스에 대한 현재 제한

현재 다음 제한이 Aurora 글로벌 데이터베이스에 적용됩니다.

  • Aurora 글로벌 데이터베이스는 MySQL 5.6 호환성을 제공하는 Aurora에서만 사용할 수 있습니다.

  • Aurora 글로벌 데이터베이스에는 db.t2 인스턴스 클래스를 사용할 수 없습니다. db.r3 또는 db.r4 인스턴스 클래스를 선택할 수 있습니다.

  • 보조 클러스터는 기본 클러스터와는 다른 AWS 리전에 있어야 합니다.

  • 보조 클러스터와 동일한 리전에는 기본 클러스터의 교차 리전 읽기 전용 복제본을 생성할 수 없습니다. 교차 리전 읽기 전용 복제본에 대한 자세한 내용은 여러 AWS 리전에 걸쳐 Amazon Aurora MySQL DB 클러스터 복제 단원을 참조하십시오.

  • Aurora 글로벌 데이터베이스에는 다음 기능이 지원되지 않습니다.

Aurora 글로벌 데이터베이스 생성

Aurora 글로벌 데이터베이스는 여러 AWS 리전에 걸쳐 있습니다. 읽기-쓰기 기본 클러스터와 함께 글로벌 데이터베이스 자체를 생성할 수 있습니다. 그런 다음 다른 AWS 리전에서 읽기 전용 보조 클러스터를 생성할 수 있습니다.

  • 새 글로벌 데이터베이스를 생성하려면 포함된 글로벌 데이터베이스 및 기본 클러스터를 생성한 후 보조 클러스터를 추가합니다.

  • 기존 Aurora 클러스터가 있는 경우 스냅샷을 생성한 후 이 스냅샷을 새로운 Aurora 글로벌 데이터베이스로 복원할 수 있습니다. 이 작업을 수행하려면 Aurora 글로벌 데이터베이스로 데이터 가져오기의 절차를 수행합니다.

기본 및 보조 클러스터의 이름을 지정할 때는 이러한 클러스터가 다른 AWS 리전에 있더라도 기존 Aurora 클러스터와는 다른 이름을 선택합니다.

중요

Aurora 글로벌 데이터베이스를 생성하기 전에 Amazon Relational Database Service 사용 설명서Amazon RDS 설정의 계정, 네트워크 및 보안 설정 관련 설정 작업을 완료합니다.

콘솔

AWS Management 콘솔을 사용하여 Aurora 글로벌 데이터베이스를 생성하려면

  1. AWS Management 콘솔에 로그인하고 Aurora 글로벌 데이터베이스를 사용할 수 있는 리전에 대한 Amazon RDS 콘솔을 엽니다.

  2. 데이터베이스 생성을 선택합니다.

  3. 엔진 선택 페이지에서 MySQL 5.6 호환 Aurora 엔진을 선택하고 데이터베이스 위치글로벌을 선택합니다. 예시는 다음 이미지를 참조하십시오.

    참고

    빠른 생성이 선택되지 않아야 합니다. 빠른 생성을 끄면 Aurora 글로벌 데이터베이스에 필요한 선택 사항이 표시됩니다.

    1. Aurora를 엔진으로 선택합니다.

      
                    데이터베이스 생성 시 엔진 옵션 선택 사항을 보여주는 스크린샷.
    2. MySQL 5.6 호환성을 선택합니다.

      
                    Aurora 클러스터 생성 시 에디션 및 엔진 버전 선택 사항을 보여주는 스크린샷.
    3. 위치로 글로벌을 선택합니다.

      
                    Aurora 클러스터 생성 시 데이터베이스 위치 선택 사항을 보여주는 스크린샷. Aurora글로벌 데이터베이스를 생성하려면 "글로벌"을 선택합니다.

      참고

      글로벌를 선택하면 글로벌 데이터베이스와 기본 Aurora 클러스터가 설정됩니다. 글로벌 데이터베이스가 생성되었고 사용할 수 있게 되면 보조 AWS 리전을 추가할 수 있습니다.

  4. 다른 Aurora 클러스터와 동일한 결정 프로세스에 따라 나머지 설정을 채웁니다. Aurora DB 클러스터 생성에 대한 자세한 내용은 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.

    
                Aurora글로벌 데이터베이스 생성 시 보조 설정을 보여주는 스크린샷.
  5. Create를 선택합니다.

기본 DB 클러스터가 생성되고 사용할 수 있게 되면 Aurora 글로벌 데이터베이스에 AWS 리전 추가의 단계에 따라 보조 클러스터를 생성합니다.

AWS CLI

CLI를 사용하여 Aurora 글로벌 데이터베이스를 생성하려면

  1. Aurora 글로벌 데이터베이스를 생성한 후 기본 AWS 리전 및 DB 인스턴스를 해당 AWS 리전에 추가합니다.

    1. Aurora 글로벌 데이터베이스 자체를 생성합니다. 처음에는 글로벌 데이터베이스에 아무런 클러스터도 연결되어 있지 않습니다.

      Linux, OS X, Unix의 경우:

      aws rds create-global-cluster \ --global-cluster-identifier global_database_id \ --engine aurora \ --engine-version 5.6.10a

      Windows의 경우:

      aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora ^ --engine-version 5.6.10a

      추가 옵션에 대해 자세히 알아보려면 create-global-cluster 단원을 참조하십시오.

    2. 다음 예제와 같이 AWS CLI describe-global-clusters 명령을 사용하여 Aurora 글로벌 데이터베이스를 사용할 수 있는지 확인합니다.

      aws rds --region primary_region \ describe-global-clusters \ --global-cluster-identifier global_database_id # optional
    3. describe-global-clusters 결과에 상태가 available로 표시되면 Aurora 글로벌 데이터베이스에 대한 기본 클러스터를 생성합니다. 이렇게 하려면 AWS CLI create-db-cluster 명령을 사용합니다. --engine 파라미터에 aurora를, --engine-version 파라미터에 5.6.10a를, --engine-mode 파라미터에 global을 지정합니다. 글로벌 데이터베이스를 생성했을 때와 동일한 --global-cluster-identifier 값을 지정합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

      Linux, OS X, Unix의 경우:

      aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier db_cluster_id \ --master-username master_userid \ --master-user-password master_password \ --engine aurora \ --engine-version 5.6.10a \ --engine-mode global \ --global-cluster-identifier global_database_id

      Windows의 경우:

      aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier db_cluster_id ^ --master-username master_userid ^ --master-user-password master_password ^ --engine aurora ^ --engine-version 5.6.10a ^ --engine-mode global ^ --global-cluster-identifier global_database_id

      글로벌 데이터베이스

      추가 옵션에 대해 자세히 알아보려면 create-db-cluster 단원을 참조하십시오.

    4. 다음 예와 같이 AWS CLI describe-db-clusters 명령을 사용하여 Aurora 클러스터를 사용할 수 있는지 확인합니다.

      aws rds --region primary_region \ describe-db-clusters \ --db-cluster-identifier db_cluster_id # optional
    5. describe-db-clusters 결과에 상태가 available로 표시되면 기본 클러스터에 대한 기본 DB 인스턴스를 생성합니다. 이렇게 하려면 AWS CLI create-db-instance 명령을 사용합니다. --engine 파라미터에 aurora를, --engine-version 파라미터에 5.6.10a를, --engine-mode 파라미터에 global을 지정합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

      Linux, OS X, Unix의 경우:

      aws rds create-db-instance \ --db-cluster-identifier db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora \ --engine-version 5.6.10a

      Windows의 경우:

      aws rds create-db-instance ^ --db-cluster-identifier db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora ^ --engine-version 5.6.10a

      --master-username--master-user-password 파라미터 값은 기본 DB 클러스터에서 가져오므로 포함시키지 않아도 됩니다.

      추가 옵션에 대해 자세히 알아보려면 create-db-instance 단원을 참조하십시오.

  2. 다음 예제와 같이 AWS CLI describe-db-clusters 명령을 사용하여 Aurora 글로벌 데이터베이스의 기본 클러스터를 사용할 수 있는지 확인합니다.

    aws rds describe-db-clusters --db-cluster-identifier sample-global-cluster

    describe-db-clusters 결과에 상태가 available로 표시되면 기본 클러스터의 기본 인스턴스를 만들어 복제를 시작합니다. 이렇게 하려면 다음 예제에서와 같이 AWS CLI create-db-instance 명령을 사용하십시오.

    Linux, OS X, Unix의 경우:

    aws rds create-db-instance \ --db-cluster-identifier sample-global-cluster \ --db-instance-class instance_class \ --db-instance-identifier sample-replica-instance \ --engine aurora

    Windows의 경우:

    aws rds create-db-instance ^ --db-cluster-identifier sample-global-cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample-replica-instance ^ --engine aurora

    DB 인스턴스가 생성되어 사용할 수 있게 되면 복제가 시작됩니다. AWS CLI describe-db-instances 명령을 호출하여 DB 인스턴스를 사용할 수 있는지 여부를 파악할 수 있습니다.

  3. 또는 기본 클러스터를 먼저 생성한 후, 글로벌 데이터베이스를 생성하여 기본 클러스터로 사용할 클러스터를 지정할 수도 있습니다.

    1. global 엔진 모드를 사용하여 빈 Aurora 클러스터를 생성하고, 해당 클러스터 안에 DB 인스턴스를 생성합니다. 엔진 모드 global은 이 클러스터를 Aurora 글로벌 데이터베이스에 추가할 수 있음을 뜻합니다.

      Linux, OS X, Unix의 경우:

      aws rds --region primary_region \ create-db-cluster \ --db-cluster-identifier primary_cluster_id \ --master-username master_userid \ --master-user-password master_password \ --engine aurora \ --engine-version 5.6.10a \ --engine-mode global aws rds --region primary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier primary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora

      Windows의 경우:

      aws rds --region primary_region ^ create-db-cluster ^ --db-cluster-identifier primary_cluster_id ^ --master-username master_userid ^ --master-user-password master_password ^ --engine aurora ^ --engine-version 5.6.10a ^ --engine-mode global aws rds --region primary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier primary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora
    2. 기본 DB 클러스터와 DB 인스턴스를 생성했고 사용할 수 있으면, Aurora 글로벌 데이터베이스를 생성할 AWS 리전에서 AWS CLI create-global-cluster 명령을 호출하여 Aurora 글로벌 데이터베이스를 생성합니다.

      Linux, OS X, Unix의 경우:

      aws rds create-global-cluster \ --global-cluster-identifier global_database_id \ --source-db-cluster-identifier primary_cluster_ARN

      Windows의 경우:

      aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --source-db-cluster-identifier primary_cluster_ARN
RDS API

RDS API를 사용하여 Aurora 글로벌 데이터베이스를 생성하려면 CreateGlobalCluster 작업을 실행합니다.

Aurora 글로벌 데이터베이스에 AWS 리전 추가

Aurora 글로벌 데이터베이스와 관련 기본 클러스터를 생성한 후, 새 AWS 리전을 추가하여 글로벌 범위를 확대할 수 있습니다. 이 프로세스에서는 보조 Aurora 클러스터를 연결합니다. 보조 클러스터는 기본 클러스터와는 다른 AWS 리전에 있어야 합니다.

참고

현재 Aurora 글로벌 데이터베이스에 연결할 수 있는 보조 Aurora 클러스터의 최대 개수는 한 개입니다.

콘솔

AWS Management 콘솔을 사용하여 Aurora 글로벌 데이터베이스에 AWS 리전을 추가하려면

  1. AWS Management 콘솔의 오른쪽 위 모서리에서 Aurora 글로벌 데이터베이스를 사용할 수 있는 AWS 리전을 선택합니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. 보조 클러스터를 생성할 Aurora 글로벌 데이터베이스의 확인란을 선택합니다. 기본 클러스터나 기본 클러스터 내부의 DB 인스턴스가 여전히 Creating 상태인 경우, 이러한 클러스터나 DB 인스턴스가 모두 Available 상태가 될 때까지 기다립니다.

  4. 작업을 선택한 다음 리전 추가를 선택합니다.

    
                Aurora 글로벌 인터페이스에 대한 "리전 추가" 항목을 보여주는 스크린샷.
  5. 리전 추가 페이지에서 보조 AWS 리전을 선택합니다.

    
                Aurora 글로벌 인터페이스에 대한 "리전 추가" 대화 상자를 보여주는 스크린샷.
  6. 새 AWS 리전에서 Aurora 클러스터의 나머지 필드를 작성한 후 생성을 선택합니다.

AWS CLI

AWS CLI를 사용하여 Aurora 글로벌 데이터베이스에 AWS 리전을 추가하려면 create-db-cluster 명령을 실행합니다.

다음 명령은 새 Aurora 클러스터를 생성하고, 글로벌 데이터베이스에 읽기 전용 보조 클러스터로 연결한 후, 새 클러스터에 DB 인스턴스를 추가합니다. create-db-cluster 명령에 대한 --global-cluster-identifier 옵션은 새 클러스터를 연결할 글로벌 데이터베이스를 지정합니다.

암호화된 클러스터의 경우, 기본 AWS 리전과 일치하는 값을 사용하여 --source-region 옵션을 지정합니다.

Linux, OS X, Unix의 경우:

aws rds --region secondary_region \ create-db-cluster \ --db-cluster-identifier secondary_cluster_id \ --global-cluster-identifier global_database_id \ --engine aurora aws rds --region secondary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier secondary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora

Windows의 경우:

aws rds --region secondary_region ^ create-db-cluster ^ --db-cluster-identifier secondary_cluster_id ^ --global-cluster-identifier global_database_id_id ^ --engine aurora aws rds --region secondary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier secondary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora
RDS API

RDS API를 사용하여 Aurora 글로벌 데이터베이스에 새 AWS 리전을 추가하려면 CreateGlobalCluster 작업을 실행합니다.

Aurora 글로벌 데이터베이스에서 클러스터 제거

Aurora 글로벌 데이터베이스에서 Aurora 클러스터를 제거하면 해당 클러스터가 리전 클러스터로 다시 전환되어, 모든 읽기-쓰기 기능이 부여되고 더 이상 기본 클러스터와 동기화되지 않습니다.

기본 클러스터가 성능 저하되거나 분리된 경우 글로벌 데이터베이스에서 Aurora 클러스터를 제거할 수 있습니다. Aurora 글로벌 데이터베이스에 대한 장애 조치를 수행하려면 원본 글로벌 데이터베이스에서 보조 클러스터를 제거한 후 새 Aurora 글로벌 데이터베이스에서 기본 클러스터로 사용합니다.

글로벌 데이터베이스가 더 이상 필요하지 않으면, 보조 클러스터를 제거하고 기본 클러스터를 제거한 후 글로벌 데이터베이스 자체를 삭제합니다. 그런 다음 제거한 클러스터 중 하나 또는 둘 모두를 삭제하거나, 이들 클러스터 중 하나 또는 둘 모두를 단일 리전 Aurora 클러스터로 계속 사용할 수 있습니다.

콘솔

AWS Management 콘솔 콘솔을 사용하여 Aurora 글로벌 데이터베이스에서 Aurora 클러스터를 제거하려면 데이터베이스에서 해당 클러스터를 선택하고 작업을 선택한 후, 글로벌에서 제거를 선택합니다. 제거된 클러스터는 모든 읽기-쓰기 기능이 부여된 일반 Aurora 클러스터가 됩니다. 기본 클러스터와의 동기화 상태가 더 이상 유지되지 않습니다.


            Aurora 글로벌 데이터베이스에서 보조 클러스터를 제거하라는 확인 프롬프트를 보여주는 스크린샷.

보조 클러스터가 여전히 글로벌 데이터베이스와 연결된 경우 기본 클러스터를 제거할 수 없습니다.

보조 클러스터를 제거하거나 삭제한 후 동일한 방식으로 기본 클러스터를 제거할 수 있습니다.

클러스터를 Aurora 글로벌 데이터베이스에서 제거한 후에도 이들 클러스터는 글로벌, 기본보조 레이블은 없지만 데이터베이스 페이지에 여전히 표시됩니다.


            Aurora 글로벌 데이터베이스에서 제거된 이후의 클러스터를 보여주는 스크린샷.
AWS CLI

AWS CLI를 사용하여 Aurora 글로벌 데이터베이스에서 Aurora 클러스터를 제거하려면 remove-from-global-cluster 명령을 실행합니다.

다음 명령은 Aurora 글로벌 데이터베이스에서 보조 클러스터를 제거한 후 기본 클러스터를 제거합니다. 제거할 클러스터는 각 경우에서 --db-cluster-identifier 파라미터로 식별됩니다. Aurora 글로벌 데이터베이스는 --global-cluster-identifier 파라미터로 식별됩니다.

Linux, OS X, Unix의 경우:

aws rds --region secondary_region \ remove-from-global-cluster \ --db-cluster-identifier secondary_cluster_ARN \ --global-cluster-identifier global_database_id aws rds --region primary_region \ remove-from-global-cluster \ --db-cluster-identifier primary_cluster_ARN \ --global-cluster-identifier global_database_id

Windows의 경우:

aws rds --region secondary_region ^ remove-from-global-cluster ^ --db-cluster-identifier secondary_cluster_ARN ^ --global-cluster-identifier global_database_id aws rds --region primary_region ^ remove-from-global-cluster ^ --db-cluster-identifier primary_cluster_ARN ^ --global-cluster-identifier global_database_id
RDS API

RDS API를 사용하여 Aurora 글로벌 데이터베이스에서 Aurora 클러스터를 제거하려면 RemoveFromGlobalCluster 작업을 실행합니다.

Aurora 글로벌 데이터베이스 삭제

Aurora 글로벌 데이터베이스를 삭제하려면 먼저 글로벌 데이터베이스와 연결된 보조 및 기본 클러스터를 삭제하거나 제거해야 합니다. 글로벌 데이터베이스에서 클러스터를 제거하고 독립 실행형 Aurora 클러스터로 다시 설정하는 절차는 Aurora 글로벌 데이터베이스에서 클러스터 제거 단원을 참조하십시오.

콘솔

AWS Management 콘솔을 사용하여 Aurora 글로벌 데이터베이스를 삭제하려면

AWS Management 콘솔 콘솔을 사용하여 Aurora 글로벌 데이터베이스에 일부로 포함된 클러스터를 삭제하려면 글로벌 데이터베이스와 연결된 모든 보조 클러스터를 제거하거나 삭제하고, 기본 클러스터를 제거한 후, 글로벌 데이터베이스 자체를 삭제합니다. 글로벌 데이터베이스는 일반적으로 비즈니스에 중요한 데이터를 포함하므로, 글로벌 데이터베이스와 이 데이터베이스에 연결된 클러스터를 한 번에 삭제할 수는 없습니다. 글로벌 데이터베이스에서 클러스터 제거에 대한 지침은 Aurora 글로벌 데이터베이스에서 클러스터 제거 단원을 참조하십시오. 제거된 클러스터를 삭제하는 절차는 DB 클러스터에서 DB 인스턴스 삭제 단원을 참조하십시오. Aurora 클러스터에서 기본 인스턴스를 삭제하면 클러스터 자체가 삭제됩니다.

  1. Aurora 글로벌 데이터베이스에서 다른 모든 클러스터가 제거되었는지 확인합니다.

    글로벌 데이터베이스에 중첩된 클러스터가 포함된 경우 다음 스크린샷에서처럼 글로벌 데이터베이스를 아직 삭제할 수 없습니다. 글로벌 데이터베이스와 연결된 각 클러스터에 대해 Aurora 글로벌 데이터베이스에서 클러스터 제거의 절차를 따릅니다.

    
                이 글로벌 데이터베이스는 클러스터가 여전히 연결되어 있으므로 삭제할 수 없습니다.

    글로벌 데이터베이스에 연결된 클러스터가 없어야 삭제를 진행할 수 있습니다. 다음 스크린샷은 global-db-demo 클러스터가 제거된 후 글로벌 데이터베이스와 더 이상 연결되지 않았음을 보여줍니다.

    
                글로벌 데이터베이스에서 모든 클러스터가 제거되었으므로 이제 글로벌 데이터베이스를 삭제할 수 있습니다.
  2. 데이터베이스 페이지 또는 글로벌 데이터베이스의 세부 정보 페이지에서 작업을 선택한 후 삭제를 선택합니다.

AWS CLI

AWS CLI를 사용하여 Aurora 글로벌 데이터베이스의 일부로 포함된 클러스터를 삭제하려면 delete-global-cluster 명령을 실행합니다.

다음 명령은 지정된 글로벌 클러스터 ID의 Aurora 글로벌 데이터베이스를 삭제합니다.

Linux, OS X, Unix의 경우:

aws rds --region primary_region \ delete-global-cluster \ --global-cluster-identifier global_database_id

Windows의 경우:

aws rds --region primary_region ^ delete-global-cluster ^ --global-cluster-identifier global_database_id
RDS API

RDS API를 사용하여 Aurora 글로벌 데이터베이스의 일부로 포함된 클러스터를 삭제하려면 DeleteGlobalCluster 작업을 실행합니다.

Aurora 글로벌 데이터베이스로 데이터 가져오기

Aurora 글로벌 데이터베이스로 데이터를 가져오려면 다른 종류의 Aurora 클러스터와 동일한 가져오기 작업을 수행합니다.

  • Aurora MySQL 클러스터나 Amazon RDS MySQL DB 인스턴스의 스냅샷을 생성하고 Aurora 글로벌 데이터베이스의 기본 클러스터로 복원합니다. 현재는 스냅샷을 MySQL 5.6과 호환되는 소스에서 생성해야 합니다.

    
            Aurora 글로벌 데이터베이스에 대한 복원 스냅샷 페이지를 보여주는 스크린샷.
  • 기본 클러스터의 특정 시점 복원을 사용하여 클러스터 데이터를 이전 상태로 복원합니다.

  • Percona xtrabackup 도구와 같은 물리적 가져오기 기술을 사용합니다.

  • mysqldump 명령으로 데이터를 준비하거나 mysql 명령으로 로드하는 등 논리적 가져오기 기술을 사용합니다.

Aurora 글로벌 데이터베이스의 중요한 특징은 항상 기본 클러스터로 지정하는 클러스터로 데이터를 가져온다는 점입니다. 해당 클러스터를 Aurora 글로벌 데이터베이스에 추가하기 이전이나 이후에 초기 데이터 가져오기를 수행할 수 있습니다. 기본 클러스터의 모든 데이터는 보조 클러스터에 자동으로 복제됩니다.

Aurora 글로벌 데이터베이스 관리

Aurora 글로벌 데이터베이스를 구성하는 개별 클러스터에서 대부분의 관리 작업을 수행할 수 있습니다. 콘솔의 데이터베이스 페이지에서 Group related resources(관련 리소스 그룹화)를 선택하면, 연결된 글로벌 데이터베이스 객체 아래에 기본 클러스터와 보조 클러스터가 그룹화되어 있는 것을 볼 수 있습니다.


        AWS Management 콘솔의 데이터베이스 페이지에 Aurora 글로벌 데이터베이스가 어떻게 표시되는지를 보여주는 스크린샷.

전체 Aurora 글로벌 데이터베이스에 적용되는 속성을 보려면 해당 글로벌 데이터베이스를 선택합니다.


        AWS Management 콘솔에서 선택한 Aurora 글로벌 데이터베이스 및 연결된 설정을 보여주는 스크린샷.

Aurora 글로벌 데이터베이스 구성

AWS Management 콘솔의 데이터베이스 페이지에 모든 Aurora 글로벌 데이터베이스가 나열되어 각각에 대한 기본 클러스터 및 보조 클러스터를 보여줍니다. Aurora 글로벌 데이터베이스는 고유의 구성 설정(특히 기본 및 보조 클러스터와 연결된 AWS 리전)이 지정된 객체입니다.


        AWS Management 콘솔에서 선택한 Aurora 글로벌 데이터베이스 및 연결된 구성 설정을 보여주는 스크린샷.

다음 스크린샷에서처럼 Aurora 글로벌 데이터베이스를 선택하고 관련 설정을 수정할 수 있습니다.


        Aurora 글로벌 데이터베이스에 대한 설정을 수정하는 페이지를 보여주는 스크린샷.

Aurora 글로벌 데이터베이스 내에서 각 Aurora 클러스터에 대해 파라미터 그룹을 별도로 구성할 수 있습니다. 대부분의 파라미터는 다른 종류의 Aurora 클러스터와 동일하게 작동합니다. aurora_enable_repl_bin_log_filteringaurora_enable_replica_log_compression 구성 설정은 영향을 주지 않습니다. 보조 클러스터를 기본 클러스터로 승격하는 경우 예기치 않은 동작 변화를 방지하려면 글로벌 데이터베이스에서 모든 클러스터 간에 설정을 일관되게 유지하는 것이 좋습니다. 예를 들면 다른 클러스터가 기본 클러스터로 대신 사용되는 경우 일관되지 않은 동작을 방지하려면 시간대와 문자 세트에 대해 동일한 설정을 사용합니다.

Aurora 글로벌 데이터베이스에 연결

읽기 전용 쿼리 트래픽의 경우 자신의 AWS 리전에 있는 Aurora 클러스터용 리더 엔드포인트에 연결합니다.

데이터 조작 언어(DML) 또는 데이터 정의 언어(DDL) 설명문을 실행하려면 기본 클러스터용 클러스터 엔드포인트에 연결합니다. 이 엔드포인트는 해당 애플리케이션과는 다른 AWS 리전에 있을 수도 있습니다.

다음 스크린샷에서처럼 AWS Management 콘솔에서 Aurora 글로벌 데이터베이스를 볼 때 모든 관련 클러스터와 연결된 범용 엔드포인트를 모두 볼 수 있습니다. 쓰기 작업용으로 사용하며 기본 클러스터와 연결된 단일 클러스터 엔드포인트가 있습니다. 기본 클러스터와 각 보조 클러스터에는 읽기 전용 쿼리에 사용하는 리더 엔드포인트가 있습니다. 지연 시간을 최소화하려면 자신의 AWS 리전이나 가장 가까운 AWS 리전의 리더 엔드포인트를 선택합니다.


        AWS Management 콘솔에서 선택한 Aurora 글로벌 데이터베이스 및 연결된 연결 설정(엔드포인트)을 보여주는 스크린샷.

Aurora 글로벌 데이터베이스에 대한 장애 조치

Aurora 글로벌 데이터베이스는 기본 Aurora 클러스터보다 더 높은 수준의 장애 조치를 제공합니다. AWS 리전 하나에서 전체 클러스터를 사용할 수 없게 되면, 글로벌 데이터베이스의 다른 클러스터를 승격하여 읽기-쓰기 기능을 갖추도록 할 수 있습니다.

다른 AWS 리전의 클러스터가 기본 클러스터로 더 적합한 경우 장애 조치 메커니즘을 수동으로 활성화할 수 있습니다. 예를 들면 보조 클러스터의 용량을 늘린 후 이 클러스터를 기본 클러스터로 승격할 수 있습니다. 또는 AWS 리전 간의 활동 균형이 변경될 수 있으므로, 기본 클러스터를 다른 AWS 리전으로 전환하면 쓰기 작업에 대한 지연 시간이 낮아질 수도 있습니다.

다음 단계는 Aurora 글로벌 데이터베이스에서 보조 클러스터를 승격할 때 발생하는 이벤트 시퀀스를 설명합니다.

  1. 기본 클러스터가 사용할 수 없는 상태가 됩니다.

  2. Aurora 글로벌 데이터베이스에서 보조 클러스터를 제거합니다. 이렇게 하면 이 클러스터가 승격되어 모든 읽기-쓰기 기능이 부여됩니다. 글로벌 데이터베이스에서 Aurora 클러스터를 제거하는 방법은 Aurora 글로벌 데이터베이스에서 클러스터 제거 단원을 참조하십시오.

  3. 쓰기 트래픽이 새로 승격된 클러스터로 향하도록 애플리케이션을 다시 구성합니다.

    중요

    이때 사용할 수 없게 된 클러스터에 대한 DML 문이나 다른 쓰기 작업의 실행을 중지합니다. 클러스터 간 데이터 불일치("브레인 분할" 시나리오)를 방지하려면 다시 온라인으로 전환되더라도 이전 기본 클러스터에 쓰지 마십시오.

  4. 새로 승격된 클러스터를 기본 클러스터로 사용하여 새 Aurora 글로벌 데이터베이스를 생성합니다. Aurora 글로벌 데이터베이스 생성 방법은 Aurora 글로벌 데이터베이스 생성 단원을 참조하십시오.

  5. 문제가 발생한 클러스터의 AWS 리전을 Aurora 글로벌 데이터베이스에 추가합니다. 이제 AWS 리전에 새 보조 클러스터가 포함됩니다. Aurora 글로벌 데이터베이스에 AWS 리전을 추가하는 방법은 Aurora 글로벌 데이터베이스에 AWS 리전 추가 단원을 참조하십시오.

  6. 중단 문제를 해결했고 원본 AWS 리전을 기본 클러스터로 다시 할당할 준비가 되었으면, 동일한 단계를 역순으로 수행합니다.

    1. Aurora 글로벌 데이터베이스에서 보조 클러스터를 제거합니다.

    2. 해당 클러스터를 원본 AWS 리전에 있는 새 Aurora 글로벌 데이터베이스의 기본 클러스터로 설정합니다.

    3. 모든 쓰기 트래픽이 원본 AWS 리전의 기본 클러스터로 리디렉션됩니다.

    4. AWS 리전을 추가하여 전과 동일한 AWS 리전에서 보조 클러스터를 설정합니다.

다른 AWS 서비스와 함께 Aurora 글로벌 데이터베이스 사용

경우에 따라 Aurora 글로벌 데이터베이스와 결합하여 다른 AWS 서비스에 액세스해야 할 수도 있습니다. 이러한 경우에는 연결된 모든 클러스터에 대해 해당 AWS 리전에 동일한 권한, 외부 함수 등이 필요합니다. 글로벌 데이터베이스의 Aurora 클러스터를 읽기 전용 복제 대상으로 시작할 수 있더라도, 나중에 기본 클러스터로 승격할 수 있습니다. 이러한 가능성을 준비하려면 글로벌 데이터베이스의 모든 Aurora 클러스터에 대해 다른 서비스에 필요한 쓰기 권한을 미리 설정합니다.

다음 목록에는 각 AWS 서비스에 대해 수행할 작업이 요약되어 있습니다.

Lambda 함수 호출

Aurora 글로벌 데이터베이스를 구성하는 모든 Aurora 클러스터에 대해 Amazon Aurora MySQL DB 클러스터에서 Lambda 함수 호출의 절차를 수행합니다.

Aurora 글로벌 데이터베이스의 각 클러스터에 대해 aws_default_lambda_role 클러스터 파라미터를 새 IAM 역할의 Amazon 리소스 이름(ARN)으로 설정합니다.

Aurora 글로벌 데이터베이스의 데이터베이스 사용자가 Lambda 함수를 호출하도록 허용하려면 Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성에서 생성한 역할을 Aurora 글로벌 데이터베이스의 각 클러스터와 연결합니다.

Lambda로의 발신 연결을 허용하도록 Aurora 글로벌 데이터베이스의 각 클러스터를 구성합니다. 지침은 Amazon Aurora MySQL에서 다른 AWS 서비스로의 네트워크 통신 활성화 단원을 참조하십시오.

S3에서 데이터 로드

Aurora 글로벌 데이터베이스를 구성하는 모든 Aurora 클러스터에 대해 Amazon S3 버킷의 텍스트 파일에서 Amazon Aurora MySQL DB 클러스터로 데이터 로드의 절차를 수행합니다.

글로벌 데이터베이스의 각 Aurora 클러스터에 대해 aurora_load_from_s3_role 또는 aws_default_s3_role DB 클러스터 파라미터를 새 IAM 역할의 Amazon 리소스 이름(ARN)으로 설정합니다. aurora_load_from_s3_role에 대해 지정된 IAM 역할이 없는 경우, Aurora는 aws_default_s3_role에 지정된 IAM 역할을 사용합니다.

Aurora 글로벌 데이터베이스의 데이터베이스 사용자가 Amazon S3에 액세스하도록 허용하려면 Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성에서 생성한 역할을 글로벌 데이터베이스의 각 Aurora 클러스터와 연결합니다.

Amazon S3로의 발신 연결을 허용하도록 글로벌 데이터베이스의 각 Aurora 클러스터를 구성합니다. 지침은 Amazon Aurora MySQL에서 다른 AWS 서비스로의 네트워크 통신 활성화 단원을 참조하십시오.

쿼리한 데이터를 S3에 저장

Aurora 글로벌 데이터베이스를 구성하는 모든 Aurora 클러스터에 대해 Amazon Aurora MySQL DB 클러스터에서 Amazon S3 버킷의 텍스트 파일로 데이터 저장의 절차를 수행합니다.

글로벌 데이터베이스의 각 Aurora 클러스터에 대해 aurora_select_into_s3_role 또는 aws_default_s3_role DB 클러스터 파라미터를 새 IAM 역할의 Amazon 리소스 이름(ARN)으로 설정합니다. aurora_select_into_s3_role에 대해 지정된 IAM 역할이 없는 경우, Aurora는 aws_default_s3_role에 지정된 IAM 역할을 사용합니다.

Aurora 글로벌 데이터베이스의 데이터베이스 사용자가 Amazon S3에 액세스하도록 허용하려면 Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성에서 생성한 역할을 글로벌 데이터베이스의 각 Aurora 클러스터와 연결합니다.

Amazon S3로의 발신 연결을 허용하도록 글로벌 데이터베이스의 각 Aurora 클러스터를 구성합니다. 지침은 Amazon Aurora MySQL에서 다른 AWS 서비스로의 네트워크 통신 활성화 단원을 참조하십시오.