Amazon Elastic Container Service란 무엇입니까? - Amazon Elastic Container Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Elastic Container Service란 무엇입니까?

Amazon Elastic Container Service(Amazon ECS) 는 클러스터에서 컨테이너를 손쉽게 실행, 중지 및 관리할 수 있게 해 주는 컨테이너 관리 서비스로서 확장성과 속도가 뛰어납니다. 컨테이너는 서비스 내에서 개별 작업 또는 작업을 실행하는 데 사용하는 작업 정의에 정의됩니다. 이러한 컨텍스트에서 서비스는 클러스터에서 지정된 수의 지정된 수의 작업을 동시에 실행하고 관리할 수 있게 해주는 구성입니다. 에서 관리하는 서버를 사용하지 않는 인프라에서 작업과 서비스를 실행할 수 있습니다.AWS Fargate. 또는 인프라에 대한 제어를 강화하기 위해 작업 및 서비스를Amazon EC2인스턴스를 관리할 수 있습니다.

Amazon ECS를 사용하면 간단한 API 호출을 사용하여 컨테이너 기반 애플리케이션을 시작하고 중지할 수 있습니다. 또한 중앙 집중식 서비스에서 클러스터 상태를 검색하고 많은 익숙한Amazon EC2기능을 제공합니다.

리소스 요구 사항, 격리 정책 및 가용성 요구 사항에 따라 클러스터 전체에 컨테이너를 배치할 일정을 수립할 수 있습니다. 다음으로 바꿉니다.Amazon ECS를 사용하면 자체 클러스터 관리 및 구성 관리 시스템을 운영하거나 관리 인프라 조정에 신경 쓸 필요가 없습니다.

Amazon ECS를 사용하여 일관된 빌드 및 배포 환경을 생성하고, 배치 및 ETL (Extract-Transform-Load) 워크로드를 관리 및 크기 조정하고, 마이크로 서비스 모델에 정교한 애플리케이션 아키텍처를 구축할 수 있습니다. Amazon ECS 사용 사례 및 시나리오에 대한 자세한 내용은 컨테이너 사용 사례를 참조하십시오.

AWS 컨테이너 서비스 팀은 GitHub에 대한 퍼블릭 로드맵을 유지 관리합니다. 로드맵에는 팀이 수행하는 작업에 대한 정보가 포함되어 있으며AWS고객에게 직접 피드백을 제공할 수 있습니다. 자세한 내용은 AWS 컨테이너 로드맵을 참조하십시오.

Amazon ECS의 기능

Amazon ECS는 특정 리전 내의 여러 가용 영역에서 고가용성 방식으로 컨테이너를 실행하는 과정을 간소화하는 리전 서비스입니다. 새 또는 기존의 VPC에서 Amazon ECS 클러스터를 생성할 수 있습니다. 클러스터가 실행 중인 경우 클러스터에서 실행할 컨테이너 이미지를 정의하는 작업 정의를 생성할 수 있습니다. 작업 정의는 작업을 실행하거나 서비스를 만드는 데 사용됩니다. 컨테이너 이미지는 컨테이너 레지스트리에서 저장 및 가져옵니다. 예를 들어 컨테이너 이미지는 컨테이너 레지스트리에서 저장 및 가져옵니다.Amazon Elastic Container Registry.

다음 다이어그램은 의 아키텍처를 보여줍니다.Amazon ECS에서 실행되는 환경AWS Fargate.


                의 아키텍처를 보여주는 다이어그램Amazon ECS환경 사용 하 여Fargate사용됩니다.

다음 단원에서는 Amazon ECS 아키텍처의 개별 요소에 대해 보다 자세히 알아봅니다.

컨테이너 및 이미지

Amazon ECS에서 애플리케이션을 배포하려면 애플리케이션 구성 요소가 컨테이너에서 실행되도록 구축되어야 합니다. 컨테이너는 소프트웨어 애플리케이션이 필요한 모든 것 (관련 코드, 런타임, 시스템 도구 및 시스템 시스템 시스템 라이브러리 등) 을 포함하는, 소프트웨어 개발의 표준화된 단위입니다. 컨테이너는 이미지라고 하는 읽기 전용 템플릿에서 생성됩니다.

일반적으로 이미지는 컨테이너에 포함되는 모든 구성 요소를 지정하는 일반 텍스트 파일 인 Dockerfile에서 빌드됩니다. 빌드 된 후, 이러한 이미지는레지스트리를 다운로드하거나 클러스터에서 실행할 수 있습니다. 컨테이너 기술에 대한 자세한 내용은 Amazon ECS의 Docker 기본 사항 단원을 참조하십시오.


                    Docker 이미지 생성 및 등록을 보여주는 다이어그램Amazon ECS환경.

