Amazon DocumentDB 운영 작업 개요 - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon DocumentDB 운영 작업 개요

이 섹션에서는 Amazon DocumentDB 클러스터의 운영 작업과 를 사용하여 이러한 작업을 수행하는 방법을 설명합니다. AWS CLI

Amazon DocumentDB 클러스터에 복제본 추가

Amazon DocumentDB 클러스터에 대한 기본 인스턴스를 만든 후에 1개 이상의 복제본을 추가할 수 있습니다. 복제본은 두 가지 용도로 사용되는 읽기 전용 인스턴스입니다.

  • 확장성 — 동시 액세스가 필요한 클라이언트가 많은 경우 읽기 규모 조정을 위해 복제본을 더 추가할 수 있습니다.

  • 고가용성 — 기본 인스턴스에 장애가 발생하면 Amazon DocumentDB에서는 복제본 인스턴스로 자동으로 장애 조치하고 이를 새로운 기본 인스턴스로 지정합니다. 복제본이 실패하면 실패한 노드가 복구될 때까지 클러스터의 다른 인스턴스가 계속 요청을 수행할 수 있습니다.

각 Amazon DocumentDB 클러스터에서 최대 15개의 복제본을 지원할 수 있습니다.

참고

내결함성을 최대화하려면 별도의 가용 영역에 복제본을 배포해야 합니다. 이렇게 하면 전체 가용 영역을 사용할 수 없게 되는 경우에도 Amazon DocumentDB 클러스터가 계속 작동할 수 있습니다.

다음 AWS CLI 예제는 새 복제본을 추가하는 방법을 보여줍니다. --availability-zone 파라미터는 복제본을 지정된 가용 영역에 배치합니다.

aws docdb create-db-instance \ --db-instance-identifier sample-instance \ --db-cluster-identifier sample-cluster \ --engine docdb \ --db-instance-class db.r5.large \ --availability-zone us-east-1a

클러스터 및 인스턴스 설명

다음 AWS CLI 예는 한 지역의 모든 Amazon DocumentDB 클러스터를 나열합니다. Amazon DocumentDB는 클러스터 및 인스턴스 수명 주기 관리와 같은 특정 관리 기능의 경우 Amazon과 공유하는 운영 기술을 활용합니다. RDS filterName=engine,Values=docdb 필터 파라미터는 Amazon DocumentDB 클러스터만 반환합니다.

클러스터 설명 및 수정에 대한 자세한 내용은 Amazon DocumentDB 클러스터 라이프사이클 섹션을 참조하십시오.

aws docdb describe-db-clusters --filter Name=engine,Values=docdb

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

