AWS ECS와 Elastic Beanstalk - 컨테이너 및 오토스케일링
AWS ECS와 Elastic Beanstalk - 컨테이너 및 오토스케일링
AWS에서 컨테이너를 관리하고 자동으로 확장하는 두 가지 주요 서비스인 ECS와 Elastic Beanstalk에 대해 정리했습니다.
AWS ECS (Elastic Container Service)
ECS는 Docker 컨테이너를 관리하는 서비스입니다.
특징
- Docker와 비슷한 역할을 수행
- Load Balancer를 자동으로 생성할 수 있음 (기존 것을 선택하는 것은 불가)
- VPC를 기존에 있던 걸 선택 불가 (새로운 VPC가 생성됨)
EC2에서 Docker 사용하기
EC2 인스턴스에서 Docker를 설정하고 ECS에 등록하는 과정입니다.
기본 단계
- Docker 설치
- Docker 이미지 파일 만들기
- 이미지 파일 실행하기
- ECS에 Docker 이미지 등록하기
참고 문서: AWS Docker Basics
재부팅 시 Docker 자동 시작
sudo systemctl enable docker
Elastic Beanstalk
Elastic Beanstalk은 AWS 리소스들을 쉽게 연결하고 자동으로 확장할 수 있게 해주는 서비스입니다. 마치 콩나무처럼 트래픽이 많아지면 자동으로 커집니다.
주요 기능
- 오토스케일링: 트래픽에 따라 자동으로 인스턴스 수 조절
- 로드 밸런싱: 트래픽을 여러 인스턴스에 분산
- 인스턴스 자동 생성: min, max 설정에 따라 인스턴스 관리
작동 방식
- 네트워크 트래픽이 많아지면 인스턴스를 자동으로 늘림
- 새로 생성된 인스턴스에는 설정한 애플리케이션 버전이 자동 설치됨
- DB처럼 애플리케이션끼리 공유해야 하는 자원은 RDS 같은 AWS 서비스 이용
용어
- Application version: 한 애플리케이션의 버전. AB 테스트처럼 두 가지 버전을 바꿔가며 확인할 수도 있습니다.
- Environment: Application version 외에 다른 설정들도 관리할 수 있습니다.
AWS 빅데이터 및 ML 서비스
AWS에서 제공하는 데이터 분석 및 머신러닝 관련 서비스들입니다.
분석 서비스
| 서비스 | 설명 |
|---|---|
| Amazon Athena | S3에 저장된 데이터에 SQL 쿼리 실행 (서버리스, ETL 불필요) |
| AWS Glue | ETL 카탈로그 서비스, S3 데이터를 SQL에서 호출 가능하게 매핑 |
| Lake Formation | 여러 출처의 데이터를 중앙 집중식으로 관리 (Data Lake) |
| Redshift | Data Warehouse 서비스 |
| AWS Step Functions | 서버리스로 AWS 서비스들을 워크플로우로 구성 |
머신러닝 서비스
| 서비스 | 설명 |
|---|---|
| Amazon SageMaker | 머신 러닝 모델 구축, 학습, 배포 |
| Amazon Rekognition | 사진/비디오에서 사람 식별 |
| Amazon Forecast | 시계열 예측 (시간 순 데이터 기반 예측) |
| Amazon Personalize | 맞춤 추천 기능 |
| Amazon Comprehend | 자연어 처리, 텍스트 분석 |
| Amazon Lex | Chatbot AI (슬랙 봇 등 개발) |
| Amazon Polly | Text to Speech |
| Amazon Textract | 이미지에서 텍스트 추출 |
| Amazon Transcribe | Speech to Text |
| Amazon Translate | 번역 서비스 |
| Amazon Augmented AI (A2I) | ML 예측에 인적 검토 프로세스 추가 |
| AutoML | 머신러닝 자동화 |
AWS Marketplace
이미 학습된 솔루션을 제공하며, 무료 솔루션도 있습니다. 각 카테고리의 제품을 테스트해볼 수 있습니다.
Comments