简单说下,在2018年的时候1月份以前的时候,阿里云单个ECS 安全组,最多能支持5个安全组实例,限制是100个条数,如果要200以上建议您通过划分网段来做,后期给阿里云产品多次反馈,2019年,才解决这个安全组上限2000条的问题,但是支持批量导入很不友好,只能手动添加,为了解决这个蛋疼的问题,下面可能帮助到你批量导入。
近期我们上线智能问答机器人,需要调用我们开发机器人,在微信公众号配置里面需要添加微信公众号的出口的238微信公众号出口IP,由于,阿里云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的烦恼,节约添加安全组大量时间,今天的分享就到这里如果帮助到你请给我点个赞