2014-12-16 2 views
15

Мы хотели использовать специфические для компании теги для ресурсов, которые мы создаем в AWS для выставления счетов. Я использую шаблон формирования облаков, чтобы развернуть наш экземпляр Elasticbeanstalk и другие ресурсы, зависящие от проекта. Когда я использую консоль CloudFormation для создания стека, она запрашивает у меня теги на странице после параметров. Мне нужно вручную ввести теги для этого стека. Однако есть ли способ указать те теги (теги для стека) с самим шаблоном формирования облаков? Таким образом, тег распространяется на другие ресурсы? Я знаю, что облако формирует автоматически метки ресурсов с именем стека. Но нам нужны теги, специфичные для компании, для выставления счетов отдельным отделам.Создание облаков AWS Шаблон-предоставление тегов для стека в шаблоне

ответ

12

При запуске AWS CloudFormation запрашиваемые теги будут применены к самому стеку CloudFormation и (по возможности) также будут распространены на ресурсы, запущенные Stack.

Этих тегов может быть передан в API вызова CreateStack, или из командной строки:

Этих тегов применяются ко всему стеку и не включены в Шаблон CloudFormation.

Тем не менее, шаблоны CloudFormation могут включать теги для конкретных ресурсов, которые создаются. Например, при запуске экземпляров EC2 Amazon, метки могут быть включены в шаблоне:

"MyInstance" : { 
    "Type" : "AWS::EC2::Instance", 
    "Properties" : { 
     "SecurityGroups" : [ { "Ref" : "MySecurityGroup" } ], 
     "AvailabilityZone" : "us-east-1a", 
     "ImageId" : "ami-20b65349", 
     "Volumes" : [ 
      { "VolumeId" : { "Ref" : "MyEBS" }, 
         "Device" : "/dev/sdk" } 
     ], 
     "Tags" : [ 
      { 
       "Key" : "Stage", 
       "Value" : "QA" 
      } 
     ] 
    } 
} 
+0

спасибо Джону. (где это возможно) - это намек, который мне нужен. Пометка эластичной среды Beanstalk не поддерживается через cloudformation, однако вы можете пометить ее вручную. Я предполагал, что если он будет поддерживать TAg через консоль, он должен быть выполнен через формирование облаков, и я ошибся. – user2716913

+1

Распространение тегов в CloudFormation было немного непредсказуемым в моем опыте. Это разочаровывает, поскольку требования к документации: «Все теги уровня стека, включая автоматически создаваемые теги, распространяются на ресурсы, поддерживаемые AWS CloudFormation». – Shannon

12

В шаблоне анатомии, вы не можете установить тег стеки на уровень непосредственно. Однако вы можете создать шаблон обертки , имеющий единственный ресурс AWS :: CloudFormation :: Stack.

Вы можете определить теги стека уровня на этот ресурс:

{ 
    "AWSTemplateFormatVersion": "2010-09-09", 
    "Description": "WrapperTemplate", 

    "Resources": { 
    "WrappedStackWithStackLevelTags": { 
     "Type" : "AWS::CloudFormation::Stack", 
     "Properties" : { 
     "Tags" : [ { "Key" : "Stage", "Value" : "QA" } ], 
     "TemplateURL" : "your-original-template-s3-url" 
     } 
    } 
    } 
} 
+0

Я даже не знал, что это вариант ... это невероятно полезно для гораздо большего, чем просто наследование тегов. – VictorKilo

Смежные вопросы