ㅁ 풀어야 할 문제
서버 이미지에서 서버를 만드는 방법, 즉 Stamp패턴을 적용할 때 어느 정도의 빈도로 서버 이미지를 가지고 올 것인가는 운영 효율에 있어서 자주 거론되는 문제다
Stamp 패턴에서는 미들웨어부터 애플리케이션까지 전부 설정이 끝난 상태에서 서버를 가동하면 그대로 사용이 가능한 서버 이미지를 만들 수 있다.
이런 때 가상 서버의 가동은 굉장히 빠르지만, 미들웨어 중 하나를 업데이트해야 하거나 애플리케이션 설정을 바꿔야 할 때는 서버 이미지를 다시 만들어야 한다.
ㅁ 해결/패턴
클라우드에서는 쉽게 서버 이미지를 만들 수 있으며, 가동할 때 파라미터를 설정할 수 있다. 이 기능을 사용하여 서버 구성에 필요한 파라미터를 전달하여 서버를 가동할 때 필요한 설정을 서버가 전달받아 설치, 가동, 설정까지 실행하는 서버 이미지를 만들 수 있다. 따라서 각각의 패키지 버전 변경이 있을 때는 서버 이미지를 고칠 필요가 없어진다.
AMI(서버 이미지)를 용도에 맞춰 만든다. 구체적으로 EC2(가상 서버)의 초기화에 필요한 여러 가지 파일을 S3(인터넷 스토리지)에 배치하고 E2를 가동할 때, 그 파라미터를 읽어와 동적으로 자기 자신을 구축할 수 있게 한다. 파라미터 파일은 Git 등의 저장소를 사용하는 것도 가능하다.
또한, Amazon Linux에는 cloud-init라는 초기 설정 기능이 있어서 사용자 데이터 영역에 초기화 스크립트를 만들어두고 자동으로 실행할 수 있다.
- 부트스트랩(bootstrap)을 할 때에는 필요한 데이터를 S3나 Git등의 저장소에 준비해둔다. 부트스트랩을 적용한 AMI를 만들어 둔다.
- EC2를 부트스트랩을 적용한 특정 AMI로 가동한다.
- EC2는 가동할 때 자신이 필요한 패키지를 받아 설치, 가동, 설정을 한다.
- AMI를 이용하여 필요에 따라 동적으로 서버를 복제할 수 있다. 동적으로 서버를 복제할 수 있다.
- 설치가 필요한 패키지 버전이 업데이트되어도 AMI를 다시 만들 필요가 없다.
- 가동할 때 파라미터 등을 전달하여 설정 순서나 내용을 변경할 수 있다.
- 어떤 계층 까지를 고정 AMI로 하고 어떤 계층의 상단을 가동 시에 동적으로 설정할 것인지는 선택해야 한다.
- Stamp 패턴과의 트레이드 오프를 고려하여 어떤 패턴을 적용할 것인지를 검토한다.
'AWS Design Pattern > 운영 유지 보수 패턴' 카테고리의 다른 글
Web Storage Archive - 대용량 데이터 아카이브화 (0) | 2021.02.05 |
---|---|
Monitoring Integration - 모니터링 툴 일원화 (0) | 2021.02.05 |
Server Swapping - 서버 이전 (0) | 2021.02.05 |
Stack Deployment - 서버 군의 템플릿화 (0) | 2021.02.05 |
Cloud DI - 변경이 많은 부분의 분리 (0) | 2021.02.05 |