리소스 공급자 유형을 사용하여 AWS CloudFormation에서 리소스를 생성할 때 다음 오류가 발생합니다. “Resource timed out waiting for creation of physical resource(물리적 리소스 생성을 기다리는 동안 리소스 제한 시간이 초과되었습니다).”
해결 방법
리소스가 60초 이내에 primaryIdentifier 또는 물리적 ID를 반환하지 않으면 ‘Resource timed out waiting for creation of physical resource(물리적 리소스 생성을 기다리는 동안 리소스 제한 시간이 초과됨)’ 오류가 표시됩니다. 이 오류는 리소스의 CreateHandler가 리소스 유형 스키마 파일에서 primaryIdentifier로 지정된 속성을 반환하지 않기 때문에 발생합니다.
참고: 이 파일은 organization-service-resource.json 이름 지정 형식을 사용합니다. 예를 들어, article-ec2-subnet.json은 Article::EC2::Subnet이라는 이름의 Amazon Elastic Cloud Compute(Amazon EC2) 리소스의 파일 이름입니다.
이 문제를 해결하려면 다음 단계를 완료하십시오.
- 리소스 유형 스키마 파일에서 primaryIdentifier 정의가 다음 형식을 사용하는지 확인합니다.
"primaryIdentifier": [
"/properties/Id"
]
참고: Id를 속성 ID로 바꾸십시오. 프로젝트의 루트 디렉터리에서 리소스 스키마 유형 파일을 찾을 수 있습니다.
- CreateHandler 파일에서 모델 객체의 primaryIdentifier 속성을 설정합니다.
예:
final ResourceModel model = request.getDesiredResourceState();
model.setId("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
참고: Id를 리소스 기본 식별자로 바꾸고 abcdxyz를 속성의 고유 식별자 값으로 바꾸십시오.
리소스 공급자를 사용할 때 다른 오류가 발생하면 다음 AWS 지식 센터 문서를 참조하여 문제를 해결하십시오.
관련 정보
GitHub 웹사이트의 CloudFormation CLI.