로얄젤리

AWS를 이용한 웹 호스팅

IT 트렌드

고가용성 및 확장 가능한 웹 호스팅은 복잡하고 비용이 많이 드는 제안일 수 있다. 기존의 확장 가능한 웹 아키텍처들은 높은 수준의 신뢰성을 보장하기 위해 복잡한 솔루션을 구현할 필요가 있었을 뿐만 아니라, 높은 수준의 고객 서비스를 제공하기 위해 트래픽에 대한 정확한 예측을 요구하기도 했다. 교통량이 많은 기간과 교통 패턴의 급격한 변화는 고가의 하드웨어의 활용률을 낮추어 유휴 하드웨어를 유지하는 데 높은 운영 비용을 발생시키고, 활용도가 낮은 하드웨어에 대한 자본의 비효율적인 사용을 초래한다. Amazon Web Services는 IT 비용을 고객 트래픽 패턴과 실시간으로 일치시키는 인프라인 가장 까다로운 웹 애플리케이션을 위해 안정적이고 확장 가능하며 안전하며 성능이 뛰어난 인프라를 제공한다. 이 백서는 온디맨드 컴퓨팅 요구사항을 충족하는 데 필요한 확장성을 달성하는 데 도움이 되도록 클라우드를 모색하는 IT 관리자 및 시스템 설계자를 위한 것이다.확장 가능한 웹 호스팅은 잘 알려진 문제 공간이기 때문에, 기존의 웹 호스팅 모델을 묘사한 다음 그림은 어떠한 놀라움도 포함해서는 안 된다. 클라우드에서 구현되는 유사한 아키텍처와 비교하기 위해 이를 제시한다. 이 논문의 주제는 클라우드 구축이다. 이 전통적인 웹 호스팅 아키텍처는 아키텍처를 프레젠테이션, 애플리케이션 및 지속성 계층으로 분리하는 공통 3계층 웹 애플리케이션 모델을 구현한다. 프레젠테이션, 지속성 또는 애플리케이션 계층에 호스트를 추가하여 확장성을 제공한다. 또한 아키텍처에는 성능, 페일오버 및 가용성 기능이 내장되어 있다. 다음 섹션에서는 이러한 아키텍처가 Amazon Web Services 클라우드에 배치되어야 하는 이유와 방법을 살펴볼 것이다.기존의 웹 호스팅 아키텍처(그림 1)는 적은 수의 수정만으로 AWS 제품이 제공하는 클라우드 서비스에 쉽게 휴대할 수 있지만, 첫 번째 질문은 고전적인 웹 애플리케이션 호스팅 솔루션을 AWS 클라우드로 옮기는 것의 가치에 관한 것이다. 클라우드가 자신에게 적합하다고 판단하면 적합한 아키텍처가 필요할 겁니다. 이 섹션은 AWS 클라우드 솔루션을 평가하는 데 도움이 된다. 클라우드에 웹 애플리케이션을 배포하는 것과 사내 배포를 비교하고, 애플리케이션을 호스팅하기 위한 AWS 클라우드 아키텍처를 제공하며, 이 솔루션의 주요 구성 요소에 대해 설명하십시오. 웹 응용 프로그램 실행을 담당하는 경우 AWS가 원활하고 비용 효율적인 솔루션을 제공할 수 있는 다양한 인프라 및 아키텍처 문제에 직면하게 된다. 다음은 기존 호스팅 모델에 비해 AWS를 사용하면 얻을 수 있는 이점 중 일부에 불과하다.기존의 호스팅 모델에서는 최대 용량을 처리하기 위해 서버를 프로비저닝해야 하며, 사용하지 않는 사이클은 피크 기간을 벗어나면 낭비된다. AWS 호스팅된 웹 애플리케이션은 추가 서버의 온디맨드 프로비저닝을 활용할 수 있으므로 용량과 비용을 실제 트래픽 패턴에 맞게 지속적으로 조정할 수 있다. 예를 들어, 다음 그래프는 오전 9시부터 오후 3시까지 사용량이 가장 많고 나머지 시간 동안 사용량이 적은 웹 응용 프로그램을 보여준다. 필요한 경우에만 자원을 프로비저닝하는 실제 트래픽 추세에 기초한 자동 확장 접근방식은 낭비되는 용량을 줄이고 비용을 50% 이상 절감하게 될 것이다. 기존 호스팅 모델과 관련된 느린 프로비저닝의 더욱 심각한 결과는 예상치 못한 트래픽 급증에 제때 대응할 수 없다는 것이다.

 

