상세 컨텐츠

본문 제목

[AWS] EC2 서버 불안정(끊김) 문제 - 도메인

Infra/Error

by young1403 2022. 11. 14. 16:48

본문

AWS EC2 서버 불안정



웹 프로젝트를 배포하고 나서 접속이 되고 안되고를 반복해 서버가 불안정하다는 생각을 많이 했다. 가만히 들여다보니 wifi를 잡아서 할 때에 보통 불안정했고 폰 데이터를 통한 접속은 상대적으로 접속이 원활했다.(가끔 안될 때도 있었지만)

 

처음엔 ec2 free-tire를 사용하면 무료니까 이렇게 서버가 불안정한가? 라는 생각에 주변에 묻고 다녀도 이렇지 않다는 답변뿐이어서 본격적으로 이 문제를 해결하고 싶어서 찾아보게 되었다.

 

 

1. 첫번째로는 이전 글에 포스팅한 메모리 부족 문제였다.

free-tier를 사용하면서 RAM 메모리 부족으로 인해 서버가 끊기는 상황이다. (https://young1403.tistory.com/71  참고)

 

2. 두번째로는 이 글에서 설명할 도메인 설정을 잘못한 것이었다.

AWS Route53에서 도메인을 구매하면 자동으로 도메인을 연결해 주는 줄 모르고( 몇천 원 비싸서 안 했을 것 같긴 하지만), gabia(가비아)라는 사이트에서 도메인을 구매하고 그 도메인을 연결시키는 방식으로 배포는 진행하였다. 교육기관에서 배운 aws lightsail을 통한 배포 때에도 외부 도메인 사이트에서 도메인을 사서 적용하였기 때문에 수월하게 적용할 수 있을 거라 생각했다. 하지만 해커톤으로 만든 프로젝트를 EC2를 사용해 스스로 적용해보면서 많은 것을 배우게 되었다.

우선 네임서버 설정이 문제였다. route53에 설정해놓은 4개의 네임서버만 gabia에 등록해서 연결을 해주어야 했는데, 아마 당시 설정을 다 해줬는데 안되다보니 이것저것 욱여넣었거나, 블로그 글을 잘못 보고 따라 했다는 생각이 든다. 오른쪽 사진처럼 설정이 되어있었기 때문에 1,2,3차에 적어놓은 정보를 삭제해주었다. (적용되는 데는 며칠 걸릴 수 있습니다.)

 

결국 웹 호스팅에 대한 이해가 부족하여 생긴 문제이다. 결국, 웹을 호스팅 하는(AWS)와 도메인을 제공해주는(gabia) 사이트가 다르기 때문에 그 사이의 설정에서 발생한 오류라고 볼 수 있다. 위처럼 네임서버 정보를 추가해주는 방법은 aws에서 제공한 (임시 도메인) 네임서버 정보를 gabia의 네임서버 정보에 넣어 줌으로써, gabia의 네임서버를 aws의 네임서버로 바꿔주는 것이다. 웹호스팅을 제공하는 aws의 주소를 사용하는 것이기 때문에 홈페이지 운영/관리 측면에서 더욱 관리하기 효율적이라고 볼 수 있기에 대개 이런 방법을 많이 사용하는 것 같다.

 

 

3. 세번째로 서버만 켜놓으면 EC2 인스턴스 자체가 동작을 안 하는 상황

앞서 설명했던 배포가 불안정한 상황을 해결하기위해 이런저런 방법을 사용하다가  (위의 도메인은 한 예) 설정을 잘못하여서 서버만 실행시키면 EC2 인스턴스가 먹통이 돼버리는 상황이다.. 먹통이 된다는말에 대해 설명하자면, 배포를 시작하고 잠시(30초..?) 동작하다가 사이트에 접속이 안됨과 동시에 EC2 인스턴스를 중지 & 시작이 아니면 서버가 연결이 되지 않는 상황이다. (재부팅도 안된다. 중지&시작 이어야 한다.)

 

가끔이 아니라 배포하면 바로 EC2가 동작을 안 하는 상황이라서 많은 구글링을 해보았지만 해결책을 결국 찾지 못했다. 조그마한 실마리를 얻은건 인스턴스를 중지 및 시작해야 해결되는 건  aws자체의 문제? 라는 글을 보고 해결책을 찾기는 어렵다 보았다.

nginx부터 상당히 많은 것을 건드렸기 때문에 깔끔히 EC2 인스턴스 삭제, nginx, zsh 등 모든 것을 다시 새로 받고 설정하여 문제를 해결했었다. 이 글을 접하시는 분들은 부디 이 3번째 문제만은 마주치지 말길 바라며, 만나더라도 미련 없이 빠르게 ec2인스턴스를 새로 만들길 바랍니다.

 

 

관련글 더보기

댓글 영역