You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CLI查询VPC对等连接请求方标签名称返回None求助

解决AWS CLI查询VPC对等连接时标签返回None的问题

问题原因

  • 若VPC对等连接(PCX)为跨账户创建,describe-vpc-peering-connections默认不会返回对方账户VPC的标签——AWS不会将其他账户的资源标签暴露给无权限的用户。
  • 若为同一账户PCX,可能是当前IAM权限缺少ec2:DescribeTags,导致无法获取标签信息。

解决方法

1. 同一账户PCX场景

检查当前IAM用户/角色是否拥有ec2:DescribeTags权限,若缺失,更新IAM策略添加该权限。

2. 跨账户PCX场景

由于无法直接通过describe-vpc-peering-connections获取对方VPC标签,需分两步查询:

步骤1:导出PCX与对应VPC ID的映射

aws ec2 describe-vpc-peering-connections --query 'VpcPeeringConnections[*].[VpcPeeringConnectionId, RequesterVpcInfo.VpcId, AccepterVpcInfo.VpcId]' --output text > pcx-vpcs.txt

步骤2:遍历查询每个VPC的名称标签

while read pcx_id req_vpc_id acc_vpc_id; do
    # 查询请求方VPC名称
    req_vpc_name=$(aws ec2 describe-vpcs --vpc-ids $req_vpc_id --query 'Vpcs[0].Tags[?Key==`Name`].Value | [0]' --output text)
    # 查询接受方VPC名称
    acc_vpc_name=$(aws ec2 describe-vpcs --vpc-ids $acc_vpc_id --query 'Vpcs[0].Tags[?Key==`Name`].Value | [0]' --output text)
    # 格式化输出
    echo "$pcx_id | 请求方VPC: $req_vpc_id ($req_vpc_name) | 接受方VPC: $acc_vpc_id ($acc_vpc_name)"
done < pcx-vpcs.txt

3. 优化单次查询(同一账户适用)

如果是同一账户的PCX,也可以用嵌套查询一次性获取标签(前提是有权限):

aws ec2 describe-vpc-peering-connections --query 'VpcPeeringConnections[*].[
    VpcPeeringConnectionId,
    RequesterVpcInfo.VpcId,
    (describe-vpcs --vpc-ids `RequesterVpcInfo.VpcId` --query "Vpcs[0].Tags[?Key==`Name`].Value | [0]"),
    AccepterVpcInfo.VpcId,
    (describe-vpcs --vpc-ids `AccepterVpcInfo.VpcId` --query "Vpcs[0].Tags[?Key==`Name`].Value | [0]")
]' --output table

注:这种嵌套查询依赖AWS CLI的命令替换支持,部分终端环境可能需要调整引号转义。

内容的提问来源于stack exchange,提问作者avinash s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:22:37