선릉역 1번 출구

[AWS] 서비스 요약 - Container 본문

Computer/Cloud Computing

[AWS] 서비스 요약 - Container

choideu 2023. 5. 4. 14:33

이 글은 papasjh.tistory.com을 참고해 작성한 글 입니다.

 

1. Container

컨테이너: 개별 소프트웨어를 실행하는 데 필요한 실행 환경을 패키징하여 격리된 공간에서 프로세스를 동작시키는 기술

컨테이너가 물리적 서버의 환경을 타지 않아 배포가 훨씬 수월함

 

ECR

  • Docker 컨테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있게 해주는 완전 관리형 Docker 컨테이너 레지스트리
    • 컨테이너 이미지: 애플리케이션을 배포하는 데 필요한 필수 구성 요소 중 하나
    • 이미지를 중앙 집중적으로 관리하면 보안적인 이점이 존재함

*ECR vs Docker hub

  • 소유자: docker hub는 Docker lnc에서 소유, ECR은 AWS에서 제공
  • 보안: Docker Hub는 공개 및 비공개 이미지 저장소를 제공하지만 보안 기능이 상대적으로 제한적이라면 ECR은 AWS 보안 기능과 통합되어 있으며 VPC와 함께 사용해 네트워크 액세스를 제어가능함
  • 가용성: Docker Hub는 전 세계적으로 사용 가능하지만, 대규모 공격에 취약할 수 있음, ECR은 전 세계적인 인프라를 기반으로 하여 높은 가용성을 보장함

결론: Docker Hub는 소규모 프로젝트나 개인 개발자에게 유용, ECR은 보안, 가용성 및 기능의 측면에서 Enterprise 수준의 프로젝트에 적합

 

ECS(elastic container service)

  • Docker 컨테이너를 손쉽게 실행, 중단 및 관리할 수 있게 해주는 고도로 확장 가능하고 빠른 컨테이너 관리 서비스

EKS(elastic kubernetes service)

  • Kubernetes 클러스터를 설치 및 운영할 필요 없이 AWS에서 Kubernetes를 쉽게 실행할 수 있도록 해주는 관리형 서비스

*ECS vs EKS

공통점

  • AWS에서 제공하는 컨테이너 오케스트레이션 서비스
  • 컨테이너 기술을 사용해 애플리케이션을 실행하고 관리할 수 있으며, 다른 AWS 서비스와 통합해 사용가능함
  • 컨테이너 이미지를 쉽게 관리하고 배포할 수 있음

차이점

  • 서로 다른 컨테이너 오케스트레이션 툴을 사용함
  • ECS: AWS에서 직접 개발한 컨테이너 오케스트레이션 툴
  • EKS: Kubernetes를 기반으로 동작

컨테이너 오케스트레이션: 컨테이너의 배포, 관리, 확장, 네트워킹 자동화

 

AWS Fargate

  • 컨테이너에 적합한 서버리스 컴퓨팅 엔진으로 ECS or EKS와 연동해 사용할 수 있는 서비스
  • 기존에는 EC2기반의 인스턴스에서 컨테이너를 실행했지만, Fargate를 사용하면 인스턴스 없이 컨테이너를 바로 실행 가능함(인스턴스 프로비저닝이 필요 없음) -> EC2 인스턴스 관리는 AWS Fargate가 해줌
  • AWS Fargate를 사용하지 않으면 사용자가 직접 EC2 인스턴스를 설정한 뒤 컨테이너를 실행할 수 있음(이 작업은 관리 작업과 시간이 많이 소요됨)

서버리스 컴퓨팅: 사용자나 개발자 대신 클라우드 서비스 공급자가 서버를 관리, 실행하는 것

 

AWS App2Container(A2C)

  • 사내 데이터 센터 또는 가상 시스템에서 실행되는 애플리케이션을 리프트&쉬프트 방식으로 ECS or EKS에서 관리하는 컨테이너에서 실행할 수 있도록 지원하는 커맨드라인 도구
  • 기존의 온프레미스 애플리케이션을 AWS 클라우드에서 실행하기 위한 컨테이너화 자동화 도구
  • 기존 애플리케이션의 설치, 구성, 실행, 종속성을 이해하고 이를 Docker 이미지로 자동 변환하여 ECS or EKS에서 실행할 수 있도록 함

Lift and Shift: 마이그레이션 방법 중 하나로 OS, 데이터, 애플리케이션을 그대로 옮기는 것을 말하며 옮기는 대상은 주로 클라우드임(코드 수정을 하지 않은 채 전체 시스템을 새롭게 사용자에게 배포할 환경으로 복사하는 것)

 

AWS App Runner

  • 컨테이너나 인프라 경험이 없어도 몇 번의 클릭으로 컨테이너식 웹 애플리케이션 및 API를 구축, 배포, 실행할 수 있도록 지원하는 완전 관리형 컨테이너 애플리케이션 서비스

AWS Copilot

  • AWS 상의 컨테이너화된 애플리케이션을 빠르고 쉽게 시작 및 관리할 수 있는 명령줄 인터페이스
  • ECS 및 Fargate에서 작동하는 애플리케이션을 빠르게 배포하기 위한 도구임

 

Comments