작업 정의

에서 실행할 애플리케이션을 준비하려면Amazon ECS을 생성해야 합니다.작업 정의. 작업 정의는 애플리케이션을 구성하는 하나 이상 (최대 10개) 의 컨테이너를 설명하는 JSON 형식의 텍스트 파일입니다. 작업 정의는 애플리케이션의 청사진으로 생각할 수 있습니다. 그것은 애플리케이션에 다양한 파라미터를 지정합니다. 예를 들어 이러한 파라미터는 사용할 컨테이너, 애플리케이션을 위해 개방할 포트, 작업의 컨테이너에 사용할 데이터 볼륨 등에도 사용할 수 있습니다. 작업 정의에 사용할 수 있는 특정 파라미터는 특정 애플리케이션의 필요에 따라 달라집니다. 작업 정의 생성에 대한 자세한 내용은 Amazon ECS 작업 정의 단원을 참조하십시오.

다음은 Fargate 를 사용하여 NGINX 웹 서버를 실행하는 단일 컨테이너를 시작하는 작업 정의의 예제입니다. 작업 정의에서 여러 컨테이너를 사용하는 확대된 예제는 작업 정의 예제 단원을 참조하십시오.

{ "family": "webserver", "containerDefinitions": [ { "name": "web", "image": "nginx", "memory": "100", "cpu": "99" }, ], "requiresCompatibilities": [ "FARGATE" ], "networkMode": "awsvpc", "memory": "512", "cpu": "256", }

작업 및 예약

작업은 클러스터 내 작업 정의를 인스턴스화하는 것입니다. 에서 애플리케이션에 대한 작업 정의를 생성하면Amazon ECS를 사용하여 클러스터에서 실행할 작업 수를 지정할 수 있습니다.

Amazon ECS 작업 스케줄러는 클러스터 내에 작업을 배치하는 일을 맡습니다. 다양한 예약 옵션을 사용할 수 있습니다. 예를 들어 지정된 개수의 작업을 동시에 실행 및 관리하는 서비스를 지정할 수 있습니다. 사용 가능한 다양한 예약 옵션에 대한 자세한 내용은 일정 예약Amazon ECS작업 단원을 참조하십시오.


                    작업 스케줄링 및 배치를 보여주는 다이어그램Amazon ECS환경 사용 하 여Fargate사용됩니다.

Clusters

Amazon ECS 클러스터는 작업 또는 서비스의 논리적 그룹입니다. 당신은 하나 이상의 등록 할 수 있습니다Amazon EC2인스턴스 (또한컨테이너 인스턴스) 를 클러스터로 실행하여 작업을 실행할 수 있습니다. 또는 서버를 사용하지 않는 인프라를 사용할 수 있습니다Fargate는 작업을 실행할 수 있도록 제공합니다. 작업이 실행 될 때Fargate를 사용하는 경우 클러스터 리소스도Fargate.

처음 사용할 때Amazon ECS를 선택하면 기본 클러스터가 생성됩니다. 리소스를 분리할 수 있도록 계정에 추가 클러스터를 생성할 수 있습니다.

클러스터 생성에 대한 자세한 내용은Amazon ECS 클러스터. 컨테이너 인스턴스 시작 및 클러스터에 등록하는 방법에 대한 자세한 내용은Amazon ECS 컨테이너 인스턴스.

컨테이너 에이전트

컨테이너 에이전트내의 각 컨테이너 인스턴스에서 실행Amazon ECS클러스터로 이동합니다. 에이전트는 리소스에서 현재 실행 중인 작업과 리소스 사용률에 대한 정보를Amazon ECS. 요청을 수신 할 때마다 작업을 시작하고 중지합니다.Amazon ECS. 자세한 정보는 Amazon ECS컨테이너 에이전트을 참조하십시오.


                    컨테이너 에이전트 작업을 보여 주는 다이어그램Amazon ECS환경.

Amazon ECS 시작하기

사용할 수 있는 개발자 도구에 대해 알아보려면Amazon ECS에 대한 자세한 내용은Amazon ECS개발자 도구.

Amazon ECS를 처음 사용하는 경우, Amazon ECS용 AWS Management Console이 웹 서버용 작업 정의를 정의하고 서비스를 구성하며 첫 번째 Fargate 작업을 시작하는 과정을 단계별로 안내하는 처음 실행 마법사를 제공합니다. 사용 경험이 거의 없거나 전혀 없는 경우 처음 실행 마법사를 사용하는 것이 좋습니다.Amazon ECS. 자세한 정보는 Amazon ECS 시작하기을 참조하십시오.

