因一些服务的客户端网络地址段计划变更,会影响到aws上配置这这些网段安全组策略所绑定的资源

因此需要先整理包含了出那些服务的网络地址段的安全组

然后根据旧网段的策略信息,将新的地址段给添加上,待后续正式变更后,再删除安全组上旧网络地址段策略

此次更新量较大,于是笔者想到了使用aws - cli的方式进行更新,但不一定适用大部分策略

1、首先,先整理出的包含了服务旧网段的安全组策略,至少要包含【安全组id】、【协议】、【FromPort】、【ToPort】

2、然后通过如下aws cli命令进行新增,这里有一个注意点

此方法只能针对入站策略-(TCP/UDP常用协议),还有因aws-安全组默认只能60条策略,因为适合离60上限数量还多的安全组

[qq_5201351@localhost ~]$ aws --profile xxxxx ec2 authorize-security-group-ingress \
--group-id sg-xxxxx \
--ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=1.1.1.0/24,Description="xxx net update"}]'

3、因为此次新加了是多个段,所以旧的一条策略、就要对应上多条,因为量比较大,要生成批量的策略添加命令,需要借助于字符串处理工具,如excel或者其他工具,或者其他linux命令,这里笔者使用的是自己快速编写的一个gui小工具,效果如下:

填入上面4个字段,正常情况,理论上需要少保证4个字段的行数一行,执行后就会产生如下结果:

aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-16297290dd0c48b15 --ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=1.1.1.1/19,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-16297290dd0c48b15 --ip-permissions IpProtocol=TCP,FromPort=8000,ToPort=8010,IpRanges='[{CidrIp=2.2.2.2/24,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-09638e110721c7635 --ip-permissions IpProtocol=UDP,FromPort=137,ToPort=137,IpRanges='[{CidrIp=1.1.1.1/19,Description="xxx net add_20220917"}]'
aws --profile xxxxx ec2 authorize-security-group-ingress --group-id sg-09638e110721c7635 --ip-permissions IpProtocol=UDP,FromPort=137,ToPort=137,IpRanges='[{CidrIp=2.2.2.2/24,Description="xxx net add_20220917"}]'

注:还有对于ICMP等非TCP/UDP的条目,以及安全组策略接近和达到60条上限的,也需要单独处理

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/16702746.html

关于aws-SecurityGroup-安全组策略的批量添加的方法记录的更多相关文章

  1. PC-用Windows XP自带的组策略加固操作系统

    1.我的壁纸你别改==================================== 启动组策略时,单击“开始”按钮,选择“运行”命令,在“运行”文本框中输入“gpedit.msc”命令,即可启 ...

  2. 【AD】实用组策略/脚本集合 (重大更新20160627)

    文章原始出处 http://blog.51cto.com/xifanliang/1793576 http://bbs.51cto.com/thread-1170777-1.html 作者:xifaln ...

  3. Win10提示“无法打开此计算机上的组策略对象”如何解决

    为了更好地管理电脑,很多朋友都会去编辑Windows10的组策略.不过,有部分用户反馈自己在打开组策略的时候,遇到了“无法打开此计算机上的组策略对象”提示,无法打开组策略,这是怎么回事呢?下面,小编就 ...

  4. sequelize 批量添加和更新数据 bulkCreate

    sequelize提供了批量插入数据的方法:Model.bulkCreate([…object]). 例如: let  updatePhone = [{userName: '李白‘},{userNam ...

  5. 批量添加删除Windows server DNS服务 恶意域名 * A记录 指向 127.0.0.1(2019年6月5日更新)

    下载链接:https://pan.baidu.com/s/1OUHyvnIfXYF0PdiT-VRyHw  密码:7gjj 注意!本解决方案在本地的Windows server服务器上把恶意域名指向1 ...

  6. EF批量添加

    1.首先,打开工具——NuGet包管理器——管理解决方案的NoGet程序包——搜索Z.EntityFramework.Extensions 点击安装!!! codefirst定义一个实体,用EF的方法 ...

  7. 【批量添加】-SqlBulkCopy语句 标签: sql批量添加 2015-12-20 14:39 1367人阅读 评论(33)

    上篇博客我们介绍了通过拼接sql字符串的方法来对sql数据库进行批量添加,但是通过语句拼接insert语句有个缺点,就是每次最多只能添加1000条.当时我们另外一个界面也用到了批量添加,但是这个界面轻 ...

  8. 【批量添加】-拼接sql字符串 标签: 批量添加 2015-12-13 17:49 2070人阅读 评论(33)

    现在做的一个项目需要用到批量添加,但是封装的底层没有这个方法,所以自食其力,自己来写.我们用的是拼接sql字符串的方法来实现功能. 具体实现流程:首先将需要的数据存储到实体的list中,然后将这个li ...

  9. 利用高级组策略管理AGPM复制组策略GPO

    有时候管理多个林,在一个林中配置了GPO之后,想复制出来用到其它林里.默认系统的组策略管理里没有这个功能.但是微软在微软企业桌面优化套件Microsoft Desktop Optimization P ...

随机推荐

  1. Codeforces Round #768 (Div. 2) D. Range and Partition // 思维 + 贪心 + 二分查找

    The link to problem:Problem - D - Codeforces   D. Range and Partition  time limit per test: 2 second ...

  2. 基于SqlSugar的开发框架循序渐进介绍(13)-- 基于ElementPlus的上传组件进行封装,便于项目使用

    在我们实际项目开发过程中,往往需要根据实际情况,对组件进行封装,以更简便的在界面代码中使用,在实际的前端应用中,适当的组件封装,可以减少很多重复的界面代码,并且能够非常简便的使用,本篇随笔介绍基于El ...

  3. System类的常用方法

    java.lang...System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static long current ...

  4. vscode无法调试python2.7版本

    概述 好久没有用python2.7版本了,最近有个老的脚本要优化,但是发现vscode无法对脚本调试,特此记录下解决方法. 本地安装有python2和python3,开发过程中,vscode可以随时调 ...

  5. CentOS Docker安装 && docker 基础指令

    1 # 直接从官网下载docker的安装命令包(docker已经很贴心将安装shell脚本帮我们准备好了) 2 curl -fsSL get.docker.com -o get-docker.sh 3 ...

  6. 1.2 Hadoop快速入门

    1.2 Hadoop快速入门 1.Hadoop简介 Hadoop是一个开源的分布式计算平台. 提供功能:利用服务器集群,根据用户定义的业务逻辑,对海量数据的存储(HDFS)和分析计算(MapReduc ...

  7. OS模块中获取当前文件的绝对路径的相关方法

    os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...

  8. MyBatis-Plus 配置文件

    MyBatis-Plus在实际工作中常用到的配置,供自己和大家查阅学习. mybatis-plus: mapperPackage: com.**.**.mapper # 对应的 XML 文件位置 ma ...

  9. Dart 导包时类名冲突

    import 'package:qingyuo_mobile/pages/slices/home_page/tech_slice.dart'; import 'package:qingyuo_mobi ...

  10. SpringMvc请求流程源码解析

    目录 SpringMvc请求流程图 请求流程粗讲解 方法细讲 doDispatcher --> 核心 找到Handler#getHandler getHandler(request) mappi ...