dro*_*sun 1 amazon-elastic-beanstalk aws-lambda aws-security-group
我正在努力使AWS lambda能够将HTTPS POST请求发送到AWS Elastic beantalk服务。弹性beantalk提供Web和Web服务,并且运行良好。lambda正在使用AWS elasticache进行一些计算(效果很好),然后决定是否将HTTPS POST发送到beantalk URL。
Lambda用编写node.js。POST尝试后大约2分钟,我收到以下超时消息:
[Error: connect ETIMEDOUT X.Y.Z.W:443] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect', address: 'X.Y.Z.W', port: 443
Run Code Online (Sandbox Code Playgroud)
我在弹性bean nginx访问日志中没有看到请求的指示。
因此,我的理解是安全组设置不正确。
我排除了使用弹性beantalk阻止此类连接的选项-lambda使用的URL具有外部域名,可以从任何浏览器使用该URL,并且可以正常工作。
因此,我得出的结论是,lambda安全性阻止了这种连接。因此-我完全打开了lambda安全组,可以从任何地方进行“所有流量”操作-我仍然遇到此问题。
有任何想法吗?
您正在VPC中运行Lambda函数,这是访问ElastiCache服务器所必需的。但是,一旦将Lambda函数放入VPC,它就无法再访问VPC之外的任何内容。您试图通过Lambda函数无法访问的公共(Internet)地址访问Elastic Beanstalk服务器。因此,您将获得网络连接超时。
您需要配置Lambda函数以通过内部VPC地址访问服务。而且,您需要配置Elastic Beanstalk安全组以允许从Lambda安全组进行访问(如果尚未访问)。
或者,您可以将NAT网关添加到VPC,这将使Lambda函数可以访问VPC之外的资源。
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |