전역 테이블 생성
중요
이 설명서는 버전 2017.11.29(레거시)의 글로벌 테이블에 대한 것이므로 새 글로벌 테이블의 경우 사용하지 않아야 합니다. 가능하면 글로벌 테이블 버전 2019.11.21(현재)을 사용해야 합니다. 이는 2017.11.29(레거시)보다 유연성과 효율성이 뛰어나고 쓰기 용량을 적게 소비합니다.
사용 중인 버전을 확인하려면 사용 중인 DynamoDB 글로벌 테이블 버전 확인 섹션을 참조하세요. 기존 전역 테이블을 버전 2017.11.29(레거시)에서 버전 2019.11.21(현재)로 업데이트하는 경우 글로벌 테이블 업그레이드 섹션을 참조하세요.
이 단원에서는 Amazon DynamoDB 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 전역 테이블을 생성하는 방법을 설명합니다.
전역 테이블 생성(콘솔)
다음 단계에 따라 콘솔을 사용하여 전역 테이블을 생성합니다. 다음 예제에서는 미국 및 유럽의 복제본 테이블로 전역 테이블을 생성합니다.
-
https://console.aws.amazon.com/dynamodb/home
에서 DynamoDB 콘솔을 엽니다. 이 예제의 경우, us-east-2(미국 동부 오하이오) 리전을 선택합니다. -
콘솔 왼쪽의 탐색 창에서 테이블을 선택합니다.
-
Create Table(테이블 생성)을 선택합니다.
테이블 이름에
Music
을(를) 입력합니다.기본 키에
Artist
를 입력합니다. 정렬 키 추가를 선택하고SongTitle
를 입력합니다(Artist
와SongTitle
은 모두 문자열이어야 함).테이블을 생성하려면 [Create]를 선택합니다. 이 테이블은 새로운 전역 테이블에서 첫 번째 복제본 테이블 역할을 합니다. 이는 나중에 추가하는 다른 복제본 테이블의 프로토타입입니다.
-
글로벌 테이블 탭을 선택한 다음 버전 2017.11.29(레거시) 복제본 생성을 선택합니다.
-
사용 가능한 복제 리전(Available replication Regions) 드롭다운에서 미국 서부(오레곤)(US West (Oregon)를 선택합니다.
콘솔에서 선택한 리전에 이름이 동일한 테이블이 없는지 확인합니다. 이름이 동일한 테이블이 있는 경우 해당 리전에서 새 복제본 테이블을 생성하려면 먼저 기존 테이블을 삭제해야 합니다.
-
복제본 생성(Create Replica)을 선택합니다. 그러면 미국 서부(오레곤)에서 테이블 생성 프로세스가 시작됩니다.
선택한 테이블(그리고 다른 복제본 테이블)의 전역 테이블 탭에 해당 테이블이 여러 리전에 복제되었다는 메시지가 표시됩니다.
-
이제 다른 리전을 추가하여 전역 테이블이 미국과 유럽에 걸쳐 복제되고 동기화되도록 합니다. 이렇게 하려면 5단계를 반복하되, 이번에는 US West (Oregon)(미국 서부(오레곤)) 대신 EU(프랑크푸르트)(EU (Frankfurt))를 지정합니다.
-
미국 동부(오하이오) 리전에서 AWS Management Console을 계속 사용해야 합니다. 왼쪽 탐색 메뉴의 항목(Items)에서 음악(Music) 테이블을 선택한 다음 항목 만들기(Create Item)를 선택합니다.
-
[Artist]에
item_1
를 입력합니다. -
[SongTitle]에
Song Value 1
를 입력합니다. -
해당 항목을 쓰려면 항목 만들기(Create item)를 선택합니다.
-
-
잠시 후에 이 항목이 전역 테이블의 세 리전 모두에 복제됩니다. 제대로 되었는지 확인하려면 콘솔에서 오른쪽 상단 모서리에 있는 리전 선택기로 이동하고 Europe (Frankfurt)(유럽(프랑크푸르트))를 선택합니다. 유럽(프랑크푸르트)의
Music
테이블에 새 항목이 포함되어 있어야 합니다. -
9단계를 반복하고 미국 서부(오레곤)(US West (Oregon))을 선택하여 해당 리전의 복제를 확인합니다.
전역 테이블 생성(AWS CLI)
다음 단계에 따라 AWS CLI를 사용하여 Music
전역 테이블을 생성합니다. 다음 예제에서는 미국 및 유럽의 복제본 테이블로 전역 테이블을 생성합니다.
-
미국 동부(오하이오)에서 DynamoDB Streams를 활성화하고(
NEW_AND_OLD_IMAGES
) 새 테이블(Music
)을 생성합니다.aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-2
-
동일한
Music
테이블을 미국 동부(버지니아 북부)에서 생성합니다.aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-1
-
us-east-2
및us-east-1
리전의 복제본 테이블로 구성된 전역 테이블(Music
)을 생성합니다.aws dynamodb create-global-table \ --global-table-name Music \ --replication-group RegionName=us-east-2 RegionName=us-east-1 \ --region us-east-2
참고
전역 테이블 이름(
Music
)은 각 복제본 테이블의 이름(Music
)과 일치해야 합니다. 자세한 내용은 전역 테이블 관리 모범 사례 및 요구 사항 단원을 참조하십시오. -
1단계 및 2단계에서 생성한 테이블과 동일한 설정을 사용하여 유럽(아일랜드)에 다른 테이블을 생성합니다.
aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region eu-west-1
이 단계를 수행한 후에는
Music
전역 테이블에 새 테이블을 추가합니다.aws dynamodb update-global-table \ --global-table-name Music \ --replica-updates 'Create={RegionName=eu-west-1}' \ --region us-east-2
-
복제가 작동하는지 확인하려면 미국 동부(오하이오)의
Music
테이블에 새 항목을 추가합니다.aws dynamodb put-item \ --table-name Music \ --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-2
-
몇 초 기다린 후 항목이 미국 동부(버지니아 북부) 및 유럽(아일랜드)에 성공적으로 복제되었는지 확인합니다.
aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-1
aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region eu-west-1