이름 유형 - AWS CloudFormation

이름 유형

일부 리소스의 경우 사용자 지정 이름을 지정할 수 있습니다. 기본적으로 AWS CloudFormation에서 고유한 물리적 ID를 생성하여 리소스에 이름을 지정합니다. 예를 들어 CloudFormation에서 물리적 ID MyStack-MyBucket-abcdefghijk1을 Amazon S3 버킷의 이름으로 지정할 수 있습니다. 사용자 지정 이름을 사용하면 이름을 보다 쉽게 읽고 식별할 수 있게 됩니다(예: production-app-logs 또는 business-metrics).

리소스 이름은 모든 활성 스택에서 고유해야 합니다. 템플릿을 재사용해 여러 스택을 생성하는 경우 사용자 지정 이름을 변경하거나 템플릿에서 제거해야 합니다. 이름을 지정하지 않으면 CloudFormation에서 고유의 물리적 ID를 생성하여 리소스의 이름을 지정합니다. 이름은 문자로 시작해야 하고, ASCII 문자, 숫자 및 하이픈만 포함할 수 있으며, 끝에 하이픈이 오거나 하이픈을 연속으로 2개 포함하면 안 됩니다.

또한 CloudFormation 외부의 스택 리소스는 관리하지 않습니다. 예를 들어 CloudFormation을 사용하지 않고 스택의 일부인 리소스의 이름을 바꾸면 해당 스택을 업데이트 또는 삭제하려고 할 때마다 오류가 발생할 수 있습니다.

중요

사용자 지정 이름의 리소스가 바뀌는 업데이트는 수행할 수 없습니다. 리소스를 바꿔야 한다면 새 이름을 지정하십시오.

사용자 지정 이름을 사용하려면 CloudFormation 템플릿에서 해당 리소스의 이름 속성을 지정합니다. 사용자 지정 이름을 지원하는 각 리소스에는 사용자가 지정한 고유한 속성이 있습니다. 예를 들어 DynamoDB 테이블의 이름을 지정하려면 다음 샘플에 표시된 것처럼 TableName 속성을 사용합니다.

JSON

"myDynamoDBTable" : { "Type" : "AWS::DynamoDB::Table", "Properties" : { "KeySchema" : { "HashKeyElement": { "AttributeName" : "AttributeName1", "AttributeType" : "S" }, "RangeKeyElement" : { "AttributeName" : "AttributeName2", "AttributeType" : "N" } }, "ProvisionedThroughput" : { "ReadCapacityUnits" : "5", "WriteCapacityUnits" : "10" }, "TableName" : "SampleTable" } }

YAML

myDynamoDBTable: Type: AWS::DynamoDB::Table Properties: KeySchema: HashKeyElement: AttributeName: "AttributeName1" AttributeType: "S" RangeKeyElement: AttributeName: "AttributeName2" AttributeType: "N" ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "10" TableName: "SampleTable"

지원되는 리소스

다음 리소스 유형은 사용자 지정 이름을 지원합니다.