2022. 5. 8. 17:33ㆍ✅ STUDY/AWS
안녕하세요 :)
EC2 Status check에 대해 아시나요?
보통 서버를 생성하고 나면 status check로 2가지의 상태(system/instance)를 체크하면서 시작이 됩니다.
EC2 Status Check
status check란, 실행 중인 모든 EC2 인스턴스에서 자동으로 확인하여, 애플리케이션을 실행시키는 것으로 부터 손상된 것으로 보이는 하드웨어 및 소프트웨어 이슈를 감지하고 식별합니다.
쉽게 말해 2가지 종류의 status check를 1분마다 실행하다가, 하나 이상의 이슈가 생기면 인스턴스의 전체 상태가 실패(손상됨)으로 표시합니다.
status check는 Amazon EC2에 내장된 기능으로 비활성화하거나 삭제할 수 없습니다.
status check가 실패하면 status check에 대한 해당 CloudWatch 지표가 1(실패)로 증가합니다. (StatusCheckFailed, StatusCheckFailed_Instance, StatusCheckFailed_System)
이러한 지표를 사용하여 status check 결과를 기준으로 트리거되는 CloudWatch 경보를 생성할 수 있습니다.
그렇다면, status check가 실패했을 때 어떻게 해결하면 좋을지 알아봅시다!
# System status check: 인스턴스가 실행되는 AWS 시스템(물리적 호스트)을 모니터링 하는 것
원인) 네트워크 연결 끊김, 시스템 전원 손실, 물리적 호스트의 소프트웨어 문제, 물리적 호스트의 하드웨어 문제
해결 방법) AWS에서 문제를 해결할 때까지 기다리거나 직접 인스턴스 중지 후, 시작
EC2가 생성되어 있는 물리적 호스트에 이슈가 발생한 것이므로, 새로운 물리적 호스트로 옮기는 과정이 필요합니다.
이에 인스턴스를 중지하게 되면 자동으로 새로운 호스트로 옮겨지기 때문에 중지를 한 이후 시작을 해주면 해결됩니다 !
고려 사항)
- 물리적 호스트가 변경이 되기 때문에, public ip 주소는 변경됩니다. public ip 주소를 유지시키기 위해서는 Elastic IP를 생성해 해당 인스턴스와 연결하여 고정 public IP를 사용해야 합니다. private ip 동일하게 유지되므로 걱정하지 않으셔도 됩니다.
- 인스턴스 스토어 볼륨이 있는 경우, 인스턴스가 중지되면 해당 볼륨 데이터가 손실됩니다.
- 인스턴스 종료 동작이 "종료"로 설정된 경우 해당 인스턴스를 중지하면 인스턴스가 종료됩니다.
- 인스턴스가 ASG에 속해있는 경우, 우선 해당 인스턴스를 ASG에서 분리하고 시작 이후 다시 ASG에 연결합니다.
# Instance status check: 개별 인스턴스의 소프트웨어 및 네트워크 구성을 모니터링 하는 것
원인) 네트워킹 또는 시작 문제, 고갈된 메모리, 파일 시스템 문제, 운영체제 부팅 실패, 올바른 볼륨 마운트 실패, 호환되지 않는 드라이버
해결 방법) 인스턴스 재부팅, 인스턴스 구성 변경
OS 영역에서 이슈가 발생한 것이므로, 일반적으로 인스턴스를 재부팅하면 해결됩니다 !
재부팅 과정은 동일 호스트에서 말그대로 서버를 다시 시작하는 과정이기 때문에, public IP, private ip 모두 동일하게 유지됩니다.
재부팅 이후, running 상태가 되면 작업(Actions) > 모니터링 및 문제 해결(Monitor and troubleshoot) > 시스템 로그 가져오기(Get system log)를 선택하여 해당 이슈의 원인을 찾을 수도 있습니다. 로그를 찾아 인스턴스 구성을 변경하여 이슈를 해결할 수 있습니다.
위의 문제는 언제든지 발생할 가능성이 있습니다!
인스턴스 중지-시작이나 재부팅을 통해 일반적으로 해결 가능하니, 당황하지 마세요!
참고) https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitoring-system-instance-status-check.html
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/TroubleshootingInstances.html
'✅ STUDY > AWS' 카테고리의 다른 글
[aws] chatbot + slack 연동해, CodePipeline 알림 설정 (0) | 2022.05.22 |
---|---|
[aws] 오토스케일링 그룹에 속한 EC2의 Scale In 순서(default 종료 정책) (0) | 2022.05.15 |
[AWS] AWS를 제어하는 방법 (0) | 2022.05.01 |
[aws] Transit Gateway란? (0) | 2022.04.30 |
[왕초보 탈출 AWS 매뉴얼(5)] ALB & Target Group 생성 (4) | 2021.08.15 |