Amazon Web Services 한국 블로그
Amazon EC2 인스턴스 최대 절전 모드 기능 추가 (서울 리전 포함)
AWS 고객은 필요에 따라 새로운 EC2 인스턴스를 시작하는 고도로 확장 가능한 AWS 애플리케이션을 손쉽게 구축할 수 있습니다. 인스턴스는 단 몇 초 만에 설정 및 실행할 수 있지만 운영 체제와 애플리케이션의 부팅에는 상당한 시간이 소요될 수 있습니다.
및 기타 메모리 중심적 애플리케이션 구성 요소도 사전 로드하거나 가동하는 데 어느 정도의 시간(어떤 경우에는 수십 분)이 소요될 수 있습니다. 이러한 요인은 모두 시간적 지연을 수반하며 용량 증분이 신속하게 필요한 경우 과다한 프로비저닝을 유발할 수 있습니다.
EC2 인스턴스의 최대 절전 모드
오늘 AWS에서는 EC2 인스턴스를 시작하고 원하는 대로 설정한 다음, 최대 절전 모드(Hibernation, 또는 수면 모드)를 지정해 두었다가 나중에 필요할 때 다시 가동시킬 수 있는 기능을 선보입니다. 하이버네이션 프로세스는 나중에 동일한 시점에서 인스턴스를 다시 시작할 수 있도록 인스턴스의 인메모리 상태와 프라이빗 및 탄력적 IP 주소를 저장합니다.
이 기능은 정식 출시되었으며, Amazon Linux 1 기반에서 실행 중이고 새로 시작된 M3, M4, M5, C3, C4, C5, R3, R4 및 R5 인스턴스에서 지금 사용할 수 있습니다(Amazon Linux 2 지원은 현재 개발 중이며 곧 출시될 예정). 이 기능은 예약 인스턴스 옵션과 함께 실행되는 인스턴스와 온디맨드 인스턴스에 적용됩니다.
인스턴스를 최대 절전 모드 상태로 설정하면 인메모리 상태가 루트 EBS 볼륨에 있는 파일에 저장된 다음 실질적으로 인스턴스가 종료됩니다. 인스턴스를 시작하는 데 사용된 AMI와 인스턴스의 루트 EBS 볼륨은 암호화되어야 합니다. 암호화는 민감한 데이터가 메모리에서 EBS 볼륨으로 복사될 때 올바른 보호 기능을 제공합니다.
인스턴스가 수면(Hibernation) 상태에 있는 동안에는 이에 연결된 EBS 볼륨과 탄력적 IP 주소에 대한 요금만 지불합니다. 다른 모든 중지된 인스턴스와 마찬가지로, 이 외에 청구되는 시간당 요금은 없습니다.
작동 방식
이 기능을 살펴보기 위해 c4.large 인스턴스를 시작하고 중지 동작으로 하이버네이션을 선택하겠습니다.
또한, 인스턴스의 루트 볼륨을 원하는 크기에 10GB + 인스턴스 메모리 크기를 추가하여 확장하겠습니다.
그리고 퍼블릭 주소는 변경되므로 탄력적 IP 주소를 생성하여 인스턴스에 연결합니다. 인스턴스가 가동되어 실행됩니다. 가동 시간을 확인해 보겠습니다.
그런 다음 EC2 콘솔에서 인스턴스를 선택하고 [인스턴스 상태] 메뉴에서 [Stop – Hibernation]을 선택합니다(API 및 CLI 지원도 제공).
인스턴스 상태가 [실행 중]에서 [중지 중]으로 전환되었다가 몇 초 내에 [중지됨]으로 변경됩니다.
콘솔에는 전환 작업에 대한 추가 정보가 제공됩니다.
인스턴스가 더 이상 실행되지 않으므로 인스턴스에 대한 SSH 연결이 해제됩니다.
나중에 계속할 준비가 되면 [시작]을 클릭합니다.
이번에는 상태가 [중지됨]에서 [대기 중]으로 변경된 다음 몇 초 후에 [실행 중]으로 변경됩니다. 이 상태가 되면 재연결이 가능해 집니다. 이제 uptime
을 사용하면 인스턴스가 재부팅된 것이 아니라 중지했던 시점에서 계속된 것을 확인할 수 있습니다.
이 인스턴스를 대화식으로 사용하는 경우 screen
, tmux
또는 mosh
와 같은 세션 관리자를 통해 이 모든 과정을 매우 효율적으로 진행할 수 있습니다. 수면 기능의 가장 흥미로운 사용 사례로는, 초기화하여 트래픽을 수신할 준비가 되기까지 오랜 시간이 걸리지만 그 동안 수면으로 전환해도 문제가 되지 않는 장기 실행 프로세스 및 서비스가 있습니다.
주요 사항
보시는 바와 같이 수면 기능은 사용이 매우 간편하므로 여러분도 애플리케이션에 적용할 수 있는 다양한 아이디어가 바로 생각날 것입니다. 몇 가지 참고할 사항을 알려드리겠습니다.
- 인스턴스 유형 – 수면 기능은 위에 나열된 유형의 인스턴스를 새로 시작한 경우에 사용할 수 있습니다.
- 루트 볼륨 크기 – 수면이 성공적으로 설정되려면 루트 볼륨에 인스턴스의 RAM 용량과 같은 크기의 여유 공간이 있어야 합니다.
- 운영 체제 – 가장 최신의 Amazon Linux 1 AMI가 수면 기능용으로 구성되어 있으며 다른 많은 버전에 대한 지원도 현재 개발 중입니다. 이러한 AMI 중 하나를 기반으로 사용하여 암호화된 AMI를 생성해야 합니다. AWS의 지침을 따라 AMI를 사용자 지정하여 자체 AMI를 사용할 수도 있습니다.
- 수정 – 수면 상태에 있는 동안에는 인스턴스 크기나 유형을 수정할 수 없지만 사용자 데이터 및 EBS 최적화 설정은 수정할 수 있습니다.
- 요금 – 인스턴스가 수면 상태에 있는 동안에는 인스턴스에 연결된 EBS 스토리지 및 탄력적 IP 주소에 대한 요금만 지불하면 됩니다.
- 성능 – 수면으로 전환하거나 재시작하는 시간은 인스턴스의 메모리 크기, 저장해야 할 인메모리 데이터 및 루트 EBS 볼륨의 처리량에 따라 달라집니다.
- 출시 예정 – 현재 AWS에서는 Amazon Linux 2, Ubuntu, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016에 대한 지원과 Windows AMI의 SQL Server 버전에 대한 지원을 개발 중입니다.
지금 이용 가능
이 기능은 현재 미국 동부(버지니아 북부, 오하이오), 미국 서부(캘리포니아 북부, 오레곤), 캐나다(중부), 남아메리카(상파울루), 아시아 태평양(뭄바이, 서울, 싱가포르, 시드니, 도쿄) 및 EU(프랑크푸르트, 런던, 아일랜드, 파리) 리전에서 이용할 수 있습니다.
— Jeff;