티스토리 뷰

8. 알아 두면 좋은 AWS 서비스

AWS가 제공하는 서비스는 165종류 이상이다. 이 장에서는 그중 자주 사용하는 몇 가지 서비스를 알아보겠다.

8.1 Amazon Route 53: AWS의 DNS 서비스

- Amazon Route 53는 엔드포인트 한 개에 트래픽이 집중되지 않게 하거나, 서비스에 장애가 발생했을 때 신속하게 다른 네트워크로 전환해주는 기능이 있어 라우팅을 유연하게 관리할 수 있다.

- DNS에 대한 용어는 DNS 설정과 요금 계산에 필요하기 때문에 꼭 알아 두어야 한다.

  • Resolver : 도메인 이름과 IP 주소를 상호 변환하는 것을 말한다. Amazon Route 53의 핵심 기능은 DNS 서버의 기능이다.
  • 라운드로빈 : 호스트명 하나에 IP 주소를 여러 개 할당하고, IP 반환을 요청하면 제일 앞쪽 IP부터 연결하려는 특성을 이용하여, 접속할 때마다 IP 주소를 반환하는 순서를 바꾸는 방식으로 IP 주소를 자의적으로 조정한다. 접속 대상의 IP 주소가 복수이기 때문에 서버 여러 대에 분산하는 것이 가능하다.
  • 트래픽 흐름 : 서버의 부하와 가장 효율이 좋은 서버의 IP 주소를 반환하도록 조정하는 것을 말한다. 지연이 적은 서버에 전송하는 지연 시간 기반 라우팅, 지리적으로 가까운 서버에 전송하는 Geo DNS, 서버의 가동 여부를 체크하여 가동되고 있지 않은 서버에 할당하지 않는 DNS 페일 오버(장애 극복 기능)를 조합하여 구성한다.
  • 호스트 영역 : DNS의 설정 단위로 도메인 전체 혹은 서브도메인을 말한다.
  • 레코드 : 도메인 및 서브도메인에 설정하는 항목으로, 설정 하나당 도메인과 IP 주소를 변환하기 위한 내용이 한 개씩 기록되어 있다.
  • 쿼리 : DNS에 대한 요청을 말한다.

- 요금 = 호스트 영역별 기본 요금 + 쿼리 건수에 대한 요금 + 상태 확인 요금

  • 호스트 영역별 기본 요금
    • 도메인이나 서브도메인 1개당 계산한다. 
    • 0.05 US달러/월(도메인 25개 이하의 경우)
  • 쿼리 건수에 대한 요금
    • 해당 도메인에 대한 쿼리 건수로 계산한다. 계산의 최저 단위는 100만 건이다.
    • 예를 들어 월별 표준 쿼리가 10만 개인 호스팅 영역에는 0.40 US달러이다.
  • 상태 확인 요금
    • 상태 확인이란 서버의 리소스에 대한 상태나 성능을 감시하는 기능이다. 상태 체크는 50개까지 무료이며 50개를 넘으면 요금이 부가된다.

 

8.2 AWS Lambda: 서버리스 서비스이며 이벤트를 자동으로 실행한다

- AWS Lambda는 작은 프로그램을 실행하는 구조이며, 미리 등록해 두면 언제든 실행할 수 있다.

- 전용 서버를 구축하거나 따로 관리하지 않아도 필요한 이벤트가 자동으로 실행된다. 서버에 상주하는 프로그램과는 다르게 프로그램 실행 시에만 요금이 부과된다.

- 새로운 프로그래밍 언어는 아니다. 잘 알려진 프로그래밍 언어로 작성한 코드를 바탕으로 'Lambda 콘솔'을 사용하여 GUI로 만들 수 있다.

- Lambda를 호출하는 방법으로 세 가지가 있다. 대표적인 것이 S3나 SES, API Gateway와 조합하여 사용하는 방식이다.

Lambda가 이벤트를
읽는 서비스
Lambda 함수를
동기적으로 호출하는 서비스
Lambda 함수를
비동기적으로
호출하는 서비스
- Kinesis
- DynamoDB
- SQS
- ELB
- ALB
- Cognito
- Lex
- Alexa
- API Gateway
- CloudFront
- Kinesis Data Firehose
- S3
- SNS
- SES
- CloudFormation
- CloudWatch Logs
- CloudWatch Events
- CodeCommit
- Config