{ "DBClusters": [ { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-1", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-2", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... }, { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-3", "DBClusterParameterGroup": "sample-parameter-group", "DBSubnetGroup": "default", "Status": "available", ... } ] }

다음 AWS CLI 예제는 Amazon DocumentDB 클러스터의 인스턴스를 나열합니다. 클러스터 설명 및 수정에 대한 자세한 내용은 Amazon DocumentDB 인스턴스 수명 주기 섹션을 참조하십시오.

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].[DBClusterMembers]'

출력은 아래와 같습니다. 이 출력에는 두 개의 인스턴스가 있습니다. 기본 인스턴스는 sample-instance-1("IsClusterWriter": true)입니다. 또한 복제본 인스턴스 sample-instance2("IsClusterWriter: false")도 있습니다.

[ [ [ { "DBInstanceIdentifier": "sample-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "sample-cluster-2", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ] ] ]

클러스터 스냅샷 생성

클러스터 스냅샷은Amazon DocumentDB 클러스터의 데이터를 완벽하게 백업합니다. 스냅샷을 만들 때 Amazon DocumentDB는 클러스터 볼륨에서 직접 데이터를 읽습니다. 따라서 클러스터에서 해당 인스턴스가 실행 중이 아니어도 스냅샷을 생성할 수 있습니다. 클러스터 스냅샷을 생성하는 데 걸리는 시간은 클러스터 볼륨의 크기에 따라 다릅니다.

Amazon DocumentDB는 자동 백업을 지원합니다. 자동 백업은 선호하는 백업 윈도우(하루 중 30분) 동안 매일 수행됩니다. 다음 AWS CLI 예는 클러스터의 백업 창을 보는 방법을 보여줍니다.

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].PreferredBackupWindow'

출력에는 백업 창 (inUTC) 이 표시됩니다.

[ "00:18-00:48" ]

Amazon DocumentDB 클러스터를 생성할 때 백업 기간을 정의할 수 있습니다. 다음 예제와 같이 백업 기간을 변경할 수도 있습니다. 백업 기간을 정의하지 않으면 Amazon DocumentDB에서 자동으로 클러스터에 할당합니다.

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --preferred-backup-window "02:00-02:30"

자동 백업 외에도 언제든지 수동으로 클러스터 스냅샷을 만들 수 있습니다. 이때 백업할 클러스터를 지정한 다음 나중에 복원할 수 있도록 스냅샷에 대해 고유한 이름을 지정합니다.

다음 AWS CLI 예는 데이터의 스냅샷을 만드는 방법을 보여줍니다.

aws docdb create-db-cluster-snapshot \ --db-cluster-identifier sample-cluster \ --db-cluster-snapshot-identifier sample-cluster-snapshot

스냅샷에서 복원

클러스터 스냅샷을 새 Amazon DocumentDB 클러스터로 복원할 수 있습니다. 이렇게 하려면 스냅샷의 이름과 새 클러스터의 이름을 제공합니다. 스냅샷에서 기존 클러스터로 복원할 수 없습니다. 대신 복원할 때 Amazon DocumentDB에서 새 클러스터를 만든 다음 스냅샷 데이터로 채웁니다.

다음 예제에서는 sample-cluster 클러스터의 모든 스냅샷을 보여 줍니다.

aws docdb describe-db-cluster-snapshots \ --db-cluster-identifier sample-cluster \ --query 'DBClusterSnapshots[*].[DBClusterSnapshotIdentifier,SnapshotType,Status]'

출력은 다음과 같습니다. 수동 스냅샷은 수동으로 생성한 스냅샷이지만 자동 스냅샷은 클러스터 백업 기간 중 Amazon DocumentDB에 의해 생성됩니다.

[ "sample-cluster-snapshot", "manual", "available" ], [ "rds:sample-cluster", "automated", "available" ] ]

다음 예제에서는 스냅샷에서 Amazon DocumentDB 클러스터를 복원하는 방법을 보여 줍니다.

aws docdb restore-db-cluster-from-snapshot \ --engine docdb \ --db-cluster-identifier new-sample-cluster \ --snapshot-identifier sample-cluster-snapshot

새 클러스터에 연결된 인스턴스가 없으므로 클러스터와 상호 작용하려면 인스턴스를 클러스터에 추가해야 합니다.

aws docdb create-db-instance \ --db-instance-identifier new-sample-instance \ --db-instance-class db.r5.large \ --engine docdb \ --db-cluster-identifier new-sample-cluster

다음 AWS CLI 작업을 사용하여 클러스터 및 인스턴스 생성 진행 상황을 모니터링할 수 있습니다. 클러스터 및 인스턴스 상태를 사용할 수 있으면 새 클러스터의 엔드포인트에 연결하여 데이터에 액세스할 수 있습니다.

aws docdb describe-db-clusters \ --db-cluster-identifier new-sample-cluster \ --query 'DBClusters[*].[Status,Endpoint]'
aws docdb describe-db-instances \ --db-instance-identifier new-sample-instance \ --query 'DBInstances[*].[DBInstanceStatus]'

클러스터에서 인스턴스 제거

Amazon DocumentDB에서는 모든 데이터를 클러스터 볼륨에 저장합니다. 모든 인스턴스를 클러스터에서 제거하는 경우에도 데이터가 클러스터 볼륨에 유지됩니다. 데이터에 다시 액세스해야 하는 경우 언제든지 클러스터에 인스턴스를 추가하고 중단한 지점을 선택할 수 있습니다.

다음 예제에서는 Amazon DocumentDB 클러스터에서 인스턴스를 제거하는 방법을 보여줍니다.

aws docdb delete-db-instance \ --db-instance-identifier sample-instance

클러스터 삭제

Amazon DocumentDB 클러스터를 삭제하려면 먼저 해당 인스턴스를 모두 제거해야 합니다. 다음 AWS CLI 예제는 클러스터의 인스턴스에 대한 정보를 반환합니다. 이 작업으로 인스턴스 식별자가 반환되면 각 인스턴스를 삭제해야 합니다. 자세한 내용은 클러스터에서 인스턴스 제거 단원을 참조하십시오.

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers[*].DBInstanceIdentifier'

더 이상 인스턴스가 남아 있지 않으면 클러스터를 삭제할 수 있습니다. 이때 다음 옵션 중 하나를 선택해야 합니다.

  • 최종 스냅샷 생성 — 나중에 해당 데이터로 새 인스턴스를 다시 만들 수 있도록 스냅샷의 모든 클러스터 데이터를 캡처합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --final-db-snapshot-identifier sample-cluster-snapshot
  • 최종 스냅샷 건너뛰기 — 모든 클러스터 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다.

    aws docdb delete-db-cluster \ --db-cluster-identifier sample-cluster \ --skip-final-snapshot