Yes, you can use web2py on Amazon EC2 and with Google AppEngine, in fact web2py is written in pure python and can import third party Python libraries.
There is one caveat: with those two systems you probably do not have the luxuty of accessing a shared folder.
web2py normally assumes a shared folder that supportes locking and uses it to store session, cache, errors and uploaded files. If you do not have access to a shared folder you must:
At this point you cannot use the web2py ORM to talk to the AppEgnine but you need to use the AppEngine API directly. The reson is that AppEngine supports a small subset of the web2py ORM functionality. Anyway we are studying the AppEngine in order to come out with a solution.