본문 바로가기

AWS Design Pattern

(46)
Multi-DataCenter 패턴 - 데이터 센터 레벨의 이중화 ㅁ 풀어야 할 문제 서버 장애를 고려할 때 가용성을 높이는 데 Multi-Server 패턴이 적절하지만 데이터 센터 레벨의 장애를 고려 시 Multi-Server로는 대처할 수 없다. 데이터 센터 레벨의 장애를 고려할 때 여러 곳의 데이터 센터를 이용할 필요가 있다. 그러나 충분한 거리를 둔 데이터 센터를 여러 곳 확보하고 거기에 시스템 이중화를 위해 미리 하드웨어를 구입하는 것은 규모가 큰 대기업에서도 쉬운 일은 아니다. 또 데이터 동기화나 데이터 센터가 통신을 고려해 고속 전용선을 구성할 필요가 있고 이 또한 Data Center 이중화를 방해하는 요인이다. ㅁ 해결/패턴 클라우드 서비스를 제공하는 데이터 센터는 여러 곳이 있고 각 데이터 센터간의 전용선이 구성되어 있다. 사용자마다 이용하는 데이터 ..
Multi-Server 패턴 - 서버 이중화 ㅁ 풀어야 할 문제 가용성을 높이기 위해 서버 내의 디스크 Raid를 구축하며, 네트워크 계층은 이중화 회선을 준비한다. 서버 역시, 이중화를 위해 여러 대의 물리 서버를 준비하는 방법이 있으며 이를 위해 서버 장비뿐 만 아니라 로드 밸런서 등 이중화에 필요한 기기 준비가 필요하다. ㅁ 해결/패턴 가상 서버 여러 대를 배치하고 클라우드 서비스로 제공되는 로드 밸런서를 이용해 적절히 부하를 분산(로드 밸런서)한다. 이 것을 Multi-Server라고 하며 OnPremise에서도 가능하며 많이 사용하지만 클라우드에서는 훨씬 환경을 구성하기 용이하다. ㅁ 구현 AWS의 로드 밸런스 서비스 [ELB]를 이용하여 EC2의 처리 요청을 일단 ELB에서 받고 ELB에 연결된 EC2에 적절히 처리를 분배 ELB에는 상..
OnDemand Disk 패턴 - 동적 디스크 용량 증감 ㅁ 풀어야 할 문제 시스템에서 이용하는 디스크 용량을 사전에 예측하기는 어렵다. 그래서 시스템을 가동할 때 안전 계수 (정상적으로 시스템이 가동되는 디스크 용량)을 계산하여 몇 년 후 예상되는 디스크를 준비하는 경우가 많다. 그 디스크는 바로 사용하지 않을 뿐만 아니라 실제로 몇 년이 지나도 사용하지 않을 수도 있다. 그러한 디스크에 비용을 지불하게 된다. 또, 디스크 I/O 성능을 높이고 싶을 때 디스크 스트라이핑(Disk Striping)으로 구성하는 것이 효과적이다. 그러나 스트라이핑을 구성하는 경우 필요한 디스크 수를 미리 계산하기 어렵고, 또한 테스트를 하는 것도 하드웨어에 대한 초기 투자가 필요하다. ㅁ 해결/패턴 클라우드에서는 가상 디스크 이용이 가능하며 가상 디스크는 언제나 필요한 시점에 ..
Sacle Up 패턴 - 동적 서버 사양 업/다운 ㅁ 풀어야 할 문제 일반적으로 실제 가동 후 필요한 서버 자원을 개발 단계에서 예측하기 어렵다. 가동 후 서버 자원이 부족하면 충분한 기능을 제공하지 못하거나 일괄 처리가 기한 내 끝나지 않을 수 있다. 반대로, 서버 자원이 많으면 불필요한 비용이 발생하게 되며, 실제 손실로 이루어진다. ㅁ 해결/패턴 클라우드에서는 가상 서버의 사양(CPU, 메모리 사이즈 등)을 필요에 따라 변경할 수 있다. 가상 서버를 가동한 후에도 사양 변경이 가능하다. 가동 후 자원이 부족한 경우 기존에는 물리 서버를 교환하고 OS를 재설치해야 했지만 클라우드에서는 필요 없다. 일단 가상 서버를 가동하고 시스템을 가동해 자원 이용량을 확인하면서 서버 사양을 변경하면 된다. ㅁ 구현 - EC2 인스턴스를 가동하고 시스템을 구축 - ..
Stamp 패턴 ㅁ 풀어야 할 문제 가상 서버에 필요한 OS나 애플리케이션의 설정은 물리 서버와 같이 수고와 시간, 비용이 든다. 가상 서버는 하드웨어에 의존하지 않는 서버, 즉 소프트웨어적 서버다. 그 실체는 물리 서버에 에뮬레이터 된 여러 대의 서버인 것이다. 물리 서버에 큰 변경 없이 가상 서버가 마치 물리 서버처럼 작동한다. 가상 서버 생성은 필요할 때 즉시 생성할 수 있고 언제든지 삭제 할 수 있기 때문에 높은 편리성을 가진다. 물리 서버보다 가상 서버를 사용할 기회가 증가하고 있지만, 가상 서버를 이용하기 위해 필요한 설정(예를 들어, OS의 설정이나 애플리케이션 설치 및 설정)은 여전히 물리 서버와 비슷하게 소요되며, 수고와 시간, 비용이 든다. ㅁ 해결/패턴 클라우드를 이용하면 가상 서버에 OS나 미들웨어..
Snapshot 패턴 Snapshot 패턴 - 데이터 백업 풀어야 할 문제 데이터는 무엇보다 중요한 것이 안전하게 다뤄야 한다는 것이다. 그러기 위해서는 백업을 빠트릴 수 없다. 해결/패턴 클라우드에서는 안전하고 용량 제한 없는 인터넷 스토리지를 비교적 싼 비용으로 이용이 가능하다. 어떤 순간의 데이터를 복제하는 백업을 스냅샷이라고 하는데 클라우드에서 자주 사용하는 개념이다. 클라우드에서는 가상 서버 데이터(OS 포함)나 그 외 데이터를 인터넷 스토리지에 복제하는 것이 간단하며, 스냅샷을 정기적으로 실행하는 것이 어렵지 않다. 구현 - AWS의 가상 스토리지는 EBS에 스냅샷 기능이 있어 그 기능 사용 - 취득한 스냅샷은 99.999999999%의 안정성을 가지게 설계된 오브젝트 스토리지 S3에 보관 - EBS의 데이터가 파..