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

如何在AWS CFN模板参数中将当前客户端IP设为默认值

CloudFormation自动获取客户端IP作为参数默认值方案

CloudFormation目前没有内置服务端函数可以直接获取部署发起端的公网IP作为参数默认值,因为模板的解析与执行逻辑均在AWS服务端运行,服务端无法直接读取客户端的公网IP信息。你可以通过以下两种常用方案解决手动查询IP的问题:

方案1:控制台部署使用官方快捷填充功能

该方案和手动创建安全组时的「My IP」体验完全一致,你只需要在CFN模板中对IP参数做标准化定义,AWS控制台会自动识别并提供快捷填充按钮:

Parameters:
  # 允许访问堡垒机SSH的公网IP参数定义示例
  AllowedSSHIP:
    Type: String
    Description: 允许访问SSH的公网IP,格式为/32 CIDR,控制台部署可直接点击「我的IP」自动填充
    # 配置CIDR格式校验规则
    AllowedPattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/32$
    ConstraintDescription: 必须为合法的/32 CIDR格式IP地址

按上述规则定义参数后,在控制台部署模板时,对应参数输入框旁会自动出现「我的IP」选项,点击即可自动获取当前浏览器公网IP,格式化为/32 CIDR后自动填充,无需手动查询IP站点复制。

方案2:CLI部署时动态传参

如果通过AWS CLI部署模板,可以直接在命令行中动态获取当前设备公网IP直接传入参数:

# 调用AWS官方IP查询接口自动获取当前公网IP,传入CFN参数
aws cloudformation deploy \
  --template-file ./bastion-template.yaml \
  --stack-name my-bastion-stack \
  --parameter-overrides AllowedSSHIP=$(curl -s https://checkip.amazonaws.com)/32

内容的提问来源于stack exchange,提问作者Fat Monk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 09:12:04