Amazon ECS 시작하기

개요

Amazon Elastic Container Service(ECS)는 컨테이너식 애플리케이션의 배포, 관리 및 규모 조정을 간소화하는 완전관리형 컨테이너 오케스트레이션 서비스입니다. Amazon ECS를 처음 사용하든 이미 염두에 둔 사용 사례가 있든, 원하는 경로를 선택하고 엄선된 학습 단계에 따라 시작하세요.

전구를 들고 있는 남자의 사진

경로 1: Amazon ECS 101 시작하기

모놀리스 node.js 애플리케이션을 Docker 컨테이너에 배포한 다음 가동 중지 시간 없이 애플리케이션을 마이크로서비스로 분할하는 방법을 알아보려면 이 짧은 동영상으로 시작하세요.

워크숍에서는 Amazon ECS에서 프론트엔드 및 다중 백엔드 서비스를 시작하고 이 워크플로를 환경에 적용하는 방법을 알아봅니다.

다음으로 Amazon ECS와 Amazon Container Registry(Amazon ECR)의 핵심 개념과 이 개념이 AWS에서 Docker 지원 애플리케이션을 배포, 관리, 규모 조정에 있어 어떤 도움이 되는지 알아봅니다. 

Amazon ECS를 사용하면 AWS에서 컨테이너식 워크로드를 쉽게 실행하고 규모를 조정할 수 있습니다. Amazon ECS를 사용하여 컨테이너를 실행하기 위한 작업 정의를 생성하는 방법을 알아봅니다.

백서는 AWS의 컨테이너 기반 애플리케이션을 위한 애플리케이션 수명 주기 관리, 보안, 아키텍처 관련 소프트웨어 설계 패턴에 대한 지침을 제공합니다. 

이 마지막 모듈은 Terraform 중심 개발자를 위해 설계되었습니다. 이 워크숍에서는 Amazon ECS 블루프린트를 활용하여 Amazon ECS에서 다양한 기능을 구축하고 배포하는 방법을 알아봅니다.

경로 2: AWS Fargate와 함께 Amazon ECS를 사용하여 서버리스 컨테이너로 마이크로서비스 실행

모놀리스 node.js 애플리케이션을 Docker 컨테이너에 배포한 다음 가동 중지 시간 없이 애플리케이션을 마이크로서비스로 분할하는 방법을 알아보려면 이 짧은 동영상으로 시작하세요.

다음으로 Docker 컨테이너에서 간단한 모놀리스 애플리케이션을 실행하는 방법, 같은 애플리케이션을 마이크로서비스로 배포하는 방법, 가동 중지 시간 없이 트래픽을 마이크로서비스로 전환하는 방법을 알아봅니다.

과정에서는 컨테이너를 간단히 살펴본 다음 Amazon ECS의 기능, 이점, 사용 사례, 데모를 자세히 살펴봅니다.

워크숍에서는 Amazon Elastic Container Service에서 프론트엔드 및 다중 백엔드 서비스를 시작하고 이 워크플로를 환경에 적용하는 방법을 알아봅니다.

Amazon ECS와 AWS Fargate를 사용하면 미들웨어, Amazon EC2 인스턴스 또는 호스트 OS를 관리할 필요가 없습니다. Amazon ECS 솔루션 블루프린트를 사용하여 빠르게 시작하고 실습을 통해 배울 수 있습니다. 솔루션 청사진은 모범 사례와 잘 설계된 아키텍처 패턴을 성문화하여 CI/CD, 관찰성, 보안 및 비용 효율성을 다루는 완전한 솔루션을 제공합니다.

마무리로, 이 과정을 수강하여 Amazon ECS에서 실행되는 애플리케이션에 대한 관찰성을 확보하는 방법에 대해 알아보세요. 시스템 및 애플리케이션 수준에서 지표, 로그 및 추적을 수집하는 방법을 배우고 마지막으로, 이를 적용하여 문제를 식별하고 수정하는 방법을 알아봅니다.

경로 3: 웹 애플리케이션 규모 조정 및 실행

시작하려면 Amazon ECS 확장 모범 사례와 팁을 자세히 설명하는 이 동영상을 시청하세요.

