带有--tag规范的VPC标签

时间:2017-10-28 03:16:38

标签: amazon-web-services amazon-ec2 aws-cli amazon-vpc

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}]

4 个答案:

答案 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

https://docs.amazonaws.cn/powershell/latest/reference/

答案 3 :(得分:1)

在一行中运行命令。不要在多行中运行它。

例如:

aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications 'ResourceType=vpc, Tags=[{Key=Name,Value=EMR-VPC}]'