다중 리전 클러스터 구성 - Amazon Aurora DSQL

다중 리전 클러스터 구성

이 장에서는 여러 AWS 리전에 걸쳐 클러스터를 구성하고 관리하는 방법을 설명합니다.

다중 리전 클러스터에 연결

다중 리전 피어링된 클러스터는 피어링된 클러스터 AWS 리전마다 하나씩, 총 두 개의 리전 엔드포인트를 제공합니다. 두 엔드포인트 모두 강력한 데이터 일관성으로 동시 읽기 및 쓰기 작업을 지원하는 단일 논리적 데이터베이스를 제공합니다. 피어링된 클러스터 외에도 다중 리전 클러스터에는 다중 리전 내구성 및 가용성을 개선하는 데 사용되는 암호화된 트랜잭션 로그의 제한된 기간을 저장하는 감시 리전도 있습니다. 다중 리전 감시 리전에는 엔드포인트가 없습니다.

다중 리전 클러스터 생성

다중 리전 클러스터를 생성하려면 먼저 감시 리전이 있는 클러스터를 생성합니다. 그런 다음, 이 클러스터를 첫 번째 클러스터와 감시 리전이 동일한 두 번째 클러스터와 피어링합니다. 다음 예시에서는 미국 동부(버지니아 북부) 및 미국 동부(오하이오)에서 미국 서부(오리건)를 감시 리전으로 사용하여 클러스터를 생성하는 방법을 보여줍니다.

1단계: 미국 동부(버지니아 북부)에서 클러스터 1 생성

다중 리전 속성을 사용하여 미국 동부(버지니아 북부) AWS 리전에서 클러스터를 생성하려면 아래 명령을 사용합니다.

aws dsql create-cluster \ --region us-east-1 \ --multi-region-properties '{"witnessRegion":"us-west-2"}'
예 응답:
{
    "identifier": "abc0def1baz2quux3quuux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/abc0def1baz2quux3quuux4",
    "status": "UPDATING",
    "encryptionDetails": {
        "encryptionType": "AWS_OWNED_KMS_KEY",
        "encryptionStatus": "ENABLED"
   }
   "creationTime": "2024-05-24T09:15:32.708000-07:00"
}
참고

API 작업이 성공하면 클러스터가 PENDING_SETUP 상태로 전환됩니다. 클러스터를 피어 클러스터의 ARN으로 업데이트할 때까지 클러스터 생성은 PENDING_SETUP으로 유지됩니다.

2단계: 미국 동부(오하이오)에서 클러스터 2 생성

다중 리전 속성을 사용하여 미국 동부(오하이오) AWS 리전에서 클러스터를 생성하려면 아래 명령을 사용합니다.

aws dsql create-cluster \ --region us-east-2 \ --multi-region-properties '{"witnessRegion":"us-west-2"}'
예 응답:
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "PENDING_SETUP",
    "creationTime": "2025-05-06T06:51:16.145000-07:00",
    "deletionProtectionEnabled": true,
    "multiRegionProperties": {
        "witnessRegion": "us-west-2",
        "clusters": [
            "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
        ]
    }
}      

API 작업이 성공하면 클러스터가 PENDING_SETUP 상태로 전환됩니다. 피어링을 위해 클러스터를 다른 클러스터의 ARN으로 업데이트할 때까지 클러스터 생성은 PENDING_SETUP 상태로 유지됩니다.

3단계: 미국 동부(버지니아 북부)의 클러스터를 미국 동부(오하이오)와 피어링

미국 동부(버지니아 북부) 클러스터를 미국 동부(오하이오) 클러스터와 피어링하려면 update-cluster 명령을 사용합니다. 미국 동부(버지니아 북부) 클러스터 이름과 JSON 문자열을 미국 동부(오하이오) 클러스터의 ARN으로 지정합니다.

aws dsql update-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4' \ --multi-region-properties '{"witnessRegion": "us-west-2","clusters": ["arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"]}'
예 응답
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:46:10.745000-07:00"
}

4단계: 미국 동부(오하이오)의 클러스터와 미국 동부(버지니아 북부) 피어링

미국 동부(오하이오) 클러스터를 미국 동부(버지니아 북부) 클러스터와 피어링하려면 update-cluster 명령을 사용합니다. 미국 동부(오하이오) 클러스터 이름과 JSON 문자열을 미국 동부(버지니아 북부) 클러스터의 ARN으로 지정합니다.

