开发者社区> 楚俊[online]> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【产品功能】弹性网卡支持私网多IP

简介: 弹性网卡支持多IP功能可以最多在一块弹性网卡配置20个私网IP地址,特别适用于于以下场景。 1.单个服务器上托管多个应用,提升实例利用率,每个应用对外暴露一个独立的服务IP地址。 2.当实例发生故障时可以将流量快速转移到另外一台正常实例的辅助IP地址上,达到故障恢复的目的。
+关注继续查看

分配私网多IP

  1. 目前私网多IP功能只支持IPv4且白名单开放,白名单申请请提交工单
  2. 您需要一台支持私网多IP的ECS。支持私网多IP的ECS规格可通过接口DescribeInstanceTypes查询。
  3. 为ECS的主网卡或辅助网卡分配私网多IP。分配私网多IP接口AssignPrivateIpAddresses。查询分配的IP地址接口DescribeNetworkInterfaces
  4. 配置私网多IP。登录分配多IP的ECS,这时使用命令ifconfig不能看到分配的私网多IP,要使用ifconfig配置分配的IP之后才能看到。此时私网多IP配置完成,可以使用。

    命令格式(此种配置方式重启失效):
    # ifconfig eth0:{new ip name} {your ip address} netmask {your netmask} up
    for example: 
    # ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 up

回收私网多IP

  1. 使用接口DescribeNetworkInterfaces查询分配的辅助IP地址。
  2. 使用接口UnassignPrivateIpAddresses回收私网多IP。

多IP使用注意事项

  1. 目前私网多IP功能只支持IPv4且白名单开放,白名单申请请提交工单
  2. 状态限制:

    • 网卡必须为 已绑定(InUse)或 可用(Available)状态。
    • 主网卡分配回收私网多IP,其ECS必须为运行中(Running)或者 已停止(Stopped)状态
  3. Quota限制,查询规格私网IP Quota途径:Helper文档,或者接口DescribeInstanceTypes

    • 当网卡已经挂载到实例上,实例上每个网卡分配的私网IP(包括主私网IP)个数不能大于实例规格私网IP Quota。
    • 当网卡为Available状态,最多能分配10个私网IP。
    • 当网卡已经分配的私网IP数量大于要挂载实例规格私网IP Quota,不允许挂载。
    • 当实例上网卡分配的私网IP数量大于目标规格支持的私网IP Quota,不允许变配。
  4. 安全组

    • 一个安全组内最多2000个私网IP。
    • 分配的辅助IP所属的安全组和其网卡一致。
  5. 只支持VPC实例,按照指定IP地址分配辅助IP时,指定的IP地址必须在网卡所属VPC内未被使用。

多IP分配回收代码示例

#  coding=utf-8

# if the python sdk is not install using 'sudo pip install aliyun-python-sdk-ecs'
# if the python sdk is install using 'sudo pip install --upgrade aliyun-python-sdk-ecs'
# make sure the sdk version is 4.7.1, you can use command 'pip show aliyun-python-sdk-ecs' to check

import json
import logging

from aliyunsdkcore import client
from aliyunsdkecs.request.v20140526.AssignPrivateIpAddressesRequest import AssignPrivateIpAddressesRequest
from aliyunsdkecs.request.v20140526.UnassignPrivateIpAddressesRequest import UnassignPrivateIpAddressesRequest

# configuration the log output formatter, if you want to save the output to file,
# append ",filename='ecs_invoke.log'" after datefmt.

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%a, %d %b %Y %H:%M:%S')


# send open api request
def _send_request(request):
    request.set_accept_format('json')
    try:
        response_str = clt.do_action(request)
        logging.info(response_str)
        response_detail = json.loads(response_str)
        return response_detail
    except Exception as e:
        logging.error(e)


# assign private ip addresses to eni
def assign_private_ip_addresses(eniId, count, private_ip_address_list):
    request = AssignPrivateIpAddressesRequest()
    request.set_NetworkInterfaceId(eniId)
    if (count != None):
        request.set_SecondaryPrivateIpAddressCount(count)
    if (private_ip_address_list != None):
        request.set_PrivateIpAddresss(private_ip_address_list)
    _send_request(request)


# assign private ip addresses to eni by secondary private ip address count
def assign_private_ip_by_count(eniId, count):
    assign_private_ip_addresses(eniId, count, None)