다음으로 Amazon ECS에서 Amazon EC2 Auto Scaling 그룹(ASG)의 규모 조정을 관리할 수 있는 ECS Cluster Auto Scaling(CAS)에 대해 자세히 알아봅니다. CAS를 사용하면 ASG 규모를 자동으로 조정하도록 Amazon ECS를 구성하고 작업 실행에만 집중할 수 있습니다. 

컨테이너 기반 API의 호스팅 및 노출에 대해 자세히 알아보고, 경우에 따라 HTTP 요청 라우팅, 오토 스케일링, 고가용성, 사용자 권한 부여를 지원하는 솔루션을 구축하는 방법을 자세히 알아봅니다.

Amazon ECS에서 실행되는 컨테이너식 엔터프라이즈 애플리케이션을 지원하기 위한 인프라 선택 방법을 알아봅니다. 이 과정에서는 애플리케이션에 따라 요구 사항의 범위를 지정하고, 애플리케이션을 지원할 최상의 아키텍처를 선택하며, 보안, 성능, 복원력을 갖춘 재사용 가능한 인프라 패턴을 설계하는 방법을 알아봅니다.

과정에서는 Amazon ECS에서 대규모로 실행되는 엔터프라이즈 애플리케이션을 관리하여 빠르고 안전하게 스케일 인 또는 아웃할 수 있는 환경을 구축하는 방법을 알아봅니다. 또한 애플리케이션 규모 조정과 인프라 규모 조정을 구별하고 테스트를 수행하여 애플리케이션 규모 조정에 가장 적합한 지표를 식별하는 방법도 알아봅니다.

Amazon ECS의 내부 작동 방식에 대한 자세한 내용과 애플리케이션의 보안, 성능, 복원력을 보장하기 위한 모범 사례를 보려면 공식 Amazon ECS 사용 설명서 및 모범 사례를 사용하여 빠르게 규모를 조정할 수 있습니다.

경로 4: Amazon EC2에서 Amazon ECS를 사용하여 고급 애플리케이션 배포

패턴은 Amazon ECS 용량 공급자를 사용하여 자체 Amazon EC2 인스턴스를 자동으로 시작하는 Amazon ECS 클러스터를 설정하는 방법을 보여줍니다. 이 접근 방식을 사용하면 Amazon ECS 클러스터를 완전히 빈 상태로 시작하여 필요에 따라 Amazon EC2 용량을 추가한 다음 클러스터의 모든 컨테이너 작업을 중지할 때 ‘0으로 스케일 다운’할 수 있습니다.

Amazon EC2에서 컨테이너를 실행하면 컨테이너가 Amazon EC2 호스트에 분산되는 방식 또는 컨테이너가 공유 호스트에 함께 빈패킹되는 방식을 최적화하여 비용을 절감할 수 있습니다. 이 모듈에서는 특정 유형의 호스트를 대상으로 하고 컨테이너 작업이 호스트에 배치되는 방식을 제어할 수 있는 배치 전략과 제약 조건을 자세히 살펴봅니다.

스팟 플릿을 사용하면 클러스터에 원하는 목표 용량을 설정할 수 있으며, 필요에 따라 플릿에 대해 지불할 용의가 있는 시간당 최대 용량을 설정할 수 있습니다. 스팟 플릿은 사용 가능한 스팟 인스턴스 유형 중에서 혼합한 인스턴스 유형을 시작하여 최소 비용으로 총 용량 요구 사항을 충족함으로써 지출을 최적화하려고 합니다. 이 전략을 Amazon ECS 및 컨테이너 배치 전략과 결합하여 비용을 절감하는 방법을 알아봅니다.

Amazon EC2에서 컨테이너를 실행할 때는 AWS VPC, 브리지 모드, 호스트 모드 등 세 가지 주요 네트워킹 접근 방식 중 선택할 수 있습니다. 내 애플리케이션에 적합한 것은 무엇일까요? 아래 링크를 클릭하여 각각의 장단점을 알아보고 최적의 선택을 하세요.

호스트 모드
브리지 모드
awsvpc 모드

