Study/Cloud

[AWS] 클라우드 컴퓨팅과 AWS

AC 2019. 2. 14. 23:53

클라우드 컴퓨팅과 AWS



AWS는 퍼블릭 클라우드 컴퓨팅 서비스 공급자로, 전 세계 누구나 인터넷만 사용 가능하다면

AWS를 통해 필요한 IT 자원을 요청하여 사용할 수 있다. 클라우드 컴퓨팅의 뜻은 무엇이며 클라우드 서비스를 제공하는 AWS 장점을 알아보자.



1-1 Cloud Computing, 그리고 AWS


AWS를 흔히 아마존(Amazon)이 제공하는 클라우드 서비스라고 한다. 여기서 클라우드는 무엇을 뜻하는 용어일까?


클라우드의 정확한 명칭인 클라우드 컴퓨팅(Cloud Computing)의 의미와 특징은 어떠한 것들이 있는지부터 살펴보자.

클라우드 컴퓨팅은 전기/수도와 같은 사회기반시설의 특징괌 매우 유사한 면을 갖고 있다. 


일례로 한 사용자가 "물"이란 자원을 사용할 때의 흐름을 생각 해보자.


기본적으로 우리는 "물"이란 자원을 직접 만들어 사용하지 않는다. 각 집에 연결된 수도관을 통해 "물"을 공급받는다. 


그리고 이 "물"이라는 자원은 사용자가 아닌 제 3의 외부어체에서 생산/관리하여 제공한다. 이렇게 필요한 자원을 직접 만들어 사용하지 

않고 필요할 때마다 외부에 요청하는 방식으로 사용하는 이유는 사용자나 공급자 입장에서 제각기 이점을 갖고 있기 때문이다.




첫째, IT 인프라는 사용자가 소유하지 않는다. IT 인프라가 필요할 때마다 즉시 요청하여 사용한다.

IT 인프라는 AWS와 같은 클라우드 서비스 공급자가 관리/제공한다.


둘째, 사용한 IT 인프라의 총량(자원의 규모 및 시간)은 객관적으로 측정된다.. 그리고 여기서 측정된 양만큼, 즉시 사용한 IT 인프라의 총량에 비례하여 비용을 지불한다.


셋째, 사용자는 IT 인프라의 전체 가용량을 고려하지 않는다. 더 나아가 사용자는 IT 인프라의 전체 가용량을 무제한으로 인식한다. 사용자가 그렇게 인식할 수 있도록 실 전체 가용량을 탄력적으로 관리/조절하는 것은 사용자가 아닌 클라우드 서비스 공급자의 역할이다.


넷째, IT 인프라에 접근할 수 있는 수단이 이미 광역적으로 구성되어 있다. 인터넷과 같은 광역 네트워크망을 통해 IT 인프라를 요청하며, 제공받은 IT 인프라 :또한 네트워크 망을 통해 접근하여 필요한 서비스를 구성한다.


요악하면 '클라우드 컴퓨팅'이란 '인터넷(네트워크)'을 통해 클라우드 서비스 공급자가 제공하는 'IT 인프라'를 사용자가 '원하는 만큼 사용'하고, '사용한 만큼 지불'하는 서비스를 말한다.


가상화(Virtualization) 기술의 발전으로 클라우드 서비스 공급자가 공급할 수 있는 가용 자원량과 제어능력이 크게 향상되었으며, 2000년대 중반부터 일반 사용자를 대상으로도 활발하게 클라우드 컴퓨팅 서비스를 제공하기 시작했다.


이를 Public Cloud 서비스라고 부르며, AWS(Amazon Web Services)는 2017년 기준 세계 1위 Public Cloud 업체이다.



1-2 AWS의 특징


AWS가 제공하는 클라우드 서비스의 특징을 크게 세 가지로 분류하면 다음과 같다.


첫째, 풍부한 서비스와 기능을 제공한다.


