您的位置: 首页 > 新闻资讯 > 高质量代理 > 正文

云主机如何批量添加、删除安全组?

发布时间:2019年09月20日 作者: 来源:互联网

  如果有一定基础的技术人员,租用云主机当然不仅仅是把它当作一台数据储存器来用,云主机其实是能够给我们带来很多便利,通过一些设定,我们能够用云主机来完成特定操作。今天给大家分享下如何批量给大量机器添加和移除安全组。


云主机如何批量添加、删除安全组


  用公有云的思路去思考去实现一个安全稳定、可伸缩和经济的业务构架。云运维是有别与传统运维的,比如说了解公有云的都知道安全组的概念,安全组跟防火墙功能很相似,那我的机器是要设置iptables还是要设置安全组呢?设置了安全组还要设置iptables吗?他们有什么区别?我相信很多人对这些有些困惑,建议是如果可以用安全组就不用iptables来管理机器,因为它们有本质的区别:


  第一、安全组是在宿主上面的拦截,iptables是在系统层面的拦截,也就是说如果有人想攻击你,你采用的是安全组方式,这个攻击包根本就到不了你机器上。


  第二、配置iptables是项复杂的工程,如果稍有不慎,后果是毁灭性的,我猜测有过2年运维经验小伙伴应该有把自己关在主机外面的经历,如果采用安全组这方面是可控的,即使有问题,你基本上也可以快速恢复。


  第三、iptables是在每台服务器上写大量的重复规则,而且不可以分层去管理这些规则,安全组是按层来管理机器的安全配置,只需调整你需要改动的部分就可以实现批量去管理机器。


  下面干货教程要来了,因为给几百台机器配置不同的安全组也是个大工程,如果你在控制台去操作,我想你会疯掉,所以这就说到如何去批量管理和操作这些安全组,这里用到了公有云提供的API,因为公有云j基本都有自己的API接口,所以调用他们的API来实现一些自动化操作我认为是每个使用公有云来构架自己业务的运维必须要学会的,脚本本身是在qcloudcli的基础上封装了一层,脚本如下:


  #!/usr/bin/env python

  # -*- coding:utf-8 -*-

  import subprocess

  import json

  import sys

  import argparse

  def R(s):

  return "%s[31;2m%s%s[0m"%(chr(27), s, chr(27))

  def get_present_sgid(vmid):

  descmd = '/usr/bin/qcloudcli dfw DescribeSecurityGroups --instanceId ' + vmid.strip()

  p = subprocess.Popen(descmd, shell=True, stdout=subprocess.PIPE)

  output = p.communicate()[0]

  res = json.loads(output)

  sgid = []

  for d in res['data']:

  sid = d['sgId']

  sgid.append(str(sid))

  return sgid

  def make_json(vmid,sgid):

  pdata = {}

  pdata["instanceId"] = vmid

  pdata["sgIds"] = sgid

  pjson = json.dumps(pdata)

  return pjson

  def add_sgid(vmfile,newsid):

  fi = open(vmfile)

  for v in fi:

  v = v.strip()

  res = get_present_sgid(v)

  print res

  res.append(newsid)

  pjson = make_json(v,res)

  modcmd = 'qcloudcli dfw ModifySecurityGroupsOfInstance --instanceSet ' + "'[" + pjson+ "]'"

  p = subprocess.Popen(modcmd, shell=True, stdout=subprocess.PIPE)

  output = p.communicate()[0]

  print output

  def remove_sgid(vmfile,newsid):

  fi = open(vmfile)

  for v in fi:

  v = v.strip()

  res = get_present_sgid(v)

  res.remove(newsid)

  pjson = make_json(v,res)

  modcmd = 'qcloudcli dfw ModifySecurityGroupsOfInstance --instanceSet ' + "'[" + pjson+ "]'"

  p = subprocess.Popen(modcmd, shell=True, stdout=subprocess.PIPE)

  output = p.communicate()[0]

  #print output

  if __name__ == "__main__":

  parser=argparse.ArgumentParser(description='change sgid', usage='%(prog)s [options]')

  parser.add_argument('-f','--file', nargs='?', dest='filehost', help='vmidfile')

  parser.add_argument('-g','--sgid', nargs='?', dest='sgid', help='sgid')

  parser.add_argument('-m','--method', nargs='?', dest='method', help='Methods only support to add or remove')

  if len(sys.argv)==1:

  parser.print_help()

  else:

  args=parser.parse_args()

  if args.filehost is not None and args.sgid is not None and args.method is not None:

  if args.method == 'add':

  add_sgid(args.filehost, args.sgid)

  elif args.method == 'remove':

  remove_sgid(args.filehost, args.sgid)

  else:

  print R('Methods only support to add or remove')

  else:

  print R('Error format, please see the usage:')

  parser.print_help()


  这个脚本支持批量增加和删除某个安全组,-f后面接一个文件,写入实例的id的列表,-g后面是要增加和删除的安全组Id,-m后面支持add 和remove操作,就是增加或删除,脚本整体思路是先找出实例的安全组列表,然后将新的安全组Id在列表中加入或移除。


