본문 바로가기

AWS Design Pattern/운영 유지 보수 패턴

Cloud DI - 변경이 많은 부분의 분리

ㅁ  풀어야 할 문제

대규모 시스템에서는 액세스 증가에 따라 서버를 증설하게 됨, 그런 경우 서버 구축에 필요한 설치나 설정을 하나하나 수작업으로 하기에는 시간이 많이 걸리고 기간 내에 끝내는 것도 어렵다.

서버 구축 자동화를 하는 방법으로 시스템 관리 툴을 사용하는 방법도 있지만, 그렇게 하려면 비용 문제가 발생한다.

 

ㅁ  해결/패턴

가상 서버를 가동할 때 그 서버의 목적에 맞게 서버 내부 구성을 자동으로 구축해야 하는 경우가 있다.

특히, Scale Out이나 Scheduled AutoScaling 패턴을 사용하여 운영을 자동화하려고 하는 경우 요구 된다. 이런 경우 Bootstrap 패턴이 적합하지만, 외부에서 가져와야 할 정보(예를 들어, DB 접속 위치, IP 어드레스, 서버 명, 인식 번호 등)가 많은 경우에 이 Cloud DI 패턴을 이용하면 유연하게 서버 초기화를 할 수 있다.

 

ㅁ  구현

EC2를 가동할 때 EC2 인스턴스에 임의의 태그를 붙이는 기능이 있다. 이 기능을 이용하면 EC2를 가동할 때 태그 정보를 읽어와 그 정보에 맞게 설정한다.

-       EC2의 고유 정보를 태그로 설정한다. (예를 들어 EIP를 태그로 설정)

-       EC가 가동할 때 태그를 적용할 애플리케이션이 가동하도록 설정한다.

-       애플리케이션 내에서 태그 정보에 따라 EC2 초기 설정이 이루어진다. (설정한 EIP가 자동으로 EC2에 할당된다.)

 

ㅁ  장점

-       Stamp 패턴, Bootstrap 패턴을 이용하여 범용적인 기본 서버 이미지에 고유의 설정을 할 수 있다.

-       태그 정보로 파라미터 설정을 하기 때문에 관리 콘솔에서 쉽게 설정 및 확인이 가능한다.

-       설정을 자동화함으로써 운영상의 실수를 줄일 수 있다.

-       EC2 인스턴스 구축 뿐만 아니라 AMI나 스냅샷을 자동으로 실행하는 구조에서도 사용할 수 있다

 

ㅁ  주의점

-       태그에는 넣을 수 있는 문자 수가 정해져 있는 경우가 있다. 그런 경우는 S3 URL이나 네트워크 파일 경로 등 전달할 정보에 대한 포인터 정보를 태그에 설정한다.