Как назвать группу автоматического масштабирования в шаблоне CloudFormation?

У меня есть шаблон CloudFormation, который создает группу автоматического масштабирования (между прочим). Как я могу присвоить группе автоматического масштабирования имя в шаблоне?
В документах AWS ничего не упоминается (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html), и его можно сделать, если я создам его через сайт AWS. (Мне нужно дать группе имя, потому что мне нужно найти эту группу из другого script)

EDIT: я попытался добавить тег под названием "Имя", но он все равно не работает:

"Resources": {
"MyServerGroup" : {
  "Type" : "AWS::AutoScaling::AutoScalingGroup",
  "Properties" : {
    "AvailabilityZones" : { "Fn::GetAZs" : ""},
    "LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
    "MinSize" : { "Ref" : "ServerCount" },
    "MaxSize" : { "Ref" : "ServerCount" },
    "DesiredCapacity" : { "Ref" : "ServerCount" },
    "LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancerName" } ],
    "Tags" : [ {
      "Key" : "Name",
      "Value" : { "Ref" : "ServerName" },
      "PropagateAtLaunch" : "true"
    } ]
  },
  "CreationPolicy": {
    "ResourceSignal": {
      "Count": "2",
      "Timeout": "PT5M"
    }
  }
},

Столбец имени в консоли AWS по-прежнему отображает что-то вроде "MyStackName-MyServerGroup-345MH3NF34N7E", а в поле "Теги" я могу увидеть пару "ключ-значение" для тега "Name", который я добавил.

Ответы

Ответ 1

Создайте тег для ASG с ключом "Имя" (важна столица N). Это будет использоваться для столбца "Имя" в консоли.

Обратите внимание, что вы можете найти ASG, ища известный тег, отличный от Name, из вашего другого script. Теги - отличный способ поиска ресурсов.

Ответ 2

Хотя присвоение имени AutoScalingGroup (ASG) не представляется возможным, вы можете экспортировать имя, назначенное, когда ASG создается шаблоном CloudFormation (CF), используя следующее:

  Outputs:
  AutoScalingGroupName:
    Description: "AutoScalingGroup Name"
    Export:
      Name:
        Fn::Sub: ${AWS::StackName}-autoscalinggroupname
    Value: { Ref: AutoScalingGroup }

Имя ASG затем может быть использовано в других шаблонах CF, хотя это, возможно, не то, что OP означает "найти эту группу из другого script".

Ответ 3

Очевидно, из AWS Tagging Auto Scaling Groups and Instances doc вы не можете установить значение тега с префиксом aws:.

Я думаю, значение, которое вы прочитали с консоли "MyStackName-MyServerGroup-345MH3NF34N7E" имеет тег aws:autoscaling:groupName. Поэтому очевидно, что вы не можете установить имя автоматического масштабирования группы в шаблоне CloudFormation.

К сожалению, по моему опыту вы не можете передать значение тега в шаблоне CloudFormation. Но лучше всего, вы можете использовать AWS SDK для чтения значения тега из запущенных экземпляров EC2.