我想了解,为什么需要将 vpc 配置为仅访问 redis 而不是来自 lambda 函数的其他服务(如 dynamo db)
最佳答案
Redis(在 EC2 实例上或通过 ElastiCache)在您的 VPC 中运行。 EC2、RDS 和 Redshift 以及其他几个 AWS 服务也是如此。如果您想访问在您的 VPC 内运行的其中一项服务,则必须将 Lambda 函数配置为具有 VPC 访问权限。
VPC 中不存在的其他服务,如 DynamoDB,显然不需要 VPC 访问。
至于为什么有些服务在 VPC 中而不在其他服务中,存在于 VPC 中的服务往往是您指定特定服务器配置(服务器大小、服务器数量等)并运行这些服务的东西虚拟网络 (VPC) 内的服务器。另一方面,有些服务(例如 DynamoDB)不会向您公开后端服务器的实际大小和数量。亚马逊完全管理这些服务器,您甚至不知道其中有多少。这些服务器不存在于您的虚拟网络中,您只能通过 AWS API 访问这些服务。
关于amazon-web-services - Redis 的 Lambda VPC 配置设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45813110/