AWS 批量添加安全组

定义内网ip列表池
bash 复制代码
cat ip_list.txt

192.168.1.1
192.168.1.2
定义脚本安全组id等元数据
bash 复制代码
# cat sg-add.sh 


#!/bin/bash

# 定义安全组ID-宁夏 VPC:NX-NHRY-PRD-VPC vpc-xxx
SECURITY_GROUP_ID="sg-0f08237289xxxxx"

# 从文件中读取IP地址到数组
IFS=' ' read -ra INTERNAL_IPS <<< $(cat ip_list.txt)

# 循环遍历内网 IP 列表
for IP in "${INTERNAL_IPS[@]}"
do
    # 使用 AWS CLI 查询 EC2 实例,过滤出内网 IP 匹配的实例
    INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=private-ip-address,Values=$IP" --query 'Reservations[].Instances[].InstanceId' --output text)

    # 如果找到匹配的实例,添加安全组
    if [ ! -z "$INSTANCE_ID" ]
    then
        # 获取实例当前的所有安全组
        CURRENT_SECURITY_GROUPS=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID --query 'Reservations[].Instances[].SecurityGroups[].GroupId' --output text)

        # 添加新的安全组
        NEW_SECURITY_GROUPS="$CURRENT_SECURITY_GROUPS $SECURITY_GROUP_ID"
        
        echo "Adding security groups $NEW_SECURITY_GROUPS to instance $INSTANCE_ID"
        aws ec2 modify-instance-attribute --instance-id $INSTANCE_ID --groups $NEW_SECURITY_GROUPS
    else
        echo "No instance found with internal IP $IP"
    fi
done
相关推荐
pengkai火火火17 分钟前
基于springmvc拓展机制的高性能日志审计框架的设计与实现
spring boot·安全·微服务·架构
乐迪信息27 分钟前
乐迪信息:AI摄像机识别煤矿出入井车辆数量异常检测
大数据·运维·人工智能·物联网·安全
翼龙云_cloud34 分钟前
腾讯云渠道商:腾讯云快照和镜像备份区别在哪?
运维·服务器·云计算·腾讯云
百度安全1 小时前
百度办公网安全秘诀分享——兼顾安全与效率
安全·网络安全·dubbo·办公安全
天翼云开发者社区1 小时前
云原生研发突破,国际顶会认可!
云计算
云老大TG:@yunlaoda3601 小时前
如何使用华为云国际站代理商的FunctionGraph进行事件驱动的应用开发?
大数据·数据库·华为云·云计算
TG:@yunlaoda360 云老大1 小时前
华为云国际站代理商的FunctionGraph主要有什么作用呢?
自然语言处理·华为云·云计算
acrelgxy1 小时前
实时预警,安全无忧|安科瑞AIM-D500-CA绝缘监测仪,为您的电气系统保驾护航!
安全·电能管理系统·电力监控系统·智能电力仪表
一三检测冯野180212918132 小时前
振动下的安全防线:ASTM D999如何守护新能源电池运输命脉
安全·新能源电池·模拟运输测试·包装运输测试·包装振动测试
wanhengidc2 小时前
裸金属服务器都有哪些优势?
运维·服务器·安全·智能手机·生活