AWS EC2 实例支持多个网络接口,这使得实例可以连接到多个子网或 VPC。每个网络接口可以分配一个或多个私有 IP 地址和一个公共 IP 地址,以支持实例的多个网络连接。
以下是一个使用 Python Boto3 SDK 创建和附加多个网络接口的示例:
import boto3
# 创建新的网络接口
ec2 = boto3.resource('ec2')
eni1 = ec2.create_network_interface(SubnetId='subnet-12345678', Description='My first ENI')
eni2 = ec2.create_network_interface(SubnetId='subnet-87654321', Description='My second ENI')
# 将新的网络接口附加到 EC2 实例
instance_id = 'i-0123456789abcdef0'
eni1.attach(InstanceId=instance_id, DeviceIndex=1)
eni2.attach(InstanceId=instance_id, DeviceIndex=2)
这将创建两个新的网络接口(eni1 和 eni2),并将它们分别附加到 EC2 实例(instance_id)。注意,设备索引(DeviceIndex)为一个整数,必须是唯一的。
要为每个网络接口分配私有 IP 地址,请使用 assign_private_ip_addresses() 方法:
# 分配私有 IP 地址给新的网络接口
eni1.assign_private_ip_addresses(SecondaryPrivateIpAddresses=[
{
'PrivateIpAddress': '10.0.0.2',
},
{
'PrivateIpAddress': '10.0.0.3',
},
])
eni2.assign_private_ip_addresses(SecondaryPrivateIpAddresses=[
{
'PrivateIpAddress': '10.1.0.2',
},
{
'PrivateIpAddress': '10.1.0.3',
},
])
这将为 eni1 配置两个辅助私有 IP 地址,分别为 10.0.0.2 和 10.0.
上一篇:AWSEC2-从AMI启动的Windows机器,之前的Windows登录不再有效。
下一篇:AWSEC2-如果EC2服务器有弹性IP,我无法ping它的私有IP,但如果没有弹性IP,我可以从On-Premise服务器ping私有IP。