2016-11-13 17 views
20

Tôi chỉ mới bắt đầu sử dụng AWS EC2, tôi hiểu rằng EC2 giống như một máy tính từ xa mà tôi có thể làm khá nhiều thứ mình muốn. Sau đó, tôi tìm thấy ECS, tôi biết nó sử dụng docker nhưng bối rối bởi mối quan hệ giữa hai.Sự khác nhau giữa Amazon ECS và Amazon EC2 là gì?

ECS có phải là trình cài đặt đế trong EC2 không? Nếu tôi đã có EC2, thì tôi bắt đầu ECS, có nghĩa là tôi có hai trường hợp không?

Trả lời

12

EC2 cho phép bạn khởi chạy các phiên bản riêng lẻ mà bạn có thể sử dụng cho bất kỳ thứ gì bạn thích. ECS là dịch vụ vùng chứa, nghĩa là dịch vụ này sẽ khởi chạy các trường hợp sẵn sàng khởi chạy các ứng dụng vùng chứa. Sự khác biệt chính giữa hai dịch vụ là với EC2 bạn phải quản lý từng cá thể riêng biệt theo bất kỳ phương pháp nào bạn chọn (thủ công, sử dụng công cụ CM hoặc bất kỳ cách nào khác) - triển khai ứng dụng của bạn và duy trì kết nối giữa các máy chủ. ECS cho phép bạn khởi chạy một cụm máy sẽ đóng vai trò là nền tảng triển khai của các ứng dụng vùng chứa của bạn, cho phép bạn xử lý tất cả các trường hợp trong cụm là một ví dụ lớn có sẵn cho tải công việc vùng chứa của bạn.

Và để trả lời câu hỏi của bạn - Bạn có thể bắt đầu một cụm ECS không có trường hợp nào trong đó, nhưng sau đó nó sẽ không thể chạy bất cứ thứ gì trên đó. Khi bạn đăng ký một cá thể EC2 bên trong một cụm ECS, các thùng chứa đã sẵn sàng để chạy trong nó. Vì vậy, dòng dưới cùng là - bạn có thể sử dụng cả ECS và EC2 chỉ với một cá thể, nhưng đó không phải là trường hợp sử dụng thực tế mà các dịch vụ này được xây dựng cho.

36

Câu hỏi của bạn

là ECS chỉ là một Docker cài đặt trong EC2? Nếu tôi đã có EC2, thì tôi bắt đầu ECS, điều đó có nghĩa là tôi có hai trường hợp không?

số AWS ECS chỉ là một nhóm hợp lý (cluster) của EC2 trường hợp, và tất cả các trường hợp EC2 một phần của một hành động ECS như Docker chủ nghĩa ECS có thể gửi lệnh để khởi động một container trên chúng (EC2). Nếu bạn đã có EC2 rồi khởi chạy ECS, bạn vẫn sẽ có một phiên bản duy nhất. Nếu bạn thêm/đăng ký (bằng cách cài đặt AWS ECS Container Agent) EC2 đến ECS nó sẽ trở thành một phần của cụm, nhưng vẫn là một cá thể EC2 duy nhất.

Một ECS của Amazon mà không có bất kỳ EC2 nào được đăng ký (được thêm vào cụm) đều tốt cho không có gì.


TL; DR

Tổng quan

  • EC2 - chỉ đơn giản là một từ xa (ảo) máy.
  • ECS là viết tắt của EC2 Cluster Service - theo định nghĩa cơ bản của computer cluster, ECS cơ bản là một nhóm hợp lý của EC2 máy/trường hợp.Về mặt kỹ thuật nói ECS là một cấu hình đơn thuần cho việc sử dụng hiệu quả và quản lý EC2 bạn dụ (s) tài nguyên lưu trữ ví dụ, bộ nhớ, CPU vv

Để đơn giản hóa nó hơn nữa, nếu bạn đã đưa ra một Amazon ECS không có EC2 trường hợp được thêm vào nó, nó là tốt cho không có gì tức là bạn không thể làm bất cứ điều gì về nó. ECS chỉ có ý nghĩa khi một (hoặc nhiều) EC2 trường hợp được thêm vào nó.

