amazon aws Auto Scaling 组实例名称标签

Posted

技术标签:

【中文标题】amazon aws Auto Scaling 组实例名称标签【英文标题】:amazon aws auto scaling groups instance name tag 【发布时间】:2016-01-17 09:01:00 【问题描述】:

如何创建 Auto Scaling 组以创建名称标签包含 + 的实例?

当前标签

Name    LIVE

但我想改成

Name    LIVE-ap-southeast-1a

【问题讨论】:

【参考方案1】:

我的理解是你想把 Key=Name Value=LIVE 改为 Key=Name Value=LIVE- ap-southeast-1a 适用于使用 Auto Scaling 组创建的实例。

当您在步骤 4 创建 Auto Scaling 组时。配置标签可以指定标签的Key和Value。确保选中“标记新实例”复选框(默认情况下):

如果您已经配置了 Auto Scaling 组,则可以选择该组并对其进行编辑:

我测试了这些步骤并确认自动缩放创建的新实例显示正确的键和值:

作为参考,这里是 AWS 关于自动扩展标记的指南:

http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html

【讨论】:

我想动态标记可用区。例如:在可用区 A 中自动创建新实例时,应标记为 LIVE-A,如果在可用区 B 中启动实例,则应标记为 LIVE-B【参考方案2】:

您可以使用 EC2 实例的 EC2 user data 脚本来动态初始化您的实例,包括标签。 EC2 用户数据脚本是从您的 EC2 Auto Scaling 启动配置/模板中设置的。

以运行 AWS Linux 2 的 EC2 为例,bash 脚本可以使用 EC2 metadata service 来获取启动实例的可用区及其 EC2 实例 ID。然后通过 AWS CLI 使用 ec2 create-tags 命令设置实例的名称标签。

#!/bin/bash -x
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1

# Get Instance MetaData
AVAILABILITY_ZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)
REGION=$AVAILABILITY_ZONE::-1
INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)

# Dynamically set instance name
aws ec2 create-tags --region $REGION --resources $INSTANCE_ID --tags Key=Name,Value=LIVE-$AVAILABILITY_ZONE

您的 EC2 实例 IAM 角色需要附加一个允许对 EC2 实例执行ec2:CreateTags 操作的策略。您可以在策略语句中使用条件,仅允许在从您的 EC2 Auto Scaling 组创建的 EC2 实例上创建标签,从而为您的角色提供创建标签所需的最低权限。


    "Version": "2012-10-17",
    "Statement": [
        
            "Sid": "",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:aws_region:aws_account:instance/*",
            "Condition": 
            "StringEquals": 
                "ec2:ResourceTag/aws:autoscaling:groupName": [
                    "prod-as-group"
                ]
            
        
    ]
 

【讨论】:

以上是关于amazon aws Auto Scaling 组实例名称标签的主要内容,如果未能解决你的问题,请参考以下文章

Auto Scaling 组 AWS 的内存利用率

Amazon EC2 Auto Scaling 测试

Auto Scaling AWS [关闭]

ec2 实例和 AWS Auto Scaling 组

AWS:如何为 Auto Scaling 组计算 CPU 利用率

我们可以从 AWS 的 Auto Scaling 组停止 EC2 实例吗