생성
템플릿 개발자가 사용자 지정 리소스가 포함된 스택을 생성하면 CloudFormation에서는 RequestType
이 Create
로 설정된 요청을 사용자 지정 리소스 공급자에게 전송합니다. 이 요청은 특히 사용자 지정 리소스가 생성되는 중에 발생합니다.
사용자 지정 리소스의 소개와 작동 방식은 사용자 정의 리소스 섹션을 참조하세요.
요청
생성 요청에는 다음과 같은 필드가 포함됩니다.
RequestType
-
Create
. RequestId
-
요청에 대한 고유 ID입니다.
ResponseURL
-
응답 URL은 사용자 지정 리소스 공급자에서 AWS CloudFormation에 보내는 응답을 수신할 미리 서명된 S3 버킷을 나타냅니다.
ResourceType
-
CloudFormation 템플릿에서 사용자 지정 리소스의 템플릿 개발자가 선택한 리소스 유형입니다. 사용자 지정 리소스 유형 이름은 최대 60자이고 영숫자 및 다음 문자를 포함할 수 있습니다.
_@-
LogicalResourceId
-
AWS CloudFormation 템플릿에 있는 사용자 지정 리소스의 템플릿 개발자 선택 이름(논리적 ID).
StackId
-
사용자 지정 리소스가 들어 있는 스택을 나타내는 Amazon 리소스 이름(ARN).
ResourceProperties
-
이 필드에는 템플릿 개발자가 보낸
Properties
객체의 내용이 들어 있습니다. 해당 콘텐츠는 사용자 지정 리소스 공급자에 의해 정의됩니다.
예
{
"RequestType" : "Create",
"RequestId" : "unique id for this create request",
"ResponseURL" : "pre-signed-url-for-create-response",
"ResourceType" : "Custom::MyCustomResourceType",
"LogicalResourceId" : "name of resource in template",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10",
"ResourceProperties" : {
"key1" : "string",
"key2" : [ "list" ],
"key3" : { "key4" : "map" }
}
}
응답
Success
생성 요청이 성공하면 다음 필드가 포함된 응답을 Amazon S3 버킷에 전송해야 합니다.
Status
-
SUCCESS
여야 합니다. RequestId
-
요청에 대한 고유 ID입니다. 이 응답 값은 요청에서 그대로 복사해야 합니다.
LogicalResourceId
-
AWS CloudFormation 템플릿에 있는 사용자 지정 리소스의 템플릿 개발자 선택 이름(논리적 ID). 이 응답 값은 요청에서 그대로 복사해야 합니다.
StackId
-
사용자 지정 리소스가 들어 있는 스택을 나타내는 Amazon 리소스 이름(ARN). 이 응답 값은 요청에서 그대로 복사해야 합니다.
PhysicalResourceId
-
이 값은 사용자 지정 리소스 공급업체 고유의 ID여야 하며, 크기는 최대 1KB까지 가능합니다. 값은 빈 문자열일 수 없으며, 동일한 리소스의 모든 응답에 대해 동일해야 합니다.
PhysicalResourceId
에 대해 반환된 값은 사용자 지정 리소스 업데이트 작업을 변경할 수 있습니다. 반환된 값이 같은 경우 일반 업데이트로 간주됩니다. 반환된 값이 다른 경우 AWS CloudFormation은 업데이트를 교체로 인식하고 기존 리소스에 삭제 요청을 전송합니다. 자세한 내용은AWS::CloudFormation::CustomResource
단원을 참조하십시오. NoEcho
-
선택 사항입니다.
Fn::GetAtt
함수를 사용하여 조회할 때 사용자 지정 리소스의 출력을 마스킹할지 여부를 나타냅니다.true
로 설정하면 템플릿의Metadata
섹션에 저장된 값을 제외하고 반환된 모든 값이 별표(*****)로 마스킹됩니다. AWS CloudFormation은Metadata
섹션에 포함된 정보를 변환, 수정 또는 삭제하지 않습니다. 기본값은false
입니다.NoEcho
를 사용하여 민감한 정보를 마스킹 처리하는 방법에 대한 자세한 내용은 템플릿에 자격 증명을 포함하지 않음 모범 사례를 참조하세요. Data
-
선택 사항입니다. 응답과 함께 보낼 사용자 지정 리소스 공급자 정의 이름-값 페어.
Fn::GetAtt
와 템플릿의 이름을 사용해 여기 제공된 값에 액세스할 수 있습니다.중요
이름-값 페어에 중요한 정보가 들어 있는 경우
NoEcho
필드를 사용하여 사용자 지정 리소스의 출력을 마스킹해야 합니다. 그러지 않으면 속성값(예:DescribeStackEvents
)을 드러내는 API를 통해 값이 표시될 수 있습니다.
예
{
"Status" : "SUCCESS",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor",
"Data" : {
"keyThatCanBeUsedInGetAtt1" : "data for key 1",
"keyThatCanBeUsedInGetAtt2" : "data for key 2"
}
}
Failed
생성 요청이 실패하면 다음 필드가 포함된 응답을 S3 버킷에 전송해야 합니다.
Status
-
FAILED
여야 합니다. Reason
-
실패 응답의 이유를 설명합니다.
RequestId
-
요청에 대한 고유 ID입니다. 이 응답 값은 요청에서 그대로 복사해야 합니다.
LogicalResourceId
-
AWS CloudFormation 템플릿에 있는 사용자 지정 리소스의 템플릿 개발자 선택 이름(논리적 ID). 이 응답 값은 요청에서 그대로 복사해야 합니다.
StackId
-
사용자 지정 리소스가 들어 있는 스택을 나타내는 Amazon 리소스 이름(ARN). 이 응답 값은 요청에서 그대로 복사해야 합니다.
PhysicalResourceId
-
이 값은 사용자 지정 리소스 공급업체 고유의 ID여야 하며, 크기는 최대 1KB까지 가능합니다. 값은 빈 문자열일 수 없으며, 동일한 리소스의 모든 응답에 대해 동일해야 합니다.
PhysicalResourceId
에 대해 반환된 값은 사용자 지정 리소스 업데이트 작업을 변경할 수 있습니다. 반환된 값이 같은 경우 일반 업데이트로 간주됩니다. 반환된 값이 다른 경우 AWS CloudFormation은 업데이트를 교체로 인식하고 기존 리소스에 삭제 요청을 전송합니다. 자세한 내용은AWS::CloudFormation::CustomResource
단원을 참조하십시오.
예
{
"Status" : "FAILED",
"Reason" : "Required failure reason string",
"RequestId" : "unique id for this create request (copied from request)",
"LogicalResourceId" : "name of resource in template (copied from request)",
"StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/mystack/5b918d10-cd98-11ea-90d5-0a9cd3354c10 (copied from request)",
"PhysicalResourceId" : "required vendor-defined physical id that is unique for that vendor"
}