我有一个CloudFormation模板,可以创建一个自动缩放组(以及其他内容)。如何在模板中为自动缩放组指定名称?
AWS文档没有提及任何内容(http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html),如果我通过AWS网站创建它,则可能会这样做。 (我需要给一个组一个名字,因为我需要从另一个脚本中找到这个组)
编辑:我已尝试添加一个名为" Name"的标记,但它仍无效:
"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",并且在Tags字段中,我可以看到我添加的Name标记的键值对。
答案 0 :(得分:2)
使用“名称”键为ASG创建一个标记(大写N很重要)。这将用于控制台中的Name列。
请注意,您可以通过从其他脚本中搜索名称以外的众所周知的标记来查找ASG。标签是搜索资源的好方法。
答案 1 :(得分:2)
虽然似乎无法命名AutoScalingGroup(ASG),但您可以使用以下命令导出CloudFormation(CF)模板创建ASG时分配的名称:
Outputs:
AutoScalingGroupName:
Description: "AutoScalingGroup Name"
Export:
Name:
Fn::Sub: ${AWS::StackName}-autoscalinggroupname
Value: { Ref: AutoScalingGroup }
然后可以在其他CF模板中使用ASG名称,尽管这可能不是OP通过“从另一个脚本中找到该组”的含义。
答案 2 :(得分:1)
CloudFormation现在有一个名为:AutoScalingGroupName
的属性描述:“Auto Scaling组的名称。最小长度为1.最大长度为255.必须遵循以下模式:[\ u0020- \ uD7FF \ uE000- \ uFFFD \ uD800 \ uDC00- \ uDBFF \ uDFFF \ r \ n \吨] *” 类型:字符串 必填:否
请参阅https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html
答案 3 :(得分:0)
显然,从AWS Tagging Auto Scaling Groups and Instances 文档中,您无法设置前缀为aws:
的标记值。
我想,您从控制台“MyStackName-MyServerGroup-345MH3NF34N7E”读取的值是标记aws:autoscaling:groupName
。因此很明显,您无法在CloudFormation模板中设置Auto Scaling组名称。
不幸的是,根据我的经验,您无法在CloudFormation模板中传递标记值。但最好的是,您可以使用AWS SDK从已启动的EC2实例中读取标记值。
答案 4 :(得分:-1)
属性" AutoscalingGroupName"在AWS :: AutoScaling :: AutoScalingGroup实体中工作。
示例模板:
"Autoscaling1"
{
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"AutoScalingGroupName" : String,
"AvailabilityZones" : [ String, ... ],
"Cooldown" : String,
"DesiredCapacity" : String,
"HealthCheckGracePeriod" : Integer,
"HealthCheckType" : String,
"InstanceId" : String,
"LaunchConfigurationName" : String,
"LifecycleHookSpecificationList" : [ LifecycleHookSpecification, ... ],
"LoadBalancerNames" : [ String, ... ],
"MaxSize" : String,
"MetricsCollection" : [ MetricsCollection, ... ],
"MinSize" : String,
"NotificationConfigurations" : [ NotificationConfiguration, ... ],
"PlacementGroup" : String,
"Tags" : [ TagProperty, ... ],
"TargetGroupARNs" : [ String, ... ],
"TerminationPolicies" : [ String, ... ],
"VPCZoneIdentifier" : [ String, ... ]
}
}