以下是一个使用AWS SDK for Python(Boto3)的示例代码,用于获取AWS VPC及其子网的CIDR块:
import boto3
def get_vpc_and_subnet_cidr():
# 创建EC2客户端
ec2_client = boto3.client('ec2')
# 获取所有VPC
response = ec2_client.describe_vpcs()
vpcs = response['Vpcs']
# 遍历每个VPC
for vpc in vpcs:
vpc_id = vpc['VpcId']
print("VPC ID:", vpc_id)
# 获取VPC的CIDR块
vpc_cidr = vpc['CidrBlock']
print("VPC CIDR:", vpc_cidr)
# 获取VPC的子网
response = ec2_client.describe_subnets(Filters=[{'Name': 'vpc-id', 'Values': [vpc_id]}])
subnets = response['Subnets']
# 遍历每个子网
for subnet in subnets:
subnet_id = subnet['SubnetId']
print("Subnet ID:", subnet_id)
# 获取子网的CIDR块
subnet_cidr = subnet['CidrBlock']
print("Subnet CIDR:", subnet_cidr)
print("---")
# 调用函数获取VPC和子网的CIDR块
get_vpc_and_subnet_cidr()
以上代码连接到AWS并使用EC2客户端获取所有VPC。然后,它遍历每个VPC,并获取VPC的CIDR块。接下来,它使用VPC ID作为过滤条件获取该VPC的所有子网,并获取每个子网的CIDR块。
请确保已安装boto3
库,并正确配置AWS凭证(例如,通过环境变量或AWS配置文件)以便使用此示例代码。