Amazon DocumentDB 서브넷 그룹 생성 - Amazon DocumentDB

Amazon DocumentDB 서브넷 그룹 생성

Amazon DocumentDB 클러스터를 생성하는 경우 Amazon VPC와 Amazon VPC 내 해당 서브넷 그룹을 선택해야 클러스터를 시작할 수 있습니다. 서브넷은 인스턴스를 시작하기 위해 사용할 가용 영역과 해당 가용 영역 내 IP 범위를 결정합니다.

서브넷 그룹은 Amazon DocumentDB 인스턴스를 시작하는 데 사용하고자 하는 가용 영역을 지정할 수 있는 명명된 서브넷(AZ) 집합입니다. 예를 들어, 인스턴스가 3개인 클러스터에서 각 인스턴스를 별도의 AZ에 프로비저닝하여 고가용성을 최적화하는 것이 좋습니다. 따라서 단일 AZ가 실패하면 단일 인스턴스에만 영향을 미칩니다.

현재 Amazon DocumentDB 인스턴스는 최대 3개의 AZ로 프로비저닝할 수 있습니다. 서브넷 그룹에 서브넷이 3개 이상 있는 경우에도 Amazon DocumentDB 클러스터 생성에는 그 중 3개만 사용할 수만 있습니다. 따라서 서브넷 그룹을 생성할 때 인스턴스를 배포하려는 서브넷을 3개만 선택하는 것이 좋습니다.

예: 클러스터가 생성되고 Amazon DocumentDB가 AZ{1A, 1B 및 1C}를 선택합니다. AZ{1D}에서 인스턴스를 생성하려고 하면 API 직접 호출이 실패합니다. 하지만 특정 AZ를 지정하지 않고 인스턴스를 생성하기로 선택하면 Amazon DocumentDB가 사용자를 대신하여 AZ를 선택합니다. Amazon DocumentDB는 알고리즘을 사용하여 여러 AZ에 걸쳐 인스턴스의 부하를 분산하므로 고가용성을 확보할 수 있습니다. 기본적으로 세 개의 인스턴스가 프로비저닝되면 세 개의 AZ에 프로비저닝되고 모든 인스턴스가 단일 AZ에 프로비저닝되지 않습니다.

모범 사례

  • 특별한 사유가 없으면 항상 서브넷 그룹 서브넷을 3개 생성합니다. 이렇게 하면 인스턴스가 세 AZ 간에 프로비저닝되므로 인스턴스가 세 개 이상인 클러스터가 더 높은 가용성을 획득할 수 있습니다.

  • 항상 여러 AZ에 걸쳐 인스턴스를 분산하여 고가용성을 실현합니다. 단일 AZ에 클러스터의 모든 인스턴스를 배치하지 마십시오.

  • 장애 조치 이벤트는 언제든지 발생할 수 있으므로 기본 인스턴스 또는 복제본 인스턴스가 항상 특정 AZ에 있다고 가정해서는 안 됩니다.

서브넷 그룹 생성 방법

AWS Management Console 또는 AWS CLI를 사용하여 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. 서브넷 그룹 생성 페이지에서:

    1. 서브넷 그룹 세부 정보 섹션에서:

      1. 이름 — 서브넷 그룹에 대해 의미 있는 이름을 입력합니다.

      2. 설명 - 서브넷 그룹에 대한 설명을 입력합니다:

    2. 서브넷 추가 섹션에서:

      1. VPC — 목록에서 이 서브넷 그룹에 대한 VPC를 선택합니다.

      2. 다음 중 하나를 수행합니다.

        • 선택된 VPC에 서브넷을 모두 포함하려면 이 VPC와 관련된 모든 서브넷 추가를 선택합니다.

        • 이 서브넷 그룹에 대한 서브넷을 지정하려면, 서브넷을 포함하려는 각 가용 영역에 대해 다음을 수행합니다. 2개 이상의 가용 영역을 포함해야 합니다.

          1. 가용 영역 - 목록에서 가용 영역을 선택합니다.

          2. 서브넷 — 목록에서 이 서브넷 그룹에 대해 선택된 가용 영역의 서브넷을 선택합니다.

          3. 서브넷 추가를 선택합니다.

  4. 생성(Create)을 선택합니다. 새로 생성된 서브넷 그룹은 다른 서브넷 그룹과 함께 나열됩니다.

    스크린샷: 서브넷 그룹 세부 정보 표시.
