개요
과거 AWS에서 Ubuntu 기반 EC2 인스턴스를 사용해 다수의 노드를 운영한 적이 있습니다.
대략 1000대 규모였고 낮은 확률이지만 간헐적으로 노드가 비정상 상태에 빠지는 경우가 있었습니다.
확률로 보면 약 0.1% 수준이었는데 이걸 노드 수에 대입하면 하루에 한 대 정도는 문제가 발생하는 수준이었습니다. (1000대여도 0.1%면 하루에 한 개의 노드가 떨어지는 상황...)
문제 상황
특정 노드가 응답하지 않거나 비정상 상태로 전환 (갑작스러운 종료)
노드 수가 많다 보니 장애 자체보다 대응 과정이 반복되는 게 더 부담이 됐습니다.
자동 복구가 되긴하지만 확인했다는 코멘트를 새벽에도 달아줘야.. 했습니다.
AWS에 문의해도 내부적 상황이라는 말만 주구장창했었던..
변경
이후 OS를 Ubuntu 22.04에서 Amazon Linux 2023으로 변경!!
결과
OS 변경 이후에는 동일한 규모로 운영하면서도 이전에 보이던 간헐적인 노드 장애가 발생하지 않았습니다.
특별히 다른 구조를 바꾼 것은 없었고 OS만 변경된 상태였네요
추정
정확한 원인을 확인한 것은 아니지만 몇 가지 차이를 생각해볼 수 있었습니다.
Amazon Linux는 AWS 환경에 맞춰져 있어서 커널이나 드라이버가 더 안정적으로 동작했을 가능성
네트워크(ENA), 스토리지(EBS)와의 호환성 차이 그리고 패키지 구성이나 업데이트 정책 차이를 유추해 볼 수 있었습니다.
정리
소규모에서는 잘 드러나지 않던 문제가 노드 수가 많아지면서 체감되고 확률이 낮아도 규모가 커지면 운영 이슈로 이어짐니다.
OS 선택이 실제 안정성에 영향을 줄 수 있습니다.
결론
Ubuntu 환경에서는 간헐적인 노드 장애가 있었고
Amazon Linux 2023으로 변경한 이후에는 같은 문제가 발생하지 않았습니다.
대규모로 EC2를 운영하는 경우에는 기본 OS 선택도 한 번쯤 검토할 필요가 있다고 생각합니다!