RDS Custom for SQL Server 단일 AZ 배포를 다중 AZ 배포로 수정
기존 RDS Custom for SQL Server DB 인스턴스를 단일 AZ 배포에서 다중 AZ 배포로 수정할 수 있습니다. DB 인스턴스를 수정할 경우 Amazon RDS는 여러 가지 작업을 수행합니다.
-
기본 DB 인스턴스의 스냅샷을 생성합니다.
-
스냅샷에서 스탠바이 복제본용 새 볼륨을 생성합니다. 이러한 볼륨은 백그라운드에서 초기화되며 데이터가 완전히 초기화된 후에 최대 볼륨 성능이 달성됩니다.
-
기본 DB 인스턴스와 보조 DB 인스턴스 간의 동기 블록 수준 복제를 활성화합니다.
중요
사용량이 가장 많은 기간에는 프로덕션 DB 인스턴스의 RDS Custom for SQL Server DB 인스턴스를 단일 AZ에서 다중 AZ 배포로 수정하지 않는 것이 좋습니다.
AWS는 스냅샷을 사용하여 대기 인스턴스를 생성하면 단일 AZ에서 다중 AZ로 변환할 때 가동 중지 시간을 피할 수 있지만, 다중 AZ로 변환하는 동안과 이후에 성능에 영향을 미칠 수 있습니다. 이는 쓰기 대기 시간에 민감한 워크로드에 상당한 영향을 미칠 수 있습니다. 이 기능을 사용하면 스냅샷에서 대용량 볼륨을 신속하게 복원할 수 있지만, 이 경우 동기식 복제로 인해 I/O 작업의 지연 시간이 증가할 수 있습니다. 이러한 지연 시간은 데이터베이스 성능에 영향을 줄 수 있습니다.
참고
2024년 8월 29일 이전에 RDS Custom for SQL Server DB 인스턴스를 생성한 경우 수정하기 전에 최신 마이너 버전으로 패치합니다.
-
SQL Server 2019 인스턴스의 경우 DB 엔진 버전을
15.00.4410.1.v1
이상으로 업그레이드합니다. -
SQL Server 2022 인스턴스의 경우 DB 엔진 버전을
16.00.4150.1.v1
이상으로 업그레이드합니다.
주제
CloudFormation을 사용하여 단일 AZ를 다중 AZ 배포로 수정하기 위한 사전 조건 구성
다중 AZ 배포를 사용하려면 사전 조건이 포함된 최신 CloudFormation 템플릿을 적용하거나, 최신 사전 조건을 수동으로 구성해야 합니다. 최신 CloudFormation 사전 조건 템플릿을 이미 적용한 경우에는 이 단계를 건너뛰어도 됩니다.
CloudForma를 사용하여 RDS Custom for SQL Server 다중 AZ 배포를 구성하려면
-
https://console.aws.amazon.com/cloudformation
에서 CloudFormation 콘솔을 엽니다. -
스택 생성 마법사를 시작하려면 단일 AZ 배포를 만드는 데 사용했던 기존 스택을 선택하고 Update(업데이트)를 선택합니다.
스택 업데이트 페이지가 표시됩니다.
-
사전 조건 - 템플릿 준비에서 현재 템플릿 교체를 선택합니다.
-
템플릿 지정(Specify template)에서 다음 작업을 수행합니다.
최신 AWS CloudFormation 템플릿 파일을 다운로드합니다. custom-sqlserver-onboard.zip 링크의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 Save Link As(다른 이름으로 링크 저장)를 선택합니다.
-
custom-sqlserver-onboard.json
파일을 컴퓨터에 저장하고 압축을 풉니다. -
템플릿 소스로 템플릿 파일 업로드를 선택합니다.
-
파일 선택(Choose file)에서
custom-sqlserver-onboard.json
을 찾아 선택합니다.
-
Next(다음)를 선택합니다.
스택 세부 정보 지정(Specify stack details) 페이지가 나타납니다.
-
기본 옵션을 유지하려면 다음(Next)을 선택합니다.
고급 옵션 페이지가 나타납니다.
-
기본 옵션을 유지하려면 다음(Next)을 선택합니다.
-
기본 옵션을 유지하려면 다음(Next)을 선택합니다.
-
변경 사항 검토 페이지에서 다음을 수행합니다.
-
기능에서 이 사용자 지정 이름을 사용하여 AWS CloudFormation이 IAM 리소스를 생성할 수 있음에 동의합니다 확인란을 선택합니다.
-
제출을 선택합니다.
-
-
업데이트가 성공했는지 확인합니다. 작업이 성공하면
UPDATE_COMPLETE
가 표시됩니다.
업데이트가 실패하면 업데이트 프로세스에 지정된 새 구성이 모두 롤백됩니다. 기존 리소스는 계속 사용할 수 있습니다. 예를 들어 번호가 18과 19인 네트워크 ACL 규칙을 추가했는데 같은 번호로 된 기존 규칙이 있는 경우, 업데이트 시 Resource handler
returned message: "The network acl entry identified by 18 already exists.
라는 오류가 반환됩니다. 이러한 시나리오가 발생하면 18보다 작은 숫자를 사용하도록 기존 ACL 규칙을 수정한 후 업데이트를 다시 시도해볼 수 있습니다.
단일 AZ를 다중 AZ 배포로 수동으로 수정하기 위한 사전 조건 구성
중요
설정을 간소화하려면 네트워크 설정 지침에 제공된 최신 AWS CloudFormation 템플릿 파일을 사용하는 것이 좋습니다. 자세한 내용은 CloudFormation을 사용하여 단일 AZ를 다중 AZ 배포로 수정하기 위한 사전 조건 구성 단원을 참조하십시오.
사전 조건을 수동으로 구성하도록 선택한 경우 다음 태스크를 수행합니다.
-
https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
Endpoint(엔드포인트)를 선택합니다. 엔드포인트 생성페이지가 나타납니다.
-
서비스 범주에서 AWS 서비스를 선택합니다.
-
서비스에서
SQS를
검색합니다. -
VPC에서 RDS Custom for SQL Server DB 인스턴스가 배포된 VPC를 선택합니다.
-
서브넷에서 RDS Custom for SQL Server DB 인스턴스가 배포된 서브넷을 선택합니다.
-
보안 그룹에서
-vpc-endpoint-sg
그룹을 선택합니다. -
정책에서 사용자 지정을 선택합니다.
-
사용자 지정 정책에서
AWS 파티션
,리전
,accountId
,IAM-Instance-role
을 고유한 값으로 바꿉니다.{ "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } }, "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*", "Effect": "Allow", "Principal": { "AWS": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/{IAM-Instance-role}" } } ] }
-
Amazon SQS에 액세스할 수 있는 권한으로 인스턴스 프로파일을 업데이트합니다.
AWS 파티션
,리전
,accountId
를 고유한 값으로 바꿉니다.{ "Sid": "SendMessageToSQSQueue", "Effect": "Allow", "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": [ { "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*" } ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } } } >
-
포트 1120을 허용하도록 Amazon RDS 보안 그룹 인바운드 및 아웃바운드 규칙을 업데이트합니다.
보안 그룹에서
-rds-custom-instance-sg
그룹을 선택합니다.인바운드 규칙의 경우 소스
-rds-custom-instance-sg
그룹의 포트1120
을 허용하는 사용자 지정 TCP 규칙을 만듭니다.아웃바운드 규칙의 경우 대상
-rds-custom-instance-sg
그룹의 포트1120
을 허용하는 사용자 지정 TCP 규칙을 만듭니다.
-
프라이빗 네트워크 액세스 제어 목록(ACL)에 DB 인스턴스 소스 서브넷의 TCP 포트
0-65535
를 허용하는 규칙을 추가합니다.참고
인바운드 규칙 및 아웃바운드 규칙을 생성할 때는 기존의 가장 높은 규칙 번호를 기록해 둡니다. 새로 생성하는 규칙의 규칙 번호 100보다 작아야 하며 기존 규칙 번호와 일치하지 않아야 합니다.
네트워크 ACL에서
-private-network-acl
그룹을 선택합니다.인바운드 규칙의 경우
privatesubnet1
및privatesubnet2
에서 나오는 소스와 함께 TCP 포트0-65535
를 허용하는 모든 TCP 규칙을 생성합니다.아웃바운드 규칙의 경우 대상인
privatesubnet1
및privatesubnet2
로 향하는 TCP 포트0-65535
를 허용하는 모든 TCP 규칙을 생성합니다.
RDS 콘솔, AWS CLI 또는 RDS API를 사용하여 수정합니다.
사전 조건을 완료한 후에는 RDS 콘솔, AWS CLI 또는 RDS API를 사용하여 RDS Custom for SQL Server DB 인스턴스를 단일 AZ에서 다중 AZ 배포로 수정할 수 있습니다.
RDS Custom for SQL Server 단일 AZ 배포를 다중 AZ 배포로 수정하려면
https://console.aws.amazon.com/rds/
에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다. -
Amazon RDS 콘솔에서 데이터베이스를 선택합니다.
데이터베이스 창이 표시됩니다.
-
수정하려는 RDS Custom for SQL Server DB 인스턴스를 선택합니다.
-
작업에서 다중 AZ 배포로 변환을 선택합니다.
-
확인 페이지에서 즉시 적용을 선택하여 변경 사항을 즉시 적용합니다. 이 옵션을 선택하면 다운타임이 발생하지 않지만 성능이 영향을 받을 수 있습니다. 다음 유지 관리 기간에 업데이트를 적용하도록 선택할 수도 있습니다. 자세한 내용은 수정 예약 설정 사용 단원을 참조하십시오.
-
확인 페이지에서 다중 AZ로 변환을 선택합니다.
AWS CLI를 사용하여 다중 AZ DB 인스턴스 배포로 변환하려면 modify-db-instance 명령을 호출하고 --multi-az
옵션을 설정합니다. DB 인스턴스 식별자와 수정하려는 기타 옵션 값을 지정합니다. 각 옵션에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.
예
다음 코드는 --multi-az
옵션을 포함하여 mycustomdbinstance
를 수정합니다. 변경 사항은 --no-apply-immediately
를 사용하여 다음 유지 관리 기간에 적용됩니다. 변경 사항을 바로 적용하려면 --apply-immediately
를 사용합니다. 자세한 내용은 수정 예약 설정 사용 단원을 참조하십시오.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-instance \ --db-instance-identifier
mycustomdbinstance
\ --multi-az \--no-apply-immediately
Windows의 경우:
aws rds modify-db-instance ^ --db-instance-identifier
mycustomdbinstance
^ --multi-az \ ^--no-apply-immediately
RDS API를 사용하여 다중 AZ DB 인스턴스 배포로 변환하려면 ModifyDBInstance 작업을 호출하고 MultiAZ
파라미터를 true로 설정합니다.