To run an instance with run_instance I have to specify a placement because otherwise I get an error that the ami isn’t available.
Now, there are multiple regions (such as US East, US West and so on) and multiple zones (such as us-east-1a, us-east-1b and so on) for every region.
Do I have to pass a specific zone to AWS or is it possible to just pass a region (like us-east-1 maybe) and let Amazon chose the zone?
I’d like to keep that decision to Amazon because I don’t see any difference between the zones and it would be a little bit more complex to equally distribute instances over all zones.
Yes, you have to specify the specific zone.
You can take some of the pain out of it by specifying launch configurations for autoscaling groups, rather than working strictly with individual instances. Launch configs can tell the system to run X instances in each of many zones. This makes it easy to get the right number of instances you want in each zone, without having to hassle with actually instantiating each one. Additionally, you don’t need to actually worry about “scaling” rules if you just want a fixed number of instances.
Here is some more background information
http://aws.amazon.com/autoscaling/