Câu hỏi của bạn
ECS có phải chỉ là một trình cài đặt docker trong EC2 không? Nếu tôi đã có EC2, sau đó tôi bắt đầu một ECS, điều đó có nghĩa là tôi có hai phiên bản?
Số AWS ECS
chỉ là một nhóm hợp lý (cluster) của EC2
trường, và tất cả các EC2
trường hợp một phần của ECS
hành động 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 và sau đó khởi chạy ECS, bạn sẽ vẫn 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 vào ECS thì EC2 sẽ trở thành một phần của cụm, nhưng vẫn là một phiên bản duy nhất của EC2.
Amazon ECS mà không có bất kỳ EC2 nào được đăng ký (được thêm vào cụm) chẳng ích lợi gì.
TL; DR
Một cái nhìn tổng quan
EC2
- chỉ đơn giản là một máy từ xa (ảo).
ECS
là viết tắt của Elastic Container Service
- theo định nghĩa cơ bản của cụm máy tính , ECS
về cơ bản là một nhóm hợp lý các
EC2
máy / cá thể . Nói về mặt kỹ thuật ECS
là một cấu hình đơn thuần để sử dụng và quản lý hiệu quả EC2
(các) tài nguyên cá thể của bạn , tức là bộ nhớ, bộ nhớ, CPU, v.v.
Để đơn giản hóa nó hơn nữa, nếu bạn đã khởi chạy một Amazon ECS
mà không có EC2
phiên bản nào được thêm vào nó, điều đó tốt cho việc không có gì tức là bạn không thể làm gì với 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 tiếp theo ở đây là thuật ngữ vùng chứa - không phải là các trường hợp máy được ảo hóa hoàn toàn và Docker là một công nghệ chúng ta có thể sử dụng để tạo các trường hợp vùng chứa. Docker
là một tiện ích bạn có thể cài đặt trên máy của chúng tôi, làm cho nó trở thành một Docker
máy chủ lưu trữ và trên máy chủ này, bạn có thể tạo các vùng chứa (giống như máy ảo - nhưng nhẹ hơn nhiều). Tóm lại, ECS
chỉ là về việc phân cụm các cá thể EC2 và sử dụng Docker
để khởi tạo vùng chứa / cá thể / máy ảo trên ( EC2
) các máy chủ này .
Tất cả những gì bạn cần làm là khởi chạy một ECS
, và đăng ký / thêm nhiều EC2
phiên bản vào nó khi bạn cần. Bạn có thể thêm / đăng ký phiên bản EC2, tất cả những gì bạn cần là Amazon ECS Container Agent chạy trên phiên bản / 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 Amazon ECS tối ưu hóa, đã có Đại lý vùng chứa Amazon ECS. Trong quá trình khởi chạy phiên bản EC2 mới, Agent sẽ tự động đăng ký nó vào cụm ECS mặc định.
Tác nhân vùng chứa đang chạy trên mỗi cá thể ( EC2
instance) trong một Amazon ECS
cụm sẽ gửi thông tin về các tác vụ đang chạy hiện tại của cá thể và việc sử dụng tài nguyên tới Amazon ECS, đồng thời bắt đầu và dừng các tác vụ 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 Đại lý vùng chứa Amazon ECS . Sau khi được thiết lập, mỗi cá thể vùng chứa đã tạo (của bất kỳ EC2
máy / nút nào) sẽ là một cá thể trong Amazon ECS
bầy của.
Để biết thêm thông tin - hãy đọc bước 10 từ tài liệu này: Khởi chạy Phiên bản vùng chứa Amazon ECS :
Chọn một AMI cho phiên bản vùng chứa của bạn. Bạn có thể chọn AMI được Amazon ECS tối ưu hóa 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 cho Amazon ECS, bạn cần làm theo các quy trình trong Cài đặt Đại lý vùng chứa Amazon ECS .
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 tập lệnh sau vào trường Dữ liệu người dùng, thay thế your_cluster_name bằng tên của 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ó tệp ecs.config trong Amazon S3 và đã bật quyền truy cập chỉ đọc của Amazon S3 vào vai trò phiên bản vùng chứa của bạn, hãy chọn danh sách Chi tiết nâng cao và dán tập lệnh sau vào trường Dữ liệu người dùng, thay thế your_bucket_name bằng tên của nhóm của bạn để cài đặt AWS CLI và ghi tệp cấu hình của bạn vào thời điểm 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 phiên bản 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ỉ để làm rõ thêm - bạn có thể tạo vùng chứa trên phiên bản duy nhất của mình EC2
mà không cần ECS
. Cài đặt bất kỳ công nghệ chứa nào, tức là Docker
và chạy lệnh tạo vùng chứa, đặt bạn EC2
làm Docker
máy chủ lưu trữ và có nhiều vùng Docker
chứa như bạn muốn (hoặc nhiều như EC2
tài nguyên của bạn cho phép).