如何创建 VPC 端点来访问 EC2 实例内托管的 SQL DB?

如何创建 VPC 端点来访问 EC2 实例内托管的 SQL DB?

我在 VPC-1 中有一个 lambda,试图访问托管在 VPC-2 中的 EC2 实例内的 SQL 数据库。我应该如何使用 VPC 端点在 Lambda(VPC-1)和 SQL DB(VPC-2)之间建立连接?我需要在基础设施和代码中进行哪些配置?

我不想进行 VPC 对等连接,因为我的组织不允许这样做。

答案1

你可以利用 AWSPrivateLink以及 VPC 端点。

  1. 在 VPC-2 中创建网络负载均衡器 (NLB)

在与托管 SQL 数据库的 EC2 实例相同的子网中部署 NLB。配置 NLB 以将流量转发到 EC2 实例。

  1. 在 VPC-2 中创建 AWS PrivateLink 终端节点服务(VPC 终端节点服务)

将此服务与 NLB 关联。此服务将在 VPC-2 中创建一个可从 VPC-1 访问的终端节点网络接口。

  1. 在 VPC-1 中创建接口 VPC 终端节点

这是 Lambda 函数将通过其进行通信的终端节点。服务名称应为在 VPC-2 中创建的名称。确保附加到此终端节点的安全组允许出站流量流向 VPC-2 中的 NLB。

  1. 安全组配置

修改 EC2 实例的安全组以允许来自 NLB 的传入 SQL 流量(SQL Server 的端口 1433)。调整 NLB 的安全组以允许来自 VPC-1 中的 VPC 端点的流量。

然后在 Lambda 函数的代码中,修改数据库连接字符串以指向 VPC-2 中的 VPC 终端节点服务的 DNS 名称

相关内容