Amazon 머신 이미지는 어떻게 작동합니까?


9

AMI 생성 에 대한 많은 자습서와 이와 같은 내용 보았지만 AMI의 전체 개념을 실제로 이해 한 적이 없습니다. 인스턴스에 대한 링크이거나 저장되어 있으며 변경되지 않았습니다. 또한 이미지에 로컬 스토리지 및 해당 인스턴스에 설치된 모든 패키지 등이 포함되어 있거나 단순히 특정 인스턴스 구성의 사본 일뿐입니다. 감사

답변:


10

가장 간단한 형태의 AMI는 가상 머신, 가상화 유형, 아키텍처 (32/64 비트), 커널 및 루트 디바이스에 대한 설명입니다. 아마존의 말로 :

AMI는 Amazon의 입증 된 컴퓨팅 환경에서 실행할 수있는 소프트웨어 구성 (운영 체제, 애플리케이션 서버 및 애플리케이션)이 포함 된 템플릿입니다.

EC2 인스턴스는 Amazon 하드웨어에서 실행되는 가상 머신입니다. 인스턴스를 시작하려면 최소한의 정보가 필요합니다. 또한 다른 인스턴스 유형이 다른 구성을 지원합니다 (예 : 일부는 32 비트 AMI를 지원하지 않음)

각 AMI에는 식별자 (예 : ami-a1b2c3d4)가 있으며 해당 AMI의 구성은 생성 후에 변경할 수 없습니다. 그러나 시작시 또는 경우에 따라 인스턴스가 시작된 후에도 많은 설정을 무시할 수 있습니다.

루트 볼륨과 관련하여 AMI는 기존 볼륨에 대한 참조를 포함합니다 (예 : EBS 지원 인스턴스의 스냅 샷 또는 S3 지원 인스턴스의 경우 이미지 부분 참조).

AMI에는 또한 어느 정도의 오류 검사 (일반적으로 소유권을 나타내는 사용자 ID, 이미지를 암호화하는 암호화 키) 및 이미지 무결성을 확인하는 서명이 포함됩니다. S3 백업 인스턴스를 만들 때 생성 된 매니페스트 파일을 보면 AMI가 무엇인지 알 수 있습니다. 데이터와 다른 항목 (스토리지, 커널 등)에 대한 참조가 포함 된 파일 일뿐입니다.

이미지는 이미지를 블록 장치 매핑으로 참조합니다. 장치 (예 : / dev / sda1) 및 데이터 소스 (일시적 (및 관련이있는 경우 S3 부분) 또는 ebs-snapshot)를 지정합니다. S3 파트에 서명하고 ebs- 스냅 샷을 변경 (삭제 만) 할 수 없으므로 AMI에서 인스턴스를 시작하면 (설정을 무시하지 않고) 항상 동일한 소프트웨어 설정으로 인스턴스가 생성됩니다. (동일한 AMI에서 시작된 인스턴스가 사용자 데이터 또는 다른 블록 디바이스 매핑으로 인해 실행 상태가 다를 수 있습니다 (예 : 마이크로 인스턴스에는 임시 스토리지가 없지만 다른 인스턴스 유형은 그러합니다). 여기에서 연결된 볼륨은 AMI와 별도로 저장되지만 볼륨을 변경할 수없는 방식으로 AMI에서 참조합니다.

AMI에서 인스턴스를 시작하기 전에 블록 디바이스 매핑을 재정의 할 수 있습니다 (예 : 인스턴스 유형이 지원하는 경우 추가 EBS 볼륨 또는 다른 임시 볼륨 추가). EBS 볼륨의 경우 인스턴스가 시작된 후 루트 볼륨을 분리하고 다른 EBS 볼륨을 모두 연결할 수 있습니다.

따라서 질문에 간단히 답하십시오. 인스턴스에 대한 링크이거나 저장되어 있으며 변경되지 않은 것입니다. 저장되며 절대 변경되지 않습니다.

또한 이미지에 로컬 스토리지 및 해당 인스턴스에 설치된 모든 패키지 등이 포함되어 있거나 단순히 특정 인스턴스 구성의 사본 일뿐입니다. 이미지에는 로컬 스토리지 및 해당 인스턴스에 설치된 모든 패키지 등이 포함됩니다. 일반적으로 이것은 루트 볼륨 일 뿐이지 만 채워진 여러 볼륨이있는 인스턴스를 시작하도록 AMI를 설정할 수 있습니다.


따라서 인스턴스의 EBS에 대한 참조이므로 AMI 생성 후 EBS 상태가 변경되면 AMI 상태도 변경됩니까?
Wiz

아니요. EBS 볼륨 자체가 아니라 EBS 스냅 샷을 참조합니다. EBS 볼륨이 변경 되어도 EBS 스냅 샷을 변경할 수 없습니다. 지정된 AMI를 시작하면 참조하는 EBS 스냅 샷이로드됩니다. 원하는 경우 인스턴스를 시작할 때 사용할 다른 EBS 스냅 샷을 지정하거나 인스턴스가 시작된 후 사용 된 EBS 볼륨을 교체 할 수 있습니다.
cyberx86

3

AMI는 사실상 아키텍처와 같은 일부 메타 데이터와 함께 새로운 EC2 인스턴스를 시작하는 데 사용되는 루트 파일 시스템의 마스터 사본입니다. 여기에는 배포판의 새로운 사본을 부팅 할 때 일반적으로 찾을 수있는 전체 운영 체제 및 소프트웨어 패키지와 AMI 생성자가 추가하기에 적합한 것을 포함합니다.

인스턴스에서 AMI를 생성하면 기본적으로 해당 인스턴스의 루트 파일 시스템 복사본을 생성하게되며 나중에 새 인스턴스를 생성하는 데 사용할 수 있습니다.

내 대답은 여기에서도 도움이 될 수 있습니다. https://stackoverflow.com/a/7895489/111286

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.