[AWS] AMI 선택 기준과 아키텍처

시작 권한

AMI의 가용성은 소유자가 설정한 시작 권한에 의해 제어됩니다. 이는 보안 및 협업 관점에서 매우 중요합니다.

  • 퍼블릭 : 모든 AWS 계정에 권한이 부여됩니다. AWS Marketplace나 커뮤니티 AMI가 이에 해당합니다.
  • 명시적 : 특정 AWS 계정, 조직 또는 OU에만 권한을 부여합니다. 기업 내부에서 표준 이미지를 공유할 때 주로 사용합니다.
  • 암묵적 : AMI를 생성한 소유자만이 갖는 고유 권한입니다.

루트 볼륨 유형

AMI는 운영 체제가 설치되는 루트 볼륨이 어디에 저장되느냐에 따라 두 가지 유형으로 나뉩니다. 이는 인스턴스의 수명 주기와 데이터 보존 정책에 결정적인 영향을 미칩니다.

Amazon EBS 지원 AMI

  • 아키텍처 : 루트 볼륨이 Amazon EBS 스냅샷에서 생성됩니다.
  • 데이터 지속성 : 인스턴스가 종료되더라도 데이터는 기본적으로 보존 가능합니다.(설정에 따라 다름)
  • 운영 유연성 : 인스턴스를 중지 상태로 전환할 수 있습니다. 중지 중에는 컴퓨팅 요금이 발생하지 않으며, 데이터는 EBS에 안전하게 유지됩니다.
  • 부팅 속도 : 일반적으로 1분 이하로 매우 빠릅니다.

Amazon S3 지원 AMI

  • 아키텍처 : 루트 볼륨이 인스턴스 스토어에 생성되며, 템플릿은 S3에 저장됩니다.
  • 데이터 휘발성 : 인스턴스 종료 시 루트 볼륨의 데이터가 즉시 삭제됩니다.
  • 제약 사항 : 인스턴스를 중지할 수 없습니다. 오직 실행 또는 종료 상태만 존재합니다.
  • 부팅 속도 : S3에서 데이터를 가져와야 하므로 약 5분 정도 소요됩니다.

Amazon S3 지원 AMI는 C1, M1 등 구형 인스턴스에서만 지원되며, 수명 종료로 간주되므로 신규 구축 시에는 사용을 지양해야 합니다.

가상화 유형

가상화 방식은 인스턴스가 하드웨어 자원을 얼마나 효율적으로 사용하는지를 결정합니다. AWS의 가상화 기술은 PV(반가상화)에서 HVM(하드웨어 가상 머신)으로 진화했습니다.

HVM(Hardware Virtual Machine)

  • 작동 원리 : 베어 메탈 하드웨어 위에서 실행되는 것처럼 완전한 가상화를 제공합니다. 마스터 부트 레코드(MBR)를 실행하여 OS를 수정 없이 그대로 구동할 수 있습니다.
  • 하드웨어 확장 : GPU 처리, 향상된 네트워킹 등 특수 하드웨어 확장을 활용하여 최고의 성능을 냅니다.
  • 호환성 : 현재의 모든 인스턴스 유형은 HVM을 지원합니다.

PV(Paravirtual)

  • 작동 원리 : PV-GRUB라는 특수 부트 로더를 사용하며, OS 커널이 가상화 환경을 인지하고 있어야 합니다.
  • 제약 사항 : 하드웨어 확장을 활용할 수 없어 고성능 네트워킹이나 GPU 작업에 적합하지 않습니다. 최신 인스턴스에서는 지원되지 않습니다.

HVM으로 진화한 이유

과거에는 PV가 오버헤드가 적어 성능이 좋았지만, 현재는 HVM 게스트용 PV 드라이버가 개발되어 HVM 환경에서도 스토리지 및 네트워크 I/O 성능이 비약적으로 향상되었습니다. 따라서 호환성과 성능을 모두 잡은 HVM이 사실상 표준이 되었습니다.