#!/bin/bash # 获取所有可用的 region regions=$(aws ec2 describe-regions --query 'Regions[*].RegionName' --output text) # regions=ap-south-1 for region in $regions; do echo "=== Processing region: $region ===" # 获取当前 region 的实例 ID 列表 instance_ids=$(aws ec2 describe-instances \ --region $region \ --query 'Reservations[*].Instances[*].InstanceId' \ --output text) for instance_id in $instance_ids; do echo "---- Instance: $instance_id ----" # 获取该实例的全部 EBS block device mapping devices=$(aws ec2 describe-instances \ --region $region \ --instance-ids $instance_id \ --query 'Reservations[0].Instances[0].BlockDeviceMappings[*].DeviceName' \ --output text) for device in $devices; do echo "Setting DeleteOnTermination=false for $instance_id ($device)" # 创建临时 JSON 文件 tmpfile=$(mktemp) cat > $tmpfile <