AWS는 IaaS, PaaS, SaaS를 아우르는 70여개 이상의 서비스를 ㅈ데공하고 있으며, 지금 이 순간에도 서비스의 수와 범위는 빠른 속도로 늘어나고 있다. 이러한 서비스는 전 세계적으로 10개 이상의 Region과 70개 이상의 Edge로 구성된 물리 인프라 기반으로 제공하며, 이 또한 지속적으로 확장되고 있다. 사용자는 요구사항에 접합한 서비스를 원하는 위치에 배치하여 사용할 수 있다.




둘째, 클라우드 특유의 탄력성을 제공한다.


사용자는 필요에 따라 IT 인프라 규모를 선택적으로 늘리거나 줄일 수 있으며, 따라서 미리 충분한 양의 IT 인프라를 선구매하거나 서비스 수요를 미리 예측할 필요가 없다. 수요에 맞는 최적의 자원을 실시간으로 배치함으로써 비용도 효율적으로 제어할 수 있다. Auto Scaling이나 ELB등의 서비스를 사용하여 인프라 규모의 자동화도 쉽게 구성할 수 있다.


셋째, 요청 즉시 구성이 시작된다.


AWS의 가장 큰 특징 중 하나는 모든 요청이 API 형태로 이미 만들어져 있다는 점이다.

AWS에서 특정 요청을 API 형태로 수신하면, 그 즉시 구성작업이 시작되어 작업 종류에  따라 수초, 수분내에 해당 작업이 완료된다.


심지어 네트워크 구성까지도 논리적인 곛층에서 즉시 수행할 수 있으며, 따라서 사용자는 AWS에서 제공하는 API를 사용하여 여러 단계를 수반하는 복잡한 요청도 손쉽게 자동화 할 수 있다.




1-3 AWS의 주요 서비스


AWS에서는 크게 네 가지 영억의 Core 서비스를 제공한다.





첫 번째 주요 서비스 영역은 Compute 이다. EC2(Elastic Compute Cloud)는 가상 서버 (Virtual Machine)를 제공하는 서비스로, OS 기반으로 동작하는 모든 AWS 서비스의 근간이 되는 서비스이다. Beanstalk는 인프라를 포함한 웹 애플리케이션 서비스를 간편하게 배포하고 확장할 수 있는 서비스이며, ECR과 ECS는 Docker 컨테이너 이미지 및 관련 작업을 지원하는 관리 서비스이다.


Lambda는 서버 구성 없이 이벤트에 응답하여 지정한 코드를 실행하고, 실행에 필요한 기본 컴퓨팅 리소스를 자동으로 관리해주는 서비스이다. ELB는 AWS에서 제공하는 로드 밸런서(Load Balancer) 서비스이다.




위 그림은 AWS가 제공하는 Storage 영역 서비스


두 번째는 Storage 영역이다. S3(Simple Sotrage Service)는 AWS에서 제공하는 고가용성/고내구성의 객체 스토리지(Object Storage) 서비스로 원하는 객체를 무제한으로 저장할 수 있는 핵심 서비스이다. EFS는 복수의 EC2에서 공용으로 사용하는 스토리지 영역을 제공하는 서비스이며, Glacier는 데이터 아카이빙 및 백업 용도의 스토리지 서비스이다.


Snowball을 활용하여 온프레미스(On Premise)와 AWS간 대용량 데이터를 전용 디바이스를 통해 오프라인으로 손쉽게 주고받을 수 있으며, Storage Gateway 서비스를 사요하여 온프레미스 - AWS(S3)간 데이터 백업을 간단하게 구성할 수 있다. CloudFront는 AWS의 CDN(Content Delivery Network) 서비스로 캐싱(Caching)을 통해 사용자에게 빠른 응답속도를 제공하는 서비스이다.


위 그림은 AWS가 제공하는 Database 영역 서비스이다.


세 번째는 Database 영역이다. RDS(Relational Databasse Service)는 관계형 데이터베이스 (RDBMS: MySQL, Oracle, SQL Server 등)의 설치부터 운영/백업까지 일정 관리영역을 AWS에서 수행해주는 관리형(Managed) DB서비스이다.


