摘要: 弹性网卡支持多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"])

弹性网卡支持私网多IP的更多相关文章

  1. 微服务注册到Nacos的IP私网172.x.x.x网段无法访问的问题

    解决方案一 显示声明注册服务实例的外网IP,默认就是使用私网的IP造成无法访问的,配置如下: spring: cloud: nacos: discovery: ip: 101.37.6.8 解决方案二 ...

  2. 阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性公网IP是独立的公网IP资源,可以绑定到阿里云专有网络VPC类型的ECS、NAT网关、私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS、NAT网关、SLB的解耦,满足灵活管理的要求。阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性络VPC类型的E

    阿里云弹性公网IP那些事 阿里云云栖号 6月1日 弹性公网IP是独立的公网关.私网负载均衡SLB上,并可以动态解绑,实现公网IP和ECS.NAT网关.SLB的解耦,满足灵活管理的要求.

  3. 阿里云经典网络和专有 专有自己设置网络和私网IP

    阿里云网络系列之经典网络和专有网络   驻云科技 2016-07-29 13:43:44 浏览45005 评论9 云栖社区 nginx 安全与风控 系统软件 编程语言 数据存储与数据库 系统研发与运维 ...

  4. 公网IP、私网IP

    公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Networ ...

  5. IP地址分类及私网IP

    5类IP地址: IP地址共有32位字节,其中A~C类IP地址由类标识号.网络地址和主机地址组成,A类标识最高位为0,网络地址为1字节,主机地址为3字节, B类标识最高位为10,网络地址为2字节,主机地 ...

  6. python学习-判断是否是私网IP地址

    判断是否是私网IP地址 私网IP地址范围如下: 192.168.0.0-192.168.255.255 172.16.0.0-172.31.255.255 10.0.0.0-10.255.255.25 ...

  7. 公网Ip和私网ip

    IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校, ...

  8. 私网IP访问Internet

    公网.内网是两种Internet的接入方式. 内网接入方式:上网的计算机得到的IP地址是Internet上的保留地址,保留地址有3种形式: A类地址:10.0.0.0~10.255.255.255 B ...

  9. 如何通过IP地址分辨公网、私网、内网、外网

    如何通过IP地址分辨公网.私网.内网.外网   内.外网是相对于防火墙而言的,在防火墙内部叫做内网,反之就是外网.   在一定程度上外网等同于公网,内网等同于私网.   地址为如下3个区域就是处于私网 ...

随机推荐

  1. 磁盘设备在 Linux 下的表示方法

    在 Linux 系统中磁盘设备文件的命名规则为: 主设备号 + 次设备号 + 磁盘分区号 对于目前常见的磁盘,一般表示为: sd[a-z]x 主设备号代表设备的类型,相同的主设备号表示同类型的设备. ...

  2. java.sql.SQLException: ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据

    <!--获取ae45at--> <select id="selectAe45at" parameterClass="java.util.Map" ...

  3. 32. Random类

    1.Random class Random implements java.io.Serializable 下面是一个简单验证码的代码: public static void main(String[ ...

  4. leetcood学习笔记-70-爬楼梯

    题目描述: 第一次提交:(超时) class Solution: def climbStairs(self, n: int) -> int: if n == 0 or n == 1 or n = ...

  5. delphi xe10 消息操作

    //消息提醒(从手机屏幕顶部向下滑动,出现的提示消息) NotificationC: TNotificationCenter; procedure TNotificationsForm.btnSend ...

  6. 第k小团+bitset优化——牛客多校第2场D

    模拟bfs,以空团为起点,用堆维护当前最小的团,然后进行加点更新 在加入新点时要注意判重,并且用bitset来加速判断和转移构造 #include<bits/stdc++.h> #incl ...

  7. AdaBoost笔记之原理

    转自:https://www.cnblogs.com/ScorpioLu/p/8295990.html 一.Boosting提升算法 AdaBoost是典型的Boosting算法,属于Boosting ...

  8. Codeforces 1182A Filling Shapes

    题目链接:http://codeforces.com/problemset/problem/1182/A 思路:n为奇数时不可能完全填充,ans = 0.发现若要完全填充,每俩列可产生俩种情况,所以为 ...

  9. 如何查看jdk版本和路径

    cmd进入命令提示符,查看jdk版本,输入java -version;查看jdk路径 ,输入set java home.,这个也是默认路径

  10. 3.4_springboot2.x整合spring Data Elasticsearch

    Spring Data Elasticsearch 是spring data对elasticsearch进行的封装. 这里有两种方式操作elasticsearch: 1.使用Elasticsearch ...