AWS CloudWatch
EC2 instance의 상태를 모니터링하는 AWS 서비스.
- 측정 유형
- AWS 제공
- Basic - 5분 단위 측정, Detailed - 1분 단위 측정
- CPU, Network, Disk와 Status Check 용도
- 커스텀 방식
- Basic - 1분 단위 측정 , High - 1초 단위 측정
- RAM, 애플리케이션 용도
- EC2 인스턴스 역할에 대한 IAM 권한 설정이 정확해야 한다!
- AWS 제공
- 성능 측정 기준
- CPU : CPU Utilization + CPU Usage/Balance
- 네트워크 : Network In/Out
- Status Check
- Instance status - check EC2 VM
- System status - check underlying hardware
- Disk : 명령어/바이트에 대한 읽기/쓰기
> RAM은 EC2 측정 단위에 포함되지 않는다! (중요!!!!)
Unified CloudWatch Agent
EC2 인스턴스에서 발생한 로그를 CloudWatch로 전송하기 위해선 Unified CloudWatch Agent를 설치해야 한다.
이 때, 인스턴스에 대한 적합한 IAM 역할을 부여하는 것도 중요하다.
- 특징
- 개별 프로세스의 시스템 이용률을 모니터링하고 지표를 수집한다.
- Linux와 Windows 서버에 모두 사용 가능하다.
- 예시 : 프로세스가 CPU를 사용한 시간 량, 프로세스가 사용한 메모리 양
Status check
Instance
Instance status check은 각 인스턴스의 소프트웨어와 네트워크 환경 설정을 모니터링하는 것이다.
- 문제 발생 예시
- 잘못된 네트워킹 혹은 시작 환경 설정
- 메모리 낭비
- 파일 시스템 오염
- 호환되지 않는 커널
> 이를 해결하기 위해선, 인스턴스를 재시작하거나 인스턴스 환경 설정을 변경해야 한다.
System
반면, System status check은 인스턴스가 실행되고 있는 AWS 시스템을 모니터링한다.
- 문제 발생 예시
- 네트워크 연결 손실
- 시스템 전원 손실
- 물리적 호스트의 소프트웨어 문제
- 네트워크 접근성에 영향을 끼치는 물리적 호스트의 하드웨어 문제가 있다.
> AWS가 호스트를 고치길 기다리거나 EC2 인스턴스를 새로운 호스트로 옮겨야 한다(STOP & START).
Attached EBS
각 EC2 인스턴스에 부착된 EBS volume을 모니터링한다.
- 문제 발생 예시
- EBS Volume에 내재된 스토리지 subsystem의 H/W 혹은 S/W 문제
- EBS Volume의 reachability에 영향을 주는 물리 호스트에 대한 H/W 문제
- EC2 인스턴스와 EBS Volume 간의 연결 문제
> 직접 고치거나, EC2 인스턴스를 재시작하거나 영향 받은 EBS Volume을 교체해야 한다.
CloudWatch Recovery Options
- CloudWatch Alarm
- Auto Scaling Group
EC2 instance - Launch Issues
`InstanceLimitsExceeded`
- 계정 당 한 리전에 배정된 ec2 인스턴스 생성 가능량을 넘어섰음을 나타낸다.
- 해결책) 다른 리전에서 새로 생성하거나 AWS 측에 제한량 상승을 요청한다.
- 주의!) vCPU 기반 제한은 오직 실행 중인 On-Demand 및 Spot instance에 한정된다.
`InsufficientInstanceCapacity`
- 사용자가 아닌 AWS 측의 문제로, 현재 가용 영역(AZ)에서 On-Demand 수용량이 한계에 도달해 더 이상 생성할 수 없음을 나타낸다.
- 해결책) 잠시 대기하거나 급하다면, 일단 보다 큰 크기의 인스턴스 생성을 요청하고 이후 다시 크기를 조정한다.
Instance가 생성 즉시 종료될 경우
- EBS Volume 한계에 도달했거나
- EBS 스냅샷이 오염(corrupted)됐거나
- root EBS Volume이 암호화되고 복호화를 위해 KMS 키에 접근할 권한이 부족한 경우
EC2 instance - Hibernate
1. in-memory(RAM) 상태가 보존된다
2. instance 부팅이 빨라진다
3. RAM 상태가 root EBS 볼륨에 적혀 있는데, root EBS 볼륨은 반드시 암호화되어야 한다.
정리
- EC2 인스턴스 생성 시, InstanceLimitExceeded 문제가 발생한다면 한 리전에 배정된 vCPU 용량을 다 사용한 것이니 다른 리전으로 옮겨 생성해야 한다.
- EC2 인스턴스 생성 시, InsufficientInstanceCapacity 문제가 발생했다면 원인은 AWS가 특정 가용 영역(AZ)의 온디멘드에 대해 여유가 없기 때문이다.
- EC2 인스턴스 생성 후, 상태가 pending에서 terminating으로 즉시 전환된다면 이건 EBS 용량을 한계까지 사용했거나 EBS 스냅샷이 오염됐거나 암호화된 EBS에 대한 KMS 키를 보유하지 않았기 때문이다.
'자격증 공부 > AWS SysOps Administrator - Associate' 카테고리의 다른 글
AWS SysOps Administrator - Associate 6일차 (1) | 2024.07.05 |
---|---|
AWS SOA(02) - Systems Manager (1) | 2024.07.03 |
AWS SOA(02) - AMI (1) | 2024.07.01 |
AWS SOA(02) - EC2 구매 옵션 (1) | 2024.06.28 |
AWS SOA(02) - EC2와 EBS, EC2 배치 전략 (1) | 2024.06.27 |