관리 메뉴

피터의 개발이야기

[AWS] '서비스 운영이 쉬어지는 AWS 인프라 구축가이드' - 10장 본문

책이야기/AWS

[AWS] '서비스 운영이 쉬어지는 AWS 인프라 구축가이드' - 10장

기록하는 백앤드개발자 2020. 12. 22. 01:36
반응형

http://image.yes24.com/goods/68799454/800x0 yes24.com에서

회사에서 급하게 프로젝트를 하나 진행하게 되었다.
기존에 구축되어 있던 애플리케이션을 재활용하여 새로운 서비스를 1주일만에 런칭해야했다.
12.21 2시에 회의를 통해 해야할 일 감을 받고, 바로 투입.

 

기존에 구축되어 있던 애플리케이션이 곧 종료될 것 같아서 개발계가 삭제되어 있는 상황이었다.

나는 Elastic Beanstalk를 잘 모른 상태에서 Elastic Beanstalk으로 구성된 운영서버를  개발계에 똑같이 만들려고 하고 있었다.

급한 김에 얼릉 책을 훓터보고 개발계 세팅을 시작하였다. 급하게 읽어서 이해를 못했던 나는 결국 EB로 생성된 인스턴스를 AMI로 복제하여 개발계를 세팅을 마무리 하였다. 아쉬웠다.

 

 그래서 빨리 Elastic Beanstalk 장을 공부해서 정리해야겠다는 생각이 확 들었다.

난 00시에 퇴근을 하고 현재시간 00시 50분 이 글을 쓰고 있었다.

내가 몰랐던 부분을 알 때까지 잠이 안올게 분명하였다. 

조금만 일찍 이해하고 있었더라면, 너무나 좋은 기능을 쉽고 빠르게 이용하여 끝낼 수 있었던 일이었다.

자동화된 것 자체를  모르면, 그것 또한 난감한 일이다. 부끄러웠다.

오늘 밤에 공부해서 오늘 아침에 사장님으로부터 Elastic Beanstalk 권한을 받아 곧 실습을 해봐야겠다.

 

10장 Elastic Beanstalk, 자동화된 서버 관리

Elastic Beanstalk는 Iaas(Infrastructure as a Service)인 EC2와 다르게 Paas(Platform as a service)로서 서버 구성,  Auto Scaling, 배포 자동화, 모니터링 등 서버 운영에 필요한 대부분의 작업을 최대한 자동화해서 제공하는 서비스다. EC2, Auto Scaling 그룹, CloudWatch 등의 기술을 사용하되 사람을 대신해서 작업을 진행해 준다는 뜻이다.

 

Elastic Beanstalk를 사용하면 애풀리케이션 코드 작성을 완료한 뒤 실제 서버에 올리기 위해 서버 구성에 시간을 쏟을 필요 없이 현재 애플리케이션의 언어에 맞는 환경만 선택하고 작성한 애플리케이션 소스코드를 압축해서업로드하면 Elastic Beanstalk가 웹 서버, 언어 등 환경이 완료된 서버를 생성하고 해당 서버에 애플리케이션 배포까지 자동으로 진행한다. 그리고 CPU 등 정해둔 지표에 따라 Auto Scaling도 자동으로 진행한다.

Elastic Beanstalk는 하나의 애플리케이션 내 테스트, 운영 환경과 같이 최소 두가지 이상의 환경을 생성할 수 있게 한다. 이미 생성된 환경의 설정값을 그대로 복제해서 다른 환경도 쉽게 생성할 수 있다. 

 

장점

빠른 서버 구축

서버 운영에 대한 지식이 없더라도 다중 서버, 보안 그룹 설정이 자동, 완성도가 높게 구축

Elastic Beanstalk는 무료, EC2, ELB등 기본 AWS 자원에 대한 비용만 지급하면 된다.

 

단점

획일적이기에 유연성이 떨어져 커스텀 설정이 어렵다.

자동화로 내제되어 있는 부분에 대해선 버그를 찾기 어렵고, 업데이트가 되어도 어떤 부분이 된지를 알기 어렵다.

자동 생성된 보안그룹, ELB 등 자원들을 생성될 때 이름 자동생성되어 수정할 수 없다.

 

 

 

대시보드

대시보드는 애플리케이션의 상태, 배포된 버전, 구성, 에러 등 문제가 발생하면 빨간색으로 표시되어 원인을 바로 찾아볼 수 있게 한다.

 

구성

종합선물세트이다. 개별적으로 설정했던 부분을 Elastic Beanstalk를 이용하면 모두 구성 메뉴 내부에서 설정할 수 있다.

 

로그

CloudWatch Logs처럼 인스턴스에 접속하지 않고도 웹 콘솔에서 주요 로그를 확인할 수 있다.

 

상태

인스턴스에 대한 주요 지표 값들이나, 문제가 있는 인스턴스를 한눈에 확인할 수 있다. 필요한 경우 재부팅,종료의 작업을 버튼으로 수행할 수 있다.

 

모니터링

CloudWatch 대시보드와 같이 주요 지표들을 볼 수 있다.

 

경보

CloudWatch와 같다.

 

관리형 업데이트

 

Node.js 나 기타 서버의 환경을 새로운 버전으로 자동 업데이트 해준다.

 

이벤트

Elastic Beanstalk의 자동 수행 이력을 확인할 수 있다.

 

태그

자동 태그 플러스로 커스텀 태그를 추가한다. 

 

 

마무리

Elastic Beanstalk은 종합선물세트이다. 중복된 설정에 대해 자동으로 대체해 주지만, 나처럼 그 장점을 잘 모를 경우는 고생할 수가 있다. 기존 서비스처럼 설정하는 곳이 없기 때문이다. ㅎㅎ

반응형
Comments