EC2 인스턴스 최대 절전(hibernation) 사전 요건
EC2 인스턴스 최대 절전(hibernation) 사전 요건
On-Demand Instance 또는 Spot Instance를 시작할 때 최대 절전(hibernation) 지원을 활성화할 수 있어요. 실행 중이거나 중지된 기존 인스턴스에서는 최대 절전을 활성화할 수 없습니다.
출처: 문서
본문
인스턴스를 최대 절전하려면 다음 요건을 충족해야 합니다.
- AWS Regions
- AMIs
- Instance families
- Instance RAM size
- Root volume type
- Root volume size
- Root volume encryption
- EBS volume type
- Spot Instance requests
AWS Regions
모든 AWS 리전의 인스턴스에서 최대 절전을 사용할 수 있어요.
AMIs
최대 절전을 지원하는 HVM AMI를 사용해야 해요. 다음 AMI는 최대 절전을 지원합니다.
Intel 및 AMD 인스턴스 유형용 AMI
- 2023.09.20 이후 출시된 AL2023 AMI ¹
- 2019.08.29 이후 출시된 Amazon Linux 2 AMI
- 2018.11.16 이후 출시된 Amazon Linux AMI 2018.03
- CentOS 버전 8 AMI ² (추가 구성 필요)
- Fedora 버전 34 이상 AMI ² (추가 구성 필요)
- Red Hat Enterprise Linux (RHEL) 9 AMI ² (추가 구성 필요)
- Red Hat Enterprise Linux (RHEL) 8 AMI ² (추가 구성 필요)
- 직렬 번호 20230303 이후로 출시된 Ubuntu 22.04.2 LTS (Jammy Jellyfish) AMI ³
- 직렬 번호 20210820 이후로 출시된 Ubuntu 20.04 LTS (Focal Fossa) AMI ³
- 직렬 번호 20190722.1 이후로 출시된 Ubuntu 18.04 LTS (Bionic Beaver) AMI ³ ⁵
- Ubuntu 16.04 LTS (Xenial Xerus) AMI ³ ⁴ ⁵ (추가 구성 필요)
Graviton 인스턴스 유형용 AMI
- 2024.07.01 이후 출시된 AL2023 AMI (64-bit Arm) ¹
- 2024.06.20 이후 출시된 Amazon Linux 2 AMI (64-bit Arm)
- 직렬 번호 20240701 이후로 출시된 Ubuntu 22.04.2 LTS (64-bit Arm) (Jammy Jellyfish) AMI ³
- 직렬 번호 20240701 이후로 출시된 Ubuntu 20.04 LTS (64-bit Arm) (Focal Fossa) AMI ³
¹ AL2023 minimal AMI의 경우 추가 구성이 필요해요. ² CentOS, Fedora, Red Hat Enterprise Linux의 최대 절전은 Nitro 기반 인스턴스에서만 지원됩니다. ³ Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver), Ubuntu 16.04 LTS (Xenial Xerus) 인스턴스에서는 KASLR 비활성화를 권장합니다. ⁴ Ubuntu 16.04 LTS (Xenial Xerus) AMI의 최대 절전은
t3.nano인스턴스 유형에서 지원되지 않아요. Ubuntu(Xenial Xerus)는 2021년 4월에 지원이 종료되어 패치가 제공되지 않습니다. t3.nano를 쓰려면 Ubuntu 22.04.2 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa), Ubuntu 18.04 LTS (Bionic Beaver) AMI로 업그레이드할 것을 권장해요. ⁵ Ubuntu 18.04 LTS (Bionic Beaver)와 Ubuntu 16.04 LTS (Xenial Xerus)의 지원은 수명이 다했습니다.
자체 AMI를 최대 절전 지원으로 구성하려면 "Linux AMI를 최대 절전 지원으로 구성"을 참고하세요. 다른 버전의 Ubuntu와 다른 운영 체제 지원은 곧 제공될 예정입니다.
Windows AMI
- 2023.09.13 이후 출시된 Windows Server 2022 AMI
- 2019.09.11 이후 출시된 Windows Server 2019 AMI
- 2019.09.11 이후 출시된 Windows Server 2016 AMI
- 2019.09.11 이후 출시된 Windows Server 2012 R2 AMI
- 2019.09.11 이후 출시된 Windows Server 2012 AMI
인스턴스 패밀리
최대 절전을 지원하는 인스턴스 패밀리를 사용해야 해요. 단, 베어메탈(bare metal) 인스턴스는 지원되지 않습니다.
- 범용(General purpose): M3, M4, M5, M5a, M5ad, M5d, M6a, M6g, M6gd, M6i, M6id, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-flex, M8a, M8azn, M8g, M8gb, M8gd, M8gn, M8i, M8i-flex, M8in, M8idn, M8ib, M8idb, M9g, M9gd, T2, T3, T3a, T4g, T8i
- 컴퓨팅 최적화(Compute optimized): C3, C4, C5, C5d, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8gd, C8gn, C8i, C8i-flex, C8in, C8ib, C9g, C9gd
- 메모리 최적화(Memory optimized): R3, R4, R5, R5a, R5ad, R5d, R6a, R6g, R6gd, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iz, R8a, R8g, R8gb, R8gd, R8gn, R8i, R8i-flex, R8in, R8idn, R8ib, R8idb, R9g, R9gd, X2gd, X8aedz, X8i
- 스토리지 최적화(Storage optimized): I3, I3en, I4g, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen
콘솔에서 최대 절전을 지원하는 인스턴스 유형 찾기
- Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다.
- 탐색 창에서 Instance Types를 선택합니다.
- 필터 On-Demand Hibernation support = true를 추가합니다.
- (선택) 관심 있는 특정 인스턴스 유형으로 범위를 좁히는 필터를 추가합니다.
AWS CLI
describe-instance-types 명령을 사용합니다. 사용 가능한 인스턴스 유형은 리전마다 다릅니다.
aws ec2 describe-instance-types \
--filters Name=hibernation-supported,Values=true \
--query "InstanceTypes[*].[InstanceType]" \
--output text | sort
PowerShell
Get-EC2InstanceType cmdlet을 사용합니다. 사용 가능한 인스턴스 유형은 리전마다 다릅니다.
(Get-EC2InstanceType `
-Filter @{Name="hibernation-supported"; Values="true"}).InstanceType | Sort-Object
인스턴스 RAM 크기
- Linux 인스턴스 – 150 GiB 미만이어야 해요.
- Windows 인스턴스 – 16 GiB 이하이어야 해요. T3 또는 T3a Windows 인스턴스를 최대 절전하려면 최소 1 GiB RAM을 권장합니다.
루트 볼륨 유형
루트 볼륨은 인스턴스 스토어 볼륨이 아닌 EBS 볼륨이어야 해요.
루트 볼륨 크기
루트 볼륨은 RAM 내용을 저장하고 예상 사용량(예: OS 또는 애플리케이션)을 수용할 만큼 커야 해요. 최대 절전을 활성화하면 시작 시 루트 볼륨에 RAM 저장용 공간이 할당됩니다.
루트 볼륨 암호화
루트 볼륨은 최대 절전 중 메모리에 있는 민감한 내용을 보호하기 위해 암호화되어야 해요. 콘솔, AWS CLI, API를 사용해 Amazon EC2를 통해 인스턴스의 최대 절전을 활성화할 수 있어요. 인스턴스가 시작되기 전에 Amazon EC2가 루트 볼륨이 암호화되었는지 검증합니다. EBS 루트 볼륨이 암호화되었으므로 최대 절전 중 그 볼륨에 기록되는 RAM 데이터도 암호화돼요.
Amazon EC2는 Amazon EC2를 통해 시작한 최대 절전에 대해서만 루트 볼륨 암호화를 포함한 최대 절전 사전 요건을 검증해요(콘솔, AWS CLI, API 포함). 게스트 운영 체제 내부에서 최대 절전을 시작하는 경우(Linux나 Windows의 suspend-to-disk 등)에는 이 검사가 적용되지 않으므로, 그 경우 EBS 루트 볼륨이 암호화되었는지 직접 확인해야 해요. 운영 체제는 중지 전에 메모리 내용을 이 볼륨에 저장합니다. 공동 책임 모델 아래에서, 게스트 운영 체제에서 수행하는 작업의 저장 데이터 암호화는 사용자 책임입니다.
루트 볼륨이 암호화된 EBS 볼륨이 되도록 하려면 다음 세 가지 옵션 중 하나를 사용하세요.
- EBS 기본 암호화(EBS encryption by default) – 계정에 생성되는 모든 새 EBS 볼륨이 암호화되도록 기본 암호화를 활성화할 수 있어요. 이렇게 하면 인스턴스 시작 시 암호화 의도를 지정하지 않고 최대 절전을 활성화할 수 있습니다.
- EBS "단일 단계" 암호화 – 암호화되지 않은 AMI에서 암호화된 EBS 기반 EC2 인스턴스를 시작하면서 동시에 최대 절전을 활성화할 수 있어요.
- 암호화된 AMI – 암호화된 AMI를 사용해 인스턴스를 시작함으로써 EBS 암호화를 활성화할 수 있어요. AMI에 암호화된 루트 스냅샷이 없다면, 복사 시 새 AMI로 복사하면서 암호화를 요청할 수 있습니다.
EBS 볼륨 유형
EBS 볼륨은 다음 EBS 볼륨 유형 중 하나를 사용해야 해요.
- 범용 SSD(General Purpose SSD):
gp2및gp3 - 프로비저닝된 IOPS SSD(Provisioned IOPS SSD):
io1및io2
Provisioned IOPS SSD 볼륨 유형을 선택하면 최대 절전에 최적의 성능을 내도록 EBS 볼륨을 적절한 IOPS로 프로비저닝해야 해요.
Spot Instance 요청
Spot Instance의 경우 다음 요건이 적용됩니다.
- Spot Instance 요청 유형이 **persistent(영구)**여야 해요.
- Spot Instance 요청에 시작 그룹(launch group)을 지정할 수 없어요.
더 알아보기 (Learn more)
- 최대 절전 동작 방식(How it works)과 Linux AMI를 최대 절전 지원으로 구성 문서를 확인하세요.