AWS Secrets Manager 的 VPC 终端节点

问题描述

路由表(在私有子网中)不会因为将 VPCE 添加为 aws 机密管理器的目的地而改变。也尝试过新的 SG(不使用认 SG)。 有什么想法吗?

解决方法

基于评论。

Secrets Manager (SM) 使用 VPC interface endpoints。与 S3 和 DynamoDB 的 VPC gateway endpoints 相比,这是新一代端点。新一代不修改路由表 (RT)。相比之下,网关端点确实会修改创建这些端点时指定的 RT。

为了与接口端点无缝协作,VPC 必须为端点启用 enableDnsHostnamesenableDnsSupport 启用,以及 private DNS。另外,通常需要调整端点的安全组,允许443端口连接。

,

最近我删除了所有最初允许我的私有子网连接到互联网的 NAT 网关(包括 Secrets Manager)。我认为 NAT 网关是一个安全漏洞、昂贵的基础设施,并且私有实例不需要联系 AWS Secrets Manager。我错了。我的 ECS 任务失败,并指出无法访问 Secrets Manager 资源。


调试

我建议使用 AWS VPC Reachability Analyzer 来调试这些网络问题,它对我有帮助。

  1. 在私有子网中启动 EC2 实例
  2. 将您的私有子网安全组分配给 EC2 实例
  3. Create a VPC Endpoint 用于您的私有子网
  4. 使用 VPC 可达性分析器“创建和分析路径”
    • 源类型:实例
      • 选择您启动的新 EC2 实例
    • 目标类型:VPC 端点
      • 选择您创建的 VPC 终端节点
    • 目的港
      • HTTPS 设置为 443
    • 协议
      • 设置为 TCP
  5. 对您的基础架构进行更改,然后重新运行分析器以测试访问,直至成功。

这将使您能够验证您在私有子网中启动的 EC2 实例是否可以联系 VPC 终端节点(例如 Secrets Manager)。


清单

既然您有了快速验证可达性的方法,以下是您可能需要采取的一些步骤,以确保您的私有子网可以联系诸如 Secrets Manager 之类的 AWS 服务。请参阅 AWS 文档,因为我的信息可能已过时。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...