I have two servers. Basically Server #1 runs a script throughout the day and when its done I need to send a notification to Server #2 to get it to run some other scripts.
I am currently leaning on Amazon AWS tools and using Python so I was wondering if someone could recommend a simple, secure and easy to program way of:

Setting up a flag on Server #1 when it is finished running its script
Polling this flag from Server #2 
Run scripts on Server #2 when the flag is active 
Remove the flag from Server #1 when the scripts have finished running on Server #2

Should I be using Amazon SNS or SQS? Alternatively, are these both a poor choice, and if so can you recommend anything better? I am leaning towards AWS tools because I already have boto installed and I like the ease of use.
Assuming Server #1 is running a script through cron, then there should be no reason you can't just use ssh to remotely change Server #2.  I believe if you use the elastic-ip addresses it might not count as bandwidth usage.
Barring that, I'd use SNS.  The model would instead be something like:

Server #1 notifies Server #2 (script starting)
Server #1 starts running script
(optional) Server #1 notifies Server #2 of progress
Server #1 notifies Server #2 (script complete), starting Server #2's scripts
Server #2 notifies Server #1 when it's complete

In this case you'd set up some sort of simple webserver to accept the notifications.  Simple CGI scripts would cut it though aren't the most secure option.
I'd only bring SQS into the picture if two many scripts were trying to run at once.  If you are chunking it "all of Server #1, then Server #2" it's a level you don't really need.
Communicate between two servers - Amazon SQS / SNS?