Tipo de nombre
Para algunos recursos, puede especificar un nombre personalizado. De forma predeterminada, AWS CloudFormation genera un ID físico único para dar nombre a un recurso. Por ejemplo, CloudFormation podría dar nombre a un bucket de Amazon S3 con el siguiente ID físico MyStack-MyBucket-abcdefghijk1
. Con nombres personalizados, puede especificar un nombre que sea más fácil de leer e identificar, como production-app-logs
o business-metrics
.
Los nombres de recursos debe ser únicos en todas sus pilas activas. Si reutiliza plantillas para crear varias pilas, debe cambiar o eliminar nombres personalizados desde su plantilla. Si no especifica un nombre, CloudFormation genera un ID físico exclusivo para dar nombre al recurso. Los nombres deben empezar por una letra; sólo puede contener letras ASCII, números y guiones; y no terminar con un guion o contienen dos guiones consecutivos.
Además, no administre los recursos de la pila fuera de CloudFormation. Por ejemplo, si cambia el nombre de un recurso que forme parte de una pila sin usar CloudFormation, es posible que aparezca un error cada vez que trate de actualizar o eliminar dicha pila.
importante
No se puede realizar una actualización para que provoque la sustitución de un recurso con nombre personalizado. Si debe sustituir el recurso, especifique un nuevo nombre.
Ejemplo
Si desea utilizar un nombre personalizado, especifique una propiedad de nombre para dicho recurso en su plantilla de CloudFormation. Cada recurso compatible con nombres personalizados tiene su propia propiedad, que se especifica. Por ejemplo, para dar nombre a una tabla de DynamoDB, use la propiedad TableName
, como se muestra en el siguiente ejemplo:
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"
Recursos admitidos
Los siguientes tipos de recursos admiten nombres personalizados: