스냅 샷과 AMI의 AWS 차이점


108

그래서 나는 특히이 두 가지의 차이점을 알아내는 데 어려움을 겪고 있습니다.

내가 이해하는 것처럼 스냅 샷은 단순히 디스크 드라이브의 백업 인 반면 AMI는 전체 시스템 (또는 내가 말해야하는 인스턴스)의 백업이지만 전체 시스템이 기술적으로 완전히 디스크 드라이브에 있지 않습니까? 그리고 그게 사실이라면 분명한 차이가없고 내가 뭔가를 놓치고있는 거죠?

답변:


70

두 가지 유형의 AMI (및 해당 인스턴스)가 있습니다.

  1. 인스턴스 저장소 (S3 기반이라고도 함). 이들은 덜 일반적이며 초보자에게는 권장하지 않습니다. 인스턴스-스토어 AMI는 루트 인스턴스-스토어 볼륨과 일부 메타 데이터의 복사본이며 모두 특수 형식으로 S3 버킷에 저장됩니다.

  2. EBS 부팅. 이것은 아마도 당신이 사용하고있는 것입니다. EBS 부팅 AMI EBS 루트 볼륨의 EBS 스냅 샷과 아키텍처, 커널, AMI 이름, 설명, 블록 디바이스 매핑 등과 같은 일부 메타 데이터입니다.

EBS 부팅 볼륨의 스냅 샷을 만들어 적절한 메타 데이터에 등록하여 EBS 부팅 AMI로 전환 할 수 있습니다. 가장 까다로운 부분은 올바른 AKI ID (커널)를 지정하여 올바르게 부팅되도록하는 것입니다.


Eric에게 감사합니다. AMI 이미지를 백업했는데 시작하고 등록 할 수있는 옵션이 있습니까? 나는 ... 차이가 여기에 무엇을 혼동하고있다
Melbourne2991

"AMI 이미지 백업"이 무슨 뜻인지 모르겠습니다.
Eric Hammond

8
"create AMI"를 클릭하면 EC2가 해당 인스턴스의 EBS 볼륨에 대한 EBS 스냅 샷을 생성하고 AMI로 등록합니다. 해당 AMI를 시작점으로 지정하여 새 인스턴스를 시작할 수 있습니다. 새 인스턴스를 실행하지 않고 파일 만 확인하려는 경우 EBS 스냅 샷의 새 볼륨을 생성 할 수도 있습니다.
Eric Hammond

6
또는 EBS 볼륨의 EBS 스냅 샷을 직접 생성 한 다음 나중에 해당 스냅 샷을 AMI로 등록 할 수 있습니다. 설정할 적절한 AMI 등록 속성을 알아야하므로 AMI를 생성하는 것이 약간 더 어려운 방법입니다. "Create AMI"가이 모든 작업을 수행합니다.
Eric Hammond

1
@ cosbor11 AMI에 대한 스냅 샷을 삭제할 수 없습니다.
Eric Hammond

24

주요 차이점은 참조하는 서비스 유형에 있습니다. 스냅 샷은 특정 시점에 동일한 데이터로 상태를 저장하고 재부팅 할 수있는 EBS 볼륨의 것입니다.

AMI는 비슷하지만 EC2 인스턴스 자체를위한 것입니다. ebs가 지원되지 않는 인스턴스의 스냅 샷을 생성 할 수 없지만 하나의 AMI (시스템 이미지)를 생성 할 수 있습니다.

일반적으로 EBS 스냅 샷을 데이터베이스 볼륨의 백업 솔루션으로 사용하고 AMI를 사용하여 인스턴스 구성을 저장합니다.


1
내 볼륨에 내 데이터베이스와 인스턴스 구성이 포함되어 있으면 어떻게됩니까? AMI는 EBS 스냅 샷이 저장하지 않는 (또는 그 반대의 경우) 무엇을 저장합니까? 감사합니다
Melbourne2991

1
AMI는 새 인스턴스에서 즉시 시작할 수 있습니다. EBS 스냅 샷은 새 볼륨 (가상 디스크)에 복사 할 수 있습니다. 해당 가상 디스크를 새 인스턴스의 기반으로 사용할 수 있지만 그 자체로는 인스턴스가 아닙니다.
Dan Pritts

16

스냅 샷을 사용하여 AMI를 생성 할 수 있습니다. 예를 들어 단일 "스냅 샷"을 사용하여 동일한 스냅 샷을 사용하는 하나의 PV와 하나의 HVM AMI 등 여러 AMI를 생성 할 수 있습니다.

따라서 스냅 샷에는 시스템 / OS 데이터가 있습니다. AMI는 (스냅 샷 + 머신 / 하드웨어 메타 데이터)입니다.


1
AMI가있는 경우 여기에서 인스턴스가 생성되었습니다. AMI에 해당 인스턴스의 데이터가 포함되어 있습니까? 즉, 인스턴스에 tomcat WAR 파일이 포함 된 경우 해당 인스턴스가 생성 된 AMI도 포함됩니까?
Dejell 2015-06-23

