Как назвать группу автоматического масштабирования в шаблоне 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.