我想使用云形成模板标记附有 ec2 实例的 ebs 卷。我能够在新的 ec2 实例和 ebs 卷上创建标签。
我还尝试了云形成中的用户数据方法。但这没有用..有人可以帮助解决这个问题。
请让我知道我缺少什么。
我也尝试在 url 下面解决这个问题,但它没有用。
如何通过 CloudFormation 设置 EC2 实例根卷的标签
我尝试了以下代码:-
"MyInstance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"SecurityGroups" : "MySecurityGroup",
"AvailabilityZone" : "us-east-1a",
"ImageId" : "ami-20b65349",
"Volumes" : [
{ "VolumeId" : "MyEBS",
"Device" : "/dev/sdk" }
],
"Tags" : [
{
"Key" : "Stage",
"Value" : "QA"
}
]
}
},
并且还使用用户数据......
Tags:
- Key: Application
Value: !Ref 'AWS::StackId'
- Key: Name
Value: MNPMGMT-SPMASTER
NetworkInterfaces:
- NetworkInterfaceId: !GetAtt 'MgmtNetworkingStack.Outputs.niSplunkMstrIp'
DeviceIndex: '0'
BlockDeviceMappings:
- DeviceName: /dev/sdb
Ebs:
Encrypted: 'true'
VolumeSize: '250'
UserData:
Fn::Base64: |
#!/bin/bash
EC2_INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
EC2_REGION=${EC2_AVAIL_ZONE:0:${#EC2_AVAIL_ZONE} - 1}
ROOT_DISK_ID=$(aws ec2 describe-volumes --filters Name=attachment.instance-id,Values={EC2_INSTANCE_ID} Name=attachment.device,Values=/dev/sda1 --query 'Volumes[*].[VolumeId]' --region=${EC2_REGION} --out \"text\" | cut -f 1)
aws ec2 create-tags --resources $ROOT_DISK_ID --tags Key=Name,Value=\"Root Volume my-instance\" --region ${EC2_REGION}
我希望标签也将在现有的 ec2 实例和 ebs 卷上创建,并且应该使用堆栈名称和环境名称命名。
请帮我解决这个问题。