弹性网卡ENI(Elastic Network Interface)是一种可以绑定到专有网络VPC类型ECS实例上的虚拟网卡。通过弹性网卡,您可以实现高可用集群搭建、低成本故障转移和精细化的网络管理。
网卡属性
弹性网卡是一种虚拟的网络接口,需绑定到专有网络VPC实例上使用。一块弹性网卡包含以下几部分属性:
属性 | 说明 |
---|---|
网卡类型 | 分为主网卡和辅助网卡。
|
专有网络VPC | 仅专有网络VPC实例支持弹性网卡。 弹性网卡与绑定的实例必须属于同一专有网络VPC。 |
可用区 | 弹性网卡所属的交换机与绑定的实例必须属于同一可用区。 |
安全组 | 至少加入到一个安全组中,由安全组控制进出弹性网卡的流量。 |
弹性公网IP地址 | 可以绑定1个或多个弹性公网IP。 |
主私网IP地址 | 创建时系统分配或自定义的IP地址,为所属交换机的CIDR网段中的空闲IP地址。 |
辅助私网IP地址 | 所属交换机的CIDR网段中的空闲IP地址,支持分配和回收。 |
MAC地址 | 全局唯一,是弹性网卡的唯一标识。 |
功能特点
弹性网卡是独立的虚拟网卡,可以在多个云服务器之间迁移,实现业务的灵活扩展和迁移。您可以随ECS实例创建并绑定弹性网卡,也可以单独创建辅助弹性网卡再绑定到ECS实例上。
弹性网卡具备以下功能特点:
- 除了随ECS实例一起创建的主网卡外,一台ECS实例支持绑定多个辅助网卡。这些辅助网卡和ECS实例必须属于同一专有网络VPC和同一可用区,可以分属于不同虚拟交换机和不同安全组。
- 每个弹性网卡根据随绑定的实例规格不同,可以分配相应的多个辅助私网IP地址。
- 将一个辅助弹性网卡从一个实例解绑,再重新绑定到另一个实例时,网卡的属性不会发生变化,网络流量将直接切换到新的实例。
- 弹性网卡支持热插拔,可以在ECS实例之间自由迁移,切换弹性网卡绑定的实例时无需重启实例,不影响实例上运行的业务。
使用限制
- 每个弹性网卡支持的各类属性规格限制如下:
- 主私网IP地址:1个。
- 辅助私网IP地址:1个或多个,由实例规格确定。更多信息,请参见实例规格族。
- 弹性公网IP地址:1个或多个,由绑定模式确定。更多信息,请参见EIP绑定弹性网卡概述。
- MAC地址:1个。
- 安全组:至少1个,最多5个。
- 一个账号在一个地域内可以创建的弹性网卡数量有限。更多信息,请参见弹性网卡数量限制。
- 弹性网卡与绑定的ECS实例必须属于同一专有网络VPC和同一可用区,可以分属于不同虚拟交换机和不同安全组。
- 每台ECS实例允许绑定的辅助弹性网卡数量由实例规格决定。
- 非I/O优化实例规格不支持弹性网卡。
- 经典网络类型实例不支持弹性网卡。
- 实例的网络带宽能力由实例规格决定,在一台实例上绑定多个辅助弹性网卡不能提高实例带宽性能。
典型应用场景
弹性网卡可以应用于以下几种场景:
- 搭建高可用集群
满足高可用架构对于单实例多网卡的需求。
- 低成本故障迁移
通过将弹性网卡从ECS实例解绑后再绑定到另外一台ECS实例,将故障实例上的业务流量快速转移到备用实例,实现服务快速恢复。
- 精细化网络管理
可以为实例配置多个弹性网卡,例如,用于内部管理的弹性网卡及用于公网业务访问的弹性网卡等,完成管理数据和业务数据间的隔离。也可以根据源IP地址、应用层协议、端口等对每张弹性网卡配置精准的安全组规则,从而对每张弹性网卡的流量进行安全访问控制。
- 单实例多私网IP地址
支持为ECS实例绑定的弹性网卡分配多个辅助私网IP地址。如果您的ECS实例托管多个应用,每个应用可以对外呈现一个独立的IP地址,提升实例的利用率
- 单实例多公网IP地址
在不使用弹性网卡的情况下,一台ECS实例只能分配一个公网IP地址。通过为弹性网卡绑定弹性公网IP地址,您可以实现单实例分配多公网IP地址。在普通绑定模式下,每个私网IP地址都可以绑定独立的弹性公网IP地址。
控制台操作
在ECS控制台上使用弹性网卡的相关操作如下表所示。
操作任务 | 说明 | 相关文档 |
---|---|---|
创建弹性网卡 | 您可以在创建实例时附加弹性网卡,也可以单独创建弹性网卡。 | 创建弹性网卡 |
绑定弹性网卡 | 您可以在创建实例时绑定弹性网卡,也可以单独创建弹性网卡再绑定到实例上。一块弹性网卡一次只能绑定到一台ECS实例上,但一台ECS实例可以同时绑定多个弹性网卡。 | 绑定弹性网卡 |
配置弹性网卡 | 针对部分不能自动识别辅助弹性网卡的镜像,您需要登录实例配置弹性网卡。
说明 如果实例的镜像为CentOS 7.3 64位、CentOS 6.8 64位或Window Server 2008 R2及更高版本,无需配置弹性网卡。
|
配置弹性网卡 |
分配或回收辅助私网IP地址 | 弹性网卡支持多个辅助私网IP,您可以自由分配或回收。 | |
修改弹性网卡 | 您可以修改主网卡所属安全组,还可以修改辅助弹性网卡名称、所属安全组和描述。 | 修改弹性网卡 |
解绑弹性网卡 | 如果某实例不再使用某一辅助弹性网卡,您可以进行解绑。 | 解绑弹性网卡 |
删除弹性网卡 | 如果您不再需要某一辅助弹性网卡,可以在解绑后进行删除。 | 删除弹性网卡 |
API操作
您可以调用以下API使用弹性网卡。
API | 说明 |
---|---|
CreateNetworkInterface | 创建一个辅助弹性网卡。 |
DeleteNetworkInterface | 删除一个辅助弹性网卡。 |
DescribeNetworkInterfaces | 查询弹性网卡列表。 |
AttachNetworkInterface | 将辅助弹性网卡绑定到实例上。 |
AssignPrivateIpAddresses | 为一块弹性网卡分配一个或多个辅助私有IP地址。 |
UnassignPrivateIpAddresses | 从一块弹性网卡删除一个或多个辅助私有IP地址。 |
DetachNetworkInterface | 从实例上解绑辅助弹性网卡。 |
ModifyNetworkInterfaceAttribute | 修改辅助弹性网卡名称、所属安全组和描述。 |
DescribeInstances | 查询实例上附加的弹性网卡信息。 |