1
tomcat (또는 모든 파일)이 포함 된 인스턴스에서 AMI를 생성하면 새로 생성 된 AMI에 해당 파일 / 데이터가 포함됩니다. 이 AMI에서 추가로 생성 된 모든 인스턴스에는 이러한 파일이 있습니다. 그러나 인스턴스를 생성 한 원본 AMI에는 해당 파일이 없습니다 (인스턴스 생성 후 인스턴스에 파일을 추가했다고 가정).
Anshu Prateek

15

그것도 혼란 스러웠습니다. 이를 이해하는 가장 간단한 방법은 다음과 같습니다.

  • EBS Snapshot 매우 자주 특정 EBS 볼륨의 백업을 나타내며 모든 볼륨 (루트 볼륨, 데이터 볼륨 등) 일 수 있습니다.

  • AMI(Amazon 머신 이미지)는 전체 EC2 인스턴스의 백업입니다. 예를 들어 적절한 구성을 통해 여러 EBS 볼륨을 포함하는 AMI를 생성 할 수 있습니다.

이제 혼란 스러울 수 있지만 둘 다 "EBS 스냅 샷"으로 저장됩니다.

그렇게 생각해보십시오.

  • EBS Snapshot 데이터 백업 일뿐입니다.
  • AMI특정 시간의 시스템 상태를 나타냅니다. 그것에서 부팅 할 수도 있습니다.

그렇다면 루트 볼륨의 스냅 샷을 생성 한 경우 해당 스냅 샷을 사용하여 인스턴스를 시작할 수 있습니까?
parashar gaurav

1
짧은 대답 : 아니요. EC2에 사용할 수있는 유일한 "부팅 옵션"은 AMI이므로 볼륨 만 사용하여 직접 수행 할 수 없습니다. 그러나 볼륨에서 AMI를 생성하고 최근에 생성 된 AMI에서 인스턴스를 시작할 수 있습니다 (예 : 간접 옵션).
skryvets

7

EBS VolumeEC2 뒤에있는 기본 디스크입니다. AMI는 가상 머신과 똑같이 연결된 여러 볼륨이있을 수있는 전체 EC2 인스턴스의 백업 인 반면 Snapshot특정 시점 백업입니다 volume.

함께 패커 , 당신은 등 EC2에 대한 AMI를, VMDK / VM웨어에 대한 VMX 파일, VirtualBox를위한 OVF 수출을 포함한 머신 이미지를 자동으로 구축 할 수 있습니다

EC2  <-- EBS Volume (Boot) + EBS Volume 
                        ^
                        |
                     Snapshot (only of specific volume)       
                        ^
                        |
                       AMI (Combined snapshots of all volumes, snapshot must have boot volume) 
                        ^
                        | 
                  Launch a new Instance (same installed softwares and configs, different specs) 

스냅 샷 은 드라이브 / 볼륨을 백업하는 데 사용할 수 있습니다. 볼륨의 스냅 샷을 찍을 때마다 마지막 백업 (전체 백업이 아님) 이후 볼륨에 추가 / 도입 된 새로운 변경 사항 만 추가하여 백업 시간, 공간 및 궁극적으로 비용을 절약하는 증분 백업 작업입니다. .

스냅 샷은 다음에서 사용할 수 있습니다.

  • 정기적으로 드라이브 백업

  • 예를 들어, 볼륨의 유형을 변경하면 트래픽이 있거나 읽기 및 쓰기 당신이에서 변경할 수 있도록 IO 작업을 높이기 위해 필요 gp2io1더와IOPs

