I don't think all of amazon AWS or any cloud service for that matter can actually perform a 51% attack, if it does come it will come from the collaboration of the top three hashing pools. Cloud services simply can't deliver that much of hashing power.
As for how to prevent it, there are plenty of threads here about that, either google or rummage through the mining and bitcoin discussion.
I think you can rent on amazon machines with a decent graphic card- so one could calculate out of this how much it would cost for example to have this hashing power for e.g. 24h I would be interested in the calcualtion of this number. Unfortunately i'm lacking the knowledge to do it myself. I'm not interested that an insider (pool, hosted mining whatever) turns evil. That would be another discussion, just the number for renting you hashing power to attack. For that purpose i wouldn't care if AWS actually has the amount (or whatever service you would think would be best to perform attack), just pretend it was there.
i doubt any amount of gpu can cut it, based on the old 7970, you can have something like 2 MB per card right now, with the best gpu available, maybe 3MB(i didn't follow how strong they are on sha256, lately), you need 200 peta to do an attack
200 peta are 200B mega, which mean 100B gpu (basically 14gpu for each person on this planet), none has all those gpu combined, not to mention the wattage, not attainable by a long shot