Mic*_*kel 6 amazon-web-services amazon-sns amazon-vpc aws-lambda
我已经设置了一个具有 3 个子网的 VPC,这样可以从我的 Lambda 函数访问私有 RDS 实例。RDS <-> Lambda 连接工作正常,但是现在我无法发布到 SNS。
我发现了 VPC Endpoint 支持 SNS 的公告(包括这篇博文https://aws.amazon.com/blogs/security/securing-messages-published-to-amazon-sns-with-aws-privatelink/)和添加了具有以下属性的 VPC 端点接口:
Service name: com.amazonaws.eu-west-1.sns
VPC: same as Lambda functions and other services
Subnets: all included in my VPC (have also tested toggling them individually)
Security Groups: all VPC security groups selected
Run Code Online (Sandbox Code Playgroud)
所有服务都在eu-west-1区域。我知道发布到 SNS 的代码是正确的,因为它在非 VPC 环境中运行时有效。我要发布到的 ARN 保持不变:arn:aws:sns:eu-west-1:962446592636:whatever.
我知道可以设置 NAT 服务器来避免这个问题,但如果可能的话,我更愿意使用 VPC 端点来降低成本。
这个对我有用!
我做了以下事情:
0.0.0.0/0(用于测试目的)所以,一切正常。我不必修改任何 Lambda 代码。
我的 Lambda 代码:
def lambda_handler(event, context):
import boto3
client = boto3.client('sns', region_name='ap-southeast-2')
response = client.publish(
TopicArn='arn:aws:sns:ap-southeast-2:123456789012:stack',
Message='From Lambda'
)
return
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2862 次 |
| 最近记录: |