AWS 인프라스트럭처

글쓴이 상배 윤 날짜

Amazon Web Services(AWS)는 Amazon의 자회사로, 개인,회사,정부에 주문형 클라우드 컴퓨팅 플랫폼을 서비스한다. 이 기술을 이용해서 가입자는 언제든지 사용할 수 있는 가상 컴퓨터 클러스터를 보유 할 수 있다. AWS의 가상 컴퓨터는 하드웨어(CPU, GPU, 메모리, 하드디스크/SSD)를 포함하며, 실제 컴퓨터의 대부분의 특징을 에뮬레이션한다.

사용자는 서버사양, 운영체제, 네트워킹 같은 가상화된 컴퓨팅 부터, 로드밸런서, 데이터베이스, DNS, 메시지 큐, CMS 등과 같은 소프트웨어까지도 주문방식으로 요청할 수 있다. 각 AWS 서비스는 웹 브라우저를 이용해서 사용 할 수 있도록하고 있다. 약간의 프로그래밍 능력을 가지고 있다면 AWS에서 제공하는 CLI나 API를 이용해서 AWS 서비스를 사용 할 수 있다.

2018년 현재 AWS는 컴퓨팅, 스토리지, 네트워킹, 데이터베이스, 분석, 응용 프로그램 서비스, 배포, 관리, 모바일 도구, 개발자 도구 및 IoT(Internet of Things)에 이르는 100여개의 서비스를 제공한다. 가장 인기있는 서비스는 Amazon EC2(Elastic Compute Cloud), S3(Amazon Simple Storage Service)다.

AWS를 이용하면 물리적 서버 팜을 구축하는 것 보다 빠르고 저렴하게(모든 경우에 저렴한건 아니다) 대규모의 컴퓨팅 용량을 확보할 수 있다. 기본적으로 사용량에 따라서 요금이 청구된다. 2017년 gartner 자료에 따르면 클라우드 시장에서 AWS는 약 34%의 점유율을 보이고 있다. Microsft와 Google, IBM이 11%, 8%, 6% 정도의 점유율을 나눠가지고 있다.

AWS의 역사

2002년 7월에 시작했지만, 쓸만한 모습은 아니었다. 2003년 후반에 Chris Pinkham과 Benjamin Black이 완전히 표준화되고 자동화된 Amazon의 컴퓨팅 인프라에 대한 비전을 담고있는 문서가 발표되면서 AWS의 개념이 공식화 됐다. 첫번째 AWS 서비스는 2004년 11월에 시작됐다. 최초의 서비스는 SQS(Simple Queue Service)였으며 이후 EC2 서비스가 개발됐다.

공식적인 시작은 2006년 경으로 봐야 할 것 같다. 이때 AWS는 S3, SQS, EC2 세가지 초기 서비스를 조합해서 공개했다. 스토리지와 컴퓨팅, 메시지큐의 간단한 조합이지만 매우 유용한 조합이었다.

AWS는 클라우드 컴퓨팅에 대한 전문성을 인증하기 위해서 2013년 4월 30일에 컴퓨터엔지니어를 위한 인증 프로그램을 제공하기 시작했다.

2016년 AWS는 Digital Currency Group과 파트너 관계를 맺고 블럭체인 기술을 실험 할 수 있도록 실험환경을 만들었다.

2018년 Amazon은 AutoScaling 서비스를 시작했다.

AWS 글로벌 인프라스트럭처

인터넷이 전 지구를 연결하는 네트워크이긴 했지만, 인터넷 비지니스는 오랜 시간 동안 지역을 극복하지 못했다. 대략 10년전인 2008년 경부터, 지역성을 극복하기 시작했는데, 이때 부터 기업들은 지역성을 극복하기 위한 새로운 전지구적인 컴퓨팅 인프라를 요구하기 시작했다.

