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

AWS us-east-2区域ECR拉取镜像超时异常求助

解决EC2实例拉取us-east-2区域ECR镜像时aws ecr get-login-password超时问题

问题概述

此前正常运行数月的ECR镜像拉取操作,当前在EC2实例上执行aws ecr get-login-password --region us-east-2时出现超时,已排除非交互式登录问题,且存在以下特征:

  • 本地使用相同AWS凭证操作us-east-2区域ECR可正常推拉镜像,EC2实例执行失败
  • EC2实例切换至us-east-1或us-west-1区域时,可正常获取登录密码
  • EC2实例上aws sts-caller-identity执行成功,凭证有效
  • 开启调试后显示连接api.ecr.us-east-2.amazonaws.com:443超时
  • EC2使用AWS CLI 2.7.7版本,本地Mac使用2.5.6版本,账号拥有管理员权限,EC2实例无已知变更

排查方向与解决方案

1. 检查EC2实例的网络访问限制

  • 安全组出站规则:确认是否允许HTTPS(443端口)访问us-east-2区域的ECR服务端点。可临时添加允许所有HTTPS出站的规则做测试,若恢复正常,再调整规则限定到ECR对应区域的IP段(可通过AWS官方IP地址范围文档获取)。
  • 网络ACL:检查出站规则是否允许443端口流量,入站规则是否允许响应流量通过。
  • VPC终端节点:若使用ECR的Interface终端节点,确认us-east-2区域已创建对应终端节点,且终端节点的安全组允许EC2实例访问;若未配置终端节点,排查VPC路由表是否变更导致实例无法通过公网访问ECR。

2. 验证DNS解析有效性

在EC2实例上执行nslookup api.ecr.us-east-2.amazonaws.com,查看是否能解析到正确IP:

  • 若解析失败,检查EC2实例的DNS配置,确认是否使用VPC默认DNS服务器(VPC CIDR+2),或自定义DNS服务器是否能正常解析AWS服务域名。
  • 尝试清空DNS缓存:Ubuntu执行sudo systemd-resolve --flush-caches,Amazon Linux执行sudo systemctl restart nscd,之后重新测试解析。

3. 测试网络端口连通性

  • 执行nc -zv api.ecr.us-east-2.amazonaws.com 443或telnet api.ecr.us-east-2.amazonaws.com 443,验证是否能建立443端口连接。
  • 若无法连通,使用traceroute api.ecr.us-east-2.amazonaws.com追踪数据包路径,定位丢失节点,判断是VPC内部路由问题还是公网链路故障。

4. 排查AWS CLI版本兼容性

尝试在EC2实例上降级CLI至本地可用的2.5.6版本,排除新版本兼容性问题:

# 卸载当前CLI
sudo rm -rf /usr/local/aws-cli
sudo rm /usr/local/bin/aws
# 下载并安装2.5.6版本
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.5.6.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
# 验证版本
aws --version

5. 检查ECR资源访问策略

登录ECR控制台查看us-east-2区域对应仓库的资源策略,确认是否存在限制EC2实例IP或IAM角色的规则,避免管理员权限被资源策略覆盖。

6. 验证IAM角色权限(若使用实例角色)

若EC2实例使用IAM角色而非本地凭证,检查:

  • 角色的信任策略是否正常,确保EC2服务能承担该角色。
  • 角色是否包含ecr:GetAuthorizationToken权限,同时排查是否有SCP(服务控制策略)或权限边界限制了该权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:50:43