Question

Is there a way to start / stop an Amazon EC2 instance from Google App Engine?
I read this question In python, how do you launch an Amazon EC2 instance from within a Google App Engine app? and it seems to me that the answer there is not correct.

Basically I can't install "boto" on the app engine.

Was it helpful?

Solution

Have you looked into KOALA? It's (more or less) a rewrite of boto for EC2, S3, EBS, and ELB that works in App Engine. From their page:

KOALA (Karlsruhe Open Application (for) cLoud Administration) is a software service, designed to help you working with your Amazon Web Services (AWS) compatible cloud services and infrastructures (IaaS). The Amazon AWS public cloud and private cloud services based on Eucalyptus, Nimbus or OpenNebula are supported. The storage services Google Storage and Host Europe Cloud Storage can be used with KOALA too

KOALA helps interacting with cloud services that implement the APIs of

Elastic Compute Cloud (EC2)

Simple Storage Service (S3)

Elastic Block Store (EBS)

Elastic Load Balancing (ELB)

With KOALA the users can start, stop and monitor their instances, volumes and elastic IP addresses. They can also create and erase buckets inside the S3-compatible storage services S3, Google Storage and Walrus. It's easy to upload, check and modify data that is stored inside these storage services, the same way it can be done with S3Fox and the Google Storage Manager.

KOALA itself is a service that is able to run inside the public cloud platform (PaaS) Google App Engine and inside Private Cloud platforms with AppScale or typhoonAE.

OTHER TIPS

see Running Boto on Google App Engine (GAE)

just copy the boto files into the root of your project.

Well, simple, just deploy a cron task to your App Engine application.

You will need to implement the calls from the Spring controller to your EC2 account. Beforehand, make sure you already have an active EC2 account and that you have an image you want to start. You also need to attach an EBS volume to that instance.

For external connections, the GAE security model requires you to use the URLFetch utility. Hence The AWS API will not work for you. To connect to AWS, please download the following adapted AWS API

For further reference on using the 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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top