전 지구적인 컴퓨팅 인프라가 필요한 이유는 “인터넷이 꽤나 느린 매체이기” 때문이다. 인터넷의 속도는 빛의 속도이긴 하지만 한국에서 미국에 보낸 요청에 대한 응답이 도착하는데 약 0.07초의 시간이 걸린다. 이건 순전히 빛이 미국과 한국을 왕복하는데 걸리는 시간이고, 실제로는 최소 0.2초 이상의 시간이 걸린 다고 봐야 할 것이다. 이 시간은 “서비스를 사용할지 말지를 유저가 고민해야 하는 정도로” 굉장히 긴 시간이 될 수 있다.

이 문제를 해결하기 위한 전통적인 방법은 주요 거점지역에 데이터센터(IDC)를 만드는 것이다. 안타깝게도 데이터센터는 쉽게 만들 수 있는 물건이 아니다. 이미 만들어진 데이터센터에 소프트웨어를 올리는 것도 쉬운 문제가 아닌데, 일관성있는 품질의 서비스를 제공하기 위해서는 물리적인프라 뿐만 아니라, 소프트웨어 인프라, 모니터링, 관제, 운영 시스템, 보안, 정치.. 등 모든게 뒷받침되어야 하기 때문이다.

AWS는 전 세계 19개의 리전(Region)에 57개의 가용용역(Availiability zone)을 운영하는 것으로(그리고 계속 늘어나고 있다.) 사용자에게 글로벌 인프라에 서비스를 제공할 수 있도록 하고 있다. 이 글로벌 인프라는 (약간의 차이가 있기는 하지만) 지역에 상관 없이, 동일한 소프트웨어 개발 모델, 보안/운영 모델을 제공 함으로써 이용자는 마치 단일 지역에 서비스를 전개하는 느낌으로 지구 모든 지역에 서비스를 전개 할 수 있다.

리전과 가용영역

AWS 클라우드 인프라는 리전과 가용영역으로 구성된다. 리전은 인프라가 만들어지는 주요 거점 개념이며, 2개 이상의 물리적으로 분리된 가용영역으로 구성된다. 거점 지역에 데이터 센터를 분리해서 구성하는 건데, 사용자는 애플리케이션을 두 개 이상의 가용영역에 분산 배치함으로써 가용성내결함성을 확보할 수 있다.

주황색 원은 리전과 리전을 구성하는 가용 영역의 수를 보여주고 있다. 녹색원은 앞으로 추가될 예정인 리전이다. 아래 표에는 AWS에서 제공하는 리전이 정리돼 있다.

CodeName
us-east-1US East (N. Virginia)
us-east-2US East (Ohio)
us-west-1US West (N. California)
us-west-2US West (Oregon)
ca-central-1Canada (Central)
eu-central-1EU (Frankfurt)
eu-west-1EU (Ireland)
eu-west-2EU (London)
eu-west-3EU (Paris)
ap-northeast-1Asia Pacific (Tokyo)
ap-northeast-2Asia Pacific (Seoul)
ap-northeast-3Asia Pacific (Osaka-Local)
ap-southeast-1Asia Pacific (Singapore)
ap-southeast-2Asia Pacific (Sydney)
ap-south-1Asia Pacific (Mumbai)
sa-east-1South America (São Paulo)

AWS API 상에서는 Code를 사용한다. 일반적으로 사용 할 때는 Code 대신 Name을 사용한다. 대한민국에서 서비스 할 거라면 “서울 리전”을 사용 할 것이다.

위 리전표를 보면 Osaka-Local 이 보인다. 로컬 리전은 단일 데이터 센터내에 위치하며 내결함성을 갖춘 격리된 인프라 디자인으로 이루어진 새로운 리전 유형이다. 오사카 로컬 리전은 1개의 가용영역으로 구성이 되며, 도쿄 리전과 함께 사용하기 위한 리전이다. 이 리전은 고객에 영업 담당자를 통해서 엑세르를 요청해야 한다.

가용 영역과 고가용성

가용 영역(Availability Zone)이라는 이름에서 부터 가용성을 염두에 둔 구성이라는 느낌이 온다.

