我开始怀疑在以下情况下是否需要 VPC 端点:
我有一个作为某种事件总线的 SNS 主题。不讨论这个话题,让我们走得更远。该 SNS 通过 lambda 的 AWS 无服务器事件源链接到 SQS。你知道的,比如:
FoobarEvent:
Type: SNS
Properties:
Topic: !Ref Topic
SqsSubscription: true
就是这样。所以我让sam
创建 SQS 来对推送到 SNS 的消息进行排队。现在,说到重点。Lambda 本身被配置为留在私有子网内。
VpcConfig:
SecurityGroupIds: [...]
SubnetIds: [...]
所以很自然,我希望 SNS 和 SQS 服务中的一个或两个都需要一个 VPC 接口。但!?:
- 真的是这样吗?
- 如果我不定义端点但仍然有 NAT,它们甚至会被使用吗?
- 如果我既没有端点也没有 NAT,这仍然有效吗?
我在问,因为需要 SNS 端点从私有 lambda 推送到它或 SQS 端点分别推送到那个是有意义的。但是,我无法理解背景中发生的事情?Lambda 在指定队列上按时间间隔轮询。但如果它在私有子网中,它如何到达该队列?SNS 或 SQS 如何相互联系?