적용 예시

 

8.3 AWS 컨테이너 서비스: 애플리케이션 단위로 실행할 수 있는 가상 환경

- 컨테이너란 프로그램 실행 환경을 분리하는 방식이다. 도커는 유명한 컨테이너 형식 중 하나이다. AWS는 도커 형식의 컨테이너를 지원한다.

- 일반적으로 컨테이너 서비스에는 컨테이너를 배치, 관리하기 위한 '레지스트리 서비스'와 컨테이너로 분리된 애플리케이션의 실행과 컨테이너의 조정을 수행하는 '오케스트레이션 서비스'가 필요하다.

- AWS 의 레지스트리 서비스 : Amazon Elastic Container Registry(ECR)

- AWS 의 오커스트레이션 서비스 : Amazon Elastic Container Service(ECS), Amazon ELastic Kubernetes Service(EKS)

- 컨테이너의 개념을 이해하고 나면 AWS에서 컨테이너를 사용하기 쉬울 것이다.

  • 컨테이너 : 프로그램 전체를 분리하여 실행하는 시스템을 말한다.
  • 도커 이미지 : 컨테이너를 구성하는 프로그램이라 설정을 말한다.
  • 도커 허브 : 도커 이미지를 등록하는 서비스이다. AWS 도커 허브(Docker Hub)로 ECR을 사용한다.
  • Amazon EC2 Container Registry(ECR) : 도커 이미지를 등록하는 서비스이다.
  • Amazon ECS : 도커 이미지에서 EC2나 AWS Fargate에 컨테이너를 생성하여 실행하는 서비스이다.
  • 쿠버네티스 : 컨테이너를 종합 관리하는 방식이다.
  • Amazon Elastic Container Service for Kubernetes(EKS) : AWS가 제공하는 쿠버네티스 서비스이다.
  • AWS Fargate : 컨테이너를 실행하는 EC2를 자동으로 관리하기 위반 방식이다.

- AWS Fargate는 필요에 따라 EC2 인스턴스를 가동하고 EC2 안에 컨테이너를 할당하고 실행하는 방식이다.

- EC2 시작 유형의 경우는 'EC2 요금'만 발생하며 요금이 추가되지 않는다. Fargate 시작 유형의 경우는 '(할당된 CPU당 실행 단가 x 가동 시간(분) x 컨테이너 수) + (메모리 단가 x 가동 시간(분)) + (데이터 전송 요금)' 이다.

 

그 밖에 주목할 서비스

Amazon SageMaker와 AWS Deep Learning AMI

- AWS에서 머신 러닝을 수행하려면 Amazon SageMaker를 사용하는 방법과 AWS Deep Learning AMI를 사용하는 방법이 있다.

- Amazon SageMaker는 머신 로닝 모델을 간단하고 빠르게 구축, 트레이닝, 호스트 환경에 배포하기 위한 완전 관리형 서비스이다.

- AWS Deep Learning AMI는 딥러닝 프레임워크와 인터페이스를 갖춘 Amazon EC2 인스턴스이다. 환경과 방법의 선택의 폭이 넓고 사용자 정의가 가능하며 머신 러닝에 대한 심층 연구에 적합하다.

 

AWS IoT Core

- AWS IoT Core 장치와 AWS 혹은 IoT 장치 사이의 인터넷 접속, 통신을 수행하기 위한 관리형 클라우드 서비스이다. 수십억 개의 IoT 장치와 수조 개의 메시지를 취급할 수 있다.

- IoT 장치에서 송신된 데이터를 처리할 수 있고, IoT 장치를 조작하는 애플리케이션을 개발하거나 실행할 수 있다.

 

Amazon Lumberyard

- Amazon Lumberyard는 게임 엔진이며 게임 편집기로 게임을 작성할 수 있다.

- 라이브 게임과 멀티플레이어 게임을 운영하거나 동적 콘텐츠를 이용할 때 AWS 클라우드와 통합된 Lumberyard의 특징을 잘 활용하면 편리하다.

댓글