DB 클러스터 스냅샷 공유 - Amazon Aurora

DB 클러스터 스냅샷 공유

Amazon RDS을 사용하면 다른 방법으로 수동 DB 클러스터 스냅샷을 공유할 수 있습니다.

  • 암호화되었거나 암호화되지 않은 수동 DB 클러스터 스냅샷을 공유하면 권한이 있는 AWS 계정에서 해당 스냅샷을 복사할 수 있습니다.

  • 암호화되었거나 암호화되지 않은 수동 DB 클러스터 스냅샷을 공유하면 권한이 있는 AWS 계정에서 스냅샷의 복사본을 만든 후 복원하는 대신에 해당 스냅샷에서 DB 클러스터를 직접 복원할 수 있습니다.

참고

자동 DB 클러스터 스냅샷을 공유하려면 자동 스냅샷을 복사하여 수동 DB 클러스터 스냅샷을 생성한 다음 해당 복사본을 공유합니다. 이 프로세스는 AWS Backup에서 생성된 리소스에도 적용됩니다.

스냅샷 복사에 대한 자세한 정보는 DB 클러스터 스냅샷 복사 단원을 참조하십시오. DB 클러스터 스냅샷에서 DB 인스턴스를 복원하는 방법에 대한 자세한 정보는 DB 클러스터 스냅샷에서 복원 섹션을 참조하세요.

DB 클러스터 스냅샷에서 DB 클러스터를 복원하는 방법에 대한 자세한 정보는 Aurora DB 클러스터 백업 및 복원에 대한 개요을 참조하십시오.

최대 20개의 다른 AWS 계정 계정과 수동 스냅샷을 공유할 수 있습니다.

수동 스냅샷을 다른 AWS 계정와 공유할 경우 다음과 같은 제한이 적용됩니다.

  • AWS Command Line Interface(AWS CLI) 또는 Amazon RDS API를 사용하여 공유 스냅샷에서 DB 클러스터를 복원할 때는 공유 스냅샷의 Amazon 리소스 이름(ARN)을 스냅샷 식별자로 지정해야 합니다.

스냅샷 공유

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 스냅샷을 공유할 수 있습니다.

Amazon RDS 콘솔을 사용하여 최대 20개의 AWS 계정와 수동 DB 클러스터 스냅샷을 공유할 수 있습니다. 콘솔을 사용하여 하나 이상의 계정에 대한 수동 스냅샷 공유를 중지할 수도 있습니다.

Amazon RDS 콘솔을 사용하여 수동 DB 클러스터 스냅샷을 공유하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [Snapshots]를 선택합니다.

  3. 공유할 수동 스냅샷을 선택합니다.

  4. Actions(작업)에서 Share snapshot(스냅샷 공유)을 선택합니다.

  5. DB 스냅샷 공개 여부에 대해 다음 옵션 중 하나를 선택합니다.

    • 소스가 암호화되어 있지 않은 경우 퍼블릭을 선택하여 모든 AWS 계정가 수동 DB 클러스터 스냅샷에서 DB 클러스터를 복원하도록 허용하거나, 프라이빗을 선택하여 지정한 AWS 계정만 수동 DB 클러스터 스냅샷에서 DB 클러스터를 복원하도록 허용합니다.

      주의

      DB 스냅샷 가시성퍼블릭으로 설정한 경우 모든 AWS 계정는 수동 DB 클러스터 스냅샷에서 DB 클러스터를 복원하고 사용자 데이터에 액세스할 수 있습니다. 프라이빗 정보가 포함된 수동 DB 클러스터 스냅샷을 퍼블릭으로 공유하지 마십시오.

      자세한 내용은 퍼블릭 스냅샷 공유 단원을 참조하십시오.

    • 원본 DB 클러스터가 암호화되어 있는 경우 암호화된 스냅샷을 퍼블릭으로 공유할 수 없으므로 DB snapshot visibility(DB 스냅샷 가시성)Private(프라이빗)으로 설정됩니다.

      참고

      기본 AWS KMS key로 암호화된 스냅샷은 공유할 수 없습니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 암호화된 스냅샷 공유 섹션을 참조하세요.

  6. AWS 계정 ID에 수동 스냅샷에서 DB 클러스터를 복원하도록 허용할 계정의 AWS 계정 계정 식별자를 입력한 다음 추가를 선택합니다. 이 과정을 반복하여 최대 20개의 AWS 계정까지 AWS 계정 식별자를 추가합니다.

    허용된 계정 목록에 AWS 계정 식별자를 추가하다가 실수하는 경우, 잘못된 AWS 계정 식별자의 오른쪽에 있는 삭제를 선택하여 목록에서 해당 식별자를 삭제할 수 있습니다.

    
                                AWS 계정가 수동 DB 클러스터 스냅샷을 복원할 수 있도록 허용
  7. 수동 스냅샷을 복원할 수 있도록 허용할 모든 AWS 계정의 식별자를 추가한 후 저장을 선택하여 변경 내용을 저장합니다.

DB 클러스터 스냅샷을 공유하려면 aws rds modify-db-cluster-snapshot-attribute 명령을 사용합니다. --values-to-add 파라미터를 사용하여 수동 스냅샷을 복원할 권한이 있는 AWS 계정 계정의 ID 목록을 추가합니다.

예 단일 계정과 스냅샷 공유

다음 예제에서는 123456789012라는 AWS 계정 식별자가 cluster-3-snapshot이라는 DB 클러스터 스냅샷을 복원할 수 있습니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier cluster-3-snapshot \ --attribute-name restore \ --values-to-add 123456789012

Windows의 경우:

aws rds modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier cluster-3-snapshot ^ --attribute-name restore ^ --values-to-add 123456789012
예 여러 계정과 스냅샷 공유

다음 예제에서는 111122223333444455556666이라는 두 개의 AWS 계정 식별자가 manual-cluster-snapshot1이라는 DB 클러스터 스냅샷을 복원할 수 있습니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier manual-cluster-snapshot1 \ --attribute-name restore \ --values-to-add {"111122223333","444455556666"}

Windows의 경우:

aws rds modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier manual-cluster-snapshot1 ^ --attribute-name restore ^ --values-to-add "[\"111122223333\",\"444455556666\"]"
참고

Windows 명령 프롬프트를 사용하는 경우 백슬래시(\)를 접두사로 추가하여 JSON 코드에서 큰 따옴표(")를 이스케이프해야 합니다.

스냅샷을 복원할 수 있는 AWS 계정를 나열하려면 describe-db-cluster-snapshot-attributes AWS CLI 명령을 사용합니다.

Amazon RDS API를 사용하여 수동 DB 클러스터 스냅샷을 다른 AWS 계정와 공유할 수도 있습니다. 이렇게 하려면 ModifyDBClusterSnapshotAttribute 작업을 호출합니다. AttributeName에 대해 restore를 지정하고 ValuesToAdd 파라미터를 사용하여 수동 스냅샷의 복원 권한이 있는 AWS 계정를 위한 ID 목록을 추가합니다.

수동 스냅샷을 퍼블릭으로 설정하고 모든 AWS 계정에서 복원할 수 있도록 하려면 all 값을 사용합니다. 단, 일부 AWS 계정에만 제공할 비공개 정보가 포함된 수동 스냅샷에 대해 all 값을 추가하지 않도록 유의합니다. 또한 암호화된 스냅샷에 대해 all을 지정하지 마십시오. 그러한 스냅샷을 퍼블릭으로 설정하는 것은 지원되지 않습니다.

스냅샷을 복원할 수 있도록 허용된 모든 AWS 계정를 나열하려면 DescribeDBClusterSnapshotAttributes API 작업을 사용합니다.

퍼블릭 스냅샷 공유

암호화되지 않은 수동 스냅샷을 퍼블릭으로 공유할 수 있습니다. 그러면 모든 AWS 계정에서 해당 스냅샷을 사용할 수 있습니다. 스냅샷을 퍼블릭으로 공유할 경우, 퍼블릭 스냅샷에 비공개 정보가 포함되지 않도록 유의하세요.

스냅샷이 공개적으로 공유될 경우 스냅샷을 복사하고 해당 스냅샷에서 DB 클러스터를 생성할 수 있는 권한을 모든 AWS 계정에 부여합니다.

다른 계정이 소유한 퍼블릭 스냅샷의 백업 스토리지에 대해서는 요금이 청구되지 않습니다. 본인이 소유한 스냅샷에 대해서만 요금이 청구됩니다.

퍼블릭 스냅샷을 복사할 경우 해당 복사본을 소유하게 됩니다. 스냅샷 복사본의 백업 스토리지에 대한 요금이 청구됩니다. 퍼블릭 스냅샷에서 DB 클러스터를 생성할 경우 해당 DB 클러스터에 대한 요금이 청구됩니다. Amazon Aurora 요금에 대한 자세한 내용은 Aurora 요금 페이지를 참조하세요.

본인이 소유한 퍼블릭 스냅샷만 삭제할 수 있습니다. 공유 또는 퍼블릭 스냅샷을 삭제하려면 해당 스냅샷을 소유한 AWS 계정에 로그인해야 합니다.

다른 AWS 계정 계정이 소유한 퍼블릭 스냅샷 보기

Amazon RDS 콘솔의 스냅샷 페이지에 있는 퍼블릭 탭에서 특정 AWS 리전의 다른 계정이 소유한 퍼블릭 스냅샷을 볼 수 있습니다. 사용 중인 계정이 소유한 스냅샷은 이 탭에 표시되지 않습니다.

퍼블릭 스냅샷을 보려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [Snapshots]를 선택합니다.

  3. [퍼블릭(Public)] 탭을 선택합니다.

    퍼블릭 스냅샷이 표시됩니다. [소유자(Owner)] 열에서 퍼블릭 스냅샷을 소유한 계정을 확인할 수 있습니다.

    참고

    이 열을 보려면 [퍼블릭 스냅샷(Public snapshots)] 목록의 오른쪽 상단에 있는 톱니바퀴 아이콘을 선택하여 페이지 기본 설정을 수정해야 할 수도 있습니다.

본인이 소유한 퍼블릭 스냅샷 보기

다음 AWS CLI 명령(Unix에만 해당)을 사용하여 특정 AWS 리전의 AWS 계정가 소유한 퍼블릭 스냅샷을 볼 수 있습니다.

aws rds describe-db-cluster-snapshots --snapshot-type public --include-public | grep account_number

퍼블릭 스냅샷이 있는 경우 반환되는 출력은 다음 예제와 유사합니다.

"DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-snapshot:myclustersnapshot1", "DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-snapshot:myclustersnapshot2",

지원 중단된 DB 엔진 버전의 퍼블릭 스냅샷 공유

더 이상 사용되지 않는 DB 엔진 버전에서 퍼블릭 스냅샷을 복원하거나 복사하는 것은 지원되지 않습니다. 지원되지 않는 기존 퍼블릭 스냅샷을 복원하거나 복사할 수 있게 하려면 다음 단계를 수행하세요.

  1. 스냅샷을 프라이빗으로 표시합니다.

  2. 스냅샷을 복원합니다.

  3. 복원된 DB 클러스터를 지원되는 엔진 버전으로 업그레이드합니다.

  4. 새로운 스냅샷을 생성합니다.

  5. 스냅샷을 공개적으로 다시 공유합니다.

암호화된 스냅샷 공유

Amazon Aurora 리소스 암호화에 설명된 대로 AES-256 암호화 알고리즘을 사용하여 '저장 상태'에서 암호화된 DB 클러스터 스냅샷을 공유할 수 있습니다.

다음 제한은 암호화된 스냅샷 공유에 적용됩니다.

  • 암호화된 스냅샷을 퍼블릭으로는 공유할 수 없습니다.

  • 스냅샷을 공유한 AWS 계정의 기본 KMS 키를 사용하여 암호화된 스냅샷은 공유할 수 없습니다.

기본 KMS 키 문제를 해결하려면 다음 작업을 수행하세요.

고객 관리 키를 생성하고 액세스 권한 부여

먼저 암호화된 DB 클러스터 스냅샷과 동일한 AWS 리전에 있는 사용자 지정 KMS 키를 생성합니다. 고객 관리 키를 생성할 때는 다른 AWS 계정에 키에 대한 액세스 권한을 부여합니다.

고객 관리 키를 생성하고 액세스 권한을 부여하는 방법
  1. AWS 계정 소스에서 AWS Management Console에 로그인합니다.

  2. AWS KMS 콘솔(https://console.aws.amazon.com/kms)을 엽니다.

  3. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  4. 탐색 창에서 고객 관리형 키를 선택합니다.

  5. 키 생성을 선택합니다.

  6. 키 구성 페이지에서 다음 단계를 따릅니다.

    1. 키 유형에서 대칭을 선택합니다.

    2. 키 사용에서 암호화 및 해독을 선택합니다.

    3. 고급 옵션을 확장합니다.

    4. 키 구성 요소 원본에서 KMS를 선택합니다.

    5. 리전 특성에서 단일 리전 키를 선택합니다.

    6. 다음을 선택합니다.

  7. 레이블 추가 페이지에서 다음 단계를 따릅니다.

    1. 별칭에 KMS 키의 표시 이름을 입력합니다(예: share-snapshot).

    2. (선택 사항) KMS 키에 대한 설명을 입력합니다.

    3. (선택 사항) KMS 키에 태그를 추가합니다.

    4. 다음을 선택합니다.

  8. 키 관리 권한 정의 페이지에서 다음을 선택합니다.

  9. 키 사용 권한 정의 페이지에서 다음 단계를 따릅니다.

    1. 기타 AWS 계정에서 다른 AWS 계정 추가를 선택합니다.

    2. 액세스 권한을 부여할 AWS 계정 ID를 입력합니다.

      여러 AWS 계정에 액세스 권한을 부여할 수 있습니다.

    3. 다음을 선택합니다.

  10. KMS 키를 검토한 다음 완료를 선택합니다.

소스 계정에서 스냅샷 복사 및 공유

다음으로 고객 관리 키를 사용하여 소스 DB 클러스터 스냅샷을 새 스냅샷에 복사합니다. 그런 다음 대상 AWS 계정에 공유합니다.

스냅샷을 복사하여 공유하는 방법
  1. AWS 계정 소스에서 AWS Management Console에 로그인합니다.

  2. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  3. 탐색 창에서 스냅샷를 선택합니다.

  4. 복사하려는 DB 클러스터 스냅샷을 선택합니다.

  5. [작업(Actions)]에서 [스냅샷 복사(Copy snapshot)]를 선택합니다.

  6. 스냅샷 복사 페이지에서 다음 단계를 따릅니다.

    1. 대상 리전에 이전 절차에서 고객 관리 키를 생성한 AWS 리전을 선택합니다.

    2. 새 DB 스냅샷 식별자에 DB 클러스터 스냅샷 복사본의 이름을 입력합니다.

    3. AWS KMS key에 생성한 고객 관리 키를 선택합니다.

      
                                    고객 관리 키를 선택합니다.
    4. 스냅샷 복사를 선택합니다.

  7. 스냅샷 사본을 사용할 수 있는 경우 해당 복사본을 선택합니다.

  8. Actions(작업)에서 Share snapshot(스냅샷 공유)을 선택합니다.

  9. 스냅샷 권한 페이지에서 다음 단계를 따릅니다.

    1. 스냅샷 사본을 공유하는 데 사용할 AWS 계정 ID를 입력한 다음 추가를 선택합니다.

    2. Save(저장)를 선택합니다.

    스냅샷이 복사됩니다.

공유된 스냅샷을 대상 계정에 복사

이제 대상 AWS 계정에서 공유 스냅샷을 복사할 수 있습니다.

공유된 스냅샷을 복사하는 방법
  1. 대상 AWS 계정에서 AWS Management Console에 로그인합니다.

  2. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  3. 탐색 창에서 스냅샷를 선택합니다.

  4. 나와 공유됨 탭을 선택합니다.

  5. 공유된 스냅샷을 선택합니다.

  6. [작업(Actions)]에서 [스냅샷 복사(Copy snapshot)]를 선택합니다.

  7. 이전 절차에서와 같이 스냅샷 복사 설정을 선택하고 대상 계정에 속한 AWS KMS key를 사용합니다.

    스냅샷 복사를 선택합니다.

스냅샷 공유 중지

DB 클러스터 스냅샷 공유를 중지하려면 대상 AWS 계정에서 권한을 제거해야 합니다.

AWS 계정에 대한 수동 DB 클러스터 스냅샷 공유를 중지하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [Snapshots]를 선택합니다.

  3. 공유를 중지할 수동 스냅샷을 선택합니다.

  4. Actions(작업)를 선택한 다음 Share snapshot(스냅샷 공유)을 선택합니다.

  5. AWS 계정의 권한을 제거하려면 권한이 있는 계정 목록에서 해당 계정의 AWS 계정 식별자에 대해 삭제를 선택합니다.

  6. 저장을 선택하여 변경 사항을 저장합니다.

목록에서 AWS 계정 식별자를 제거하려면 --values-to-remove 파라미터를 사용합니다.

예 스냅샷 공유 중지

다음은 AWS 계정 ID 444455556666의 스냅샷 복원을 방지하는 예제입니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier manual-cluster-snapshot1 \ --attribute-name restore \ --values-to-remove 444455556666

Windows의 경우:

aws rds modify-db-cluster-snapshot-attribute ^ --db-cluster-snapshot-identifier manual-cluster-snapshot1 ^ --attribute-name restore ^ --values-to-remove 444455556666

AWS 계정의 공유 권한을 제거하려면 AttributeNamerestore로 설정한 ModifyDBClusterSnapshotAttribute 작업과 ValuesToRemove 파라미터를 사용합니다. 수동 스냅샷을 비공개로 하려면 all 속성에 대한 값 목록에서 restore 값을 제거합니다.