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

使用AWS CloudFormation部署以太坊网络时ServiceAutoScalingGroup创建失败求助

解决AWS区块链模板创建以太坊网络时ServiceAutoScalingGroup信号超时问题

核心问题分析

你的判断准确,ASG未收到初始化信号本质是实例无法与CloudFormation建立通信,或实例初始化过程中出现异常导致无法发送信号。以下是针对性的排查与修复步骤:

排查与修复步骤

1. 检查EC2安全组出站规则

  • 确保EC2实例所属安全组允许出站HTTPS(443端口)流量:实例需要通过该端口向CloudFormation发送初始化信号,需放行到AWS服务的出站请求。
  • 配置建议:添加出站规则,目标设为0.0.0.0/0(或更严格的AWS服务前缀列表),协议TCP,端口443。

2. 验证私有子网的NAT配置

  • 私有子网内的实例必须通过NAT网关/实例访问公网,确认以下两点:
    • 私有子网已关联NAT网关/实例;
    • 私有子网的路由表中,默认路由(0.0.0.0/0)指向NAT网关/实例。
  • 无NAT配置时,私有子网实例无法访问公网,自然无法向CloudFormation发送信号。

3. 补全IAM角色权限

  • 确认EC2实例使用的IAM角色包含cloudformation:SignalResource权限,可直接附加AmazonEC2RoleforSSM(该角色已包含必要的通信权限),或添加内联策略:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "cloudformation:SignalResource",
            "Resource": "*"
        }
    ]
}

4. 查看实例初始化日志

  • 若实例已启动但未发信号,通过堡垒机连接实例后查看初始化日志:
    • 执行命令cat /var/log/cloud-init-output.log,检查是否存在脚本执行错误(如以太坊节点初始化失败、依赖包下载超时);
    • 若实例未启动,检查Launch Template中的AMI是否与当前区域匹配(模板默认使用AWS官方区块链AMI,需确保区域对应)。

5. 延长ASG信号超时时间

  • 模板默认的信号超时可能过短,可修改ServiceAutoScalingGroup资源的CreationPolicy:
CreationPolicy:
  ResourceSignal:
    Count: 1
    Timeout: "PT30M" # 将默认超时从15分钟延长至30分钟

6. 配置VPC端点(可选安全方案)

  • 若不想使用NAT网关,可在VPC中创建CloudFormation的VPC端点,让私有子网实例通过内网访问CloudFormation服务。需确保端点安全组允许EC2实例的入站HTTPS流量。

总结

最常见的触发原因是私有子网无NAT导致实例无法访问公网或安全组出站限制443端口,建议优先从这两点入手排查,再结合日志定位具体异常。

内容的提问来源于stack exchange,提问作者Anh Nhat Tran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:10:25