辅助网络 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

辅助网络

辅助网络是专为特殊网络使用案例构建的虚拟网络。这些网络在 Amazon 云的各个分区内在逻辑上相互隔离。您可以在辅助网络中创建辅助子网之类的资源。辅助网络与 Amazon VPC 紧密关联,因此特定的实例会被设置为多网段连接,并同时部署在 VPC 和辅助网络中。

辅助网络目前可用于特定实例类型,并且需要通过长期承诺的容量预留方式来使用。如果您认为使用辅助网络可能对您的工作负载有所帮助,请联系您的客户团队获取更多信息。

什么是辅助网络?

辅助网络提供了一个与 VPC 网络结合使用的逻辑隔离网络,因此实例能够同时接入两个独立的网络。辅助网络的优势包括:

  • 适用于特定使用案例和协议(如用于机器学习工作负载的东西向连接)的高性能网络解决方案

  • 具有逻辑隔离功能的多租户支持

  • 实例与 VPC 和 Amazon 服务无缝集成

重要概念

辅助网络

一种区域网络构造,它提供逻辑第 3 层网络,并采用 IPv4 CIDR 数据块(范围从 /28 到 /12)。辅助网络在物理分隔的网络基础设施上独立于 VPC 运行。

辅助子网

辅助网络中特定于某个可用区的构造,类似于 VPC 子网。辅助子网支持范围从 /28 到 /12 的 CIDR 数据块。

辅助接口

连接到辅助网卡的网络接口,用于在辅助子网内实现东西向连接。这些接口在物理和逻辑上与弹性网络接口(ENI)互相分隔。

架构

支持辅助网络的 EC2 实例是多网段的,这意味着它们能够同时在 VPC 和辅助网络之间进行通信:

  • VPC:提供与 Amazon 服务、存储、数据库、网络服务和互联网的南北向 TCP/IP 连接

  • 辅助网络:在支持的专用实例之间提供东西向连接

其他注意事项

  • 辅助接口通过 RunInstances 进行管理,它们不能单独创建或删除。

  • 实例启动后,辅助接口便无法再进行连接或分离。

  • 辅助接口 IP 地址一旦启动便无法更改。

  • 辅助网络不支持安全组、NACL、流日志等 VPC 功能。

开始使用

先决条件

在使用辅助网络启动实例之前,请确保您已在目标区域内配置您的 VPC,并在 EC2 容量的目标可用区中配置子网。

步骤 1:创建辅助网络

创建与 VPC 在同一区域的辅助网络。这是一种区域性资源,能够为您的 RDMA 流量提供逻辑隔离。

aws ec2 create-secondary-network \ --type rdma \ --ipv4-cidr-block 172.31.0.0/16 \ --region us-east-2

参数:

  • --type;网络类型(目前仅支持 rdma)

  • --ipv4-cidr-block:介于 /28 和 /12 之间的 IPv4 CIDR 数据块

  • --region:Amazon 区域(US-East-2)

注意

最佳实践:选择与您的 VPC CIDR 不重叠的 CIDR 数据块,以便在实例层面简化路由操作。

步骤 2:创建辅助子网

在与您的 VPC 子网相同的可用区中创建辅助子网。这是特定于可用区的资源。

aws ec2 create-secondary-subnet \ --secondary-network-id sn-1234567890abcdef0 \ --ipv4-cidr-block 172.31.24.0/24 \ --availability-zone us-east-2a
注意

IP 地址预留:与 VPC 子网一样,Amazon 为每个辅助子网预留了前 4 个 IP 地址和最后一个 IP 地址,供内部使用。

步骤 3:启动实例

在您的 VPC 子网和辅助子网中同时启动实例。该实例将具有多网连接功能,能够与两个网络实现连接。

aws ec2 run-instances \ --image-id ami-12345678 \ --count 1 \ --instance-type <instance> \ --key-name MyKeyPair \ --instance-market-options '{"MarketType": "capacity-block"}' \ --capacity-reservation-specification '{"CapacityReservationTarget": \ {"CapacityReservationId": "cr-1234567890abcdef0"}}' \ --network-interfaces \ "NetworkCardIndex=0,DeviceIndex=0,Groups=sg-12345678,\ SubnetId=subnet-0987654321fedcba0,InterfaceType=interface" \ --secondary-interfaces \ "NetworkCardIndex=1,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=2,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=3,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=4,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=5,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=6,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=7,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true", \ "NetworkCardIndex=8,DeviceIndex=0,SecondarySubnetId=ss-98765421yxz,\ InterfaceType=secondary,PrivateIpAddressCount=1,DeleteOnTermination=true"

关键参数:

  • --network-interfaces:指定用于 VPC 连接的主 Nitro ENI(网卡索引 0)

  • --secondary-interfaces:为辅助子网内的东西向连接指定 8 个辅助接口(网卡索引 1-8)

  • InterfaceType=secondary:表示辅助接口

管理辅助网络资源

描述辅助网络

查看有关辅助网络的详细信息:

aws ec2 describe-secondary-networks \ --secondary-network-id sn-1234567890abcdef0

描述辅助子网

查看有关辅助子网的详细信息:

aws ec2 describe-secondary-subnets \ --secondary-subnet-id ss-98765421yxz

描述辅助接口

查看有关连接到您的实例的辅助网络接口的详细信息:

aws ec2 describe-secondary-interfaces \ --filters "Name=attachment.instance-id,Values=i-1234567890abcdef0"

删除资源

删除辅助子网:

aws ec2 delete-secondary-subnet \ --secondary-subnet-id ss-98765421yxz

删除辅助网络:

aws ec2 delete-secondary-network \ --secondary-network-id sn-1234567890abcdef0
重要

在删除辅助网络之前,您必须先终止所有实例并删除所有辅助子网。

网络设计最佳实践

CIDR 规划

避免 CIDR 重叠:尽管从物理层面上讲,辅助网络与 VPC 是相互隔离的,但使用不重叠的 CIDR 数据块可以简化实例操作系统层面的路由配置。

注意

Amazon 为每个子网预留 5 个 IP 地址。

流量分割

按辅助网络分割:为不同的项目、团队或安全边界创建单独的辅助网络。辅助网络实现了不同实例之间的逻辑隔离。实例无法在不同辅助网络之间进行通信。

使用多个子网:在辅助网络中,使用多个辅助子网按 GPU 索引、可用区或工作负载类型分割流量。例如,一种常见的架构模式是部署单个辅助网络,该网络包含 4 个或 8 个辅助子网,其中每个辅助子网都与一组具有相同索引的 GPU 相对应。

问题排查

实例启动失败

问题:使用辅助网络接口启动实例失败。

解决方案

  • 验证您的 AMI 是否包含适当的驱动程序支持

  • 确保您的辅助子网有足够的可用 IP 地址

  • 确认您的容量预留处于“活动”状态

  • 检查您的辅助子网是否与您的 VPC 子网位于相同的可用区中。

连接问题

问题:无法在各实例之间建立 RDMA 连接。

解决方案

  • 确认所有实例都处于同一个辅助网络和辅助子网中

  • 检查实例上是否正确加载了辅助接口驱动程序

  • 确保您的应用程序绑定到正确的网络接口

  • 同一辅助子网内的实例可通过直接路由进行访问。跨子网通信可通过由 DHCP 分配的静态路由实现。

API 错误

问题:辅助网络和辅助子网操作的 API 调用失败。

解决方案

  • 请确认 ec2:CreateSecondaryNetwork、ec2:CreateSecondarySubnet 等的 IAM 权限

  • 检查 CIDR 数据块是否在支持的范围内(/28 到 /12)

  • 确认您在使用正确的区域和可用区

限额和限制

要申请提高配额,您可以使用 Amazon 服务配额或联系 Amazon Support。

辅助网络配额和限制
资源 限制 可调整
每个区域的辅助网络数 5
每个辅助网络的辅助子网数 200
CIDR 数据块大小 /28 至 /12