我正试图从VPC中的Lambda发布到SNS,但我的Lambda挂起,并在大约一分钟后超时。
基于用AWS PrivateLink \ AWS安全博客保护发布到Amazon的消息和类似的文章,我创建了一个VPC端点,如下所示:
Type: AWS::EC2::VPCEndpoint
Properties:
PrivateDnsEnabled: true
SecurityGroupIds:
- security-group-id
ServiceName: com.amazonaws.ap-southeast-2.sns
SubnetIds:
- subnet1-id
- subnet2-id
VpcEndpointType: Interface
VpcId: vpc-blahblah这仍然导致我的Lambda挂在发布到SNS。如何使用VPC端点从VPC中的Lambda发布到SNS?推荐一个AWS::EC2::SecurityGroupIngress,它也允许来自VPC的CIDR的所有TCP流量,但这也不起作用。
我的Lambda和VPC端点在同一个安全组中,并且有入口规则只允许来自某些地方的MySQL连接和来自VPC的所有通信量(如前所述)。
我错过了什么让我的Lambda能够发布到一个SNS的主题?
发布于 2020-03-02 03:40:52
为了重现你的处境,我创造了:
我的Lambda功能是:
def lambda_handler(event, context):
# Send message to SNS
MY_SNS_TOPIC_ARN = 'arn:aws:sns:ap-southeast-2:111111111111:foo'
sns_client = boto3.client('sns')
sns_client.publish(
TopicArn = MY_SNS_TOPIC_ARN,
Subject = 'From lambda',
Message = 'Hello'
)然后,通过从Lambda控制台手动运行Lambda函数来测试它。
我successfully在我的手机上收到了测试信息。
因此,我建议您将您的配置与上面的配置进行比较,并尝试发现任何差异。
我注意到您正在通过通过CloudFormation进行部署,因此您可以启动堆栈,然后将您的资源与所描述的资源进行比较,或者您可以尝试手动创建上面的内容以确认它是否适合您,然后将这些资源与您的CloudFormation模板进行比较。
https://stackoverflow.com/questions/60481830
复制相似问题