Using the AWS CLI

AWS CLI를 사용하여 서브넷 그룹을 만들기 전에 먼저 어떤 서브넷을 사용할 수 있는지 확인해야 합니다. 다음의 AWS CLI 작업을 실행하여 가용 영역과 그에 해당하는 서브넷을 나열합니다.

파라미터:

  • --db-subnet-group - 선택 사항. 특정 서브넷 그룹을 지정하면 가용 영역과 해당 그룹의 서브넷이 나열됩니다. 이 파라미터를 생략하면 모든 서브넷 그룹의 가용 영역과 서브넷이 나열됩니다. default 서브넷 그룹을 지정하면 모든 VPC의 서브넷이 나열됩니다.

Linux, macOS, Unix의 경우:

aws docdb describe-db-subnet-groups \ --db-subnet-group-name default \ --query 'DBSubnetGroups[*].[DBSubnetGroupName,Subnets[*].[SubnetAvailabilityZone.Name,SubnetIdentifier]]'

Windows의 경우:

aws docdb describe-db-subnet-groups ^ --db-subnet-group-name default ^ --query 'DBSubnetGroups[*].[DBSubnetGroupName,Subnets[*].[SubnetAvailabilityZone.Name,SubnetIdentifier]]'

이 작업의 출력은 다음과 같습니다(JSON 형식).

[ [ "default", [ [ "us-east-1a", "subnet-4e26d263" ], [ "us-east-1c", "subnet-afc329f4" ], [ "us-east-1e", "subnet-b3806e8f" ], [ "us-east-1d", "subnet-53ab3636" ], [ "us-east-1b", "subnet-991cb8d0" ], [ "us-east-1f", "subnet-29ab1025" ] ] ] ]

이전 작업의 출력을 사용하여 새 서브넷 그룹을 만들 수 있습니다. 새 서브넷 그룹에는 최소 2개 가용 영역의 서브넷이 포함되어야 합니다.

파라미터:
  • --db-subnet-group-name - 필수입니다. 이 서브넷 그룹의 이름입니다.

  • --db-subnet-group-description - 필수입니다. 이 서브넷 그룹에 대한 설명입니다.

  • --subnet-ids - 필수입니다. 이 서브넷 그룹에 포함하는 서브넷의 목록입니다. 예: subnet-53ab3636.

  • --태그 - 선택사항. 이 서브넷 그룹에 연결할 태그(키/값 페어) 목록입니다.

다음 코드는 subnet-4e26d263, subnet-afc329f4, subnet-b3806e8f의 3개 서브넷으로 구성된 서브넷 그룹 sample-subnet-group을 만듭니다.

Linux, macOS, Unix의 경우:

aws docdb create-db-subnet-group \ --db-subnet-group-name sample-subnet-group \ --db-subnet-group-description "A sample subnet group" \ --subnet-ids subnet-4e26d263 subnet-afc329f4 subnet-b3806e8f \ --tags Key=tag1,Value=One Key=tag2,Value=2

Windows의 경우:

aws docdb create-db-subnet-group ^ --db-subnet-group-name sample-subnet-group ^ --db-subnet-group-description "A sample subnet group" ^ --subnet-ids subnet-4e26d263 subnet-afc329f4 subnet-b3806e8f ^ --tags Key=tag1,Value=One Key=tag2,Value=2

이 작업의 출력은 다음과 같습니다(JSON 형식).

{ "DBSubnetGroup": { "DBSubnetGroupDescription": "A sample subnet group", "DBSubnetGroupName": "sample-subnet-group", "Subnets": [ { "SubnetAvailabilityZone": { "Name": "us-east-1a" }, "SubnetIdentifier": "subnet-4e26d263", "SubnetStatus": "Active" }, { "SubnetAvailabilityZone": { "Name": "us-east-1c" }, "SubnetIdentifier": "subnet-afc329f4", "SubnetStatus": "Active" }, { "SubnetAvailabilityZone": { "Name": "us-east-1e" }, "SubnetIdentifier": "subnet-b3806e8f", "SubnetStatus": "Active" } ], "VpcId": "vpc-91280df6", "DBSubnetGroupArn": "arn:aws:rds:us-east-1:123SAMPLE012:subgrp:sample-subnet-group", "SubnetGroupStatus": "Complete" } }