ㅁ 풀어야 할 문제
시스템 개발이나 운영 유지 보수에 있어서 일반적으로 테스트 환경이나 스테이징 환경을 준비한다. 이 환경은 평상시에 사용하지 않아 서비스 환경과 동일한 대수의 서버를 준비하는 데에는 많은 비용이 들어간다. 가상 서버를 이용하면 비용 효율이 개선된다.
그러나 시스템이 복잡하고 가상 서버가 많은 경우, 그 환경을 만들고 관련되 가상 서버를 가동하고 정지하는 등의 작업에는 손이 많이 간다. 그렇게 되면 시간도 많이 걸리고 실수도 많아 진다.
ㅁ 해결/패턴
서버 그룹을 가동하는 템플릿을 준비하여 거기에 맞춰 자동으로 한번에 가동하는 방법을 이용한다.
구축해야 하는 환경에 필요한 클라우드 컴포넌트를 템플릿에 넣어두고, 그 템플릿에 따라 환경 구축을 함으로 복잡한 시스템을 실수 없이 준비할 수 있다.
AWS의 [CloudFormation]이라는 서비스를 사용하여 서버 자원 등을 기술한 [CloudFormation 템플릿]에서 시스템(EC2 등)을 가동한다.
- 신규 또는 기존 환경에서 CloudFormation 템플릿을 만든다.
- 시스템을 이용할 때 CloudFormation 템플릿에서 시스템(EC2 등)을 한 번에 가동한다.
- 시스템을 종료할 때 CloudFormation 템플릿을 이용하여 한 번에 시스템을 삭제한다.
템플릿을 만들 때 기존 시스템에서 템플릿을 만드는 CloudFormer라는 툴도 사용할 수 있다.
- 순서에 맞게 가동해야 하는 가상 서버(EC2)도 그 순서대로 가동하도록 스택 템플릿(CloudFormation 템플릿)을 만들 수 있어 운영에서의 실수를 줄일 수 있다.
- 스택 템플릿(CloudFormation 템플릿을 Versioning하여 시스템 구성 이력 관리도 할 수 있다.
- 환경 구축뿐 아니라 철거도 쉽게 할 수 있다.
시스템(가상 서버 등)이 업데이트 되면 스택 템플릿(CloudFormation 템플릿) 내의 서버 이미지(AMI) ID도 업데이트해야 한다.
¡ 기타
이 패턴은 단순히 시스템을 복제할 뿐만 아니라 EC2 기본 환경에서 사용자 기업과 전용 네트워크로 연결한 가상 프라이빗 클라우드 (Virtual Private Cloud, VPC) 환경으로 이전 시에도 적용할 수 있다.
구체적으로는 툴(CloudFormer)을 이용하여 기존 시스템의 CloudFormation 템플릿을 만들고 이전 장소 VPN 환경 (네트워크 정책, 서브넷)을 구축한다. 구축한 VPC ID나 서브넷 ID를 CloudFormation 템플릿에 등록하고 CloudFormation 템플릿을 사용하여 시스템을 가동한다.
'AWS Design Pattern > 운영 유지 보수 패턴' 카테고리의 다른 글
Web Storage Archive - 대용량 데이터 아카이브화 (0) | 2021.02.05 |
---|---|
Monitoring Integration - 모니터링 툴 일원화 (0) | 2021.02.05 |
Server Swapping - 서버 이전 (0) | 2021.02.05 |
Cloud DI - 변경이 많은 부분의 분리 (0) | 2021.02.05 |
Bootstrap - 부팅 설정의 자동 수집 (0) | 2021.02.05 |