단일 장애점(single point of failure)는 시스템 구성 요소 중에서, 실패 할 경우 전체 시스템이 중단되는 요소를 말한다. 예를 들어 로드밸런서가 1대로 구성된 서비스가 있다고 가정해보자. 로드밸런서 아리에 애플리케이션 서버가 몇 대가 있든지 상관 없이, 로드밸런서가 실패하면 서비스가 마비된다. 로드밸런서가 SPOF다.

데이터센터도 스위치, 라우터, 전원 공급장치, 자연재해(지진, 번개, 화재) 등에의해서 전체 시스템 혹은 일부 시스템이 실패 할 수 있다. AWS는 이런 문제를 가용 영역을 통해서 해결 하고 있다.

가용영역은 낮은 시간의 지연을 가지는 링크들로 연결된다. 사용자는 애플리케이션을 배치 할 때, 가용영역을 선택 할 수 있다. 두 개 이상의 가용영역에 인스턴스를 배치 할 경우 하나의 인스턴스에 장애가 생기더라도 다른 가용영역의 인스턴스가 요청을 대신 처리 할 수 있다.

가용용역은 리전 코드와 알파벳의 조합으로 표시한다. 예를 들어 ap-northeast-2a, ap-northeast-2c 와 같이 표시한다.

AWS 엣지 네트워크 로케이션

리전을 늘려가고 있기는 하지만, 인터넷 서비스의 요구사항과 발전 속도를 모두 따라잡을 수 있는 것은 아니라서 구멍이 생기기 마련이다. 엣지 로케이션(Edge Location)은 주요 도시와 인구 밀도가 높은 지역에 배포된 AWS  사이트다. 가용 영역보다 훨씬 많이 전개돼 있다.

엣지 로케이션은 가용 영역과 같이 EC2 인스턴스, EBS 스토리지, VPC, RDS와 같은 주요 인프라를 배포하는데 사용하지 않는다. 대신 CloudFront(AWS의 CDN 서비스)와 AWS Lambda @ Edge와 같은 데이터케시(Cache) 서비스들이 배치된다. 그리고 엣지로케이션을 CDN(Content Delivery Network)로 사용해서 최종 사용자가 빠르게 서비스 데이터에 접근 할 수 있게 한다.

서울리전에서 다운로드 서비스를 만들었다고 가정해보자. 북미지역에 다운로드 서비스를 제공하고 싶다면, 북미지역에 가까운 엣지 로케이션에 데이터를 캐시 할 수 있다. 이렇게 되면 북미지역 사용자도 빠르게 데이터를 다운로드 할 수 있을 것이다. 이 과정을 자세히 알고 싶다면 CloudFront 서비스를 살펴봐야 한다.

AWS 인프라 계층

인프라 계층은 데이터 센터 건물과 건물을 운영하는 장비 및 시스템의 구조다. 백업 전력 장비, HVAC 시스템, 화재진압 장비와 같은 모든 요소가 인프라 계층의 일부를 구성한다. AWS의 주요 인프라 계층은 아래와 같다.

계층별 엑세스 검토

다른 계층들과 마찬가지로 인프라 계층에 대한 액세스는 비지니스 요구 사항을 기반으로 제한된다. 계층별 엑세스 검토를 구현함으로써 모든 계층에 진입하는 권한을 부여하는 대신, 특정 계층에 대한 접근만을 승인하는 식으로 인프라 계층에 대한 보안성을 유지한다.

정규 운영의 일부인 장비 유지 관리

AWS 팀은 머신, 네트워크 및 백업 장비 진단을 실시하여 현재는 물론 비상 시에도 정상적으로 작동하도록 한다. 데이터 센터 장비 및 유틸리티에 대한 정기적인 유지,관리, 검사는 AWS 정규 운영의 일부분이다.

긴급 상황 대비 백업 장비

물, 전기, 통신 및 인터넷 연결은 redundancy(중복 배치)를 고려하여 설계되어 긴급 상황에도 지속적으로 작동을 유지 할 수 있다. 전력 시스템은 완전 이중화 설계되어 중단시 무정전 전원 공급 장치가 특정 기능을 위해 투입될 수 있으며, 발전기가 전체 시설에 백업 전력을 공급한다.

카테고리: AWS Cloud 기초

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

Bitnami