EC2有创建标签的选项;我们可以使用cli将标签添加到VPC或带有--tag规范的任何其他ARN吗?我试过以下
aws ec2 create-vpc
--cidr-block 193.164.0.0/16
--instance-tenancy default
--tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'
错误:
Unknown options: --tag-specifications, ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}], ResourceType=instance,Tags=[{Key=webserver,Value=production}]
答案 0 :(得分:3)
要检查aws.exe命令是否支持选项,请使用--generate-cli-skeleton命令行选项。例如:
aws ec2 create-vpc --generate-cli-skeleton
此命令的输出为:
{
"CidrBlock": "",
"AmazonProvidedIpv6CidrBlock": true,
"DryRun": true,
"InstanceTenancy": "host"
}
从命令输出中,您可以验证标签没有选项。
在您的问题中,您询问了有关标记VPC的问题。以下是此案例的示例命令:
aws ec2 create-tags --resources vpc-30783443 --tags Key=Network,Value=Default
答案 1 :(得分:2)
--tag-specifications
是AWS CLI中的一项相对较新的功能。
截至目前(AWS CLI 1.11.178),在创建资源时,只能标记EC2 实例和卷。在创建时标记VPC尚不支持。
答案 2 :(得分:1)
使用AWS Tools for Powershell Cmdlet时,现在有一个标记VPC的选项。
这可以通过先指定要使用的标签,创建VPC并随后应用标签来实现。 例如:
# Name Tag for the VPC
$TagVPCName = New-Object Amazon.EC2.Model.Tag
$TagVPCName.Key = "Name"
$TagVPCName.Value = "Tenancy/Customer 0"
# Name Tag for Other Services
$TagVPCPurpose = New-Object Amazon.EC2.Model.Tag
$TagVPCPurpose.Key = "Purpose"
$TagVPCPurpose.Value = "Dev Environment"
$network = '172.16.0.0/16'
New-EC2Vpc -CidrBlock $network -InstanceTenancy default -Region
New-EC2Tag -Resource $EC2VPC.VpcId -Tag $TagVPCName
New-EC2Tag -Resource $EC2VPC.VpcId -Tag $TagVPCPurpose
更多信息,请访问:
https://spr.com/powershell-function-provision-windows-server-ec2-instance-aws-cloud/
https://github.com/jbernec/AmazonWebServices/blob/master/New-AWSNonDefaultEC2Instance.ps1
答案 3 :(得分:1)
在一行中运行命令。不要在多行中运行它。
例如:
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications 'ResourceType=vpc, Tags=[{Key=Name,Value=EMR-VPC}]'