사용자 지정 AMI는 다음에서 사용할 수 있습니다.

  • 현재 실행중인 EC2 인스턴스가 손상되어 아무런 이유없이 실행할 수없는 경우 재해 복구 용.

  • 배포 프로세스를 단순화하는 전제 조건 소프트웨어를 모두 설치 한 표준 회사의 AMI (예 :`Splunk에 연결하도록 구성, 일부 모니터링 및 관찰 소프트웨어 설치, Docker 설치 또는 시작시 Puppet 또는 Chef 연결하도록 구성)

  • AMI를 사용하면 여러 지역에 애플리케이션을 쉽게 배포 할 수 있습니다.

  • 설치된 모든 소프트웨어 및 해당 구성을 사용하여 서버를 더 높거나 다른 사양으로 업그레이드하십시오.

  • AMI는 AWS 계정간에 공개적으로 공유 할 수 있습니다.


귀하의 첫 번째 단락은 지금까지 읽은 가장 명확한 정의입니다. 감사합니다!
specialk1

5

다음은 AMI와 EBS 스냅 샷 간의 몇 가지 차이점입니다.

1) AMI는 시작 가능하며 루트 디바이스에 대한 링크를 포함하며 다른 데이터 볼륨의 스냅 샷에 대한 링크를 포함 할 수 있습니다.

2) AMI에 포함 된 데이터 이미지는 인스턴스가 재부팅되지 않는 한 잘 정의 된 특정 시점을 나타내지 않습니다. 일반적으로 프로덕션 환경에서는 허용되지 않습니다. 스냅 샷은 정확한 시점을 제어 할 수 있으므로 일관된 방식으로 촬영할 수 있으므로 스냅 샷이 시작되기 전에 모든 것이 "백업 준비"상태인지 확인할 수 있습니다.

3) Linux 용 루트 디바이스의 기존 스냅 샷에서 AMI를 생성 할 수 있지만 Windows 용으로는 생성 할 수 없습니다.


2

AWS에서 제공하는 정의에 따라

AMI는 EC2 인스턴스를 시작할 수있는 템플릿입니다. EBS 스냅 샷은 EBS 볼륨의 블록 수준 복사본입니다. EBS 볼륨은 부팅 볼륨 (예 : 운영 체제 포함) 또는 데이터 전용 볼륨 (예 : 데이터베이스 파일 포함) 일 수 있습니다. RegisterImage를 사용하여 AMI를 생성합니다 (스냅 샷에서).

이들은 서로 다른 수준 (EBS 볼륨 대 EC2 템플릿)에 적용되는 두 가지 다른 개념이지만 두 개념 간에는 몇 가지 종속성이 있습니다.

EBS 지원 EC2 인스턴스 (예 : EBS 볼륨에서 부팅하는 EC2 인스턴스)의 경우 AMI는 부팅 볼륨 + 몇 개의 메타 데이터 (머신 아키텍처-32 비트 대 64 비트-유형)의 EBS 스냅 샷으로 구현됩니다. 가상화-HVM 대 PV 등 ...)

따라서 EBS 지원 EC2 인스턴스의 경우 AMI는 EBS 스냅 샷 + XML 파일입니다. 소유 한 부팅 볼륨의 스냅 샷을 기반으로 자체 AMI를 생성 할 수도 있습니다.


1

스냅 샷은 백업 전략으로 사용하는 데 비용이 적게 듭니다. 여러 스냅 샷이있는 경우 하나의 전체 백업에 대해서만 비용을 지불하고 나머지는 본질적으로 차이가 있고 일반적으로 훨씬 더 작기 때문입니다.


6
EBS 부팅 AMI 에는 정확히 EBS 스냅 샷과 약간의 메타 데이터 가 포함 되어 있으므로 이는 사실이 아닙니다 . 비용은 동일합니다.
Eric Hammond

1

AMI는 OS 및 설치된 구성 요소가 보존되는 시스템의 일반 템플릿으로 생각할 수 있습니다.

스냅 샷은 AMI가 수행하는 모든 작업을 포함 할 수 있지만 EBS 볼륨의 디스크 데이터도 저장합니다.

어떤 것을 사용하기로 결정 하느냐는 일반적으로 인스턴스가 EBS 지원 여부와 모든 데이터가 그대로 유지 된 머신을 정확하게 다시 생성 하려는지 아니면 일반 머신 템플릿 만 원하는지에 따라 결정됩니다.


그렇다면 AMI가 EBS 볼륨을 저장하지 않습니까?
Melbourne2991

1
하나 이상의 EBS 볼륨을 포함하도록 AMI를 설정할 수 있지만 해당 볼륨은 부팅시 비어 있으며 원래 소스 머신에 포함 된 데이터를 포함하지 않습니다.
CIGuy

그렇다면 AMI는 실제로 메타 데이터 일뿐입니다 (올바른 용어인지 확실하지 않음)? 사용중인 OS, 인스턴스 크기 등? 기술적으로 몇 kb 크기 여야합니까?
Melbourne2991

1
AMI는 또한 컴퓨터에 설치 한 모든 프로그램, OS 수준 구성 옵션 등을 저장하므로 실제로는 메타 데이터가 아니지만 일반적으로 스냅 샷보다 훨씬 작습니다.
CIGuy

1
이 대답은 틀 렸습니다. AMI에는 하나 이상의 스냅 샷이 포함됩니다. 즉, 하나 이상의 스냅 샷을 참조하고 (데이터 복사가 없음) 일부 추가 메타 데이터도 보유합니다. 이것이 현재 AMI에서 사용중인 스냅 샷을 삭제할 수없는 이유입니다. docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html 이 스레드에서 Eric Hammond의 기여도 참조하십시오.
Max Barraclough

0

AWS에서 제공하는 정의에서 차이점을 명확히합니다. Amazon 머신 이미지 (AMI)는 소프트웨어 구성 (예 : 운영 체제, 애플리케이션 서버 및 애플리케이션)이 포함 된 템플릿입니다. AMI에서 클라우드에서 가상 서버로 실행되는 AMI의 복사 본인 인스턴스를 시작합니다. 스냅 샷의 경우 특정 시점 스냅 샷을 생성하여 EBS 볼륨의 데이터를 Amazon S3에 백업 할 수 있습니다. 스냅 샷은 증분 백업이므로 가장 최근 스냅 샷 이후에 변경된 장치의 블록 만 저장됩니다. 스냅 샷을 삭제하면 해당 스냅 샷 전용 데이터 만 제거됩니다.

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