패턴에서는 GPU가 있는 Amazon EC2 인스턴스를 배포하고 Amazon GPU 최적화 AMI를 사용하여 연결된 GPU에 대한 액세스 권한을 컨테이너에 부여하여 컴퓨팅의 하드웨어 가속화 방법을 살펴봅니다.

GPU는 범용 작업을 위해 설계되었으므로 기계 학습 작업 가속화에 가장 비용 효율적인 기술이 아닌 경우가 있습니다. 이 패턴에서는 AWS Inferentia 하드웨어를 설정하는 방법을 배우고, AWS Deep Learning Container를 사용하여 많은 경우 GPU를 능가하는 비용/성능 비율로 모델 훈련 및 추론을 가속화하는 특수 제작 하드웨어를 사용하는 AWS Neuron 기반 환경을 실행하는 방법을 알아봅니다.

컨테이너가 Amazon EC2 인스턴스 플릿에서 실행될 때 Amazon EC2 호스트 업데이트와 패치를 어떻게 관리하시나요? 이 패턴은 애플리케이션의 가동 중지 시간을 방지하면서 기본 용량 패치 및 롤링 업그레이드를 수행하는 방법을 보여줍니다.

Amazon ECS 관련 추가 디지털 학습

AWS가 처음이거나 Amazon ECS를 처음 사용하시나요? 이 과정을 수강하여 서비스의 기본 사항과 기능의 개요를 알아보세요.

이제 기본 사항을 익혔으니 이 과정에서는 Amazon ECS의 기초와 여기에 가장 적합한 애플리케이션 패턴의 종류에 대해 자세히 설명합니다.

AWS에서 컨테이너를 사용할 준비가 되었지만 컴퓨팅 인스턴스를 직접 관리하고 싶지는 않다고요? 이 과정에서는 Amazon ECS용 서버리스 컴퓨팅인 AWS Fargate를 소개합니다.

컨테이너와 마이크로서비스를 효과적으로 사용한다는 것은 일반적으로 배포에 사용되는 이미지 레지스트리가 있다는 뜻입니다. 이 과정에서는 Amazon Elastic Container Registry(ECR)를 소개하고 Amazon ECS에서 이를 사용하는 방법에 대한 예제를 제공합니다.

Amazon ECS 기반 서비스의 배포 및 성능 문제를 해결하는 방법과 애플리케이션이 예상대로 작동하도록 하는 데 필요한 로그와 데이터를 얻는 방법에 대해 자세히 알아봅니다.

UI를 넘어서 Amazon ECS를 좀 더 프로그래밍 방식으로 사용할 준비가 되셨나요? 이 과정에서는 보다 반복 가능하고 조정되고 오케스트레이션된 방식으로 앱과 서비스를 배포하기 위한 도구인 AWS Copilot을 소개합니다.

엔터프라이즈 애플리케이션에는 엔터프라이즈 애플리케이션만의 특별한 설계, 가용성, 확장성 요구 사항이 있습니다. 이 과정에서는 환경에 적합한 기술을 선택하는 방법과 네트워킹, 작업 간 통신, 보안 모범 사례를 살펴봅니다.

애플리케이션을 대규모로 배포하고 관리하려면 역량, 도구, 문화, 규율의 절묘한 균형이 필요합니다. 이 과정에서는 고속 애플리케이션 환경을 구동하는 데 가장 적합한 Amazon 도구, 패턴, 모범 사례, 시나리오를 중심으로 CI/CD 환경에서 Amazon ECS를 사용하는 데 필요한 기본 사항을 소개합니다.

Amazon ECS만큼 확장성이 뛰어난 것도 없습니다. 이 과정에서는 성장과 규모 조정이라는 주제를 다루며, 초기 배포부터 초당 수백만 건의 요청 처리에 이르기까지 고객을 지원할 수 있는 모범 사례, 애플리케이션 패턴, 도구를 살펴봅니다.

문제가 발생하면 무슨 일이 일어났고 어떻게 해결해야 하는지 고객이 이해하도록 돕는 플랫폼의 능력이 관건이 됩니다. 이 과정에서는 Amazon ECS 내에서 성능을 모니터링하고 기록하는 방법과 실행 중인 워크로드의 성능을 최적화하는 방법을 자세히 살펴봅니다.