如何从 Google App Engine(Python)启动或停止 Amazon EC2 实例

4 投票
3 回答
920 浏览
提问于 2025-04-17 10:18

有没有办法从Google App Engine启动或停止一个Amazon EC2实例?
我看了这个问题 在Python中,如何从Google App Engine应用程序中启动一个Amazon EC2实例?,我觉得那里的答案不太对。

基本上,我无法在应用引擎上安装“boto”。

3 个回答

0

其实很简单,只需要在你的App Engine应用上设置一个定时任务。

你需要从Spring控制器里调用你的EC2账户。在此之前,确保你已经有一个活跃的EC2账户,并且有一个你想要启动的镜像。你还需要把一个EBS存储卷附加到那个实例上。

对于外部连接,GAE的安全模型要求你使用URLFetch工具。因此,AWS的API对你来说是不可用的。要连接到AWS,请下载以下适配过的AWS API。

关于如何使用URLFetch的更多参考资料:

[blog] http://javagoogleappspot.blogspot.be/2010/10/control-your-ec2-instance-with-google.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/pJlip+%28Google+app+engine%29

0

请查看 在 Google App Engine (GAE) 上运行 Boto

只需将 Boto 的文件复制到你项目的根目录下就可以了。

2

你有没有了解过KOALA?它基本上是对boto的重写,专门用于EC2、S3、EBS和ELB,并且可以在App Engine上使用。在他们的网站上这样介绍:

KOALA(卡尔斯鲁厄开放应用(云)管理)是一个软件服务,旨在帮助你使用与亚马逊网络服务(AWS)兼容的云服务和基础设施(IaaS)。它支持亚马逊AWS的公共云和基于Eucalyptus、Nimbus或OpenNebula的私有云服务。KOALA也可以与Google Storage和Host Europe Cloud Storage等存储服务一起使用。

KOALA帮助用户与实现以下API的云服务进行交互:

弹性计算云(EC2)

简单存储服务(S3)

弹性块存储(EBS)

弹性负载均衡(ELB)

使用KOALA,用户可以启动、停止和监控他们的实例、存储卷和弹性IP地址。他们还可以在S3兼容的存储服务中创建和删除存储桶,比如S3、Google Storage和Walrus。上传、检查和修改存储在这些服务中的数据也很简单,就像使用S3Fox和Google Storage Manager那样。

KOALA本身是一个可以在公共云平台(PaaS)Google App Engine和使用AppScale或typhoonAE的私有云平台上运行的服务。

撰写回答