# assign private ip addresses to eni by secondary private ip address list
def assign_private_ip_by_addresses(eniId, private_ip_address_list):
    assign_private_ip_addresses(eniId, None, private_ip_address_list)


# unassign private ip addresses by secondary private ip address list
def unassign_private_ip_addresses(eniId, private_ip_address_list):
    request = UnassignPrivateIpAddressesRequest()
    request.set_NetworkInterfaceId(eniId)
    request.set_PrivateIpAddresss(private_ip_address_list)
    _send_request(request)


if __name__ == '__main__':
    # client init
    clt = client.AcsClient('Your Access Key Id', 'Your Access Key Secrect', 'cn-zhangjiakou')

    # assign_private_ip_by_count("eni-id", 1)
    #
    # assign_private_ip_by_addresses("eni-id", ["192.168.1.1", "192.168.1.2"])
    #
    # unassign_private_ip_addresses("eni-id", ["192.168.1.1", "192.168.1.2"])

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS弹性网卡+弹性公网IP配置最佳实践之策略路由
目前阿里云ECS部分机型可以配置多张网卡(一张原生网卡+若干张弹性网卡),用来实现业务上对于系统内多网卡的需求,详细可以参考 【新功能】弹性公网IP绑定弹性网卡新功能及最佳实践 。在使用过程中,可能会遇到多个弹性公网IP绑定到一个ECS上的原生网卡、弹性网卡上后无法通信的问题,这个时候需要检查系统内的路由配置和策略(policy rules)。
0 0
【ECS】好消息,弹性网卡支持添加辅助私网IP啦
背景 阿里云的ECS服务器,很早就支持了多网卡的挂载,卸载。近日我们又推出了新功能,每块弹性网卡又支持分配和回收多辅助私网IP地址啦。 实例列表页以及详情页支持管理主网卡的辅助私网IP 在实例列表页,在每一个实例的操作栏里点击 更多 -> 网络和安全组 -> 管理辅助私网IP,可看到,弹出了相应的...
4316 0
【网络新功能】NAT网关和弹性公网IP一键组合购买,开通效率提升一倍
NAT网关和弹性公网IP一键组合购买,开通效率提升一倍,即开即用
1407 0
【新功能】弹性公网IP绑定弹性网卡新功能及最佳实践
通过弹性公网IP绑定弹性网卡功能,可以让企业打造出更更健壮,更灵活,扩展性更强的互联网IT解决方案。 两个最常见的最佳实践场景包括公网IP和私网IP同时在云服务器上迁移和单台云服务器支持多个公网IP。
7560 0
NAT网关之SNAT进阶使用(二)构建ECS级别SNAT出网方式
NAT网关是云上VPC ECS访问Internet的出入口。阿里云NAT网关控制台创建SNAT条目默认只支持交换机粒度。如何设置ECS粒度的SNAT规则呢,本文将为您揭晓。
4254 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
19189 0
您的网卡配置暂不支持1000M宽带说明
  国内宽带网速越来越快,运营商更是在今年初纷纷推进千兆宽带业务。为了让用户更好地了解网络状况,360宽带测速器发布新版,优化了宽带测速范围,可有效支持最高1000M的带宽测量。此外,宽带测速器能检测用户网卡状况,若发现无法支持千兆,还将及时做出提醒。
2435 0
详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口
概述 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢?
15342 0
阿里云发布固定公网IP升级为弹性公网IP功能
固定公网IP,弹性公网IP,为什么一个IP还有这么多类型? 到底应该选哪种类型的IP? 为什么小编推荐弹性公网IP,弹性公网IP有哪些黑科技? 本文带您一一探索和解密。
11365 0
阿里云开启共享带宽新时代【二】:负载均衡,NAT网关,ECS都支持共享带宽啦
阿里云的EIP开始支持绑定负载均衡SLB和NAT网关,共享带宽开始支持负载均衡SLB和NAT网关。通过阿里云共享带宽实现了用户在整个云上vDC只需采购一份带宽,让后端所有云产品共享这份带宽,达到节省带宽成本,简化运维的目的。
26953 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
企业级弹性公网IP发布
立即下载
又快又稳:阿里云下一代虚拟交换机解析
立即下载
阿里云网络-SLB负载均衡产品介绍
立即下载