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

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

发布时间: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. 11

    2019-02

    独享服务器托管有哪些好处?

    在这个互联网时代,大部分的企业都需要使用服务器的,不管是自己搭建服务器,还是托管服务器,或者是租用服务,总是需要的,选择不同的方式,其效果也是不一样的,今天来说下独享服务

  2. 14

    2019-11

    选择云服务器,企业不要掉以轻心

    企业上云成为了一种潮流趋势,云服务器的好处我们已经看到了很多赞美了,但是同时,我们也不应该掉以轻心,需要对云服务器去进行相应的管理,这样才能够避免错误。

  3. 08

    2019-08

    免备案的香港服务器价格低吗

    免备案的香港服务器价格低吗?说到租用香港服务器想必第一印象就是免备案。因为备案需要花费精力和时间,因此一些企业通常租用香港服务器来部署业务。那么免备案的香港服务器有什么优

  4. 24

    2019-12

    服务器托管业务如何选择?

    以前如果要做网站,很多企业会购买传统的物理服务器,这样需要自己聘请专人来维护。后来服务器这个行业有了更多的商家,开始出现了租用业务。

  5. 13

    2020-03

    要从哪些因素来挑选国内vps、云主机?

    为了让大家对国内vps、云主机的选择有更加深入的了解,我们今天特意为大家带来这么一篇文章,让大家掌握好要从哪些因素来挑选服务器,下面马上来看看。

  6. 27

    2019-12

    选择云主机要看哪些要素?

    云计算技术的发展,让企业看到了未来云端在办公领域的影响力。所以,企业纷纷开始将服务器进行了升级,从一般的传统服务器到性能强大的云主机。