Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have an EBS-root server at AWS that the service desk staff use for infrequent tasks, and I only want it to be turned on when they need it.

I would like the service desk to be able to go a web page that says

                              [Start the server]

Clicking that button will start the server, and set a CNAME to whatever address it comes up to using Amazon Route 53. This page could either prompt for a username and password, or have a hard coded IAM account.

Extra for experts would be if this system handled stopping the server after a programmable number of hours.

Before I write this - I expect the JS SDK would mean that the simple case can be done in a single web page - has anyone else written this or seen something that could do it?

share|improve this question

2 Answers 2

Eric Hammond has some suggestions about using AWS auto-scaling to run instances on a schedule here

I would avoid creating DNS records, because of the time it takes for changes to propagate and inconsistent DNS server caching behavior.

Consider using an Elastic IP and registering an A record for that IP. When the instance starts, assign the IP to it (could do this in a cloud-init/user-data script). You'll pay a small per-hour charge for the EIP when not attached, but it's much less than per-hour instance charges.

I think the service desk web page could potentially be created with only browser-based JavaScript code,but you have to watch out for the limitations browsers put on cross-site scripting. I've not seen anything like this.

If you have some server/host that is running constantly, you could use it to handle starting and stopping the instances. I've previously run a small utility that would monitor an email inbox for messages that would trigger starting or stopping EC2 instances. If you have a cheap web host with shell access, you could set up a cron script to do this.

share|improve this answer

Some options:

  1. Try exploring services like RightScale, Ylastic, etc. Some amount of customization and ACL has to be done for what you are asking.

  2. Custom develop a simple webapp using AWS SDK. There are options for Ruby, Java, .NET, etc. There is a service side JS framework here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.