클러스터 스냅샷에서 복원 - Amazon DocumentDB

클러스터 스냅샷에서 복원

Amazon DocumentDB(MongoDB 호환)는 스토리지 볼륨의 클러스터 스냅샷을 만듭니다. 클러스터 스냅샷에서 복원하여 새로운 클러스터를 생성할 수 있습니다. 클러스터를 복원할 때 복원 원본으로 사용할 클러스터 스냅샷의 이름을 입력한 다음, 이 복원 작업에서 생성되는 새 클러스터의 이름을 입력합니다. 복원 시 새 클러스터가 생성되므로 스냅샷에서 기존 클러스터로의 복원은 불가능합니다.

클러스터 스냅샷에서 클러스터를 복원하는 경우:

  • 이 작업에서는 클러스터만 복원하고 해당 클러스터에 대한 인스턴스는 복원하지 않습니다. --db-cluster-identifier에 복원된 클러스터의 식별자를 지정하여 복원된 클러스터의 인스턴스를 생성하려면 create-db-instance 작업을 호출해야 합니다. 클러스터가 사용 가능할 때에만 인스턴스를 생성할 수 있습니다.

  • 암호화된 스냅샷은 암호화되지 않은 클러스터로 복원할 수 없습니다. 그러나 AWS KMS 키를 지정하여 암호화되지 않은 스냅샷을 암호화된 클러스터로 복원할 수 있습니다.

  • 암호화된 스냅샷에서 클러스터를 복원하려면 AWS KMS 키로 액세스해야 합니다.

참고

3.6 클러스터를 4.0 클러스터로 복원할 수는 없지만 한 클러스터 버전에서 다른 클러스터 버전으로 마이그레이션할 수는 있습니다. 자세한 내용은 Amazon DocumentDB로 마이그레이션 섹션을 참조하세요.

Using the AWS Management Console

