일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ
- dfs
- 데코레이터
- 비관적락
- querydsl
- FetchType
- 낙관적락
- fetch
- 이진탐색
- 즉시로딩
- CHECK OPTION
- PS
- shared lock
- eager
- 동적sql
- execute
- SQL프로그래밍
- JPQL
- 연관관계
- 백트래킹
- 다대일
- 유니크제약조건
- 지연로딩
- 일대다
- 스토어드 프로시저
- exclusive lock
- 다대다
- 연결리스트
- 스프링 폼
- 힙
- Today
- Total
흰 스타렉스에서 내가 내리지
ECS(Elastic Container Service) 본문
ECS(Elastic Container Service)
AWS에서 제공하는 컨테이너 오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고,컨테이너를 적절하게 분배 및 확장 & 축소 할 수 있도록 도와주는 서비스.
비슷한 서비스로 Docker의 Docker Swarm, 구글의 Kubernetes, 하시코프의 Nomad등이 있다.
Googel의 쿠버네티스에 비해 다소 오케스트레이션에 부족한 기능들도 있지만, ECS에서 제공해주는 정도의 수준만 필요한 경우라면 비용적인 부분이나, 다른 오케스트레이션에 비해 비교적 적은 학습 시간으로 빠르게 여러분들의 서비스를 ECS로 적용할 수 있다.
# 구성요소
1. 클러스터
Amazon ECS의 도커 컨테이너를 실행할 수 있는 논리적인 공간.
ECS의 가장 기본적인 단위. 서비스나 태스크가 실행되는 공간을 나누는 논리적인 공간.
2. 태스크 정의
어플리케이션을 구성하는 하나 이상의 컨테이너를 설명하는 텍스트 파일.(JSON)
최대 10개의 컨테이너를 설명할 수 있다.
운영 체제에 대한 파라미터, 사용할 컨테이너, 애플리케이션에 대해 개방할 포트, 태스크의 컨테이너와 함께 사용할 데이터 볼륨을 지정할 수 있다.
3. 태스크
태스크 정의를 인스턴스화 하는 것.
컨테이너를 실행하는 최소 단위.
4. 서비스
태스크는 2가지 방법으로 실행 할 수 있다.
(1) 태스크 디피니션으로 직접 태스크를 실행.
(2) 서비스 정의.
(1)방법은 곧바로 실행되고 이후에 관리되지 않는다. 특별한 이유 없다면 거의 사용 X.
(2)방법은 클러스터에서 개수만큼 태스크가 실행되도록 자동적으로 관리해준다.
리플리카와 데몬 타입이 있는데,
데몬은 모든 컨테이너 인스턴스에 해당하는 테스크가 하나씩 실행된다. 그래서 인스턴스 관리를 위한 용도로 사용된다.
리플리카는 웹서버를 비롯한 실제 서비스에 주로 사용.
즉, 태스크를 관리하는 상위그룹이라고 볼 수 있습니다.
실행 유형
(1) EC2
(2) Fargate (serverless)
- ECS 클러스터내에 인스턴스가 없어도, 태스크에 정의한 CPU, 메모리 설정에 따라 인스턴스 없이 서버리스 하게 서비스를 실행할 수 있다.
5. ECR (Elastic Container Registry)
- 도커 이미지를 저장 및 관리하는 서비스. 도커 허브와 비슷
- IAM과 조합함으로 세세한 권한 관리 가능하다.
- EC2와 비교해서 생각해보면 CodeBuild후 산출물이 S3에 들어간다면 ECS는 ECR에 생성된다고 보면 된다.
EC2 & ECS 배포비교
ECS vs EKS
비슷한 서비스인 듯 하지만 ECS는 Docker를 기반으로 하고, EKS는 Kubernetes를 기반으로 한다.
간단히 말해서 ECS는 AWS의 자원을 활용하고, EKS는 Kubernetes의 를 더 활용한다. 상황을 잘 고려하여 선택하는 것이 좋다.
'AWS' 카테고리의 다른 글
[AWS_Builders] EC2 (0) | 2023.07.14 |
---|---|
[DynamoDB]The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; (0) | 2023.07.11 |
private RDS를 로컬(MySQL Workbench)에서 접근하기 (0) | 2023.05.16 |
Amazon Linux에 git을 설치하는 방법 (0) | 2023.05.15 |
VPC 생성하기, 퍼블릭 서브넷, 프라이빗 서브넷 (0) | 2023.05.15 |