为什么将 VPC 与 AWS Lambda 或 AWS DynamoDB 一起使用?
Why use a VPC with AWS Lambda or AWS DynamoDB?
我看到很多人都在努力将他们的 Lambda 连接到他们的 DynamoDB,因为他们住在 VPC 中。但我的问题是,为什么要使用 VPC?
VPC 旨在保护与外界(也称为互联网)直接连接的服务。例如 RDS 之类的东西,它们只是坐着的鸭子,等待任何知道 URL 的人查询,因此可能成为 DDoS 的受害者,或者可能绕过凭据的零日攻击等。
但是,AWS Lambda 和 DynamoDB 不是这样的东西,它们没有直接连接到互联网。他们的访问受 IAM 凭据保护,并且事实上对于此类 DDoS/0Day 攻击是安全的。
因此问题来了,为什么要为 Lambda/DynamoDB 使用 VPC,如果他们没有从中受益反而使配置变得更复杂?
我看不到为 Lambda 或 DynamoDB 使用 VPC 的好处。
但也许我的理解有误?
如果您的 Lambda 函数只需要连接到 DynamoDB,那么将 Lambda 函数放在 VPC 中是错误的。
如果您的 Lambda 函数需要访问 VPC 内的 EC2 实例或 RDS 实例或某些其他服务 运行,并且还需要连接到 DynamoDB,那么 Lambda 函数必须 运行 在 VPC 中,您需要通过 VPC 端点或 NAT 网关提供对 DynamoDB 的访问。
我看到很多人都在努力将他们的 Lambda 连接到他们的 DynamoDB,因为他们住在 VPC 中。但我的问题是,为什么要使用 VPC?
VPC 旨在保护与外界(也称为互联网)直接连接的服务。例如 RDS 之类的东西,它们只是坐着的鸭子,等待任何知道 URL 的人查询,因此可能成为 DDoS 的受害者,或者可能绕过凭据的零日攻击等。
但是,AWS Lambda 和 DynamoDB 不是这样的东西,它们没有直接连接到互联网。他们的访问受 IAM 凭据保护,并且事实上对于此类 DDoS/0Day 攻击是安全的。
因此问题来了,为什么要为 Lambda/DynamoDB 使用 VPC,如果他们没有从中受益反而使配置变得更复杂?
我看不到为 Lambda 或 DynamoDB 使用 VPC 的好处。
但也许我的理解有误?
如果您的 Lambda 函数只需要连接到 DynamoDB,那么将 Lambda 函数放在 VPC 中是错误的。
如果您的 Lambda 函数需要访问 VPC 内的 EC2 实例或 RDS 实例或某些其他服务 运行,并且还需要连接到 DynamoDB,那么 Lambda 函数必须 运行 在 VPC 中,您需要通过 VPC 端点或 NAT 网关提供对 DynamoDB 的访问。