DynamoDB는 AWS에서 제공하는 관리형 NoSQL DB 서비스이며, Redis/Memccache와 같은 캐시노드를 관리해주는 ElastiCache, 완전 관리형 데이터 웨어하우스 용도의 Redshift 등이 Database 영역의 서비스에 해당된다.



위 그림은 AWS가 제공하는 Networking 영역 서비스 이다.


마지막으로 Networking 영역이다. VPC(Virtual Private Cloud)는 사설 IP주소값을 기반으로 사용자가 구성한 네트워크 영역 위에 EC2와 같은 가상 서버를 배치할 수 있도록 AWS에서 제공하는 논리적 네트웤크 서비스이다. Route53은 관리형 DNS 서비스이며, Direct Connect는 AWS 와 온프레미스간 물리 전용선을 제공하는 서비스이다.


AWS는 이러한 핵심 서비스 이외에도 다양한 관리형 서비스를 제공한다. 이 모든 서비스는 aWS에서 제공하는 API를 통해 제어할 수 있으며, AWS 계정을 갖고 있다는 누구든 이 모든 서비스를 즉시 사용할 수 있다.




1-4 AWS의 물리 인프라(Region, AZ, Edge)


 사용자는 AWS Management Console이나 API를 통해 손쉽게 AWS와 커뮤니케이션하여 IT 인프라를 활용할 수 있지만, 결국 근본적으로는 서비스 제공에 필요한 실제 서버 묶음이 어디엔가 존재하고 있어야 한다. AWS에서는 이러한 필요 자원을 배치하는 물리 인프라 단위를 Region, AZ, Edge 세 가지로 분류하여 관리하고 있다.



AWS 글로벌 인프라 현황(2017년 1월 기준)


지역(Region)과 가용영역(AZ)


첫 번째 단위는 AZ(가용영역, Availability Zone)이다. 흔히 데이터센서(IDC)라고 불리는 빌딩에는 서버, 네트워크, 전원 등의 IT 인프라 기반시설이 구성되어 있다. AZ는 이 데이터센터의 집합을 말한다. 



하나의 AZ는 하나의 데이터센서 또는 두 개이상의 데이터센서를 묶어 관리하는 논리적인 단위이다. 각 AZ는 물리적으로 독립된 객체이기 때문에 두 개 이상의 AZ에 걸쳐 서비스를 구성하게 되면 한 AZ에서 장애가 나더라도 전체 서비스에 영향을 미치지 않는 높은 가용성의 서비스를 만들 수있다.





두 번째 단위는 Region(지역)이다. Region은 두 개 이상의 AZ로 구성된 동일 지역의 집합이다.

각 도시의 이름으로 명명하며 서울 리전(Seoul Region)의 경우 두 개의 AZ로, 버지니아 리전의 경우 다섯 개의 AZ로 구성되어 있으며 각 Region별로 각기 다른 AZ 개수를 갖는다.






 어떤 물리적/논리적 리소스도 Region간에는 공유하지 않으며 AWS API 또한 각 REgion별로 수신하는 Endpoint가 분리되어 있다. 비용도 REgiion별로 단가가 다르며 제공 가능한 서비스 목록 또한 Region별로 차이가 있다.






세 번째 단위인 Edge는 서비스 중 CloudFront와 Route53와 같이 응답속도에 민감한 서비스 전용으로 만든 별도의 서버팜을 말하낟. 공항코드로 명명하면(한국의 경우 ICN) 2017년 1월 기준 서울에는 세 개의 Edge가, 세계저긍로는 70개 이상의 Edge가 구성되어 있다.








LIST

'Study > Cloud' 카테고리의 다른 글

[AWS] 목표 아키텍처  (0) 2019.02.15
[AWS] AWS TIP & AWS 무료로 사용하기  (0) 2019.02.15
[AWS] AWS Management Console 로그인  (0) 2019.02.15
[AWS] AWS 서비스 시작하기  (0) 2019.02.15
[AWS] AWS 과금 방식 이해하기  (0) 2019.02.14