고장나지 않는 서버는 사용자 경험과 안정적인 서비스 유지를 위해 필수 불가결한 요소입니다. 이번 시간에는 AWS에서 Terraform Cloud와 Hashicorp를 이용해 샘플 서비스의 고가용성 (HA) 서버를 구축하는 실습을 통해 HA가 왜 중요한지 알아봅니다. 또한 GitLab의 강력한 기능인 CI/CD 파이프라인을 활용해 배포 과정을 간단하게 구현하겠습니다.

모든 과정은 워크샵에서 상세히 확인할 수 있습니다.
AWS에서 GitLab, GitLab에서 Terraform, Terraform에서 Hashicorp 순서대로 레포지토리를 연동합니다. 이 과정이 지나고 배포가 완료되면 간편하게 최신화된 서비스를 배포할 수 있게 됩니다.

자세한 과정은 워크샵 페이지의 Lab 2~3에서 확인하세요.
HA 없이 배포
먼저 HA 없이 배포를 시도합니다. 하나의 서버만으로 배포가 이루어지게 됩니다.

Gremlin 공격으로 안정성 확인하기
Gremlin에서 방금 배포한 서비스를 타겟으로 shutdown 공격을 날립니다. 서버가 꺼지게 되고 하나의 서버만으로 서비스가 유지되고 있었으므로 더 이상 서비스를 이용할 수 없게 됩니다.

자세한 과정은 워크샵 페이지의 Lab 4~5에서 확인하세요.
HA로 배포
HA 없이 배포한 서비스를 중지시키고 HA를 적용한 배포로 대체합니다. 여러 개의 EC2 서버가 이 서비스를 위해 사용됩니다.