RDS Multi-AZ 설정 시 Requesting a specific availability zone is not valid for Multi-AZ instances 에러 해결

RDS에서 Multi AZ 설정 시 Requesting a specific availability zone is not valid for Multi-AZ instances 에러를 해결하는 방법에 대해서 정리해 봤습니다.
2023.05.01

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RDS에서 Multi-AZ 설정 시 Requesting a specific availability zone is not valid for Multi-AZ instances 에러를 해결하는 방법에 대해서 정리해 봤습니다.

에러 발생

Requesting a specific availability zone is not valid for Multi-AZ instances

CloudFormation으로 RDS를 생성했더니 다음과 같은 에러 메시지가 표시되었습니다.

에러 해결

RDS를 생성할 때, AvailabilityZone을 선택하게 되는데, Multi-AZ를 설정할 경우 여기서 에러가 발생하게 됩니다.

AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment

AWS 문서를 살펴보면, Multi-AZ를 설정할 때 AvailabilityZone 매개 변수를 지정할 수 없다고 나와있습니다.

# ------------------------------------------------------------#
#  Create RDS
# ------------------------------------------------------------#
Resources:
  RDSDBInstance:
    Type: "AWS::RDS::DBInstance"
    Properties:
      DBInstanceIdentifier: !Sub ${SystemName}-${EnvName}-rds
      DBName: "xxxxxxxxx"
      DBInstanceClass: !Ref DBInstanceClass
      Engine: postgres
      MultiAZ: true
      EngineVersion: 14.6
      Port: 5432
      AutoMinorVersionUpgrade: false
      PubliclyAccessible: false
      DeletionProtection: true
      AvailabilityZone:
        Fn::Select: 
        - 0
        - Fn::GetAZs: ""

실제 에러가 발생했던 CloudFormation 코드를 확인해 보면, AvailabilityZone를 통해 AZ를 설정하고 있는 것을 확인할 수 있습니다.

※ AvailabilityZone의 경우 Single-AZ 구성의 경우에만 설정할 수 있습니다.

AvailabilityZone:
        Fn::Select: 
        - 0
        - Fn::GetAZs: ""

따라서 문제가 되는 AvailabilityZone 항목을 제거한다면 문제 없이 Multi-AZ가 설정된 RDS를 생성할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !