ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서버를 날렸습니다!
    Project/NYAM 2022. 12. 10. 18:29

    상황 :

    앱 서비스를 출시를 하고 1주일 ,3-2 기말고사 5일전   AWS ec2 에는 하나의 인스턴스에 2개의 서버프로세스와 로컬 DB 가 있었습니다.

    비용문제 때문에 3 layer 아키텍처를 철저하게 분리 하지 않았습니다. (내가 한거 아님)

     

    CMS : 웹을 이용한 가게 관리 프로그램 의 에러를 신나게 잡고 배포를 하기위하여 인스턴스에서 빌드를 하는 새벽 3시에

     

    ec2 의 인스턴스의 응답이 없고,  접속이 불가한 상황에서 인스턴스를 중지를 하고 재시작을 해야겠다라고 판단이 들었고,

    중지를 한 후에도 장시간 응답이 없어서 "인스턴스 종료를 눌렀습니다"

     

    배운것들-

     

    1. 인스턴스는 스케일 업이 가능합니다.  : 메모리를 추가하거나 용량이 추가하는 일이 가능합니다

     

    2. AWSRDS 를 이용하지 않고 ec2 인스턴스를 추가하여 DB 를 구축하는것이 가능합니다 .

    EC2 인스턴스에 DB 를 설치한후 TCP 통신을 진행합니다.

     

    3. 인스턴스 중지가 아닌 종료를 누르면 "인스턴스에 모든 데이터가 사라 집니다."

    -> 인스턴스 중지혹은 미래의 상황을 대비하여 인스턴스 이미지 스냅샷을 저장합니다. 이때 이미지 용량당 월 비용이 AWS 에서 청구가 될 수 가 있습니다.

     

    4. 몽고 디비의 경우  , 몽고 디비 클라우드 서비스 "몽고 디비 아틸라스"를 이용하여 무료 디비 구축이 가능하며

    하나의 계정의 하나이상의 프로젝트를 무료로 만들수 있으며 하나의 프로젝트는 오직 하나의 무료 버전의 디비 "share"를 만들 수 있습니다

    "share" 란 모르는 이들과 같이 컴퓨팅 자원을 나누어쓰는 것입니다.   23년 2월 현재는 3개의 몽고디비를 사용 하고 있습니다.

     

    5. https 통신을 위하여, nginx 를 구성하며 이때 , 우분투 버전에 맞게 다운을 받아야하며,  DNS 등록이 "가비아" 와같은 사이트에 완료가 된다면 , "Cerbot" 을 이용하여 자동으로 nginx 에서 ssl 인증서 발급 등록이 빠르게 가능합니다.

     

    -> Nginx 의 sites 의 location 을 수정하지 않고 바로 Cerbot 을 이용하여 ssl 설정을 해주는것을 권장합니다.

     

     

     

    감상:

    새벽 3시부터 아침을 목표로 빠르게 aws , nginx, DB 를 4시간안에 구축을 해보는 귀중한 경험이 되었습니다.

    + 추가로 공부할것 : 인스턴스 스냅샷의 원리, DB 백업 자동화 관리 , 스케일 아웃 (아마 도커 나 k8s ,,)

     

     

     

     

     

     

     

     

     

Designed by Tistory.