【发布时间】:2020-04-07 10:06:22
【问题描述】:
我正在尝试让我的 VPC 连接的 Fargate 实例调用 AWS Secrets Manager API,但这样做会导致调用超时:
连接到 secretsmanager.us-east-2.amazonaws.com:443 [secretsmanager.us-east-2.amazonaws.com/172.31.65.102, secretsmanager.us-east-2.amazonaws.com/172.31.66.72, secretsmanager.us-east-2.amazonaws.com/172.31.64.251] 失败:连接 超时
我知道,截至今年早些时候,在 Fargate 1.3.0 中,您可以将机密作为环境变量注入,如文档 here 所述。事实上,我的这种集成效果很好!
我的问题是我无法使用 Secret Manager SDK 以编程方式获取完全相同的密钥。当我这样做时,我得到上述超时。除了有关 IAM ecsTaskExecutionRole 角色的适当策略(这使我能够通过 env 变量获取密钥)之外,我还添加了一个 VPC 端点(因为我的 Fargate 实例位于 VPC 上),如文档 here 所述。我的 Fargate 实例也经常与外部 Internet 通信。
关于还有什么可能导致超时的任何想法?
【问题讨论】:
-
超时意味着 Fargate 服务无法通话,可以在代码中使用
ping google.com -
要透明地使用 VPC 终端节点,您必须启用启用本地 DNS 的复选框。当应用程序查找 Secrets Manager 终端节点地址时,这会使您的 VPC 中的 DNS 替换新的 Secrets Manager 终端节点。此外,请确保 VPC 终端节点上的安全组向您的应用程序开放终端节点。
标签: amazon-web-services amazon-ecs amazon-vpc aws-fargate aws-secrets-manager