如何从 Google App Engine(Python)启动或停止 Amazon EC2 实例
有没有办法从Google App Engine启动或停止一个Amazon EC2实例?
我看了这个问题 在Python中,如何从Google App Engine应用程序中启动一个Amazon EC2实例?,我觉得那里的答案不太对。
基本上,我无法在应用引擎上安装“boto”。
3 个回答
其实很简单,只需要在你的App Engine应用上设置一个定时任务。
你需要从Spring控制器里调用你的EC2账户。在此之前,确保你已经有一个活跃的EC2账户,并且有一个你想要启动的镜像。你还需要把一个EBS存储卷附加到那个实例上。
对于外部连接,GAE的安全模型要求你使用URLFetch工具。因此,AWS的API对你来说是不可用的。要连接到AWS,请下载以下适配过的AWS API。
关于如何使用URLFetch的更多参考资料:
请查看 在 Google App Engine (GAE) 上运行 Boto
只需将 Boto 的文件复制到你项目的根目录下就可以了。
你有没有了解过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的私有云平台上运行的服务。