[SAA-C03] AWS의 컨테이너 - ECS, ECR, EKS, App Runner
Docker
Docker
- 앱 배포를 위한 소프트웨어 개발 플랫폼
- 표준화된 컨테이너에 앱이 패키징 되어 있어서 어느 운영체제에서도 실행 가능
- 유지 및 배포가 쉬움
- 언어, 운영체제, 기술에 상관 없이 실행 가능
- 마이크로 서비스나 온프레미스에서 클라우드로 앱을 마이그레이션 할 때 등에 사용
쿠버네티스 38일차
리뷰 (Review) 더보기 Playbook 제어 구조 순차 구조 - 명령이 기술된 순서로 순차적으로 수행하는 구조 선택 구조 - 조건에 따라 명령의 실행 순서를 변경할 수 있는 구조 반복 구조 - 특정 명령을 일
jw-coding.tistory.com
AWS 에서 Docker 컨테이너를 관리하는 방법
- Amazon ECS (Elastic Container Service)
- Amazon EKS (Elastic Kubernetes Service)
- AWS Fargate - Amazon 의 서버리스 컨테이너 플랫폼, ECS 와 EKS 둘 다 작동 가능
- Amazon ECR (Elastic Container Registry) - Docker Hub와 같이 컨테이너 이미지를 저장하는 데 사용
Amazon ECS
Amazon ECS
- Elastic Container Service
- 클러스터에서 도커 컨테이너를 손쉽게 관리하기 위한 컨테이너 관리 서비스
- 클러스터는 Task (작업) 또는 서비스로 일컬어지는 컨테이너들의 집합
- 시작 유형
- EC2 시작 유형 - EC2 인스턴스를 생성하여 EC2 내에서 ECS Agent 를 실행하여 작업
- Fargate 시작 유형 - 서버리스 서비스, EC2 시작 유형보다 관리가 용이
- 하나의 클러스터 내에 다수의 Task 혹은 컨테이너 인스턴스로 구성
- ELB, EBS 볼륨, VPC, IAM 과 같은 기능과 함께 사용하여 구성 가능
Amazon Elastic Container Service란 무엇입니까? - Amazon Elastic Container Service
Amazon Elastic Container Service란 무엇입니까? Amazon Elastic Container Service(Amazon ECS)는 확장성이 뛰어나고 빠른 컨테이너 관리 서비스입니다. 이를 사용하여 클러스터에서 컨테이너를 실행, 중지 및 관리
docs.aws.amazon.com
Amazon ECS Auto Scaling
- ECS 태스크의 수를 자동으로 늘리고 줄이는 기능
- CPU 사용률, 메모리 사용률, 타겟당 요청 수에 대해 확장 및 축소
- 대상 추적, 단계 스케일링, 예약 스케일링이 있음
- ECS Service Auto Scaling (Task level) ≠ EC2 Auto Scaling (EC2 Instance level)
- Fargate Auto Scaling 이 설정하기 쉬움
- ECS 용량 공급자 - ECS Task 를 위한 인프라를 자동으로 프로비저닝 하고 확장하는 데 사용
Amazon ECR
- Elastic Container Registry
- AWS에 도커 이미지를 저장하고 관리하는 데 사용
- ECR 은 ECS 와 완전히 통합되어 있고, 이미지는 백그라운드에서 Amazon S3 에 저장
- ECR 에 대한 모든 접근은 IAM 에서 제어
- ECR은 이미지의 취약점 스캐닝, 버저닝, 이미지 태그 및 수명 주기 확인을 지원
Amazon EKS
Amazon EKS
- Elastic Kubernetes Service
- AWS 에 관리형 Kubernetes 클러스터를 실행할 수 있는 서비스
- Kubernetes 는 컨테이너화 한 애플리케이션의 자동 배포, 확장, 관리 지원
- 클라우드 또는 컨테이너 간 마이그레이션 시 활용하기 쉬움
- 관리형 노드 그룹 - AWS 로 노드를 생성하고 관리, 온디맨드와 스팟 인스턴스 지원
- 자체 관리형 노드 - 사용자 지정 사항이 많고 제어 대상이 많은 경우 사용자가 직접 노드 생성 및 등록하여 관리
- AWS Fargate - 유지 관리 및 노드 관리를 하지 않아도 되며 Amazon EKS 에서 컨테이너만 실행하면 됨
- EKS 클러스터에 데이터 볼륨 연결을 위해서는 스토리지 클래스 매니페스트를 지정해야 함
- 컨테이너 스토리지 인터페이스 (Container Storage Interface, CSI) 라는 규격 드라이버 활용
What is Amazon EKS? - Amazon EKS
What is Amazon EKS? Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that you can use to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes. Kubernetes is an open-source sys
docs.aws.amazon.com
쿠버네티스 45일차
리뷰 (Review) 더보기 Docker Network 가상 네트워크, Virtual Network Interface docker0 브리지에 연결하여 172.17.0.0/16 CIDR 범위로 IP 주소 할당 Docker Network Interface docker0 Docker 설치 시 기본적으로 제공되는 가상
jw-coding.tistory.com
AWS App Runner
AWS App Runner
- 완전 관리형 서비스로 규모에 따라 웹 애플리케이션, API 배포를 돕는 서비스
- 소스 코드나 컨테이너 이미지로 원하는 구성을 설정하고 기본 설정을 완료하면 빌드 및 배포는 자동으로 진행
- Auto Scaling, 고가용성, 로드 밸런싱, 암호화 기능 지원
- VPC 에 액세스 할 수 있어서 데이터베이스, 캐시, 메세지 대기열 서비스에 연결 가능
What is AWS App Runner? - AWS App Runner
What is AWS App Runner? AWS App Runner is an AWS service that provides a fast, simple, and cost-effective way to deploy from source code or a container image directly to a scalable and secure web application in the AWS Cloud. You don't need to learn new te
docs.aws.amazon.com