Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- VPC
- docker
- docker swarm
- Proxy Resource
- optional chaining
- grafana
- Site-to-Site VPN
- null 병합 연산자
- vgw
- 옵셔널 체이닝
- Kubernetes
- cognito
- Endpoints
- JavaScript
- prometheus
- 비구조화 할당
- 구조분해 할당
- transit gateway
- 자바스크립트
- 온프레미스
- elasticsearch
- 단축 평가
- api gateway
- Custom Resource
- CloudFormation
- Service
- DynamoDB
- AWS
- On-Premise
- Await
Archives
- Today
- Total
만자의 개발일지
[AWS] AWS ECS란 본문
AWS ECS(Elastic Container Service)
ECS는 AWS에서 제공하는 완전관리형 컨테이너 오케스트레이션 서비스입니다.
컨테이너 오케스트레이션이란?
컨테이너의 배포,관리,확장,네트워킹을 자동화 해주는 유형입니다.
ECS를 사용하면 Docker 컨테이너 기반으로 쉽게 서비스를 배포 및 운영할 수 있습니다.
ECS 구성 요소
ECS는 다음과 같은 요소로 구성되어 있습니다.
- Cluster
- Service
- Task Definition
- Task
- Container Instance
각 요소에 대해 하나씩 살펴보도록 하겠습니다.
Cluster
- ECS의 가장 기본 단위로써 Cluster는 Task 또는 Service의 논리적인 그룹입니다.
- 기본적으로 컴퓨팅 자원을 포함하지 않으며(텅 빈 Cluster도 생성 가능하다.), ECS에서 컨테이너를 실행시키기 위해서는 Contianer Instance가 Cluster에 포함되어야 합니다.
- Cluster는 Container Instance를 조작할 수 있는 권한을 가지고 있으며, Cluster에서 Service나 Task를 실행하면 조건을 만족하는 Container Instance를 찾아 해당 Instance에 컨테이너를 실행합니다.
- AWS Fargate(Serverless)를 사용하면 Container Instance없이 컨테이너를 실행할 수 있습니다.
Service
- Service는 Task를 지속적으로 관리하는 단위입니다.
- Service는 Cluster 내에서 지정된 Task 수만큼 동시에 실행하고 관리할 수 있습니다.
- 또한 ELB와 연동하여 실행중인 Task를 찾아 자동으로 ELB에 등록 및 제거하는 Auto Scaling 역할도 담당합니다.
Task Definition
- Task Definition은 Task를 실행하기 위한 설정을 저장하고 있는 단위입니다.
- Task Definition은 컨테이너 별로 실행하고자 하는 이미지를 지정할 수 있으며, CPU나 Memory와 같은 정보도 지정할 수 있고, 하나 혹은 둘 이상의 Task Definition을 포함할 수 있습니다.
- Task Definition은 Cluster에 종속되어있지 않습니다.
Task
- Task는 ECS의 최소 실행 단위로 하나 이상의 컨테이너 묶음입니다.
- Task를 실행하는 방법에는 Task Definition으로 직접 Task를 실행하는 방법과 Service를 정의하는 방법이 있습니다.
- Task Definition으로 직접 실행된 Task의 경우 처음 한 번 실행된 이후 관리되지 않습니다.
- Task는 Cluster에 속한 Container Instance에 배포됩니다.
Container Instance
- Task가 배포되는(실제 Docker 컨테이너가 실행되는) Cluster에 등록된 EC2 Instance를 Container Instance라고 합니다.
- ECS는 EC2 Instance에 ECS Container Agent를 설치하고 Cluster에 Container Instance로 등록할 수 있습니다.
- 하나의 Cluster에 여러 개의 Container Instance가 있을 수 있으며, 하나의 Container Instance안에서도 여러개의 Task가 있을 수 있습니다.
이렇게 ECS 무엇인지 ECS의 구성요소와 각 요소간의 관계에 대해 알아보았는데요, 다음 포스팅에서는 ECS 기반으로 AWS Fargate를 다루는 방법에 대해 알아보도록 하겠습니다.
참고
- https://www.44bits.io/ko/post/container-orchestration-101-with-docker-and-aws-elastic-container-service
- https://wooono.tistory.com/133
'AWS' 카테고리의 다른 글
[AWS] VPC Peering 이란 (0) | 2022.03.14 |
---|---|
[AWS] AWS Fargate for ECS 시작하기 (0) | 2022.02.24 |
[AWS] API Gateway란 (0) | 2022.02.21 |
[AWS] AWS Lambda란 (0) | 2022.02.18 |
[AWS] IAM Custom Policy 생성하기 (0) | 2022.02.17 |
Comments