Điều khó hiểu sau đây là chứa hạn - mà không phải là hoàn toàn hợp máy ảo, và Docker là một trong những công nghệ chúng tôi có thể sử dụng để tạo ra các trường hợp container. Docker là một tiện ích mà bạn có thể cài đặt trên máy của chúng tôi, mà làm cho nó trở thành một máy chủ Docker và trên máy chủ này, bạn có thể tạo các thùng chứa (giống như các máy ảo - nhưng nhiều trọng lượng nhẹ hơn). Tóm lại, ECS chỉ là về phân cụm các trường hợp EC2 và sử dụng Docker để tạo nhanh các thùng chứa/phiên bản/máy ảo trên các máy chủ này (EC2).

Tất cả những gì bạn cần làm là khởi chạy ECS và đăng ký/thêm nhiều trường hợp EC2 vào trường hợp bạn cần. Bạn có thể thêm/đăng ký các cá thể EC2, tất cả những gì bạn cần là Amazon ECS Container Agent chạy trên máy/máy EC2 của bạn, có thể được thực hiện thủ công hoặc trực tiếp bằng AMI đặc biệt (Amazon Machine Image), tức là AMI được tối ưu hóa ECS của Amazon. Amazon ECS Container Agent. Trong khi khởi chạy một cá thể EC2 mới, Agent sẽ tự động đăng ký nó vào cụm ECS mặc định.

Các đại lý chứa chạy trên từng trường hợp (EC2 trường hợp) trong một cụm Amazon ECS gửi thông tin về nhiệm vụ của dụ hiện đang chạy và sử dụng nguồn lực để Amazon ECS, và bắt đầu và dừng công việc bất cứ khi nào nó nhận được yêu cầu từ Amazon ECS. Để biết thêm thông tin, hãy xem Amazon ECS Container Agent. Sau khi được thiết lập, mỗi cá thể container được tạo ra (của bất kỳ máy nào/EC2 máy/nút) sẽ là một cá thể trong đàn của Amazon ECS.


Để biết thêm thông tin - đọc bước 10 từ tài liệu này: Launching an Amazon ECS Container Instance:

Chọn một AMI ví dụ container của bạn. Bạn có thể chọn Amazon AMI tối ưu hóa ECS hoặc hệ điều hành khác, chẳng hạn như CoreOS hoặc Ubuntu. Nếu bạn không chọn AMI được tối ưu hóa ECS của Amazon, bạn cần phải làm theo các thủ tục trong Installing the Amazon ECS Container Agent.

Theo mặc định, phiên bản vùng chứa của bạn sẽ khởi chạy vào cụm mặc định của bạn. Nếu bạn muốn khởi chạy vào cụm của riêng mình thay vì mặc định , hãy chọn danh sách Chi tiết nâng cao và dán đoạn mã sau vào trường Dữ liệu người dùng, thay thế your_cluster_name bằng tên cụm của bạn.

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

Hoặc, nếu bạn có một ecs.tệp cấu hình trong Amazon S3 và đã bật quyền truy cập chỉ đọc Amazon Amazon S3 vào vai trò dụ của vùng chứa của bạn, chọn danh sách Chi tiết nâng cao và dán đoạn mã sau vào trường dữ liệu Người dùng , thay thế your_bucket_name bằng tên của thùng của bạn thành cài đặt AWS CLI và ghi tệp cấu hình của bạn vào lúc khởi chạy. Lưu ý Để biết thêm thông tin về cấu hình này, hãy xem Lưu trữ Cấu hình sơ thẩm vùng chứa trong Amazon S3.

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

Chỉ cần làm rõ hơn nữa nó - bạn có thể tạo container trên đơn EC2 dụ của bạn mà không ECS. Cài đặt bất kỳ công nghệ vùng chứa nào, ví dụ: Docker và chạy lệnh tạo vùng chứa, đặt EC2 của bạn làm máy chủ Docker và có nhiều vùng chứa Docker nếu bạn muốn (hoặc nhiều như tài nguyên của mình cho phép EC2).

+7

ECS không đứng cho Dịch vụ vùng chứa đàn hồi? – lfk

Các vấn đề liên quan