Python 从AWS lambda函数获取EC2实例IP并使用请求库
我正在Amazon AWS lambda上编写一个lambda函数。它访问EC2实例的URL,我正在该实例上运行WebRESTAPI。lambda函数由Alexa触发,并用Python语言(python3.x)编码。Python 从AWS lambda函数获取EC2实例IP并使用请求库,python,python-3.x,amazon-web-services,amazon-ec2,aws-lambda,Python,Python 3.x,Amazon Web Services,Amazon Ec2,Aws Lambda,我正在Amazon AWS lambda上编写一个lambda函数。它访问EC2实例的URL,我正在该实例上运行WebRESTAPI。lambda函数由Alexa触发,并用Python语言(python3.x)编码。 目前,我已经在lambda函数中硬编码了EC2实例的URL,并成功运行了Alexa skill。 我希望lambda函数自动从EC2实例获取IP,每当我启动实例时,它都会不断变化。这将确保我不必每次启动EC2实例时都对URL进行编码和硬编码。 我在这个问题上偶然发现了一个类似
目前,我已经在lambda函数中硬编码了EC2实例的URL,并成功运行了Alexa skill。
我希望lambda函数自动从EC2实例获取IP,每当我启动实例时,它都会不断变化。这将确保我不必每次启动EC2实例时都对URL进行编码和硬编码。
我在这个问题上偶然发现了一个类似的问题,但没有得到回答。但是,有一个回复指出正在更新IAM角色。我以前已经为其他目的创建了IAM角色,但我仍然不习惯。 这可能吗?是否需要管理EC2实例的安全组? 我需要设置一些权限/配置/设置吗?lambda代码如何实现这一点?
此外,我在我的系统上安装了请求库,并尝试上载结构为:
- REST.zip/
- 请求库文件夹
- index.py
当我使用zip文件上传代码时(我目前在线编辑代码),它甚至无法访问index.py文件来运行代码您可以使用
bot3
,但我建议不要使用这种架构。更好的方法是使用负载平衡器(即使只有一个实例),然后在应用程序中使用负载平衡器的CNAME记录(只要LB存在,这一点就不会改变)
如果您有权访问自己的域名,更好的方法是创建一个CNAME记录并将其指向负载平衡器的地址。然后,您可以在Lambda函数中愉快地使用DNS名称,而不必担心它会发生变化。您可以使用bot3
进行操作,但我建议不要使用这种架构。更好的方法是使用负载平衡器(即使只有一个实例),然后在应用程序中使用负载平衡器的CNAME记录(只要LB存在,这一点就不会改变)
如果您有权访问自己的域名,更好的方法是创建一个CNAME记录并将其指向负载平衡器的地址。然后,您可以在Lambda函数中愉快地使用DNS名称,而不用担心它会改变。这不是一个好的应用程序堆栈设计。我是一个初学者,只是为了练习。该怎么设计呢?这不是很好的应用程序堆栈设计。我是初学者,只是为了练习。设计应该如何?谢谢你的回复。谢谢你的回复。