다음 절차에서는 Amazon DocumentDB 관리 콘솔을 사용하여 클러스터 스냅샷에서 Amazon DocumentDB 클러스터를 복원하는 방법을 보여줍니다.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/docdb에서 Amazon DocumentDB 콘솔을 엽니다.

  2. 탐색 창에서 스냅샷을 선택한 다음 클러스터 복원에 사용하려는 스냅샷 왼쪽에 있는 버튼을 선택합니다.

    작은 정보

    화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(Hamburger menu icon with three horizontal lines.)을 선택하세요.

  3. 작업 메뉴에서 복원을 선택합니다.

  4. 스냅샷 복원 페이지에서 구성 섹션을 완료합니다.

    1. 클러스터 식별자 — 새 클러스터의 이름입니다. Amazon DocumentDB 제공 이름을 수락하거나 원하는 이름을 입력할 수 있습니다. Amazon DocumentDBsupplied 제공 이름은 docdb- 및 UTC 타임스탬프 형식입니다(예: docdb-yyyy-mm-dd-hh-mm-ss).

    2. 인스턴스 클래스 — 새 클러스터의 인스턴스 클래스입니다. 기본 인스턴스 클래스를 수락하거나 드롭다운 목록에서 인스턴스 클래스를 선택할 수 있습니다.

    3. 인스턴스 수 — 이 클러스터를 사용하여 생성할 인스턴스 수입니다. 기본값인 3개의 인스턴스(기본 읽기/쓰기 1개 및 읽기 전용 복제본 2개)를 수락하거나 드롭다운 목록에서 인스턴스 수를 선택할 수 있습니다.

  5. 클러스터 스토리지 구성 을 위해서는 스토리지 옵션을 선택합니다.

    참고

    Amazon DocumentDB I/O 최적화 스토리지 구성은 Amazon DocumentDB 5.0 엔진 버전에서만 사용할 수 있습니다.

  6. 클러스터 구성이 마음에 들면 클러스터 복원을 선택하고 클러스터가 복원되는 동안 기다립니다.

  7. 기본값이 아닌 Amazon VPC 또는 보안 그룹 지정과 같은 일부 구성을 변경하려면 페이지 왼쪽 하단에서 고급 설정 표시를 선택한 후 다음 단계를 계속 진행합니다.

    1. 네트워크 설정 섹션을 완료합니다.

      • 가상 프라이빗 클라우드(VPC) — 현재 VPC를 수락하거나 드롭다운 목록에서 VPC를 선택합니다.

      • 서브넷 그룹default 서브넷 그룹을 수락하거나 드롭다운 목록에서 하나를 선택합니다.

      • VPC 보안 그룹default (VPC) 보안 그룹을 수락하거나 목록에서 하나를 선택합니다.

    2. 클러스터 옵션 섹션을 작성합니다.

      • 데이터베이스 포트 — 기본 포트인 27017을 수락하거나, 위쪽 화살표 또는 아래쪽 화살표를 사용하여 애플리케이션 연결에 사용하려는 포트를 설정합니다.

    3. 암호화 섹션을 작성합니다.

      • 저장된 데이터 암호화 — 스냅샷이 암호화되면 이 옵션은 사용할 수 없습니다. 스냅샷이 암호화되지 않으면 다음에서 한 개를 선택할 수 있습니다.

        • 모든 클러스터 데이터를 암호화하려면 Enable encryption-at-rest(유휴상태 암호화 활성)을 선택합니다. 이 옵션을 선택하면 KMS 키를 지정해야 합니다.

        • 클러스터 데이터를 암호화하지 않으려면 Disable encryption-at-rest(유휴상태 암호화 비활성)을 선택합니다. 이 옵션을 선택하면 암호화 섹션이 완료됩니다.

      • AWS KMS 키 — 드롭다운 목록에서 다음 중 하나를 선택합니다.

        • (기본값)aws/rds — 계정 번호 및 AWS KMS 키 ID가 이 옵션 다음에 나타납니다.

        • 고객 관리형 키 — 이 옵션은 암호화 키를 AWS Identity and Access Management(IAM) 콘솔에서 생성한 경우에만 사용할 수 있습니다. 이 키를 선택하여 클러스터를 암호화할 수 있습니다.

        • 키 ARN 입력ARN 상자에 AWS KMS 키의 Amazon 리소스 이름(ARN)을 입력합니다. ARN 형식은 arn:aws:kms:<region>:<accountID>:key/<key-id>입니다.

    4. 로그 내보내기 섹션을 완료합니다.

      • CloudWatch에 게시할 로그 유형 선택 — 다음 중 하나를 선택합니다.

        • 활성화됨 — 클러스터가 DDL 로깅을 Amazon CloudWatch Logs로 내보낼 수 있도록 합니다.

        • 비활성화됨 — 클러스터가 DDL 로그를 Amazon CloudWatch Logs로 내보내는 것을 방지합니다. 비활성이 기본값입니다.

      • IAM 역할 — 목록에서 RDS 서비스 연결 역할을 선택합니다.

    5. 태그 섹션을 완료합니다.

      • 태그 추가 상자에 클러스터의 태그 이름을 입력합니다. 상자에 태그 값을 입력합니다(선택 사항). AWS Identity and Access Management(IAM) 정책과 함께 이러한 태그를 사용하여 Amazon DocumentDB 리소스에 대한 액세스를 관리하고 해당 리소스에 적용 가능한 작업을 제어할 수 있습니다.

    6. 삭제 방지 섹션을 완료합니다.

      • 삭제 방지 활성화 — 클러스터가 실수로 삭제되지 않도록 보호합니다. 이 옵션이 활성화되면 클러스터를 삭제할 수 없습니다.

  8. 클러스터 복원을 선택합니다.

Using the AWS CLI