相关文章内容简介

1 云主机无法联网如何解决?

  云主机出现使用故障的时候,我们应该怎么解决?第一时间可以选择联系客服,将问题上报,然后让服务商那边来提供解决方案。但如果你是动手能力比较强的,又喜欢自己来解决问题,那么今天万变云就给你带来2个云主机使用出现问题的解决方案,供你参考。  在云主机搭建项目配置的时候,经常出现pip延迟的问题,或者其他wget的问题,这时候发现源... [阅读全文]

2 ssh连接云主机出现故障的解决方法

  云主机的普及率正在不断扩大,越来越多的企业、个人都在用云服务器。但是在使用的过程中,难免会出现这样那样的问题,遇到问题就一定是服务器坏了吗?那可不一定,具体问题还得具体分析。  下面,一起看看当ssh连接云主机出现故障,应该怎么解决。  ssh连接接云主机:  ssh∵root@123.59.xx.xx  报错:THE∵AUTHENTICITY∵OF∵HOST∵XX∵CAN’T∵BE∵E... [阅读全文]

推荐阅读

  1. 05

    2019-07

    哪些用户使用云服务器比较好?

    哪些用户使用云服务器比较好?近年来,网购日趋火热,网络平台对于企业的重要性也日趋加深。越来越多的企业开始搭建自己的网络业务平台。在选择网站主机空间的时候,云服务器进入越来

  2. 05

    2019-08

    云虚拟主机与虚拟主机哪个好

    云虚拟主机与虚拟主机哪个好?新建站,选择虚拟主机的比较多,因为一个网站要运行,至少要有一个放置站点的空间,而虚拟主机价格便宜,所以很多人选择的。提到虚拟主机,你可能会经常

  3. 27

    2019-12

    bgp云主机具有什么优势?

    云主机的优势已经被很多企业了解到了,在这个互联网时代,如果企业不能够及时顺应网络发展,那么是很难及时跟上时代的进步的。云服务器的更新也是,有很多企业都还没意识到重要性。

  4. 25

    2019-10

    选择将主机托管的好处?

    网络时代,每一个企业现在都标配有企业网站,有的企业旗下业务繁多甚至还不止一个网站。而网站的良好运作,离不开服务器的支持。那么,如果企业选择将主机托管,有哪些实质的好处呢?

  5. 11

    2019-05

    服务器怎么选双线和单线?

    服务器怎么选双线和单线?早几年时候互联网的带宽问题常常困扰各大站长(webmaster),但是随着互联网的喷发,这些技术(Technology)问题已经得到很好的解决。vps服务器VPS主机可以像独立服务器一

  6. 01

    2019-06

    云主机与VPS的差异在哪里

    云主机与VPS的差异在哪里?以前大家对VPS是比较熟悉,现在自从有了云这个词大家什么都要买有云的,这云主机和VPS主机有什么不同之处呢?下面我们介绍一下云主机与VPS有什么样的关联与区别