c1m*_*ore 8 amazon-web-services amazon-vpc aws-fargate
这是一个奇怪的现象。我有一个在私有子网中使用 Fargate v1.4 的 ECS 服务。由于任务无法访问 Internet,因此我必须配置 VPC 端点,以便任务可以从 AWS 服务加载所需的内容(例如,来自 SSM 的机密、来自 ECR 的图像等)。 这一切都很好,而且工作得很好,直到它失败了。 我不确定发生了什么变化,但一个周末我注意到我的服务器不再运行,并且我注意到控制台中出现此错误:
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secrets from ssm: service call has been retried 1 time(s): RequestError: send request failed caused by: Post https://ssm.us-ea...
Run Code Online (Sandbox Code Playgroud)
当我配置 VPC 端点时,这看起来很熟悉,因此我通过控制台以确保没有发生任何变化。据我所知,配置看起来正确(安全组具有正确的入口/出口规则,配置了正确的端点并连接到我的服务器所在的 VPC,所有内容都在同一个可用区中,IAM 角色可以访问密钥)。
作为一个实验,我删除了尝试从任务定义中加载的秘密,看看会发生什么。当新服务器启动时,我看到了类似的错误,但这次是从 ECR 加载图像:
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve ecr registry auth: service call has been retried 1 time(s): RequestError: send request failed caused by: Post https://api.ecr....
Run Code Online (Sandbox Code Playgroud)
我还尝试删除并重新创建所有端点,以防万一,但仍然没有成功。
其他(可能)有用的信息:
任何帮助/提示将不胜感激。
根据评论中的讨论,确定问题的原因是SSM VPC 服务端点的安全组(SG)上的 CIDR 范围不正确。
该问题的一般故障排除建议是:
enableDnsHostnames。DNSSupport在与 ECS 服务相同的子网中创建实例。使用实例(在设置具有 SSM 权限的角色后)检查 SSM 接口连接。目的是验证问题是在 VPC 级别还是 ECS 级别。
在此实例中,AWS CLI 可用于使用自定义接口 URL或 SSM 的通用 URL 连接到 SSM 终端节点。
| 归档时间: |
|
| 查看次数: |
9287 次 |
| 最近记录: |