컨테이너를 실행하는 고도로 안전하고, 안정적이고, 확장 가능한 방식
Amazon Elastic Container Service(Amazon ECS)는 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 조정에 도움이 되는 완전관리형 컨테이너 오케스트레이션 서비스입니다.- 공식 페이지 AWS ECS 소개문
컨테이너란?
어플리케이션과 그 어플리케이션을 실행하는데 필요한 모든 것을 포함하는 독립적인 실행 환경입니다.
가벼운 VM이라고 이해할 수 있습니다.
컨테이너는 애플리케이션의 코드, 구성 및 종속성을 하나의 객체로 패키징하는 표준화된 방식을 제공합니다. 컨테이너는 서버에 설치된 운영 체제를 공유하며 리소스가 격리된 프로세스 형태로 실행되므로 환경에 상관없이 빠르고 안정적이며 일관된 배포를 보장합니다. - AWS 카테고리 심층 분석(컨테이너)
그럼 도커란?
컨테이너를 생성하기 위한 기본 단위로,
애플리케이션 실행에 필요한 모든 파일과 설정을 포함하는 파일들의 모음을 "이미지" 라는 개념으로 관리합니다.
이미지에는 애플리케이션의 종속성 및 실행에 대한 정보가 포함되어 있습니다.
이러한 이미지는 로컬 혹은 도커 허브와 같은 원격 저장소에 태그를 붙여 커밋합니다.
하나의 서버에, 여러 개의 컨테이너를 배포할 수 있습니다.
더 많은 컨테이너가 필요하게 된다면? 서버를 추가해야 할 필요가 있습니다.
그럼 서버 간의 컨테이너의 관리는?
"컨테이너 오케스트레이션" 이라는 개념이 필요하게 되었습니다.
다양한 서버들의 컨테이너를 관리하는 개념이고, 이런 기능을 하는 것이 컨테이너 오케스트레이션 툴 입니다.
대표적인 컨테이너 오케스트레이션 툴이, Kubernetes, 도커 스웜, 아파치 메소스, AWS ECS 등이 있습니다.
이런 오케스트레이션 툴은 보통 다음과 같은 기능들을 제공하고 있습니다.
- 서버 스케줄링(각 서버 특성 별 컨테이너 할당)
- 서버에서 도커를 통해 지정된 컨테이너를 안전하게 실행
- 업그레이드, 롤백 등 서비스의 배포에 관한 대응
- 오류 등의 대응
- 새로운 서버나 컨테이너가 추가되었을 때 발견하는 서비스 디스커버리, 서버 간의 네트워킹 클러스터 리소스 생성
- 로드 밸런싱, 로깅 및 모니터링 등..
https://dev.classmethod.jp/articles/contaier-doceker-and-ecs-for-beginner-kr/
'Software Development > Infra' 카테고리의 다른 글
Aurora DB, Redis, Cache 이해하기 (0) | 2024.01.08 |
---|
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!