이 오류를 해결하려면 어떻게 해야 하나요? CloudFormation을 사용하여 RDS 클러스터의 엔진 버전을 업그레이드할 때 “다음 파라미터가 지정된 그룹에 대해 정의되지 않았습니다.” 오류가 발생합니다.

2분 분량
0

AWS CloudFormation을 사용하여 Amazon Relational Database Service(RDS) 클러스터의 엔진 버전을 업그레이드하려고 하면 다음과 같은 오류가 발생합니다. “다음 파라미터가 지정된 그룹에 대해 정의되지 않았습니다.”

간략한 설명

사용자 지정 파라미터 그룹을 사용하는 Amazon RDS DB 클러스터 또는 인스턴스를 업그레이드할 때 업데이트하면 오류 발생

예를 들어 다음 템플릿에서 DBInstance 리소스의 EngineVersion 속성을 5.7.37에서 8.0.28로 업데이트하면 스택 업테이트가 실패합니다. DBParameterGroup 리소스의 Family 속성을 MySQL5.7에서 MySQL8.0으로 업데이트하는 경우에도 스택 업데이트가 실패합니다.

Parameters:
  DBName:
    Default: MyDatabase
    Description: The database name
    Type: String
  DBUser:
    NoEcho: 'true'
    Description: The database admin account username
    Type: String
  DBPassword:
    NoEcho: 'true'
    Description: The database admin account password
    Type: String
Resources:
  MyDB:
    Type: 'AWS::RDS::DBInstance'
    Properties:
      DBName: !Ref DBName
      AllocatedStorage: '5'
      DBInstanceClass: db.t2.small
      Engine: MySQL
      EngineVersion: 5.7.37
      MasterUsername: !Ref DBUser
      MasterUserPassword: !Ref DBPassword
      DBParameterGroupName: !Ref MyRDSParamGroup
      AllowMajorVersionUpgrade: true
  MyRDSParamGroup:
    Type: 'AWS::RDS::DBParameterGroup'
    Properties:
      Family: MySQL5.7
      Description: CloudFormation Sample Database Parameter Group
      Parameters:
        autocommit: '1'
        general_log: '1'
        old_passwords: '0'

참고: 이 오류 메시지가 발생할 수 있는 다른 시나리오도 있습니다. 다음 해결 섹션의 단계는 이전 시나리오에만 적용됩니다.

해결 방법

다음 단계는 오류를 해결할 수 있는 두 가지 방법입니다. “다음 파라미터가 지정된 그룹에 대해 정의되지 않았습니다.”

참고: 파라미터 그룹을 DB 인스턴스에 적용하면 인스턴스 재부팅이 시작될 수 있습니다. 재부팅하는 동안 데이터베이스가 중단됩니다.

  1. Family 값을 사용하여 스택 템플릿에 새 ParameterGroup 리소스를 추가하고 템플릿에 이전 ParameterGroup 리소스를 유지합니다.
  2. AWS::RDS::DBCluster 또는 AWS::RDS::DBInstance에서 새 ParameterGroup 리소스를 참조하고 EngineVersion 속성을 새 버전으로 업데이트합니다.
    참고: 메이저 버전 업그레이드를 진행하는 경우 AllowMajorVersionUpgrade 속성을 true로 설정해야 합니다.
  3. 업데이트된 템플릿으로 스택을 업데이트합니다.
  4. 스탤이 업데이트된 후 이전 ParameterGroup 리소스를 스택 템플릿에서 제거합니다.

-또는-

  1. ParameterGroup 리소스의 LogicalResourceID를 변경합니다.
  2. AWS::RDS::DBCluster 또는 AWS::RDS::DBInstance에서 새 LogicalResourceID를 참조합니다.
AWS 공식
AWS 공식업데이트됨 2년 전