赞
踩
cat ip_list.txt
192.168.1.1
192.168.1.2
# 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。