I have a server that has logic evaluating when it needs to scale up or scale down the back end instances of a given web service.
The trouble is I am unsure as of how exactly I am to programmatically send commands to my EC2 console instructing it to suspend or activate one of the back up services.
I am aware that I can simply have a backup scripted to start and stop at certain times,however ideally I want my web service instances to start/stop in response to certain events such as increased demand.
As I mentioned in the comment I suggest you take a look at autoscaling -- it sounds perfect for your use-case. Scaling up in response to increased demand and scaling down when idle is exactly what it was designed for.
You can use the API to spawn and terminate instances if needed though: http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html http://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html