[AWS] AWS 주요 서비스 및 용어 정리

Wonjun Seo·2024년 4월 13일
0

AWS (Amazon Web Service)

AWS는 아마존에서 개발한 클라우드 컴퓨팅 플랫폼이다.

네트워킹을 기반으로 가상 컴퓨터, 스토리지, 네트워크 인프라 등 다양한 서비스를 제공한다.


클라우드 컴퓨팅

클라우드 컴퓨팅(Cloud Computing)은 사용자의 직접적인 관리 없이 데이터 스토리지(클라우드 스토리지)와 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다.

즉, 자신의 컴퓨터가 아니라 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.

클라우드 서비스 유형

클라우드 서비스의 유형은 기존의 전통적인 관리 영역에서 사용자에게 얼마만큼의 서비스를 제공하는지에 따라 나뉜다.

IaaS (Infrastructure as a Service)

  • 서버, 네트워크, OS, 스토리지를 가상화하여 제공하고 관리한다.
  • 기존의 데이터센터에서 제공받던 물리적 자산을 가상화하여 제공한다.
  • 대표적으로 AWS EC2, VMWare 등이 있다.

PaaS (Platform as a Service)

  • OS, 미들웨어, 런타임과 같은 소프트웨어 작성을 위한 플랫폼을 가상화하여 제공하고 관리한다.
  • 인프라에 대한 관리 부담을 줄이며 개발에 집중할 수 있도록 해준다.
  • 대표적으로 AWS Elastic Beanstalk, Windows Azure, Heroku, Google App Engine 등이 있다.

SaaS (Software as a Service)

  • 클라우드 벤더가 제공하는 시스템 및 소프트웨어를 직접 사용한다.
  • 온-프레미스 방식과 다르게 개발 컴퓨터에 응용 프로그램을 설치할 필요가 없다.
  • 대표적으로 네이버 클라우드, 드롭박스, Google Docs 등이 있다.

AWS 주요 서비스

컴퓨팅 서비스

1. EC2 (Elastic Compute Cloud)

AWS에서 가장 기본적이고 널리 쓰이는 인프라로, 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공하는 서비스

  • 가상 머신을 제공되며 인스턴스라고 불린다.
  • 클라우드에서 컴퓨팅 파워의 규모를 자유자재로 변경할 수 있다.
  • 안정성을 위해 여러 AWS Region과 가용 영역에 걸쳐 배포된다.

2. Auto Scaling

트래픽에 따라 EC2 인스턴스들을 자동으로 확장하거나 제거해주는 서비스

  • 서비스의 수요가 급증할 때는 인스턴스를 자동으로 늘려 성능을 유지하고, 트래픽이 감소하면 늘어난 인스턴스를 제거한다.
  • 예상치 못한 서비스 부하에 효과적으로 대응하고, 최소한의 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있다.
  • 애플리케이션의 가용성을 유지하는데 도움을 준다.

3. Lambda

모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행하는 서비스

  • 사용자는 서버에 대한 걱정 없이 코드만으로 서비스를 실행할 수 있다.
  • 서버리스(Serverless) 아키텍쳐 구현에 사용한다.
  • 서버 및 운영 체제 보수, 용량 프로비저닝 및 자동 확장 등의 컴퓨터 리소스의 모든 관리를 자체적으로 수행하므로, Lambda가 사용하는 언어 중 하나로 코드를 제공하기만 하면 된다.

4. Lightsail

AWS에서 만든 가상 프라이빗 서버 (VPS)

  • 주어진 리소스 옵션(Ubuntu, Node, Nginx, ...) 중 하나를 선택하여 단일 가상 서버를 설정할 수 있다.
  • 복잡한 EC2에 비해 비교적 간편하게 인스턴스를 생성할 수 있다.
  • 주로 간단한 웹 서버 운영 시에 사용된다.

5. ECS (EC2 Container Service)

AWS에서 제공하는 완전관리형 컨테이너 오케스트레이션 서비스

  • 클라우드 서버인 EC2를 Docker 컨테이너로 관리할 수 있도록 해준다.
  • 컨테이너를 실행하는 고도로 안전하고, 안정적이고, 확장 가능한 방식이다.
  • 간단한 API 호출을 사용하여 컨테이너 기반 애플리케이션을 시작하고 중지할 수 있다.

6. EB (Elastic Beanstalk)

웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있도록 해주는 서비스

  • Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker 등을 사용하여 Apache, Nginx, Passengerm, IIS와 같은 서버에서 개발된 애플리케이션을 배포할 수 있다.
  • 애플리케이션을 쉽게 배포하고 확장할 수 있도록 해주는 PaaS 서비스이다.
  • 코드를 업로드하면 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 애플리케이션 상태 모니터링까지 자동으로 처리해준다.

네트워킹 서비스

1. VPC

사용자 정의로 구성된 가상의 프라이빗 클라우드 네트워크

  • VPC를 통해 인스턴스가 속하는 네트워크를 구분하여 각 네트워크에 맞는 설정을 부여할 수 있다.
  • IP 주소 범위 체크, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워크 환경을 완벽하게 제어할 수 있다.
  • IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스할 수 있다.

2. Route53

AWS의 DNS 도메인 관리/설정 서비스

  • 도메인 이름을 구매 및 관리하고 도메인에 대한 DNS 설정을 자동으로 구성할 수 있다.
  • 사용자를 AWS 외부의 인프라로 젇ㄴ달하는 서비스를 이용할 수 있다.
  • EC2 인스턴스, ELB, S3 등 AWS 서비스 인프라에 효과적으로 연결된다.

3. ELB (Elastic Load Balancing)

AWS의 로드 밸런서 서비스

  • 접속량이 많을 경우 L4 서비스(Load Balancing) 트래픽을 분산해주는 역할을 하여 고가용성 서비스를 구축할 수 있도록 해준다.
  • 애플리케이션 트래픽을 EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수와 같은 여러 대상에 자동으로 분산한다.
  • Auto Scaling과 연동하여 추가된 EC2를 자동으로 ELB의 부하분산 대상에 포함시키거나 제외할 수 있다.

4. CloudFront

AWS의 CDN (Content Delivery Network) 서비스

  • S3, EC2, ELB, Route53 등과 같은 AWS 서비스와 통합되어 운영된다.
  • 리전에 상관없이 엣지 로케이션 기준으로 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도가 빠르고 비용도 EC2 혹은 S3로 서비스를 제공하는 것보다 더 저렴하다.
  • 캐싱을 통해 사용자에게 좀 더 빠른 전송 속도를 제공하는 것을 목표로 한다.
    S3에 CloudFront를 설정함으로써 AWS에 저장되어있는 정적 파일을 사용자에게 지연 없이 안정적으로 전달할 수 있다.

스토리지 서비스

S3 (Simple Storage Service)

정적 파일 스토리지 서비스

  • HTML, CSS, JavaScript, 사진, 비디오, 문서, Lambda 함수 코드 등을 저장할 수 있다.
  • URL을 통해 파일을 사용할 수 있다.
  • HTTP 프로토콜과 연동하여 정적 사이트를 호스팅하는데 사용할 수 있다.
  • CloudFront와 구상하여 S3에 저장된 정적 파일이 CDN을 통해 더 효율적으로 보급할 수 있다.

EBS (Elastic Block Store)

EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장 장치

  • EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공한다.
  • 스냅샷 기능을 제공하여 EBS의 현재 상태를 그대로 보존할 수 있다.
  • EC2 인스턴스를 제거해도 EBS는 독립적이기 때문에 데이터 유지가 가능하다.
  • 단 몇 분내에 사용량을 조절할 수 있으며, 프로비저닝한 부분에 대해서만 저렴한 비용을 지불한다.

Glacier

데이터 보관, 백업 및 아카이브를 위한 스토리지 서비스

  • S3에서 Glacier로 백업을 자동 생성하도록 설정할 수 있다.
  • 데이터를 거의 무제한으로 저장할 수 있지만, 저장하고 꺼내는데 3~5시간이 걸린다는 단점이 있다.
  • 스토리지 비용이 저렴하고, 데이터에 ms 만에 액세스해야 할 필요가 없다면 이 제품을 사용한다.

데이터베이스 서비스

RDS (Relational Database Service)

관계형 데이터베이스를 이용할 수 있는 서비스

  • DB 설정, 패치, 백업 등 시간 소모적인 관리 작업을 AWS에서 처리한다
  • Amazon RDS DB 엔진은 저장시(저장되는 동안 데이터 보호) 암호화 및 전송중 암호화를 제공한다.
  • RDS의 사용가능한 DB 엔진:
    • MySQL
    • Microsoft SQL Server
    • PostgreSQL
    • Oracle DB
    • MariaDB
    • Amazon Aurora

