
我正在嘗試使用 CLI 在 ec2 中建立一個實例。使用 CLI 建立實例時是否可以為實例指定標籤?
aws ec2 run-instances --image-id $ami_id --key-name $deployment_key_name \
--region $region --security-groups default --instance-type m4.large \
--user-data file://./yaml/master.yaml
答案1
自 2017 年 3 月 28 日起,您可以在命令中指定實例(和附加磁碟區)的標籤run-instances
。
例子:
aws ec2 run-instances --image-id ami-abc12345 --count 1 \
--instance-type t2.micro --key-name MyKeyPair \
--subnet-id subnet-6e7f829e \
--tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
公告部落格文章: https://aws.amazon.com/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/
附加文件(請參閱範例 4): http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_CLI
答案2
使用aws ec2 建立標籤之後指令按實例 ID 新增標籤。
答案3
這是我的建議和驗證方法:
我正在使用設定檔名為 ATeam 的 SSO。您需要在配置和憑證檔案中相應地更新它。
建立實例:
aws ec2 run-instances \
--image-id ami-0578f2b35d0328762 \
--instance-type t2.micro \
--security-group-ids sg-065d064965244f9a0 \
--subnet-id subnet-00d93c6b00c0a6ccb \
--key-name devass \
--user-data file://ec2-user-data-web-app.md \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=pub_1},{Key=Group,Value=devass},{Key=LifeCycle,Value=development}]' \
--count 1 \
--profile ATeam
驗證重要的實例信息,抱歉,查詢需要放在一行上,因為我還沒有找到一種方法將其分解為多行。
aws ec2 describe-instances --query "Reservations[*].Instances[*].{Instance:InstanceId,PublicIP:PublicIpAddress,Name:Tags[?Key=='Name']|[0].Value,Group:Tags[?Key=='Group']|[0].Value,LifeCycle:Tags[?Key=='LifeCycle']|[0].Value,Status:State.Name}" \
--profile ATeam \
--output table
結果: 描述實例的控制台輸出