So this might be of some use to some folks.  I use AWS a bunch for work, and am really happy that EBS is now very stable.  Recently I have been moving away from using RightScale as my main interface to AWS, and getting more interested in available command-line and API level tools.  The one that has caught my fancy this last week was the rubygem amazon-ec2, it provides ruby methods for most if not all exposed EC2 API calls, and also comes with a nice tool ec2sh, which is a shell for using AWS.  Problem is that besides the basic tutorials, and the source code, there was not many docs providing practical usage for this gem and shell.  So to help remedy that I am posting a quick command I use daily.  Here is a command you can throw at the ec2sh shell to get it to snapshot all your attached volumes.

@ec2.describe_volumes.volumeSet.item.each{ |volume| puts "Creating snapshot of #{volume.volumeId}"; @ec2.create_snapshot(:volume_id => volume.volumeId)} == true

I have tried putting this into a simple ruby script, however I apparently fail at gem updates.  if you have some practical tips in dealing with AWS, feel free to post comments, or send me a link.