- 컨이너 전성시대
- 컨테이너 프로세스 단위로 서비스를 운영하는것이 비약적으로 발전 함.
- 따라서, 컨테이터 오케스트레이션 툴이 필수적으로 자리 잡음.
- ESC
- AWS 에서 제공하는 오케스트레이션 툴.
- Docker 컨테이터 애플리케이션의 실행 및 확장 및 보호 등등을 제공.
- 특징
- 구성요소
- ECS 및 ESC Agent : 오케스트레이션을 위한 브레인. (사용자에게 노출 안됨)
- 클러스터 그룹 : 태스크를 관리하는 논리적인 단위.
- 태스크 : 실제 컨테이너들이 작업을 하는 환경. (k8s pod 와 비슷한 개념)
- 서비스 :
- 태스크 갯수를 셋팅하고, 이에 관한 HA를 자동으로 해줌.
- 유형(replica, daemon), 배치전략 셋팅 가능.
- 배포유형(rolling, blue/green) 셋팅 가능.
- ALB 기반의 Load-Balancing 및 Auto-Scaling 등등의 기능 제공.
- 클러스터 스케일링
- 수행중인 태스크와 리소스의 지표를 기반으로 이루어 짐.
- 실질적인 application 의 성격은 반영이 안됨. (정... logic이 필요하면, 람다로?ㅋ)
- 인프라 구조에 종속이된 스케일링이라... 퍼포먼스에 한계가 있다고 하심.
- 캐파씨티 프로바이더
- 더 유연하게 스케일링을 제공하기 위한 기능으로~ 아주(?) 좋다고 함니다. ㅎㅎ
- ...
- Fargate
- 컴퓨팅 인스턴스를 관리할 필요도 없게... (인프라 엔지니어링 으로부터 해방~ 무야호~)
- 기존 컨테이너 이미지를 똑같이 그대로 배포하면 됨. (사용한 만큼의 컴퓨팅 비용 지불)
- 미리 정해진 스펙의 EC2 인스턴스 풀을 기반으로 풀매니지드 하게 동작 함.
- 스펙
- 256 vCPU - 512MB, 1GB, 2GB Memory
- 512 vCPU - 1GB ~ 4GB ''
- 1024 vCPU - 2GB ~ 8GB ''
- 2048 vCPU - 4GB ~ 16GB ''
- 4096 vCPU - 8GB ~ 32GB ''
- 데이터 통신구조
- 하나의 VM에 하나의 태스크으로 VPC간 이더넷 통신을 해서... 보안상 안정적 이다 ???
- ...
- ...
- 아키텍쳐 예시
- AWS 컨테이너 관련 툴 서비스
- CI/CD 서비스
- CodeSeries 서비스들로 구성
- ECS 서비스 배포 자동화에는... CodeDeploy를 강조함. (다운타임 최소화, 배포실패시 자동 롤백, 자동 트래픽컨트롤)
- 모니터링 서비스
- 로그 수집
- CI/CD 서비스
- ECS Vs EKS
- ECS : 쉽고 빠르게 컨테이너를 다룰 수 있도록! (No Ops를 추구)
- EKS : K8S를 편하게 쓸 수 있도록... (K8S 는 아주 복잡하고 어렵지만, 어마어마한 기능이 ;;;)
- 질문
- Q : Fargete 가 똑같은 스펙의 EC2 쓰는것보다 비용절감이 되나요?
- A :
- 이 부분은 워크로드의 성격에 따라서 비용이 달라질수 있을것 같습니다.
- 지금 설명해주시는 Spot인스턴스 등을 사용하면 비용을 효율적으로 절감할순 있습니다.
- Fargate와 EC2의 비용을 apple-to-apple로 비교하기보다는 운영 관점에서 고려해보시는 게 좋을 것 같아요.
- 예를 들어, 메모리를 많이 사용하신다면~ 메모리 최적의 EC2 인스턴스에...
- 큰 메모리를 사용하는 컨테이너들을 밀집해서 띄우는 식으로요. 즉, 워크로드 특성에 따른 고려가 필요합니다.
- 실습
- https://ecs-cats-dogs.workshop.aws/ko/intro.html
- 어어어
-끝-
'IT 서적 & 강좌' 카테고리의 다른 글
[웨비나] Container Immersion Day (4/8 EKS) (0) | 2021.04.08 |
---|---|
[웨비나] Container Immersion Day (4/8 K8S) (0) | 2021.04.08 |
[웨비나] AWS AI/ML (0) | 2020.04.30 |
[코테] 문제풀이 (0) | 2019.11.06 |
[강좌] IBM DevDay 2018 (0) | 2019.11.04 |