Docker 활용 시나리오

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

지금까지 Docker 기본 사용 방법과 웹 애플리케이션 구축 예제를 알아보았습니다. 이 장에서는 대표적인 Docker 활용 시나리오 4가지를 소개하겠습니다.

로드 밸런서와 연계한 확장 전개

클라우드 서비스가 등장하면서 이제 클릭 몇 번 만으로 수십, 수백대의 서버를 사용할 수 있게 되었습니다. 그래서 예전처럼 서버를 1년 365일 켜두고 쓰는 것이 아니라 필요할 때만 서버 인스턴스를 생성하여 사용하는 형태로 바뀌고 있습니다. 특히 부하를 분산하는 로드 밸런서와 자동 확장(Auto Scaling) 기능을 활용하여 급격히 늘어나는 트래픽에도 유연하게 대처할 수 있게 되었습니다.

Docker를 활용하면 클라우드 서비스에서 제공하는 기능과 조합하여 좀더 편리한 자동 확장 환경을 구축할 수 있습니다.


그림 19-1 AWS에서 Docker 활용

그림 19-1은 AWS의 ELB 로드밸런서와 Auto Scaling에 Docker를 활용한 구성도입니다.

  • ELB 로드밸런서는 외부에서 들어오는 트래픽을 Auto Scaling 그룹에 속한 EC2 인스턴스에 분배합니다.
  • Auto Scaling은 트래픽에 따라 EC2 인스턴스를 생성하거나 삭제합니다.
  • 새로 생성되는 EC2 인스턴스는 Docker 레지스트리에서 이미지를 받아와서 컨테이너로 실행합니다.
  • EC2 인스턴스를 생성할 때 모든 서비스 환경이 설정된 AMI(Amazon Machine Images)를 이용하는 것보다 Docker를 사용하는 쪽이 좀더 간편합니다. 특히 Docker를 사용하면 EC2 인스턴스와 내부 테스 트환경 그리고 개발자의 PC를 동일한 환경으로 구성할 수 있습니다.
    • AMI에는 Docker만 설치한 상태로 사용합니다.
    • Docker 이미지를 빨리 받아올 수 있도록 Docker 레지스트리는 AWS 내부에 구축합니다.
  • CoreOS를 사용하면 좀더 편리하게 Docker 이미지를 배포하고 고가용성(High Availablity) 서비스를 구축할 수 있습니다.

이런 방식으로 AWS뿐만 아니라 다른 클라우드 서비스에서도 동일하게 구축할 수 있습니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

30 November 2014