AWS CLI를 사용하여 스냅샷에서 클러스터를 복원하려면 다음 파라미터와 함께 restore-db-cluster-from-snapshot 작업을 사용합니다. 자세한 내용은 RestoreDBClusterFromSnapshot 섹션을 참조하세요.

  • --db-cluster-identifier — 필수입니다. 작업에서 생성되는 클러스터 이름 이 이름으로 된 클러스터는 이 작업 이전에 존재할 수 없습니다.

    클러스터 명명 제약 조건:

    • 길이는 [1~63] 글자, 숫자 또는 하이픈입니다.

    • 첫 번째 문자는 글자이어야 합니다.

    • 하이픈으로 끝나거나 하이픈이 2개 연속으로 포함되어서는 안 됩니다.

    • AWS 계정, 리전별로 Amazon RDS, Neptune 및 Amazon DocumentDB 간 모든 클러스터에 대해 고유해야 합니다.

  • --snapshot-identifier — 필수입니다. 복원하는 데 사용되는 스냅샷의 이름입니다. 이 이름으로 된 스냅샷이 있어야 하며 사용 가능한 상태여야 합니다.

  • --engine — 필수입니다. docdb여야 합니다.

  • --storage-type standard | iopt1 – 선택 사항. 기본값: standard.

  • --kms-key-id – 선택 사항. 암호화된 스냅샷을 복원할 때 또는 암호화되지 않은 스냅샷에서 복원 시 클러스터를 암호화할 때 사용하는 AWS KMS 키 식별자의 ARN 스냅샷 암호화 여부와 상관 없이 AWS KMS 키 ID 결과를 AWS KMS 키 암호화로 복원된 클러스터에 제공

    --kms-key-id 형식은 arn:aws:kms:<region>:<accountID>:key/<key-id>입니다. --kms-key-id 파라미터 값을 지정하지 않으면 다음과 같이 진행됩니다.

    • --snapshot-identifier 에 스냅샷이 암호화되면 복원된 클러스터는 스냅샷 암호화에 사용된 동일한 AWS KMS 키로 암호화됩니다.

    • --snapshot-identifier 에 스냅샷이 암호화되지 않으면 복원된 클러스터는 암호화되지 않습니다.

Linux, macOS, Unix의 경우:

aws docdb restore-db-cluster-from-snapshot \ --db-cluster-identifier sample-cluster-restore \ --snapshot-identifier sample-cluster-snapshot \ --engine docdb \ --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID

Windows의 경우:

aws docdb restore-db-cluster-from-snapshot ^ --db-cluster-identifier sample-cluster-restore ^ --snapshot-identifier sample-cluster-snapshot ^ --engine docdb ^ --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID

이 작업의 출력은 다음과 같이 표시됩니다.

{ "DBCluster": { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-restore", "DBClusterParameterGroup": "default.docdb4.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com", "ReaderEndpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com", "MultiAZ": false, "Engine": "docdb", "EngineVersion": "4.0.0", "Port": 27017, "MasterUsername": "<master-user>", "PreferredBackupWindow": "02:00-02:30", "PreferredMaintenanceWindow": "tue:09:50-tue:10:20", "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcdefgh", "Status": "active" } ], "HostedZoneId": "ABCDEFGHIJKLM", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/<sample-key-id>", "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster-restore", "AssociatedRoles": [], "ClusterCreateTime": "2020-04-01T01:43:40.871Z", "DeletionProtection": true } }

클러스터 상태가 사용 가능으로 전환되면, 클러스터에 적용할 인스턴스를 최소 한 개 생성합니다.

Linux, macOS, Unix의 경우:

aws docdb create-db-instance \ --db-cluster-identifier sample-cluster-restore \ --db-instance-identifier sample-cluster-restore-instance \ --availability-zone us-east-1b \ --promotion-tier 2 \ --db-instance-class db.r5.large \ --engine docdb

Windows의 경우:

aws docdb create-db-instance ^ --db-cluster-identifier sample-cluster-restore ^ --db-instance-identifier sample-cluster-restore-instance ^ --availability-zone us-east-1b ^ --promotion-tier 2 ^ --db-instance-class db.r5.large ^ --engine docdb

이 작업의 출력은 다음과 같이 표시됩니다.

{ "DBInstance": { "DBInstanceIdentifier": "sample-cluster-restore-instance", "DBInstanceClass": "db.r5.large", "Engine": "docdb", "DBInstanceStatus": "creating", "PreferredBackupWindow": "02:00-02:30", "BackupRetentionPeriod": 1, "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcdefgh", "Status": "active" } ], "AvailabilityZone": "us-west-2b", "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-6242c31a", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-abcdefgh", "SubnetAvailabilityZone": { "Name": "us-west-2a" }, "SubnetStatus": "Active" }, { ... } ] }, "PreferredMaintenanceWindow": "fri:09:43-fri:10:13", "PendingModifiedValues": {}, "EngineVersion": "4.0.0", "AutoMinorVersionUpgrade": true, "PubliclyAccessible": false, "DBClusterIdentifier": "sample-cluster-restore", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/<sample-key-id>", "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "CACertificateIdentifier": "rds-ca-2019", "PromotionTier": 2, "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-cluster-restore-instance" } }