aws dsql update-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quuxquux5' \ --multi-region-properties '{"witnessRegion": "us-west-2", "clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'
예 응답
{
    "identifier": "foo0bar1baz2quux3quuxquux5",
    "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
    "status": "UPDATING",
    "creationTime": "2025-05-06T06:51:16.145000-07:00"
}
참고

피어링에 성공하면 두 클러스터 모두 'PENDING_SETUP'에서 'CREATING'으로 전환되며, 사용할 준비가 되면 마침내 'ACTIVE' 상태로 전환됩니다.

다중 리전 클러스터 속성 보기

클러스터를 설명할 때 다른 AWS 리전의 클러스터에 대한 다중 리전 속성을 볼 수 있습니다.

aws dsql get-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4'
예 응답
{
    "identifier": "foo0bar1baz2quux3quuxquux4",
    "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
    "status": "PENDING_SETUP", 
    "encryptionDetails": {
    "encryptionType": "AWS_OWNED_KMS_KEY",
    "encryptionStatus": "ENABLED"
},
    "creationTime": "2024-11-27T00:32:14.434000-08:00",
    "deletionProtectionEnabled": false,
    "multiRegionProperties": {
       "witnessRegion": "us-west-2",
       "clusters": [
          "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
          "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5"
       ]
    }
}

생성 중 클러스터 피어링

클러스터 생성 중에 피어링 정보를 포함하여 단계 수를 줄일 수 있습니다. 미국 동부(버지니아 북부)에서 첫 번째 클러스터를 생성(1단계)한 후 미국 동부(오하이오)에서 두 번째 클러스터를 생성하는 동시에 첫 번째 클러스터의 ARN을 포함하여 피어링 프로세스를 시작할 수 있습니다.

aws dsql create-cluster \ --region us-east-2 \ --multi-region-properties '{"witnessRegion":"us-west-2","clusters": ["arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4"]}'

이렇게 하면 2단계와 4단계가 결합되지만 피어링 관계를 설정하려면 3단계(첫 번째 클러스터를 두 번째 클러스터의 ARN으로 업데이트)를 완료해야 합니다. 모든 단계가 완료되면 두 클러스터 모두 표준 프로세스와 동일한 상태, 즉 PENDING_SETUP에서 CREATING으로, 사용할 준비가 되면 마침내 ACTIVE로 전환됩니다.

다중 리전 클러스터 삭제

다중 리전 클러스터를 삭제하려면 두 단계를 완료해야 합니다.

  1. 각 클러스터에 대해 삭제 방지 기능을 끕니다.

  2. 각 피어링된 클러스터를 해당 AWS 리전에서 개별적으로 삭제합니다.

미국 동부(버지니아 북부)에서 클러스터 업데이트 및 삭제

  1. update-cluster 명령을 사용하여 삭제 방지 기능을 끕니다.

    aws dsql update-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4' \ --no-deletion-protection-enabled
  2. delete-cluster 명령을 사용하여 클러스터를 삭제합니다.

    aws dsql delete-cluster \ --region us-east-1 \ --identifier 'foo0bar1baz2quux3quuxquux4'

    이 명령은 다음 응답을 반환합니다.

    {
        "identifier": "foo0bar1baz2quux3quuxquux4",
        "arn": "arn:aws:dsql:us-east-1:111122223333:cluster/foo0bar1baz2quux3quuxquux4",
        "status": "PENDING_DELETE", 
        "creationTime": "2025-05-06T06:46:10.745000-07:00"
    }
    참고

    클러스터가 PENDING_DELETE 상태로 전환됩니다. 미국 동부(오하이오)에서 피어링된 클러스터를 삭제할 때까지 삭제가 완료되지 않습니다.

미국 동부(오하이오)에서 클러스터 업데이트 및 삭제

  1. update-cluster 명령을 사용하여 삭제 방지 기능을 끕니다.

    aws dsql update-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quux4quuux' \ --no-deletion-protection-enabled
  2. delete-cluster 명령을 사용하여 클러스터를 삭제합니다.

    aws dsql delete-cluster \ --region us-east-2 \ --identifier 'foo0bar1baz2quux3quuxquux5'

    이 명령은 다음 응답을 반환합니다.

    {
        "identifier": "foo0bar1baz2quux3quuxquux5",
        "arn": "arn:aws:dsql:us-east-2:111122223333:cluster/foo0bar1baz2quux3quuxquux5",
        "status": "PENDING_DELETE",
        "creationTime": "2025-05-06T06:46:10.745000-07:00"
    }
    참고

    클러스터가 PENDING_DELETE 상태로 전환됩니다. 몇 초가 지나면 시스템은 검증 후 피어링된 클러스터를 모두 DELETING 상태로 자동 전환합니다.