처음 만난 AWS 문서


2.3 AWS 소개

지금부터는 AWS에 대해서 소개하는 시간을 가져보도록 하겠습니다.

So many services

먼저 AWS 콘솔에 로그인하면 위 그림에 보이는 것처럼 수많은 서비스들을 보고 어디서부터 시작해야 할지 막막할 수 있습니다.
하지만 당황하지 말고 각각의 서비스들을 하나의 레고 블록이라고 생각하고, 내가 원하는 모형으로 조립해 나간다고 생각하면 됩니다.

Assemble blocks

위 그림처럼 블록을 조립해서 내가 원하는 모형을 만들어 나가는 과정과 비슷하다고 보면 됩니다.
이러한 AWS의 서비스들은 각각 독립적으로 사용할 때도 굉장히 강력하지만, 함께 사용했을 때는 더 강력한 힘을 발휘하게 됩니다.

AWS services by category

AWS에서는 이렇게 각 카테고리별로 수많은 서비스들을 제공합니다.
여기서 내가 원하는 서비스를 골라서 사용하면 됩니다.

지금부터는 이 수많은 서비스들 중에서 대표적인 서비스 세 가지를 간단하게 살펴보겠습니다.

EC2

첫 번째 대표적인 서비스는 EC2입니다.
EC2는 Virtual Machine을 제공하는 가상 서버 서비스이며, 재구성이 가능한 컴퓨팅 리소스를 제공합니다.
그리고 컴퓨팅 용량을 쉽게 확장하거나 축소할 수 있으며, 용도에 따른 다양한 인스턴스 타입을 제공합니다.
그리고 사용 요금은 사용한 만큼만 과금됩니다.

RDS

AWS의 두 번째 대표 서비스는 RDS입니다.
RDS는 완전 관리형 관계형 DB 서비스이며, ORACLE, MySQL, PostgreSQL, MariaDB, Aurora 등 다양한 DB엔진을 제공합니다.
그리고 직접 구현하려면 복잡한 DB 이중화 작업과 읽기 전용 복제본 생성도 클릭 몇 번 만으로 쉽게 할 수 있습니다.
또한 인스턴스 확장도 굉장히 편리하게 할 수 있도록 제공합니다.

S3

AWS 대표적인 서비스의 세 번째는 S3입니다.
S3는 객체 기반의 무제한 파일 저장 스토리지입니다.
URL을 통해 손쉽게 파일을 공유할 수 있으며, 99.999%의 내구성을 자랑합니다.
사용 요금은 역시 사용한 만큼만 지불하게 되며, 정적 웹사이트 호스팅 기능도 제공합니다.

Top3 AWS Services

지금까지 살펴본 EC2, RDS, S3 이 세 가지 서비스가 바로 AWS 서비스의 3대장이라고 할 수 있습니다.
AWS를 사용해봤다고 하려면, 적어도 이 세 가지 서비스에 대해서는 잘 알고 있어야 합니다.
그리고 이번 강의에서도 이 세 가지 서비스를 중점적으로 다룰 예정입니다.

그렇다면 AWS 사용 예시를 한 번 살펴볼까요?
이 과정은 앞에서 말한 것처럼, 레고 블록을 조립하는 과정이라고 보면 됩니다.

Usage example 1

먼저 서버를 사용하기 위해서 EC2를 한대 추가합니다.

Usage example 2

그리고 EC2를 서버로 사용하기 위해 django 프레임워크와 MySQL 서버를 설치합니다.
그런데 이렇게 DB를 직접 설치해서 사용하다 보면 관리하기가 힘든 부분이 생기게 됩니다.

Usage example 3

그래서 RDS라는 완전 관리형 관계형 DB서비스를 사용해서 이렇게 DB를 별도로 분리합니다.

Usage example 4

이후 서버를 계속 운영하다보면 저장공간이 부족해질 수 있습니다.
그래서 EBS라는 블록 스토리지를 계속해서 추가해서 사용합니다.
하지만 용량이 필요할 때마다 계속해서 EBS를 추가하는 것은 번거로울 수 있습니다.

Usage example 5

그래서 S3라는 무제한 용량의 객체 기반 스토리지를 사용하도록 바꿉니다.

Usage example 6

그리고 EC2 인스턴스 하나로 서버를 운영하다 보면 장애가 생겼을 때 서비스가 중단될 수 있기 때문에,
이렇게 ELB라는 로드밸런서를 붙여서 이중화 작업을 합니다.
그리고 데이터베이스 또한 장애가 생길 것을 대비해서 DB 이중화 작업을 해주었습니다.

Usage example 7

그리고 비동기 작업을 처리하기 위해서 SQS라는 분산형 메시지 큐 서비스를 추가합니다.

Usage example 8

이후 모바일앱 푸시 알림을 위해서 SNS라는 알림 서비스도 연동합니다.

Usage example 9

그리고 비동기 작업이 계속 있는 것이 아니라 가끔 있기 때문에, Lambda라는 서버리스 함수 서비스를 사용하도록 분리합니다.

지금까지 살펴본 것처럼, AWS에서는 각 서비스들을 이렇게 하나씩 연동해나가는 과정을 통해서 나만의 인프라를 구축할 수 있습니다.

아래 그림은 AWS 아키텍처 예시를 나타낸 것입니다.

Architecture example

서비스들을 조립하는 과정을 거쳐 완성된 아키텍처는 이 그림처럼 나타낼 수 있으며,
운영중인 서비스에도 최소한의 영향을 주면서 계속해서 아키텍처를 고도화 해나갈 수 있습니다.

AWS customers

마지막으로 AWS는 수많은 고객사를 보유하고 있습니다.
위 그림에 나타난 것처럼 국내에도 대기업부터 스타트업까지 수많은 고객사가 있는 것을 볼 수 있습니다.


마지막 업데이트: 2023년 10월 27일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.