DynamoDB

비관계형 데이터베이스(NoSQL)을 이용할 수 있는 서비스

  • key-value 형태로 규모와 관계없이 10ms 미만의 성능을 제공한다.
  • 데이터 규모와 관계없이 데이터를 저장 및 검색하고, 어떠한 요청 트래픽이라도 처리할 수 있는 데이터베이스 테이블을 생성할 수 있다.
  • 소프트웨어를 설치, 유지관리, 운영할 필요가 없다.

RedShift

PostgreSQL 기반의 속도가 빠른 완전관리형 데이터 웨어하우스

  • 빅데이터 분석에 사용할 수 있다.
  • 여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는데 도움이 되는 기능을 제공한다.
  • 비즈니스 인텔리전스(BI) 워크로드에 대한 기존 DB 대비 최대 10배 높은 성능을 제공한다.

Aurora DB

엔터프라이즈급 관계형 데이터베이스

  • MySQL 및 PostgreSQL과 호환 가능하다. (비용은 RDS보다 20% 비싸다)
  • 표준 MySQL보다 최대 5배 빠르며, 표준 PostgreSQL보다 최대 3배 빠르다.
  • DB 리소스의 안정성 및 가용성을 유지하면서도 불필요한 입출력 작업을 줄여 DB 비용을 절감한다.

관리 서비스

CloudWatch

AWS 리소스와 AWS에서 실시간으로 실행중인 애플리케이션을 모니터링하는 서비스

  • AWS 서비스(EC2, API Gateway, RDS, ELB, Cloud Front, ...)들을 모니터링하거나 알람을 받는 설정들을 할 수 있다.
  • 지표를 감시해 알림을 보내거나 임계값을 위반한 경우 모니터링 중인 리소스를 자동으로 변경하는 경보를 생성할 수 있다.
  • 특정 금액을 초과할 경우 알림을 받거나 EC2의 CPU 사용률 등의 알람도 가능하다.

분석 플랫폼

Kinesis

대량의 데이터를 저장/분류할 수 있는 서비스

  • 다양한 규모의 스트리밍 데이터를 효율적으로 처리할 수 있는 기능을 가지고 있다.
  • 실시간 스트리밍 데이터를 손쉽게 수집, 처리 및 분석한다.

Redshift

효율적으로 비용 및 데이터를 분석할 수 있는 빠르고 확장 가능한 데이터 웨어하우스

  • 머신러닝, 다량 병렬 쿼리 실행, 고성능 디스크의 열 기반 스토리지를 사용하여 다른 데이터 웨어하우스보다 10배 빠른 성능을 제공한다.
  • 대규모의 데이터 세트에 최적화 되어있다.

결론

AWS가 제공하는 많은 서비스들 중에 일부에 대해 간단하게 알아보았습니다. 위에 언급된 서비스 이외에도 AWS는 다양한 서비스들을 제공하고 있다. AWS의 다양한 서비스에 대해 알아보면서 본인의 서비스나 애플리케이션에 적합한 서비스 활용 방향에 대해 알아보고, 더 나아가 AWS라는 대기업이 신기술이 접목된 여러가지 서비스를 빠르게 제공하면서 만드는 IT의 트렌드와 방향성에 대해서도 생각해보면 좋을 것 같다.

참고

https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-%EC%95%84%EB%A7%88%EC%A1%B4-%EC%9B%B9-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%9A%A9%EC%96%B4-%EC%A2%85%EB%A5%98-%EC%A0%95%EB%A6%AC-EC2-EBS-RDB-S3-EBS-SES

https://www.whatap.io/ko/blog/9/

https://velog.io/@openhub/%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%93%A4%EC%97%90%EA%B2%8C-%EB%8F%84%EC%9B%80%EC%9D%B4-%EB%90%A0-%EB%A7%8C%ED%95%9C-9%EA%B0%80%EC%A7%80-%EA%B8%B0%EB%B3%B8-%EC%95%84%EB%A7%88%EC%A1%B4-%EC%9B%B9%EC%84%9C%EB%B2%84-Amazon-Web-Service-AWS-%EC%84%9C%EB%B9%84%EC%8A%A4

0개의 댓글