2016-11-13 1 views
20

AWS EC2를 시작한 것입니다. EC2는 내가 원하는 모든 것을 할 수있는 원격 컴퓨터와 같습니다. 그렇다면 ECS를 찾았습니다. 나는 그것을 도커를 사용하지만이 두 가지 사이의 관계로 혼란스럽게 생각합니다.Amazon ECS와 Amazon EC2의 차이점은 무엇입니까?

EC2는 도커를 EC2에만 설치합니까? 이미 EC2가있는 경우 ECS를 시작합니다. 두 인스턴스가 있다는 의미입니까?

답변

12

EC2를 사용하면 원하는대로 사용할 수있는 개별 인스턴스를 실행할 수 있습니다. ECS는 컨테이너 서비스입니다. 즉, 컨테이너 응용 프로그램을 시작할 준비가 될 인스턴스를 시작합니다. 두 서비스의 주된 차이점은 EC2를 사용하면 사용자가 선택한 방법 (CM 도구 또는 다른 방법을 사용하여 수동으로)에 관계없이 각 인스턴스를 별도로 관리해야한다는 것입니다. 응용 프로그램을 배포하고 서버간에 직접 연결을 유지해야합니다. ECS를 사용하면 컨테이너 응용 프로그램의 배포 장소 역할을하는 컴퓨터 클러스터를 시작할 수 있으므로 클러스터의 모든 인스턴스를 컨테이너 작업 부하에 사용할 수있는 하나의 큰 인스턴스로 취급 할 수 있습니다.

질문에 대답하십시오 - 인스턴스가없는 ECS 클러스터를 시작할 수 있지만 아무 것도 실행할 수 없습니다. EC2 인스턴스를 ECS 클러스터에 등록하면 컨테이너를 실행할 준비가됩니다. ECS와 EC2를 하나의 인스턴스에서만 사용할 수 있지만 실제로는 이러한 서비스가 구축 된 실제 사용 사례가 아닙니다.

36

귀하의 질문

는 ECS 그냥 고정 표시기가 EC2에 설치인가? EC2가 이미있는 경우에는 ECS를 시작합니다. 두 인스턴스가 있음을 의미합니까?

번호 AWS ECS 그들 (EC2)에 컨테이너를 시작하는 명령을 보낼 수 있습니다 단지 EC2 인스턴스의 논리적 그룹 (클러스터)하고, 즉, ECS Docker 호스트로 ECS 행위의 모든 EC2 인스턴스 부분입니다. EC2가 이미있는 경우 ECS를 시작하면 계속 하나의 인스턴스가 생성됩니다. AWS ECS 컨테이너 에이전트를 설치하여 EC2를 ECS에 추가/등록하면 클러스터의 일부가되지만 여전히 EC2의 단일 인스턴스가됩니다.

EC2가 등록되지 않은 Amazon ECS (클러스터에 추가됨)는 아무 효과가 없습니다.


TL; DR

개요

  • EC2은 - 단순히 원격 (가상) 시스템이다.
  • ECSEC2 Cluster Service의 약자 - computer cluster, ECS의 기본 정의에 따라 EC2 기계/인스턴스의 논리적 그룹이 기본적으로.기술적으로 ECS

당신의 EC2 예 (들) 자원 즉, 스토리지, 메모리, CPU의 효율적 이용과 관리를위한 단순한 구성은, 당신이 발사 한 경우, 그것을 더 단순화하는 것입니다 말하기 에 EC2 인스턴스가 추가되지 않았으므로 아무 것도 할 수 없습니다. 즉 그것에 대해 아무 것도 할 수 없습니다. ECS은 한 번만 (또는 그 이상) EC2 인스턴스가 추가 된 것을 의미합니다.

여기에 다음 혼란 것은 컨테이너 용어입니다 - 완전 가상화 머신 인스턴스 아니며, 도커 우리가 컨테이너 인스턴스를 만드는 데 사용할 수있는 하나 개의 기술입니다. Docker은 우리 머신에 설치할 수있는 유틸리티이며 Docker 호스트가되며이 호스트에서 컨테이너를 만들 수 있습니다 (가상 머신과 동일하지만 훨씬 가벼운). 요약하면 ECS은 EC2 인스턴스의 클러스터링과 관련이 있으며 Docker을 사용하여이 (EC2) 호스트에서 컨테이너/인스턴스/가상 시스템을 인스턴스화합니다.

ECS을 실행하고 필요에 따라 EC2 개의 인스턴스를 등록/추가하십시오. EC2 인스턴스를 추가/등록 할 수 있습니다. EC2 인스턴스/머신에서 실행되는 Amazon ECS 컨테이너 에이전트는 수동 또는 직접 Amazon ECS 최적화 AMI와 같은 특수 AMI (Amazon 머신 이미지)를 사용하여 직접 수행 할 수 있습니다. Amazon ECS 컨테이너 에이전트. 새 EC2 인스턴스를 시작하는 동안 에이전트는 자동으로 EC2 인스턴스를 기본 ECS 클러스터에 등록합니다. Amazon ECS 클러스터 내에있는 경우 (EC2 경우)의 각각에서 실행

용기 에이전트 인스턴스의 현재 실행중인 작업 및 아마존 ECS에 대한 자원 이용률 및 시작에 대한 정보를 전송하고 아마존로부터 요청을 수신 할 때마다 작업을 중지 ECS. 자세한 내용은 Amazon ECS Container Agent을 참조하십시오. 설정이 완료되면 각각의 컨테이너 인스턴스 (EC2 머신/노드)가 Amazon ECS의 인스턴스에 포함됩니다. 자세한 내용은


-이 문서에서 읽기 단계 10 : Launching an Amazon ECS Container Instance :

은 컨테이너 인스턴스에 대한 AMI를 선택합니다. Amazon ECS 최적화 AMI 또는 CoreOS 또는 우분투와 같은 다른 운영 체제를 선택할 수 있습니다. Amazon ECS 최적화 AMI를 선택하지 않은 경우 Installing the Amazon ECS Container Agent의 절차를 따라 해야합니다.

기본적으로 컨테이너 인스턴스는 기본 클러스터로 실행됩니다. 기본값 대신 자신의 클러스터를 시작하려면 고급 세부 정보 목록을 선택하고 your_cluster_name을 클러스터의 으로 바꾸고 다음 스크립트를 사용자 데이터 필드에 붙여 넣으십시오.

#!/bin/bash 
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config 

또는 ecs.구성 파일을 Amazon S3에 설치하고 컨테이너 인스턴스 역할에 대한 Amazon S3 읽기 전용 액세스를 사용하려면 고급 세부 정보 목록을 선택하고 사용자 데이터 필드에 your_bucket_name을 버킷 이름으로 바꾸는 install AWS CLI를 실행하고 시작시 구성 파일을 작성하십시오. 참고이 구성에 대한 자세한 내용은 Amazon S3에 컨테이너 인스턴스 구성 저장을 참조하십시오.


#!/bin/bash 
yum install -y aws-cli 
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config 

그냥 그것을 더 명확하게 - 당신은 ECS없이 단일 EC2 예에 컨테이너를 만들 수 있습니다. 컨테이너 화 기술 (예 : Docker)을 설치하고 컨테이너 생성 명령을 실행하여 EC2Docker 호스트로 설정하고 원하는만큼 컨테이너를 Docker 개 (또는 EC2의 자원이 허용하는 한) 확보하십시오.

+7

ECS는 탄성 컨테이너 서비스를 의미하지 않습니까? – lfk