emp*_*001 3 amazon-web-services amazon-vpc aws-cli
创建 VPC 后,我如何通过 aws ec2 describe-vpcs 从特定 VPC 中仅 grep 1 个 VPC-ID,以便 VPC ID 可以在下一步的脚本中传递,我知道我可以从该命令手动查看它或从 AWS 控制台,
例如:
aws ec2 describe-vpcs --vpc-ids |grep VpcId
"VpcId": "vpc-00a0338c2f671a77c",
"VpcId": "vpc-0b3697513d5987516",
"VpcId": "vpc-061e25f5f78877798",
Run Code Online (Sandbox Code Playgroud)
它给了我所有这些,或者:
aws ec2 describe-vpcs --vpc-ids |grep -i ansible
"Value": "ANSIBLE_VPC",
Run Code Online (Sandbox Code Playgroud)
但我只需要从命令中获取该特定 VPC 的 VPC-ID。
如果您刚刚发出了一个create-vpc命令,那么该 VPC 的 VPC ID 将被返回以响应该命令:
输出:
{
"Vpc": {
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-5EXAMPLE",
"State": "pending",
"VpcId": "vpc-0a60eb65b4EXAMPLE", <-- This is the VPC ID
"OwnerId": "123456789012",
"InstanceTenancy": "default",
"Ipv6CidrBlockAssociationSet": [],
"CidrBlockAssociationSet": [
{
"AssociationId": "vpc-cidr-assoc-07501b79ecEXAMPLE",
"CidrBlock": "10.0.0.0/16",
"CidrBlockState": {
"State": "associated"
}
}
],
"IsDefault": false,
"Tags": []
}
}
Run Code Online (Sandbox Code Playgroud)
因此,您可以像这样创建 VPC 并存储其 ID:
{
"Vpc": {
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-5EXAMPLE",
"State": "pending",
"VpcId": "vpc-0a60eb65b4EXAMPLE", <-- This is the VPC ID
"OwnerId": "123456789012",
"InstanceTenancy": "default",
"Ipv6CidrBlockAssociationSet": [],
"CidrBlockAssociationSet": [
{
"AssociationId": "vpc-cidr-assoc-07501b79ecEXAMPLE",
"CidrBlock": "10.0.0.0/16",
"CidrBlockState": {
"State": "associated"
}
}
],
"IsDefault": false,
"Tags": []
}
}
Run Code Online (Sandbox Code Playgroud)
相反,如果您要为给定名称标签的 VPC 寻找 VPC ID,则可以使用:
$ ID=`aws ec2 create-vpc --cidr-block 10.0.0.0/16 --query Vpc.VpcId --output text`
$ echo $ID
vpc-0fb4d08f9d6501e94
Run Code Online (Sandbox Code Playgroud)
您可以仅使用 aws cli 来实现此目的,并带有过滤器和查询:
aws ec2 describe-vpcs --filters Name=tag:Name,Values=ANSIBLE_VPC --query "Vpcs[].VpcId" --output text"
Run Code Online (Sandbox Code Playgroud)
或者您可以将该命令与 grep 混合使用--filters来完成您的任务:
aws ec2 describe-vpcs --filters Name=tag:Name,Values=ANSIBLE_VPC | grep VpcId | grep -oh "vpc-\w*"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2233 次 |
| 最近记录: |