IT story

스냅 샷과 AMI의 AWS 차이점

hot-time 2020. 8. 25. 20:15
반응형

스냅 샷과 AMI의 AWS 차이점


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

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


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

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

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

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


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

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

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


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

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


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

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

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

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

그렇게 생각해보십시오.

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

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

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

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

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


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 계정간에 공개적으로 공유 할 수 있습니다.


Snapshots are less expensive to use as a backup strategy, because when you have multiple snapshots, you only pay for one full backup and ther rest are, in essence, just diffs, and usually much smaller.


You can think of an AMI as a generic template for a machine with OS and installed components being preserved.

A Snapshot can include everything an AMI does, but also saves the disk data of an EBS volume.

Which one you decide to use will generally be dictated by whether your instances are EBS backed and if you want to exactly recreate a machine with all data intact or just want a generic machine template.


From the definition provided by AWS it clarifies the difference - An Amazon Machine Image (AMI) is a template that 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. Whereas for Snapshots You can back up the data on your EBS volumes to Amazon S3 by taking point-in-time snapshots. Snapshots are incremental backups, which means that only the blocks on the device that have changed after your most recent snapshot are saved. When you delete a snapshot, only the data exclusive to that snapshot is removed.


As per the definition provided by AWS,

An AMI is a template from which you can start an EC2 instance. An EBS Snapshot is a block level copy of an EBS volume. The EBS volume might be a boot volume (i.e. containing an operating system), or a data-only volume (containing database files for example). You use RegisterImage to create an AMI (from a snapshot).

These are two different concepts, applied at different levels (EBS volumes vs EC2 templates) However, there are some dependencies between the two concepts.

For EBS backed EC2 instances (i.e. EC2 instances that boot from an EBS volume), the AMI is implemented as an EBS Snapshot of a boot volume + a couple of meta data (the architecture of the machine - 32 vs 64 bits -, the type of virtualization - HVM vs PV - etc ...)

So, for EBS backed EC2 instances, an AMI is an EBS snapshot + an XML file. You can even create your own AMI based on any snapshot of a boot volume you own.

참고URL : https://stackoverflow.com/questions/17619580/aws-difference-between-a-snapshot-and-ami

반응형