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

EC2实例中awscli与boto3调用Secrets Manager极慢问题排查

为什么EC2访问AWS Secrets Manager比本地慢3分钟?

这种情况确实反直觉——按说EC2在AWS内部,访问AWS服务应该比本地更快才对。结合你用awscli也慢的情况,已经排除了Python/boto3的问题,大概率是网络或AWS服务配置层面的问题,下面是几个最可能的原因和排查方向:

1. 未配置VPC端点,导致流量绕公网

如果你的EC2实例所在VPC没有配置Secrets Manager的VPC端点,请求会先从EC2流出到公网,再绕回AWS的Secrets Manager服务。本地开发时你走公网可能因为带宽/路由更顺畅(比如本地网络到AWS区域的链路更优),反而比EC2的公网路径快。

排查方式:

  • 查看VPC的端点服务,确认是否存在com.amazonaws.<region>.secretsmanager的接口类型端点
  • 如果没有,创建该端点并关联到EC2所在子网和安全组,确保安全组允许EC2到端点的HTTPS(443端口)流量

2. DNS解析延迟或失败

AWS内部服务的域名解析出问题会导致请求长时间等待DNS响应。比如EC2的DNS服务器配置错误,或者无法解析Secrets Manager的域名。

排查方式:

  • 在EC2上执行nslookup secretsmanager.<region>.amazonaws.com,观察解析速度和返回的IP(如果有VPC端点,应该返回端点的内部IP)
  • 检查EC2的DNS设置:是否使用VPC默认DNS(VPC CIDR + 2),如果是自定义DNS服务器,确认它能正常解析AWS服务域名

3. 安全组或NACL限制了流量

EC2实例的安全组或VPC的网络访问控制列表(NACL)可能阻止了到Secrets Manager的HTTPS流量,导致请求反复超时重试,最终耗时累积到3分钟。

排查方式:

  • 检查EC2安全组的出站规则:是否允许到0.0.0.0/0的443端口(或VPC端点IP的443端口)
  • 检查VPC NACL的出站规则:是否允许443端口流量,入站规则是否允许Secrets Manager的响应流量(TCP 443)

4. IAM角色权限验证延迟

虽然权限错误通常直接报错,但如果IAM角色的信任关系有问题,或者AWS IAM服务在该区域有临时延迟,可能导致请求在权限验证环节卡住。

排查方式:

  • 在EC2上执行aws sts get-caller-identity,确认能快速返回身份信息,且IAM角色已正确关联到EC2
  • 检查IAM角色的权限策略,确保包含secretsmanager:GetSecretValue权限,且资源指向目标secret

5. Secrets Manager与EC2跨区域部署

如果你的Secrets Manager在A区域,EC2在B区域,跨区域请求可能因链路临时问题或权限限制导致延迟。

排查方式:

  • 确认aws secretsmanager get-secret-value命令指定了正确的区域(通过--region参数或AWS CLI默认区域),且与EC2所在区域一致

6. EC2实例网络性能异常

虽然你测试了t2.micro和m5.large,但如果EC2所在子网有网络拥塞,或实例网络接口存在问题,也可能导致延迟。

排查方式:

  • 在EC2上执行ping 8.8.8.8或curl https://aws.amazon.com,检查公网访问的延迟和稳定性
  • 查看CloudWatch中EC2的网络监控指标(NetworkIn/NetworkOut、NetworkPacketsIn/Out),确认是否有异常

建议优先从VPC端点和DNS解析这两个点开始排查,这是内部服务访问慢最常见的原因——很多用户会忽略配置VPC端点,导致EC2走公网访问Secrets Manager,进而出现这种离谱的延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:41:23