본문 바로가기

서버 관련/AmazonWebService

AWS 란?

 

 

AWS(Amazon Web Service)는 아마존닷컴에서 운영하는 클라우드 컴퓨팅(Cloud Computing) 플랫폼이다.

 

클라우드 컴퓨팅은 제공자 입장에서는 가상화 된 컴퓨터의 리소스를 사용자에게 요구하는 즉시 제공하는 것이고 사용자 입장에서는 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.

 

쉽게 풀어서 얘기하면 AWS에서 제공하는 컴퓨터를 내가 원격으로 사용할 수 있다고 생각하면 된다.

 

AWS의 모회사인 아마존 닷컴은 세계 최대의 인터넷 쇼핑몰으로 블랙 프라이데이같이 사용자들이 몰리는 기간을 대비하여 서버를 엄~~~~~~~~~~~~청나게 증설시켜 놨는데 이 서버들이 평소 때 놀고 있는 걸 보고 CEO인 제프 베조스가 이를 개방하여 서버 임대 서비스를 하라고 하여 시작되어 지금은 세계 최대 규모 클라우드 서비스 기업이 되었다.

 

이 때 AWS에서 제공하는 컴퓨터의 형태는 우리가 사용하는 일반 PC로 정형화 되는 것이 아니라 스토리지, 컴퓨팅, 네트워킹, 기타 관리도구 등 컴퓨팅 자원의 형태로 제공된다.

 

그렇다면 이런 컴퓨팅 자원은 어떤 경우에 쓰이게 될까?

 

예를 들어 로그인이 가능한 웹페이지를 구성한다고 해보자.

 

우선 웹 페이지를 띄우기 위해서는 웹 서버가 필요할 것이며 사용자의 정보 및 로그인 정보를 기록해야 할 데이터베이스도 필요로한다.

 

웹 서버등을 온프레미스 환경(On-Premise : 클라우드 환경이 아닌 자체적으로 보유한 컴퓨터 자원[전산실])으로 구성할 수도 있지만 일회성 프로젝트(한번을 위해 컴퓨터 자원을 영구적으로 구매해야한다)나 스케일링이 빈번하게 필요한(일정 시간에만 트래픽이 늘어난다면 그 트래픽에 맞추어 서버를 준비해야하지만 트래픽이 없는 기간에는 놀고 있는 서버가 매우 많을 수 있다) 서비스라면 온프레미스 환경으로 서버를 구축하기 부담스러울 수 있다.

 

이러한 상황에서 AWS에서는 웹 서버와 데이터베이스를 사용자가 비교적 사용하기 쉬운 형태로 제공하여 준다.

 

AWS에서 제공하는 여러 서비스들

 

또한 앞서 온프레미스 환경에서 불리한 문제점들은 AWS는 사용하지 않는 자원을 바로 반납할 수 있는 형태로 제공하므로 (요금 기준은 서비스마다 다르지만 대부분 사용량에 비례하여 가격이 올라간다) 비용을 절약할 수 있다.

 

■ AWS 서비스

 

 

● 컴퓨팅 

클라우드 서버 대여 서비스인 EC2(Elastic Computing Cloud)를 핵심으로 하며 EC2를 기반으로 컨테이너 관리 서비스인 ECS(Elastic Container Service)나 kubernetes 서비스인 EKS(Elastic Kubernetes Service) 등으로 서버 컴퓨터를 제공하며 이외에 인프라 구축에 필요한 ELB(Elastic LoadBalancer, 서버의 트래픽 분배 및 트래픽 흐름 설정)Auto Scaling 기능(인프라 자동 증설 및 감축) 등을 제공한다.

 

● 스토리지

네이버 클라우드, 구글 클라우드 처럼 스토리지 목적으로 사용 가능한 S3(Simple Storage Service)를 기본적으로 제공하며 S3에 저장 된 파일 중 잘 안사용 하는 파일들을 Amazon S3 Glacier에 저장하여 비용을 감소할 수 있다. 

 

● 데이터베이스

관계형 데이터베이스 서버인 RDS(Amazon Relational Database Service)와 nosql인 DynamoDB 그리고 Redis Cache 용도로 Amazon ElasticCache를 제공한다

 

● 네트워킹

앞서 컴퓨팅에서 소개한 트래픽 분배를 위한 ELB(Elastic LoadBalancer) 도메인 서비스인 Route53 그리고 가상 네트워크 인 Amazon VPC(Virtual Private Cloud)를 제공한다.

 

● 기타

이외에도 AWS IAM(Identity Access Management)를 이용하여 각각의 자원 및 계정에 권한을 부여하여 관리를 할 수 있으며 AWS CloudWatch를 통하여 알람 및 인프라 모니터링을 할수도있고 IDE처럼 제공되는 AWS Cloud9 등 단순한 서버 대여 이외에도 정말 너무나도 많은 서비스를 제공하고 있고 계속 추가되고 있다.

 

■ AWS 인프라

 

AWS 인프라는 현재 22개 리전(Region)에 서비스중이며 대한민국은 ap-northeast-2(서울) 리전에 도입되어 있다.

각 리전마다 사용할 수 있는 서비스가 차이가 있기 때문에(신규 서비스 일수록) 단순히 서비스하려는 지역에 가까운 리전을 고르는게 아닌 내게 필요한 자원이 무엇인지 사전에 조사를하여 리전을 선택해야만 한다.

 

또한 AWS 인프라는 각 리전마다 고가용성을 위하여 두개 이상의 가용영역을 제공한다.

가용영역이란 예를 들어 설명하면 서울 리전의 데이터 센터가 여의도에 위치에 있다고 하고 A라는 서비스의 모든 서버는 서울 리전에서 이용한다고 할 때 만약 여의도에 위치한 데이터 센터에 장애가 생긴다면 A의 모든 서버는 셧다운되어 정상적인 서비스 운영을 할 수없을 것이다. 이를 방지하여 잠실에도 데이터 센터를 둔다면 A라는 서비스는 여의도에서 반절 잠실에서 반절 서버를 운영하여 여의도에 있는 데이터 센터에 문제가 생겨도 잠실에 있는 나머지 자원을 이용하여 서비스 운용을 계속 진행할 수 있다.