6

I understand that when I launch an instance on ec2, that the instance has to be located on a particular data center, and that after launching you can't change that. I also understand that an AMI is created from an instance.

But what I dont understand, is when I launch an instance from an AMI, why can't I specify what region I want it to run on? Seems like it shouldnt matter, once the AMI is created you should be able to launch it in any region. What does the AMI contain that ties it to a region and why?

citizen conn
  • 15,300
  • 3
  • 58
  • 80
  • 2
    Maybe uniqueness wasn't checked cross-region originally? Ask Amazon. In the meantime, just register your AMI in whatever region you need it. That's just a one-line command referencing a manifest of the image already in S3 isn't it? – Dan Grossman Jul 15 '11 at 02:49
  • Yeah its not necessarily a problem I'm having, more of a "trying to understand" moment... – citizen conn Jul 15 '11 at 17:39
  • 1
    Maybe for legal issues ... Sometimes, private AMI can contain data that need to be stored in a specific area. – ohe Jul 19 '11 at 15:45

2 Answers2

7

Kernels. The kernel IDs change across regions (don't ask me why). Meaning an AMI which specifies a kernel ID to be booted with can only be booted in the region this kernel ID exists.

andsens
  • 6,716
  • 4
  • 30
  • 26
0

AMI is region specific because AMI basically contains a software configuration (for example, an operating system, an application server, and applications). From an AMI, you launch an instance, which is a copy of the AMI running as a virtual server in the cloud. And if we consider AMI a global service, it means all AMIs are stored in one place and have access to all regions. For this, it will take more time to pull and then create instances. So if it is available in a region(region-specific), then we can quickly launch instances fast without time delay.