我正在尝试以编程方式设置 VPN 应推送给客户端的路由,其中一个主要路由是 VPC 网络。有没有办法从我的 VPN 实例中获取 VPC CIDR 块?
答案1
您可以通过以下方式获取 VPC CIDR 块:
$ metadata="http://169.254.169.254/latest/meta-data"
$ mac=$(curl -s $metadata/network/interfaces/macs/ | head -n1 | tr -d '/')
$ cidr=$(curl -s $metadata/network/interfaces/macs/$mac/vpc-ipv4-cidr-block/)
答案2
当然,使用 awscli、boto 或您最喜欢的语言的 AWS API。
首先,使用 EC2 元数据服务获取实例 ID。利用该信息,您可以获取实例的 VPC,然后从 VPC ID 获取 CIDR 范围。
这些步骤显然需要从实例本身运行,因此您需要为具有适当 IAM 权限的服务器分配实例角色来读取上述数据。