要在AWS公共子网之间进行通信,可以使用VPC peering。VPC peering允许在不同的VPC之间创建私有网络连接,使它们之间可以直接通信。
以下是一个使用AWS SDK for Python(Boto3)创建VPC peering连接的示例代码:
import boto3
def create_vpc_peering_connection(vpc_id1, vpc_id2, region):
ec2 = boto3.client('ec2', region_name=region)
response = ec2.create_vpc_peering_connection(
PeerVpcId=vpc_id2,
VpcId=vpc_id1
)
peering_id = response['VpcPeeringConnection']['VpcPeeringConnectionId']
print(f'VPC peering connection created with ID: {peering_id}')
return peering_id
def accept_vpc_peering_connection(peering_id, region):
ec2 = boto3.client('ec2', region_name=region)
response = ec2.accept_vpc_peering_connection(
VpcPeeringConnectionId=peering_id
)
print(f'Accepted VPC peering connection with ID: {peering_id}')
# 示例用法
vpc_id1 = 'vpc-12345678'
vpc_id2 = 'vpc-abcdefgh'
region = 'us-west-2'
peering_id = create_vpc_peering_connection(vpc_id1, vpc_id2, region)
accept_vpc_peering_connection(peering_id, region)
以上代码创建了一个VPC peering连接,将VPC vpc-12345678
和 vpc-abcdefgh
连接起来,并接受该连接。请确保替换示例代码中的VPC ID和AWS区域为您自己的值。
注意:在创建VPC peering连接之前,确保两个VPC都没有相同的CIDR范围。