AWS CloudFormation 스택을 업데이트하려고 하면 "사용자 지정 이름이 지정된 리소스를 대체해야 하는 경우 CloudFormation에서 스택을 업데이트할 수 없습니다. 'MYResourceXXX'의 이름을 변경하고 스택을 다시 업데이트하십시오”와 유사한 오류 메시지가 표시됩니다. 이 문제를 해결하려면 어떻게 해야 합니까?

이 오류는 일반적으로 스택 업데이트에서 사용자 지정 이름이 포함된 속성이 있는 리소스를 대체하려고 할 때 발생합니다. AWS CloudFormation에서 사용자 지정 이름이 포함된 속성을 대체하려면 사용자 지정 이름을 다른 이름으로 변경해야 합니다. 스택 장애를 방지하고 오류 메시지가 표시되지 않도록 하려면 스택을 업데이트하기 전에 사용자 지정 이름이 포함된 리소스의 이름을 다른 이름으로 변경하십시오.

이 오류의 해결 방법에서는 다음을 가정합니다.

  • 새 스택을 생성하지 않고 기존 스택을 업데이트합니다.
  • 새 사용자 리소스를 생성하지 않고 기존 사용자 지정 리소스 이름을 변경합니다.

이 오류를 해결하려면 다음 단계를 완료하십시오.

1.    코드 편집기에서 업데이트하려는 스택의 AWS CloudFormation 템플릿을 엽니다.

2.    사용자 지정 이름이 포함된 모든 리소스 속성의 이름 또는 값을 다른 이름으로 바꿉니다.
참고: 다음 예에서 MyRDS 리소스의 DBInstanceIdentifier 속성은 사용자 지정 이름인 PRODdb로 설정되어 있습니다. 이 이름(PRODdb)을 PRODdb1 같은 다른 이름으로 변경하지 않으면 AWS CloudFormation 스택을 성공적으로 업데이트할 수 없습니다. 아니면 템플릿에서 DBInstanceIdentifier 속성을 생략할 수도 있습니다. 이렇게 하면 AWS CloudFormation이 DB 인스턴스에 사용할 고유한 물리적 ID를 생성합니다.

"MyRDS": {
    "Type": "AWS::RDS::DBInstance",
    "Properties": {
        "DBInstanceClass": "db.m3.medium",
        "Engine": "MySQL",
        "DBInstanceIdentifier": "PRODdb",
        "AllocatedStorage": "10",
        "AutoMinorVersionUpgrade": "true",
        "BackupRetentionPeriod": "0",
    …
    …
    }
}

중요: 사용자 지정 이름이 지정된 리소스 이름을 바꾸면 AWS CloudFormation이 해당 리소스를 대체합니다. 자세한 내용은 이름 유형을 참조하십시오.

3.    AWS CloudFormation 템플릿에 대한 변경 내용을 저장하고 템플릿을 사용하여 스택을 업데이트합니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2015-08-28

업데이트 날짜: 2019-01-21