ㆍECS(Elastic Container Service) : AWS에서 서비스하는 컨테이너를 관리하기 위한 도구(≒ Kubernetes)
- 기본 용어
▪️ Task
⮞Task definition : 컨테이너를 설정하기 위한 내용. 컨테이너 이미지, 리소스, 포트 설정 등을 수행.
⮞Task : Task definition에서 정의한 내용을 기반으로 배포한 한 개 또는 여러 개의 컨테이너들
▪️ Service : 컨테이너 상위의 개념으로, Task를 Cluster에 몇 개나 배포할 것인지 결정함.
외부 서비스를 위해 로드밸런서를 연동하고, Task에 문제가 생기면 자동으로 새로운 Task를 생성.
▪️ Container Instance : ECS를 통해서 Task가 배포되는 EC2인스턴스를 Container Instance라고 함.
Container Instance에는 ecs-agent가 설치되어 Instance를 Cluster에 묶어서 관리함.
- 구성 요소
▪️ EC2(Container Instance) : EC2 인스턴스를 생성하고, EC2 내에 Agent를 실행하여 EC2를 ECS 클러스터에 등록
▪️ Fargate : 서버리스 서비스, EC2 인스턴스나 클러스터를 관리할 필요 없이 AWS가 ECS Task를 대신 생성한다.
* ECS와 Fargate를 엮어서 물어보는 경우 있음.(회사는 컨테이너화 된~ 인프라 ~ 책임 원하지 않음)
- IAM Role
▪️ EC2 Instance IAM Role
: EC2 시작 유형 전용 Role, ecs-agent가 EC2를 ECS Cluster에 등록하기 위해서 사용함.
해당 Role을 이용해 ECS 서비스에 API 호출을 하면, CloudWatch에 컨테이너 로그를 보내고
ECR에서 도커 이미지를 가져온다.
▪️ ECS Task IAM Role
: EC2 + Fargate 시작 유형 Role, 각각의 Task에서 특정 권한을 허용하는 Role.
Task 별로 다른 Role을 부여하여 서로 다른 서비스 접근이 가능함.
ex) A Task는 DynamoDB, B Task는 S3로 접근 가능
ㆍEKS(Elastic Kubernetes Service) : AWS에서 제공하는 관리형 Kubernetes 서비스
- Kubernetes : 도커로 컨테이너화한 애플리케이션의 관리, 규모 조정 및 배포를 자동화
- AWS 네트워크 및 보안 서비스와 통합되어 Kubernetes 워크로드를 사용하며,
IAM과 통합되어 클러스터에 대한 인증 제공(= AWS 서비스와 통합됨)
- 자동 규모 조정
▪️ Pod : CPU 사용자 지정 지표를 기반으로 수평 Pod 자동 규모 조정
▪️ 클러스터 : 전체 워크로드 수요 기반으로 클러스터 자동 규모 조정
- 여러 가용 영역의 컨트롤 플레인에 대한 고가용성 제공
- 노드 유형
▪️ 관리형 노드 그룹 : EC2 인스턴스 생성 / 관리
▪️ 자체 관리형 노드 : 사용자 지정 및 제어 대상이 많은 경우 노드 생성 후 EKS 클러스터로 등록하여
Auto Scailing Group으로 관리
▪️ Fargate 모드 : 노드, 유지 관리 없이 EKS에서 컨테이너만 실행하면되는 서버리스 서비스
ㆍECS와 EKS의 차이점
- ECS : AWS에서 제공하는 Native 컨테이너 오케스트레이션 서비스, AWS와 통합 하는 경우 사용
Native 솔루션이기 때문에 제어플레인이 없음.
- EKS : 관리형 Kubernetes 서비스, Kubernetes의 기능을 사용할 경우 사용,
Kubernetes 기반으로 제어플레인 있음
ㆍAuto Scailing : 리소스 규모(수)를 애플리케이션의 수요, 트래픽 증가 및 감소에 따라
자동으로 탄력적으로 조정하는 기능(= 가용성 상승, 비용 최적화)
- Cluster Autoscaler : 클러스터의 워커 노드를 유동적으로 스케일링하는 기능을 가지고 있음.
클러스터 내에 미예약된(혹은 실패한) Pod나 노드가 리스케쥴링될 때 노드 수를 조정함
- Karpenter : 미예약된 Pod의 전체 리소스 요청을 모니터링하고, 새 노드를 시작 및 종료를 결정하여
예약 대기 시간과 인프라 비용을 줄일 수 있음. JIT(Just In-Time) 배포가 가능함.
'자격증 > SAA' 카테고리의 다른 글
AWS - 스토리지(S3) (0) | 2024.01.16 |
---|---|
AWS - 컴퓨팅 서비스(ELB) (0) | 2024.01.16 |
AWS - 컴퓨팅 서비스(EC2) (0) | 2024.01.12 |
AWS - 기본 용어 및 개념 (0) | 2024.01.12 |
SAA-C03 준비 (0) | 2024.01.12 |