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

Terraform Cloud启动AWS EC2时user_data和remote-exec均无法执行问题

问题解决说明

一、remote-exec连接需要放行的IP

你需要放行的是当前运行Terraform命令的设备的公网出口IP:

  • 查IP方法:在执行terraform apply的设备上运行命令curl ifconfig.me,或者直接通过浏览器搜索「我的公网IP」,即可得到对应IP地址
  • 安全组配置:在EC2关联的安全组入站规则中,添加允许该IP(格式为[查询到的IP]/32)访问22端口的规则即可

二、额外问题排查建议

1. remote-exec I/O超时的其他可能原因

你提供的报错日志中,显示尝试连接的Host为3.137.111.207,但超时地址为52.15.178.40,说明存在EIP绑定时序问题:

  • 给执行remote-exec的null_resource添加depends_on配置,依赖EC2实例和EIP绑定的资源,确保EIP完全绑定到实例后再发起SSH连接
  • 可将connection的timeout参数从1m调整为5m,避免EC2实例未完全启动SSH服务就提前超时

2. user_data未生效的修复方案

相比remote-exec,user_data是更轻量的实例初始化方案,无需额外开放SSH访问权限,未生效大概率是脚本格式问题:

  • 你当前的user_data脚本中shebang行#! /bin/bash存在前导缩进,EC2的cloud-init服务无法识别,需保证该行是脚本第一行,无任何前导空格或缩进
  • 若调整后仍有问题,可登录实例查看/var/log/cloud-init-output.log日志,直接定位user_data执行的具体报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:07