You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在创建AWS EC2实例时添加自定义标签并导出实例公网IP日志

AWS 批量创建EC2并自定义标签、导出公网IP清单方案

以下提供两种不需要Terraform的实现方式,可按需选择:

方案1:纯AWS Web控制台操作(无需额外环境)

  • 进入EC2控制台的「启动实例」向导,依次选择你的目标AMI、实例规格、密钥对、安全组等常规配置
  • 在「实例数量」栏输入你需要创建的实例总数
  • 下滑到「标签」配置模块,添加键为Name的标签,值填写Server ${count.index+1},控制台会自动为批量创建的实例依次赋值Name标签为Server 1、Server 2、Server 3

提示:若使用旧版启动向导不支持${count.index}变量,可在实例创建完成后,批量选中所有新实例,点击「操作」→「标签和实例设置」→「管理标签」,手动批量修改Name标签即可

  • 确认所有配置无误后启动实例
  • 实例启动完成后,在EC2实例列表页点击右上角齿轮设置按钮,勾选「名称」和「公有IPv4地址」两个展示字段,全选目标实例后点击「操作」→「导出实例列表」,导出CSV格式的清单即可得到标签与公网IP的对应关系,也可直接复制列表内容整理为日志文件。

方案2:AWS CLI/CloudShell 脚本方案(适合高频重复操作)

如果需要经常执行该操作,可以用脚本实现全自动化,无需手动在控制台点选:

  • 前置准备:本地已安装AWS CLI并完成身份认证,或者直接点击AWS控制台顶部的CloudShell图标,在浏览器内置的终端中操作
  • 参考脚本如下,替换尖括号内的参数即可使用:
#!/bin/bash
# 自定义参数配置
AMI_ID="<替换为你的AMI ID>"
INSTANCE_TYPE="<替换为实例规格,例:t2.micro>"
KEY_NAME="<替换为你的密钥对名称>"
SECURITY_GROUP_ID="<替换为你的安全组ID>"
INSTANCE_COUNT=3 # 实例数量
TAG_PREFIX="Server" # Name标签前缀

# 批量创建实例,获取实例ID列表
INSTANCE_IDS=$(aws ec2 run-instances \
  --image-id $AMI_ID \
  --instance-type $INSTANCE_TYPE \
  --key-name $KEY_NAME \
  --security-group-ids $SECURITY_GROUP_ID \
  --count $INSTANCE_COUNT \
  --query 'Instances[*].InstanceId' \
  --output text)

# 批量为实例添加序列Name标签
INDEX=1
for INSTANCE_ID in $INSTANCE_IDS
do
  aws ec2 create-tags \
    --resources $INSTANCE_ID \
    --tags Key=Name,Value="$TAG_PREFIX $INDEX"
  INDEX=$((INDEX+1))
done

# 等待实例初始化完成,输出标签与公网IP对应清单到日志文件
echo "=== 实例标签与公网IP对照清单 ===" > instance_ip_log.txt
aws ec2 describe-instances \
  --instance-ids $INSTANCE_IDS \
  --query 'Reservations[*].Instances[*].[Tags[?Key==`Name`].Value | [0], PublicIpAddress]' \
  --output text >> instance_ip_log.txt

# 打印日志内容
cat instance_ip_log.txt
  • 脚本执行完成后,会在当前目录生成instance_ip_log.txt日志文件,直接包含所有实例的标签和对应公网IP信息。

内容的提问来源于stack exchange,提问作者Mr. Oleg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:06:01