一键解决阿里云ECS批量加入多个安全组问题

简单说下,在2018年的时候1月份以前的时候,阿里云单个ECS 安全组,最多能支持5个安全组实例,限制是100个条数,如果要200以上建议您通过划分网段来做,后期给阿里云产品多次反馈,2019年,才解决这个安全组上限2000条的问题,但是支持批量导入很不友好,只能手动添加,为了解决这个蛋疼的问题,下面可能帮助到你批量导入。

近期我们上线智能问答机器人,需要调用我们开发机器人,在微信公众号配置里面需要添加微信公众号的出口的238微信公众号出口IP,由于,阿里云ECS安全组,手动添加太麻烦,我们避开手动添加的坑,下面看代码:

一键解决阿里云ECS批量加入多个安全组问题

!/usr/bin/python3

-- coding:utf-8 --

time : 2019/7/2 11:57 AM

Author : xiaotie

company: xiaotie

import json

with open('/Users/xiaotie/Downloads/json.txt', 'r') as rf:

with open('/Users/xiaotie/Downloads/json1.json', 'w') as wf1:
    with open('/Users/xiaotie/Downloads/json2.json', 'w') as wf2:
        with open('/Users/xiaotie/Downloads/json3.json', 'w') as wf3:
            n = 0
            L = []
            j = 0
            for i in rf:
                d = {
                    "SourceCidrIp": "0.0.0.0/0",
                    "Description": "System created rule.",
                    "DestCidrIp": "",
                    "NicType": "intranet",
                    "DestGroupName": "",
                    "PortRange": "-1/-1",
                    "DestGroupId": "",
                    "Ipv6DestCidrIp": "",
                    "Direction": "ingress",
                    "Priority": 2,
                    "IpProtocol": "ALL",
                    "SourcePortRange": "",
                    "SourceGroupOwnerAccount": "",
                    "Policy": "Accept",
                    "CreateTime": "2019-06-14T07:02:32Z",
                    "SourceGroupId": "",
                    "DestGroupOwnerAccount": "",
                    "Ipv6SourceCidrIp": "",
                    "SourceGroupName": ""}

                l = i.split('"')
                if len(l) > 2 and l[1] != 'ip_list':
                    j += 1
                    d["SourceCidrIp"] = l[1]
                    L.append(d)
                    if j == 90:
                        json.dump(L, wf1, ensure_ascii=False)
                        L = []
                    elif j == 180:
                        json.dump(L, wf2, ensure_ascii=False)
                        L = []
            json.dump(L, wf3, ensure_ascii=False)

执行完成之后可以https://www.json.cn/ 校验json格式,格式如下:

简单说下需要批量导入IP放入 json.txt文件里面,执行这个切割成三份,然后你新建三个安全组,分别批量导入,最后ECS实例应用安全组即可。

点击把 程序生成的json1.json,json2.json,json3.json分别导入即可,加入多个安全组,点击加入多个安全组,这时会显示出一个选择栏,刚才选中的安全组已经添加到选择栏中,再选择另一个安全组点击加入多个安全组,第二个安全组也被加入到选择栏中。点击确定,实例即被加入到两个安全组中啦!

这样就能解决你需要手动添加的IP的烦恼,节约添加安全组大量时间,今天的分享就到这里如果帮助到你请给我点个赞

上一篇:精品问答】蚂蚁双11核心技术:万级规模 K8s


下一篇:给大家kubernetes核心技术详解之一