본문 바로가기

AWS Design Pattern/기본 패턴

Stamp 패턴

 풀어야 할 문제

가상 서버에 필요한 OS나 애플리케이션의 설정은 물리 서버와 같이 수고와 시간, 비용이 든다.

가상 서버는 하드웨어에 의존하지 않는 서버, 즉 소프트웨어적 서버다. 그 실체는 물리 서버에 에뮬레이터 된 여러 대의 서버인 것이다. 물리 서버에 큰 변경 없이 가상 서버가 마치 물리 서버처럼 작동한다. 가상 서버 생성은 필요할 때 즉시 생성할 수 있고 언제든지 삭제 할 수 있기 때문에 높은 편리성을 가진다.

물리 서버보다 가상 서버를 사용할 기회가 증가하고 있지만, 가상 서버를 이용하기 위해 필요한 설정(예를 들어, OS의 설정이나 애플리케이션 설치 및 설정)은 여전히 물리 서버와 비슷하게 소요되며, 수고와 시간, 비용이 든다.

 

ㅁ  해결/패턴

클라우드를 이용하면 가상 서버에 OS나 미들웨어, 애플리케이션의 각종 설정을 완료한 상태의 서버 이미지를 만들 수 있고, 그 이미지를 이용해 새로운 가상 서버를 가동할 수 있다.

, OS나 미들웨어, 애플리케이션을 한번 설정하면 그 이미지를 복사해 두고 언제든 재이용이 가능하다. 마치 [Stamp]를 찍듯이 가상 서버를 복제하여 환경 설정이 끝난 가상 서버를 대량으로 준비가 가능하다.

원래는 환경 설정이 끝난 물리 디스크를 다른 물리 디스크에 복사하거나 특별한 백업 소프트웨어로 디스크에서 디스크로 복사했지만 모두 수고와 비용이 들고 대량으로 빠르게 하기는 어려웠다. 클라우드에서 서버나 디스크 등의 자원을 논리적으로 다룰 수 있어 이런 작업을 쉽게 할 수 있다.

 

ㅁ  구현

OS의 부트 영역이 있는 EBS로부터 AMI를 만들면 AMI로부터 EC2 인스턴스의 기동이 가능하여 동일한 설정의 EC2 인스턴스를 대량으로 만들 수 있음.

-       EC2 인스턴스를 가동하고 필요한 소프트웨어를 설치

-       필요한 설정을 하고 서버로 동작하게 만듦

-       작동 확인 후 AMI를 취득하고 등록

-        AMI를 이용해 필요할 때 필요한 수 만큼 서버를 만듦

ㅁ  장점

-       환경 구축이 끝난 AMI를 이용하면 그 기반으로 만들어진 EC2 인스턴스에는 설정 작업이 필요 없음.

-       동일한 OS, 데이터, 설정의 EC2 인스턴스를 수백 대라도 만들 수 있다.

-       스트립트를 사용해 EC2 인스턴스를 가동하는 경우도 환경 구축이 끝난 AMI라면 설정 작업은 필요 없기 때문에 스크립트를 간단하게 만들 수 있다.

-       만든 AMI는 자신만 사용하는 것이 아니고 필요에 따라 AMI 를 특정 사용자에게 공유하거나 AMI를 공개할 수 있다.

 

ㅁ  주의점

-       어느 시점에서 스냅샷을 저장할까, 어느 정도 시점에서 AMI를 갱신할 까는 경우에 따라 다르며 시스템의 요건에 맞춰 할 필요가 있음

-       동일한 설정의 EC2(가상 서버)가 복제되기 때문에 가상 서버마다 설정이 바뀌 항목이 있는 경우 적절한 방법을 연구할 필요가 있음.

일단, AMI를 만들어 버리면 기본 OS에 패치가 되었을 때나 버전이 올라갔을 때 자동적으로 AMI에 반영되지 않아 개별적으로 패치나 버전을 올리는 작업이 필요