인기 미디어에 이 사이트가 언급된 후 예상치 못한 트래픽 급증으로 인해 웹 응용 프로그램이 다운되는 것에 대한 많은 이야기들이 있다. 웹 애플리케이션이 일반적인 트래픽 급증에 맞춰 확장되도록 도와주는 동일한 온디맨드 기능도 예상치 못한 로드를 처리할 수 있다. 새 호스트는 몇 분 만에 시작하고 준비될 수 있으며 트래픽이 정상으로 돌아올 때와 마찬가지로 신속하게 오프라인 상태로 전환될 수 있다.프로덕션 웹 애플리케이션을 위한 기존의 호스팅 환경을 구축하는 하드웨어 비용은 프로덕션 기단과 함께 중단되지 않는다. 개발 라이프사이클의 각 단계에서 웹 애플리케이션의 품질을 보장하기 위해 매우 자주 사전 생산, 베타 및 시험 비행대를 만들어야 한다. 이 시험 하드웨어의 최대한 활용을 보장하기 위해 다양한 최적화가 이루어질 수 있지만, 이러한 병렬 기단은 항상 최적으로 활용되는 것은 아니다. 즉, 많은 고가의 하드웨어가 장기간 사용되지 않고 있다. AWS 클라우드에서는 테스트용 비행대가 필요할 때만 프로비저닝할 수 있다. 또한 부하 테스트 중에 AWS 클라우드에서 사용자 트래픽을 시뮬레이션할 수 있다. 또한 이러한 병렬 함대를 새로운 운영 릴리즈의 준비 환경으로 사용할 수 있으며, 이를 통해 현재 프로덕션에서 서비스 중단이 거의 없거나 전혀 없는 새로운 애플리케이션 버전으로 신속하게 전환할 수 있다.아래는 고전적인 웹 애플리케이션 아키텍처와 AWS 클라우드 컴퓨팅 인프라를 어떻게 활용할 수 있는지에 대한 또 다른 관점이다.다음 섹션에서는 AWS 클라우드에 구축된 웹 호스팅 아키텍처의 주요 구성요소를 개략적으로 설명하고, 그것들이 전통적인 웹 호스팅 아키텍처와 어떻게 다른지 설명한다.Edge 캐싱은 Amazon Web Service 클라우드 컴퓨팅 인프라에서 여전히 관련이 있다. 웹 애플리케이션 인프라의 기존 솔루션은 AWS클라우드에서제대로 작동해야 한다. 그러나 AWS를 사용할 때 한 가지 추가 옵션이 제공되는데, AWS는 웹 사이트 에지 캐싱에 Amazon CloudFront service1을 활용하는 것이다. Amazon CloudFront는 에지 위치의 글로벌 네트워크를 사용하여 동적, 정적 및 스트리밍 콘텐츠를 포함한 웹 사이트를 제공하는 데 사용할 수 있다. 콘텐츠에 대한 요청은 가장 가까운 가장자리 위치로 자동으로 라우팅되므로, 컨텐츠는 가능한 최고의 성능을 가지고 제공된다. Amazon CloudFront는 Amazon Simple Storage Service2(Amazon S3) 및 Amazon Elastic Compute Cloud3(Amazon EC2)와 같은 다른 Amazon Web Services와 함께 작동하도록 최적화되었다. Amazon CloudFront는 또한 파일의 원래 최종 버전을 저장하는 모든 비 AWS 원본 서버와 원활하게 작동한다. 다른 Amazon Web Services와 마찬가지로 Amazon CloudFront를 사용하기 위한 계약이나 월별 약속은 없다. 즉, 서비스를 통해 실제로 제공하는 콘텐츠에 대해서만 지불한다.웹 애플리케이션을 AWS 클라우드로 이동하려면 AWS가 제공하는 여러 가용성 영역을 활용하기 위해 일부 DNS를 변경해야 한다. DNS 라우팅 관리를 돕기 위해 AWS는 가용성과 확장성이 뛰어난 DNS 웹 서비스인 Amazon Route 534 를 제공한다. 도메인에 대한 쿼리는 가장 가까운 DNS 서버로 자동 라우팅되므로 가능한 최고의 성능으로 응답된다. 53번 경로는 Elastic Load Balancer에 대한 도메인 이름(예: www.example.com) 및 영역 정점 레코드 (example.com).에 대한 요청을 해결함 기존의 웹 호스팅 모델과 달리 인바운드 네트워크 트래픽 필터링은 가장자리로만 국한되지 않아야 하며 호스트 레벨에서도 적용되어야 한다. Amazon Elastic Compute Cloud(EC2)는 보안 그룹이라는 기능을 제공한다.