또는 AWS Command Line Interface(AWS CLI)를 설치하여 Amazon ECS를 사용할 수 있습니다. 자세한 정보는 Amazon ECS를 통해 설정을 참조하십시오.

Amazon ECS는 다음과 같은 AWS 서비스와 함께 사용할 수 있습니다.

AWS Identity and Access Management

IAM(Identity and Access Management) 는 액세스를 안전하게 제어할 수 있게 지원하는 액세스 관리 서비스입니다.AWS있습니다. IAM을 사용하여 리소스에 대한 특정 작업을 보거나 수행할 수 있도록 인증 (로그인) 및 권한 부여 (권한 있음) 된 대상을 제어할 수 있습니다. InAmazon ECS를 사용할 수 있습니다.IAM컨테이너 인스턴스 수준에서 액세스를 제어하려면 다음을 사용하십시오.IAM역할을 사용하고 작업 수준에서IAM작업 역할. 자세한 정보는 Amazon Elastic Container Service의 ID 및 액세스 관리을 참조하십시오.

Amazon EC2 Auto Scaling

Auto Scaling는 사용자 정의 정책, 상태 확인 및 예약 일정에 따라 작업을 자동으로 확장하거나 확장할 수 있게 해주는 서비스입니다. 서비스 내 Fargate 작업과 함께 Auto Scaling를 사용하여 여러 가지 지표에 대응해 규모를 조정하거나 EC2 작업을 함께 사용하여 클러스터 내 컨테이너 인스턴스의 규모를 조정할 수 있습니다. 자세한 정보는 Auto Scaling을 참조하십시오.

Elastic Load Balancing

이Elastic Load Balancing서비스는 애플리케이션의 수신 트래픽을Amazon ECS서비스를 참조하십시오. 따라서 애플리케이션의 내결함성 수준을 크게 높이고, 애플리케이션 트래픽을 배포하는 데 필요한 로드 밸런싱 용량을 원활하게 제공할 수 있습니다. Elastic Load Balancing를 사용하여 클러스터의 서비스 사이에서 트래픽을 밸런싱하는 엔드포인트를 생성할 수 있습니다. 자세한 정보는 서비스 로드 밸런싱을 참조하십시오.

Amazon Elastic Container Registry

Amazon ECR은 안전하고 확장 가능하고 신뢰할 수 있는 관리형 AWS 도커 레지스트리 서비스입니다. Amazon ECR은 IAM을 사용하여 리소스 기반 권한으로 프라이빗 도커 리포지토리를 지원하므로 특정 사용자나 작업은 리포지토리 및 이미지에 액세스할 수 있습니다. 개발자는 Docker CLI를 사용하여 이미지를 푸시, 가져오기 및 관리할 수 있습니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서 섹션을 참조하세요.

AWS CloudFormation

AWS CloudFormation를 사용하면 개발자와 시스템 관리자가 쉽게 관련AWS있습니다. 좀 더 구체적으로 말하자면, 리소스 프로비저닝 및 업데이트가 더 질서 정연하고 예측 가능하게 만듭니다. 클러스터, 작업 정의 및 서비스를 AWS CloudFormation 스크립트의 엔터티로 정의할 수 있습니다. 자세한 내용은 단원을 참조하십시오.AWS CloudFormation템플릿 참조.

Pricing

Amazon ECS가격은 사용 여부에 따라 다릅니다.AWS Fargate또는Amazon EC2인프라를 사용하여 컨테이너화된 워크로드를 호스팅할 수 있습니다. 를 사용할 때Amazon ECS의AWS Outposts를 사용하는 경우 요금은Amazon EC2. 자세한 내용은 Amazon ECS 요금을 참조하세요.

Amazon ECS및Fargate또한 제안Savings Plans를 기반으로 상당한 비용 절감 효과를 제공하는AWS사용법을 참조하십시오. 자세한 내용은 Savings Plans 사용 설명서를 참조하십시오.

청구서를 보려면Billing and Cost Management 대시보드AWS Billing and Cost Management콘솔. 청구서에는 요금 내역을 자세하게 확인할 수 있는 사용 보고서 링크가 포함됩니다. AWS 계정 결제에 대한 자세한 내용은 AWS 계정 결제 단원을 참조하십시오.

AWS 결제, 계정 및 이벤트에 관련된 질문은 AWS Support에 문의하십시오.

AWS 환경에서의 비용과 보안, 성능 최적화를 돕는 Trusted Advisor의 개요는 AWS Trusted Advisor 단원을 참조하십시오.