본문 바로가기
[AWS]/STUDY

[AWS]운영서버 장애시 자동 Restart

by METAVERSE STORY 2022. 6. 30.
반응형
728x170

서버가 운영중에 사용자가 급증해서 트래픽이 몰리거나, 다른 서버에서 장애가 발생했을때 서비스가 안되는 현상은 어느 운영 환경에서 발생할수 있다.
장애를 방지하는것이 가장 최적의 대응이지만, 필자가 생각했을때, 서비스가 최대한 빠르게 원상 복구 되는것도 좋은 대응 방안이라 판단된다.
이를 가능하게 하는것이 AWS 서비스 중에 System Manager이다.

System Manager로 접속하면 아랭화 같은 화면을 확인할수 있다.

이곳에서 자동화 문서를 작성해야 한다.
가장 하단에 있는 Documents를 선택한다.

그러면 AWS에서 제공하는 다양한 자동화 문서가 있는데, 이중에 현재 운영 환경이랑 맞는 자동화 문서가 있다면 사용하면 되지만, 커스터마이징된 자동화 문서가 필요한 경우가 대부분이다.
우측 상단에 있는 Create Document 버튼을 선택하여 Automation버튼을 선택하면

위와 같은 화면이 표출될것이다.
Builder 탭에서 자동화 문서를 모두 선택하여 만들어도 되지만, 필자의 경우는 Editor로 이동하여 작성하였다.
Editor로 이동시 Builder로 돌아갈수 없으니 이는 꼭 주의하자.
Editor에 원하는 명령과 커맨드를 입력한다.

저장을 클릭하면, 해당 자동화 문서가 생성된다.
그 다음은 자동화 문서를 가지고 실행해주는 친구를 만들어야한다.
Incident Manager탭으로 이동하여

Incident Manager를 생성할때, Region만 선택하고 생성하면 되는것으로 보인다...
다음으로는 IAM 역할을 생성해주는데

위와 같이 Roles를 선택하여 역할을 설정해주고,

권한 정책을 설정하면 IAM 역할이 생성된다.
그러면 이제 장애 발생시 내가 꿀잠을 자고 있을때 대신 일을 해줄 친구들을 모두 섭외 완료했다.

다시 System Manager로 이동하여 Response plans를 세워보자.
모든 장애에는 계획이 필요하다.

위 처럼 3가지의 이름을 입력하는데, 왜 구분이 있는지는 잘 모르....
그 다음 Impact를 설정하는데, 다른 장애 상황은 내가 대응할테니, 친구야 너는 Critical한것만 알아서 처리해줘...를 선택한다.
그다음 중간 Optional 내용은 뭐 필자도 더 파악이 필요하겠지만, 우선 지금은 넘어가도록 하겠다.

그 다음 생성한 자동화 문서를 실행하라는 설정을 해준다.

마지막으로, 설정한 UnHealthy 체크 경보에 이 Response Plan을 설정해준다.

이렇게 하면, 내가 꿀잠자고 있을때 섭외한 친구들이 일을 대신 해준다.
참으로 고마운 친구이지만, 이 친구는 '한번만' 일을 해준다...
UnHealthy 체크를 계속하면서 일을 대신해주면 너무 고맙겠지만,
이는 큰뜻이 있었다.
서비스를 잠시 내리고, 소스 수정후 재배포하는 작업을 한다고 가정해보자.
나는 서비스를 내리고 배포 작업을 해야하는데,
이 눈치없는 친구가 서비스를 계속 살려준다....
배포작업을 해야하는 사람 입장에서는 정말 미치고 환장할 노릇이다.
그래서 한번 일을하면, 이 친구는 나한테 확인을 받아야 한다.

경보로 접근하여 발생했던 장애가 해결되었는지 확인을하고 해결이라는 버튼을 클릭하면, 이 친구가 다시 일할 준비를 한다.
참 여러모로 똑똑한 친구이다.
추가로, System Manager용 배치 명령어에서는 PowerShell 명령어를 인식하지 못하니, 서비스에 배치를 등록하고 실행하시길 바란다.

반응형
그리드형

댓글