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

原文地址:https://www.cnblogs.com/zhaowei121/p/10196494.html

时间: 2024-10-08 13:21:37

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

linux双网卡绑定+单网卡多IP绑定

网卡模式简介: 目前网卡绑定mode共有七种(0~6)bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种: mode=0:平衡负载模式,有自动备援,但需要"Switch"支援及设定. mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援. mode=6:平衡负载模式,有自动备援,不必"Switch"支援及设定. 说明: 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里optionsbond0 mi

【产品功能】配置网卡从此与关机无缘,弹性网卡支持热插拔功能

摘要: 本文主要介绍了弹性网卡的热插拨功能改进,弹性网卡插拔对应的实例不再要求必须为 Stopped 状态,现在只要求是稳定状态( Running Stopped )即可.以及介绍了控制台.OpenAPI如何对弹性网卡进行热插拔操作. 背景 在云计算飞速发展的今天,用户ECS服务器身处的网络环境越来越复杂,弹性网卡让ECS服务器完美游走在日益复杂的网络环境中.但是以前服务器必须是Stopped状态才可以进行弹性网卡(ENI)的插拔,这样可能会影响运行在服务器上的业务.现在很高兴的向大家宣布:弹性

给网卡加私网地址

1.加载8021q协议 moprobe 8021q 2.安装必要的包 yum -y groupinstall base linux 3.添加私网地址(写到开机启动项) vconfig add bond0 200 ifconfig bond0.200 192.168.0.11/24 up

在VMware Workstation中设置双网卡实现SSH使用固定IP登录并且在虚拟系统中任意访问Internet

本内容为原创,如需转载,请注明. 参考: Linux 跟老男孩学Linux运维:Web集群实战( VMware Workstation设置) NAT 服务器的设定(鸟哥的Linux私房菜服务器架设篇(第三版)  ) 一.问题来源 本人在工作中使用笔记本无线上网,因上网IP不固定采用DHCP方式,但如果使用VMware Workstation软件,在登录SSH时最好是固定IP,看了"Linux 跟老男孩学Linux运维"书中讲到VMware网络设置方式为:桥接.NAT.仅主机三种方式,又

弹性公网IP绑定弹性网卡新功能及最佳实践

摘要: 通过弹性公网IP绑定弹性网卡功能,可以让企业打造出更更健壮,更灵活,扩展性更强的互联网IT解决方案. 两个最常见的最佳实践场景包括公网IP和私网IP同时在云服务器上迁移和单台云服务器支持多个公网IP. 什么是弹性公网IP弹性公网IP(Elastic IP Address,简称EIP),是可以独立购买和持有的公网IPv4地址资源. EIP可实时绑定/解绑到专有网络类型的ECS实例.弹性网卡.NAT网关和无公网IP的SLB实例上. 什么是弹性网卡弹性网卡(Elastic Network In

IP地址分类及私网IP

5类IP地址: IP地址共有32位字节,其中A~C类IP地址由类标识号.网络地址和主机地址组成,A类标识最高位为0,网络地址为1字节,主机地址为3字节, B类标识最高位为10,网络地址为2字节,主机地址为2字节,C类标识最高位为110,网络地址为3字节,主机地址为1字节,B类标识最高位为1110,不区分网络地址和主机地址,用于组播,E类标识最高位为1111,实验用地址. IP地址中全0代表的是网络,全1代表的是广播. IP地址分类 固定最高位 第一字节范围 网络位 网络数 主机位 主机数 A 0

公网IP、私网IP

公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Network Address Translation)是网络地址转换,它实现内网的IP地址与公网IP的地址相互转换,将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用.NAT的最典型应用是:在一个局域网内,只需要一台计算机连接上Internet,就可以利用NAT共享Internet连

一次性查看Azure订阅下所有虚拟机VM的公网IP/Public IP和私网IP/Private IP

一次性查看Azure订阅下所有虚拟机VM的公网IP/Public IP和私网IP/Private IP,PowerShell脚本如下: $script_path = Split-Path -Parent $MyInvocation.MyCommand.Definitioncd $script_path Import-Module 'C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azur

单网卡多IP,双网卡实现负载

有些时候会我们一个IP不够用,但是又不想加网卡,可以试试一个网卡实现多个IP,下面我们来操作一下. 生成新增IP配置文件信息: [[email protected] network-scripts]# cat ifcfg-eth0      DEVICE=eth0     IPADDR=10.1.249.114     NETMASK=255.255.0.0     GATEWAY=10.1.211.211     DNS1=10.1.211.211 2.照ifcfg-eth0内容生成ifcfg