Amazon EC2 인스턴스 최대 절전 문제 해결
Amazon EC2 인스턴스 최대 절전 문제 해결 (Troubleshoot Amazon EC2 instance hibernation)
이 정보를 사용해 인스턴스를 최대 절전(hibernate)할 때 겪을 수 있는 문제를 진단하고 해결해 보세요.
최대 절전 문제 (Hibernation issues)
- 시작 직후 최대 절전할 수 없음
- stopping에서 stopped로 전환하는 데 너무 오래 걸리고, 시작 후 메모리 상태가 복원되지 않음
- 인스턴스가 stopping 상태에 '걸림'
- 최대 절전 직후 스팟 인스턴스를 시작할 수 없음
- 스팟 인스턴스 재개 실패
시작 직후 최대 절전할 수 없음
인스턴스를 시작한 직후 너무 빠르게 최대 절전하려고 하면 오류가 발생해요. 최대 절전 전에는 Linux 인스턴스는 시작 후 약 2분, Windows 인스턴스는 약 5분을 기다려야 해요.
stopping에서 stopped로 전환하는 데 너무 오래 걸리고, 시작 후 메모리 상태가 복원되지 않음
최대 절전 인스턴스가 stopping 상태에서 stopped으로 전환되는 데 오래 걸리고, 시작한 뒤 메모리 상태가 복원되지 않는다면 최대 절전이 제대로 구성되지 않았을 수 있어요.
Linux 인스턴스
인스턴스 시스템 로그를 확인하고 최대 절전 관련 메시지를 찾아보세요. 시스템 로그에 액세스하려면 인스턴스에 연결하거나 get-console-output 명령을 사용하세요. hibinit-agent의 로그 줄을 찾으세요. 로그 줄이 실패를 나타내거나 로그 줄이 없다면 시작 시 최대 절전 구성에 실패했을 가능성이 높아요. 예를 들어 다음 메시지는 인스턴스 루트 볼륨이 충분히 크지 않음을 나타내요: hibinit-agent: Insufficient disk space. Cannot create setup for hibernation. Please allocate a larger root device. hibinit-agent의 마지막 로그 줄이 hibinit-agent: Running: swapoff /swap, hibernation was successfully configured.라면 최대 절전이 성공적으로 구성된 거예요.
이 프로세스들의 로그가 보이지 않으면 AMI가 최대 절전을 지원하지 않을 수 있어요. 지원되는 AMI에 대한 정보는 'EC2 인스턴스 최대 절전 사전 준비'를 참고하세요. 자체 Linux AMI를 사용했다면 '최대 절전을 지원하도록 Linux AMI 구성하기'의 지침을 따랐는지 확인하세요.
Windows Server 2016 이상
EC2 런치 로그를 확인하고 최대 절전 관련 메시지를 찾아보세요. EC2 런치 로그에 액세스하려면 인스턴스에 연결해 텍스트 편집기로 C:\ProgramData\Amazon\EC2-Windows\Launch\Log\Ec2Launch.log 파일을 열어보세요. EC2Launch v2를 사용한다면 C:\ProgramData\Amazon\EC2Launch\log\agent.log를 열어보세요.
참고 기본적으로 Windows는
C:\ProgramData아래의 파일과 폴더를 숨겨요. EC2 Launch 디렉토리와 파일을 보려면 Windows Explorer에 경로를 입력하거나 폴더 속성을 변경해 숨김 파일과 폴더를 표시하세요.
최대 절전 관련 로그 줄을 찾으세요. 로그 줄이 실패를 나타내거나 로그 줄이 없다면 시작 시 최대 절전 구성에 실패했을 가능성이 높아요. 예를 들어 다음 메시지는 최대 절전 구성에 실패했음을 나타내요: Message: Failed to enable hibernation. 오류 메시지에 10진수 ASCII 값이 포함되어 있다면 ASCII 값을 일반 텍스트로 변환해 전체 오류 메시지를 읽을 수 있어요. 로그 줄에 HibernationEnabled: true가 포함되어 있으면 최대 절전이 성공적으로 구성된 거예요.
Windows Server 2012 R2 이하
EC2 config 로그를 확인하고 최대 절전 관련 메시지를 찾아보세요. EC2 config 로그에 액세스하려면 인스턴스에 연결해 텍스트 편집기로 C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt 파일을 열어보세요. SetHibernateOnSleep의 로그 줄을 찾으세요. 로그 줄이 실패를 나타내거나 로그 줄이 없다면 시작 시 최대 절전 구성에 실패했을 가능성이 높아요.
예를 들어 다음 메시지는 인스턴스 루트 볼륨이 충분히 크지 않음을 나타내요: SetHibernateOnSleep: Failed to enable hibernation: Hibernation failed with the following error: There is not enough space on the disk. 로그 줄이 SetHibernateOnSleep: HibernationEnabled: true라면 최대 절전이 성공적으로 구성된 거예요.
Windows 인스턴스 크기
1 GiB 미만의 RAM을 가진 T3 또는 T3a Windows 인스턴스를 사용한다면 최소 1 GiB의 RAM을 가진 인스턴스로 크기를 늘려 보세요.
인스턴스가 stopping 상태에 '걸림'
인스턴스를 최대 절전했는데 stopping 상태에 '걸린' 것처럼 보이면 강제로 중지할 수 있어요. 자세한 내용은 'Amazon EC2 인스턴스 중지 문제 해결하기'를 참고하세요.
최대 절전 직후 스팟 인스턴스를 시작할 수 없음
스팟 인스턴스를 최대 절전한 뒤 2분 안에 시작하려고 하면 다음 오류가 발생할 수 있어요: You failed to start the Spot Instance because the associated Spot Instance request is not in an appropriate state to support start. Linux 인스턴스는 약 2분, Windows 인스턴스는 약 5분을 기다린 뒤 인스턴스 시작을 다시 시도하세요.
스팟 인스턴스 재개 실패
스팟 인스턴스가 성공적으로 최대 절전되었지만 재개에 실패하고 대신 재부팅되었다면(최대 절전 상태가 유지되지 않는 새로 시작), 사용자 데이터에 다음 스크립트가 포함되어 있었기 때문일 수 있어요.
/usr/bin/enable-ec2-spot-hibernation
시작 템플릿의 User data 필드에서 이 스크립트를 제거한 뒤 새 스팟 인스턴스를 요청하세요. 인스턴스가 재개에 실패했어도 최대 절전 상태가 보존되지 않았다면, stopped 상태에서 시작하는 것과 같은 방식으로 인스턴스를 시작할 수 있다는 점에 유의하세요.