다른 AWS 리전에 읽기 전용 복제본 생성하기
다른 AWS 리전에 읽기 전용 복제본 생성하기
소스 DB 인스턴스와 다른 AWS 리전에 읽기 전용 복제본을 만들 수 있다는 점, 알고 계셨나요? 재해 복구 능력을 높이거나, 사용자와 더 가까운 리전에서 읽기 작업을 처리하고 싶을 때 아주 유용하답니다. 마치 같은 리전에 복제본을 만들 때와 비슷하게 진행하면 돼요.
출처: 문서
본문
Amazon RDS를 사용하면 소스 DB 인스턴스와 다른 AWS 리전에 읽기 전용 복제본을 만들 수 있어요.
읽기 전용 복제본을 다른 AWS 리전에 만드는 이유는 다음과 같아요.
- 재해 복구 능력을 향상시키기 위해서.
- 사용자와 더 가까운 AWS 리전으로 읽기 작업을 확장하기 위해서.
- 한 AWS 리전의 데이터 센터에서 다른 AWS 리전의 데이터 센터로 마이그레이션을 더 쉽게 하기 위해서.
소스 인스턴스와 다른 AWS 리전에 읽기 전용 복제본을 만드는 것은 같은 AWS 리전에 복제본을 만드는 것과 비슷해요. AWS Management Console을 사용하거나, create-db-instance-read-replica 명령을 실행하거나, CreateDBInstanceReadReplica API 작업을 호출하면 돼요.
참고
소스 DB 인스턴스와 다른 AWS 리전에 암호화된 읽기 전용 복제본을 만들려면, 소스 DB 인스턴스가 암호화되어 있어야 해요.
주제
- 리전 및 버전 가용성
- 교차 리전 읽기 전용 복제본 생성
- Amazon RDS가 교차 리전 복제를 수행하는 방식
- 교차 리전 복제 고려 사항
- 교차 리전 복제 비용
리전 및 버전 가용성
기능 가용성과 지원 범위는 각 데이터베이스 엔진의 특정 버전과 AWS 리전에 따라 달라져요. 교차 리전 복제의 버전 및 리전 가용성에 대한 자세한 내용은 Amazon RDS의 교차 리전 읽기 전용 복제본 지원 리전 및 DB 엔진을 참고하세요.
교차 리전 읽기 전용 복제본 생성
다음 절차는 Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL 소스 DB 인스턴스에서 다른 AWS 리전으로 읽기 전용 복제본을 만드는 방법을 보여줘요.
콘솔로 교차 리전 읽기 전용 복제본 만들기
AWS Management Console을 사용해 AWS 리전 간에 읽기 전용 복제본을 만들 수 있어요.
콘솔로 AWS 리전 간에 읽기 전용 복제본을 만들려면
-
AWS Management Console에 로그인하고 https://console.aws.amazon.com/rds/ 에서 Amazon RDS 콘솔을 엽니다.
-
탐색 창에서 Databases를 선택합니다.
-
읽기 전용 복제본의 소스로 사용할 Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL DB 인스턴스를 선택합니다.
-
Actions에서 Create read replica를 선택합니다.
-
DB instance identifier에 읽기 전용 복제본의 이름을 입력합니다.
-
Destination Region을 선택합니다.
-
사용할 인스턴스 사양을 선택합니다. 읽기 전용 복제본에는 동일하거나 더 큰 DB 인스턴스 클래스와 스토리지 유형을 사용하는 것을 권장해요.
-
다른 AWS 리전에 암호화된 읽기 전용 복제본을 만들려면:
- Enable encryption을 선택합니다.
- AWS KMS key에서 대상 AWS 리전에 있는 KMS 키의 AWS KMS 키 식별자를 선택합니다.
참고
암호화된 읽기 전용 복제본을 만들려면 소스 DB 인스턴스가 암호화되어 있어야 해요. 소스 DB 인스턴스 암호화에 대한 자세한 내용은 Amazon RDS 리소스 암호화를 참고하세요.
-
스토리지 자동 확장(autoscaling) 같은 다른 옵션을 선택합니다.
-
Create read replica를 선택합니다.
CLI로 교차 리전 읽기 전용 복제본 만들기
다른 AWS 리전에 있는 Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL 소스 DB 인스턴스에서 읽기 전용 복제본을 만들려면 create-db-instance-read-replica 명령을 사용할 수 있어요. 이때 읽기 전용 복제본을 만들려는 AWS 리전(대상 리전)에서 create-db-instance-read-replica를 실행하고, 소스 DB 인스턴스의 Amazon 리소스 이름(ARN)을 지정해요. ARN은 Amazon Web Services에서 생성된 리소스를 고유하게 식별해요.
예를 들어 소스 DB 인스턴스가 US East(N. Virginia) 리전에 있다면 ARN은 다음과 비슷하게 생겼어요.
arn:aws:rds:us-east-1:123456789012:db:mydbinstance
ARN에 대한 자세한 내용은 Amazon RDS의 Amazon 리소스 이름(ARN)을 참고하세요.
소스 DB 인스턴스와 다른 AWS 리전에 읽기 전용 복제본을 만들려면 대상 AWS 리전에서 AWS CLI create-db-instance-read-replica 명령을 사용할 수 있어요. 다른 AWS 리전에 읽기 전용 복제본을 만들 때 필요한 파라미터는 다음과 같아요.
--region– 읽기 전용 복제본이 생성될 대상 AWS 리전.--source-db-instance-identifier– 소스 DB 인스턴스의 DB 인스턴스 식별자. 이 식별자는 소스 AWS 리전의 ARN 형식이어야 해요.--db-instance-identifier– 대상 AWS 리전에 있는 읽기 전용 복제본의 식별자.
교차 리전 읽기 전용 복제본 예시
다음 코드는 US East(N. Virginia) 리전의 소스 DB 인스턴스에서 US West(Oregon) 리전에 읽기 전용 복제본을 만들어요.
Linux, macOS, Unix의 경우:
aws rds create-db-instance-read-replica \
--db-instance-identifier myreadreplica \
--region us-west-2 \
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance
Windows의 경우:
aws rds create-db-instance-read-replica ^
--db-instance-identifier myreadreplica ^
--region us-west-2 ^
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance
다른 AWS 리전에 암호화된 읽기 전용 복제본을 만들 때도 다음 파라미터가 필요해요.
--kms-key-id– 대상 AWS 리전에서 읽기 전용 복제본을 암호화하는 데 사용할 KMS 키의 AWS KMS 키 식별자.
암호화된 교차 리전 읽기 전용 복제본 예시
다음 코드는 US East(N. Virginia) 리전의 소스 DB 인스턴스에서 US West(Oregon) 리전에 암호화된 읽기 전용 복제본을 만들어요.
Linux, macOS, Unix의 경우:
aws rds create-db-instance-read-replica \
--db-instance-identifier myreadreplica \
--region us-west-2 \
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance \
--kms-key-id my-us-west-2-key
Windows의 경우:
aws rds create-db-instance-read-replica ^
--db-instance-identifier myreadreplica ^
--region us-west-2 ^
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance ^
--kms-key-id my-us-west-2-key
AWS GovCloud(US-East)와 AWS GovCloud(US-West) 리전 간에 암호화된 읽기 전용 복제본을 만들 때는 --source-region 옵션이 필요해요. --source-region에는 소스 DB 인스턴스의 AWS 리전을 지정해요.
--source-region을 지정하지 않으면 --pre-signed-url 값을 지정해야 해요. 사전 서명된 URL(presigned URL)은 소스 AWS 리전에서 호출되는 create-db-instance-read-replica 명령에 대한 Signature Version 4 서명 요청을 포함하는 URL이에요. pre-signed-url 옵션에 대한 자세한 내용은 AWS CLI 명령 참조의 create-db-instance-read-replica를 참고하세요.
API로 교차 리전 읽기 전용 복제본 만들기
다른 AWS 리전에 있는 Db2, MariaDB, MySQL, Microsoft SQL Server, Oracle 또는 PostgreSQL 소스 DB 인스턴스에서 읽기 전용 복제본을 만들려면 Amazon RDS API 작업 CreateDBInstanceReadReplica를 호출할 수 있어요. 이때 읽기 전용 복제본을 만들려는 AWS 리전(대상 리전)에서 CreateDBInstanceReadReplica를 호출하고 소스 DB 인스턴스의 Amazon 리소스 이름(ARN)을 지정해요. ARN은 Amazon Web Services에서 생성된 리소스를 고유하게 식별해요.
소스 DB 인스턴스와 다른 AWS 리전에 암호화된 읽기 전용 복제본을 만들려면 대상 AWS 리전에서 Amazon RDS API CreateDBInstanceReadReplica 작업을 사용할 수 있어요. 다른 AWS 리전에 암호화된 읽기 전용 복제본을 만들려면 PreSignedURL 값을 지정해야 해요. PreSignedURL에는 읽기 전용 복제본이 생성될 소스 AWS 리전에서 호출할 CreateDBInstanceReadReplica 작업에 대한 요청이 포함되어야 해요. PreSignedUrl에 대한 자세한 내용은 CreateDBInstanceReadReplica를 참고하세요.
예를 들어 소스 DB 인스턴스가 US East(N. Virginia) 리전에 있다면 ARN은 다음과 비슷하게 생겼어요.
arn:aws:rds:us-east-1:123456789012:db:mydbinstance
ARN에 대한 자세한 내용은 Amazon RDS의 Amazon 리소스 이름(ARN)을 참고하세요.
예시
https://us-west-2.rds.amazonaws.com/
?Action=CreateDBInstanceReadReplica
&KmsKeyId=my-us-east-1-key
&PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F
%253FAction%253DCreateDBInstanceReadReplica
%2526DestinationRegion%253Dus-east-1
%2526KmsKeyId%253Dmy-us-east-1-key
%2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%123456789012%25253Adb%25253Amydbinstance
%2526SignatureMethod%253DHmacSHA256
%2526SignatureVersion%253D4%2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Ainstance%25253Amydbinstance
%2526Version%253D2014-10-31
%2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256
%2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request
%2526X-Amz-Date%253D20161117T215409Z
%2526X-Amz-Expires%253D3600
%2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date
%2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613
&DBInstanceIdentifier=myreadreplica
&SourceDBInstanceIdentifier=®ion-arn;rds:us-east-1:123456789012:db:mydbinstance
&Version=2012-01-15
&SignatureVersion=2
&SignatureMethod=HmacSHA256
&Timestamp=2012-01-20T22%3A06%3A23.624Z
&AWSAccessKeyId=
&Signature=
Amazon RDS가 교차 리전 복제를 수행하는 방식
Amazon RDS는 다음 과정을 통해 교차 리전 읽기 전용 복제본을 만들어요. 관련된 AWS 리전과 데이터베이스의 데이터 양에 따라 이 과정은 몇 시간이 걸릴 수 있어요. 이 정보를 사용하면 교차 리전 읽기 전용 복제본을 만들 때 과정이 얼마나 진행됐는지 파악할 수 있어요.
- Amazon RDS가 소스 DB 인스턴스를 복제 소스로 구성하기 시작하고 상태를
modifying으로 설정해요. - Amazon RDS가 대상 AWS 리전에서 지정된 읽기 전용 복제본 설정을 시작하고 상태를
creating으로 설정해요. - Amazon RDS가 소스 AWS 리전에서 소스 DB 인스턴스의 자동 DB 스냅샷을 생성해요. DB 스냅샷 이름 형식은
rds:-인데, 여기서은 소스 인스턴스의 식별자이고은 복사가 시작된 날짜와 시간이에요. 예를 들어rds:mysourceinstance-2013-11-14-09-24는2013-11-14-09-24에 인스턴스mysourceinstance에서 생성된 스냅샷이에요. 자동 DB 스냅샷을 생성하는 동안 소스 DB 인스턴스 상태는modifying으로, 읽기 전용 복제본 상태는creating으로, DB 스냅샷 상태는creating으로 유지돼요. 콘솔의 DB 스냅샷 페이지에는 진행률(progress) 열이 있어 DB 스냅샷 생성이 얼마나 진행됐는지 보여줘요. DB 스냅샷이 완료되면 DB 스냅샷과 소스 DB 인스턴스의 상태가 모두available로 설정돼요. - Amazon RDS가 초기 데이터 전송을 위한 교차 리전 스냅샷 복사를 시작해요. 스냅샷 복사본은 대상 AWS 리전에서 상태가
creating인 자동 스냅샷으로 표시돼요. 이름은 소스 DB 스냅샷과 동일해요. DB 스냅샷 표시의 진행률 열은 복사가 얼마나 진행됐는지 알려줘요. 복사가 완료되면 DB 스냅샷 복사본의 상태가available로 설정돼요. - Amazon RDS는 그다음 복사된 DB 스냅샷을 사용해 읽기 전용 복제본에 초기 데이터를 로드해요. 이 단계에서 읽기 전용 복제본은 대상 리전의 DB 인스턴스 목록에 상태
creating으로 표시돼요. 로드가 완료되면 읽기 전용 복제본 상태는available로 설정되고 DB 스냅샷 복사본은 삭제돼요. - 읽기 전용 복제본이
available상태에 도달하면 Amazon RDS는 읽기 전용 복제본 생성 작업 시작 이후 소스 인스턴스에 발생한 변경 사항을 복제하기 시작해요. 이 단계에서 읽기 전용 복제본의 복제 지연 시간은 0보다 크게 돼요.
복제 지연 시간에 대한 자세한 내용은 읽기 전용 복제 모니터링을 참고하세요.
교차 리전 복제 고려 사항
AWS 리전 내 복제에 적용되는 모든 고려 사항이 교차 리전 복제에도 적용돼요. AWS 리전 간 복제에는 다음과 같은 추가 고려 사항이 있어요.
- 하나의 소스 DB 인스턴스는 여러 AWS 리전에 교차 리전 읽기 전용 복제본을 가질 수 있어요. 소스 VPC의 액세스 제어 목록(ACL) 항목 수 제한 때문에 RDS는 5개 이상의 교차 리전 읽기 전용 복제본 DB 인스턴스를 보장할 수 없어요.
- 계정당 단일 대상 AWS 리전에 대해 최대 20개의 동시 교차 리전 읽기 전용 복제본 생성 요청을 진행할 수 있어요. 같은 대상 AWS 리전에 추가 교차 리전 읽기 전용 복제본 생성 요청을 제출하려면 이 요청들이 완료될 때까지 기다려야 해요.
- GovCloud(US-East)와 GovCloud(US-West) 리전 간에는 복제할 수 있지만, GovCloud(US)로의 복제나 GovCloud(US)에서 나오는 복제는 할 수 없어요.
- 다음 RDS 엔진의 경우, 소스 Amazon RDS DB 인스턴스가 다른 Amazon RDS DB 인스턴스의 읽기 전용 복제본이 아닐 때만 그 소스에서 교차 리전 Amazon RDS 읽기 전용 복제본을 만들 수 있어요.
- RDS for Db2
- RDS for SQL Server
- RDS for Oracle
- RDS for PostgreSQL 14.1 미만 버전
- 이 제한은 RDS for PostgreSQL 14.1 이상, RDS for MariaDB, RDS for MySQL을 실행하는 DB 인스턴스에는 적용되지 않아요.
- 소스 인스턴스와 다른 AWS 리전에 있는 읽기 전용 복제본은 지연 시간이 더 높을 것으로 예상해야 해요. 이 지연은 리전 데이터 센터 사이의 더 긴 네트워크 채널에서 발생해요.
- 교차 리전 읽기 전용 복제본의 경우
--db-subnet-group-name파라미터를 지정하는 모든 읽기 전용 복제본 생성 명령은 같은 VPC의 DB 서브넷 그룹을 지정해야 해요. - 대부분의 경우 읽기 전용 복제본은 지정된 DB 엔진의 기본 DB 파라미터 그룹과 DB 옵션 그룹을 사용해요.
- Db2 DB 엔진의 경우 복제본에 사용자 지정 파라미터 그룹을 지정해야 해요. BYOL 모델을 사용하는 복제본의 경우 이 사용자 지정 파라미터 그룹에 IBM Site ID와 IBM Customer ID가 포함되어야 해요. AWS Management Console, AWS CLI, RDS API를 사용해 복제본에 이 사용자 지정 파라미터 그룹을 지정할 수 있어요. 자세한 내용은 Db2용 BYOL(bring your own license)의 IBM ID를 참고하세요.
- MySQL 및 Oracle DB 엔진의 경우 AWS CLI 명령 create-db-instance-read-replica의
--db-parameter-group-name옵션에서 읽기 전용 복제본에 사용자 지정 파라미터 그룹을 지정할 수 있어요. AWS Management Console을 사용할 때는 사용자 지정 파라미터 그룹을 지정할 수 없어요. - 읽기 전용 복제본은 기본 보안 그룹을 사용해요.
- Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle DB 인스턴스의 경우 교차 리전 읽기 전용 복제본의 소스 DB 인스턴스가 삭제되면 읽기 전용 복제본이 승격돼요.
- PostgreSQL DB 인스턴스의 경우 교차 리전 읽기 전용 복제본의 소스 DB 인스턴스가 삭제되면 읽기 전용 복제본의 복제 상태가
terminated로 설정돼요. 읽기 전용 복제본이 승격되지는 않아요. - 읽기 전용 복제본을 수동으로 승격하거나 삭제해야 해요.
교차 리전 읽기 전용 복제본 요청하기
교차 리전 읽기 전용 복제본 생성을 요청하기 위해 소스 리전과 통신하려면 요청자(IAM 역할 또는 IAM 사용자)가 소스 DB 인스턴스와 소스 리전에 대한 액세스 권한을 가지고 있어야 해요.
요청자의 IAM 정책에 있는 특정 조건 때문에 요청이 실패할 수 있어요. 다음 예시는 소스 DB 인스턴스가 US East(Ohio)에 있고 읽기 전용 복제본이 US East(N. Virginia)에 생성된다고 가정해요. 이 예시들은 요청자의 IAM 정책에서 요청을 실패하게 만드는 조건을 보여줘요.
- 요청자의 정책에
aws:RequestedRegion조건이 있는 경우.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "us-east-1"
}
}
이 요청은 정책이 소스 리전에 대한 액세스를 허용하지 않기 때문에 실패해요. 요청이 성공하려면 소스 리전과 대상 리전을 모두 지정하세요.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": [
"us-east-1",
"us-east-2"
]
}
}
- 요청자의 정책이 소스 DB 인스턴스에 대한 액세스를 허용하지 않는 경우.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": "arn:aws:rds:us-east-1:123456789012:db:myreadreplica"
...
요청이 성공하려면 소스 인스턴스와 복제본을 모두 지정하세요.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": [
"arn:aws:rds:us-east-1:123456789012:db:myreadreplica",
"arn:aws:rds:us-east-2:123456789012:db:mydbinstance"
]
...
- 요청자의 정책이
aws:ViaAWSService를 거부하는 경우.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": "*",
"Condition": {
"Bool": {"aws:ViaAWSService": "false"}
}
소스 리전과의 통신은 RDS가 요청자를 대신해 수행해요. 요청이 성공하려면 AWS 서비스가 수행하는 호출을 거부하지 마세요.
- 요청자의 정책에
aws:SourceVpc또는aws:SourceVpce조건이 있는 경우.- RDS가 원격 리전에 호출할 때 지정된 VPC 또는 VPC 엔드포인트에서 호출하지 않으므로 이러한 요청이 실패할 수 있어요.
요청을 실패하게 만들 수 있는 위 조건 중 하나를 사용해야 한다면, 정책에 aws:CalledVia가 포함된 두 번째 명령문을 추가해 요청이 성공하도록 할 수 있어요. 예를 들어 aws:SourceVpce와 함께 aws:CalledVia를 다음과 같이 사용할 수 있어요.
...
"Effect": "Allow",
"Action": "rds:CreateDBInstanceReadReplica",
"Resource": "*",
"Condition": {
"Condition" : {
"ForAnyValue:StringEquals" : {
"aws:SourceVpce": "vpce-1a2b3c4d"
}
}
},
{
"Effect": "Allow",
"Action": [
"rds:CreateDBInstanceReadReplica"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"rds.amazonaws.com"
]
}
}
}
자세한 내용은 IAM 사용 설명서의 IAM의 정책 및 권한을 참고하세요.
읽기 전용 복제본 인증
교차 리전 DB 읽기 전용 복제본 생성 요청이 success를 반환하면, RDS는 백그라운드에서 복제본 생성을 시작해요. RDS가 소스 DB 인스턴스에 액세스할 수 있도록 하는 인증이 생성돼요. 이 인증은 소스 DB 인스턴스를 읽기 전용 복제본에 연결하고, RDS가 지정된 읽기 전용 복제본에만 복사할 수 있게 해줘요.
- 이 인증은 RDS가 서비스 연결 IAM 역할의
rds:CrossRegionCommunication권한을 사용해 확인해요. 복제본이 인증되면 RDS는 소스 리전과 통신하고 복제본 생성을 완료해요. - RDS는 이전에
CreateDBInstanceReadReplica요청으로 인증되지 않은 DB 인스턴스에는 액세스할 수 없어요. 인증은 읽기 전용 복제본 생성이 완료되면 취소돼요. - RDS는 서비스 연결 역할을 사용해 소스 리전에서 인증을 확인해요. 복제 생성 과정에서 서비스 연결 역할을 삭제하면 생성이 실패해요.
자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참고하세요.
AWS Security Token Service 자격 증명 사용
전역 AWS Security Token Service(AWS STS) 엔드포인트의 세션 토큰은 기본적으로 활성화된 AWS 리전(상용 리전)에서만 유효해요. AWS STS의 assumeRole API 작업에서 자격 증명을 사용한다면, 소스 리전이 옵트인 리전인 경우 리전별 엔드포인트를 사용하세요. 그렇지 않으면 요청이 실패해요. 자격 증명이 두 리전 모두에서 유효해야 하는데, 옵트인 리전에서는 리전별 AWS STS 엔드포인트를 사용할 때만 그렇게 되기 때문이에요.
전역 엔드포인트를 사용하려면 작업에서 두 리전 모두에 대해 활성화되어 있는지 확인하세요. AWS STS 계정 설정에서 전역 엔드포인트를 Valid in all AWS Regions(모든 AWS 리전에서 유효)로 설정하세요.
사전 서명된 URL 파라미터의 자격 증명에도 같은 규칙이 적용돼요.
자세한 내용은 IAM 사용 설명서의 AWS 리전에서 AWS STS 관리하기를 참고하세요.
교차 리전 복제 비용
교차 리전 복제를 위해 전송된 데이터에는 Amazon RDS 데이터 전송 요금이 부과돼요. 소스 AWS 리전에서 나가는 데이터 전송에 대해 다음과 같은 교차 리전 복제 작업에 요금이 발생해요.
- 읽기 전용 복제본을 만들면 Amazon RDS는 소스 인스턴스의 스냅샷을 찍어 스냅샷을 읽기 전용 복제본의 AWS 리전으로 전송해요.
- 소스 데이터베이스에서 데이터가 수정될 때마다 Amazon RDS는 소스 AWS 리전에서 읽기 전용 복제본의 AWS 리전으로 데이터를 전송해요.
데이터 전송 요금에 대한 자세한 내용은 Amazon RDS 요금을 참고하세요.
MySQL 및 MariaDB 인스턴스의 경우 생성하는 교차 리전 읽기 전용 복제본 수를 줄여 데이터 전송 비용을 절감할 수 있어요. 예를 들어 한 AWS 리전에 소스 DB 인스턴스가 있고 다른 AWS 리전에 읽기 전용 복제본 3개를 두고 싶다고 가정해 보세요. 이 경우 소스 DB 인스턴스에서 읽기 전용 복제본 하나만 만들어요. 나머지 복제본 두 개는 소스 DB 인스턴스 대신 첫 번째 읽기 전용 복제본에서 만들어요.
예를 들어 한 AWS 리전에 source-instance-1이 있다면 다음과 같이 할 수 있어요.
- 새 AWS 리전에서
source-instance-1을 소스로 지정해read-replica-1을 만든다. read-replica-1에서read-replica-2를 만든다.read-replica-1에서read-replica-3을 만든다.
이 예시에서는 source-instance-1에서 read-replica-1로 전송된 데이터에 대해서만 요금이 부과돼요. read-replica-1에서 다른 두 복제본으로 전송된 데이터는 모두 같은 AWS 리전에 있으므로 요금이 부과되지 않아요. 세 복제본을 모두 다른 AWS 리전의 source-instance-1에서 직접 만들면, 세 복제본 모두로의 데이터 전송에 대해 요금이 부과돼요.