Elastic Container Service là dịch vụ điều phối container được quản lý hoàn toàn do AWS cung cấp. Đây là lựa chọn để chạy container trên AWS. Dịch vụ này hỗ trợ Fargate để cung cấp khả năng tính toán không cần máy chủ cho container. Fargate loại bỏ nhu cầu cung cấp và quản lý máy chủ. ECS giúp tập trung vào việc xây dựng và quản lý ứng dụng thay vì cơ sở hạ tầng. Đây là dịch vụ quản lý container nhanh, có khả năng mở rộng cao giúp dễ dàng chạy, dừng và quản lý container trên cụm.
ECS đi kèm với các mô hình định giá khác nhau. Để biết về giá cả, hãy truy cập trang web chính thức của AWS tại đây.
Thuật ngữ cơ bản trong ECS.
Sau khi đăng nhập vào tài khoản, bạn sẽ thấy Bảng điều khiển quản lý AWS chính là sau.
Bạn sẽ thấy bảng điều khiển chính của ECS như bên dưới. Nhấp vào "Clusters" ở bảng điều khiển bên trái.
Vì tôi chưa tạo bất kỳ cluster nào nên chúng ta không thấy gì trong danh sách. Tạo cluster đầu tiên của bạn, hãy nhấp vào nút "Create Cluster".
Tại đây, hãy chọn tùy chọn "EC2Linux+Networking" và nhấp vào nút "Next step".
Đặt tên cho cluster, chọn loại EC2 instance. Các phiên bản EC2 trong cụm sẽ được tạo theo kiểu chúng ta chọn. Chọn mô hình cung cấp các phiên bản EC2 cần tạo. Chỉ định các cấu hình khác theo yêu cầu của bạn.
Bạn có thể tạo PC mới hoặc chọn PC hiện có. Nếu bạn không biết về VPC và mạng và muốn biết thêm về nó, tôi khuyên bạn nên đọc bài viết tại đây.
Bạn có thể chỉ định thẻ nếu muốn hoặc để trống vì đây là cấu hình tùy chọn. Nhấp vào nút "Tạo" để tạo cụm cho bạn.
Việc này sẽ mất vài phút và sau khi cụm được tạo, bạn có thể thấy trạng thái là "Trạng thái ECS -3 trong số 3.. "trên cùng một trang. Nhấp vào nút "Xem cụm" để đi đến cụm.
Tạo Vai trò: ecsTaskExecutionRole với chính sách sau.
Sau khi tạo aRole, bạn sẽ thấy nó như sau trong bảng điều khiển IAM.
Cho đến thời điểm này, bạn chỉ có một cụm trống không có ứng dụng chứa trong đó chạy vào.
Bước tiếp theo là tạo định nghĩa tác vụ. Để tạo định nghĩa tác vụ đầu tiên của bạn, hãy nhấp vào "Định nghĩa tác vụ" trong bảng điều khiển bên trái bên dưới "Clusters".
Tại đây, hãy nhấp vào nút "Create new Task Definitions".
Trên trang này, hãy chọn loại khởi chạy là "EC2 Sau đó nhấp vào nút "Next" step".
Bạn còn nhớ chúng ta đã tạo vai trò IAM ở bước trước không? Bây giờ, chúng ta cần chỉ định Vai trò mà chúng ta đã tạo trong vai trò Task. Đặt tên cho định nghĩa tác vụ.
Khi bạn cuộn xuống một chút, bạn sẽ thấy nút "Addcontainer", hãy nhấp vào nút đó và bạn sẽ thấy một màn hình mới bật lên như sau.
Trên màn hình này, hãy đặt tên cho vùng chứa, hãy chỉ định hình ảnh sẽ được sử dụng cho vùng chứa. Bạn cũng có thể chỉ định giới hạn bộ nhớ, ánh xạ cổng, kiểm tra tình trạng. Nếu bạn đã hoàn tất cấu hình, hãy nhấp vào nút "Thêm".
Chỉ định "Bộ nhớ tác vụ" và "CPU tác vụ" sẽ được tác vụ sử dụng.
Bây giờ bạn đã sẵn sàng với cấu hình cơ bản và bắt buộc cho tác vụ, hãy nhấp vào nút "Tạo" để tạo định nghĩa tác vụ.
Bạn sẽ thấy thông báo là "Đã tạo định nghĩa tác vụ thành công".
Chọn loại khởi chạy là EC2, chọn định nghĩa tác vụ chúng ta đã tạo, bạn có thể chọn Tên cụm từ tùy chọn thả xuống, Tên dịch vụ mà chúng ta đang tạo, chỉ định số tác vụ là 2 sẽ tạo 2 bản sao ứng dụng của bạn.
Giữ phần còn lại của cấu hình là triển khai và vị trí tác vụ. Thẻ là tùy chọn nên không bắt buộc phải chỉ định thẻ. Nhấp vào nút "Bước tiếp theo" để tiếp tục.
Nếu bạn có bất kỳ bộ cân bằng tải nào thì bạn có thể chọn bộ cân bằng tải đó để định tuyến lưu lượng truy cập bên ngoài đến ứng dụng của bạn thông qua bộ cân bằng tải đó. Nhấp vào nút "Bước tiếp theo".
Nếu bạn không muốn dịch vụ của mình được mở rộng quy mô, hãy tiến hành cấu hình mặc định là "Không điều chỉnh số lượng mong muốn của dịch vụ".
Xem lại cấu hình mà chúng ta vừa thực hiện cho dịch vụ sẽ được tạo, nhấp vào nút "Tạo dịch vụ".
Bạn sẽ thấy trạng thái là "Trạng thái dịch vụ ECS - 1 trong 1 đã hoàn tất" nếu dịch vụ đã được tạo thành công.
Nhấp vào một trong các tác vụ để biết thêm thông tin về tác vụ đó.
Vì chúng ta chưa chỉ định bất kỳ bộ cân bằng tải nào nên chúng ta không thể truy cập ứng dụng từ thế giới bên ngoài trên một liên kết cụ thể. Do đó, chúng ta cần truy cập các tác vụ của mình trên các liên kết bên ngoài riêng lẻ của chúng.
Trong mục Network bindings, bạn có thể tìm thấy liên kết bên ngoài của tác vụ. Tác vụ cụ thể này sẽ chỉ có thể truy cập được từ liên kết có tại đây. Sao chép liên kết để kiểm tra xem ứng dụng Nginx mà chúng ta đã chỉ định trong định nghĩa tác vụ có đang hoạt động hay không.
Truy cập trình duyệt và nhấp vào liên kết mà chúng ta đã sao chép ở bước trước. Bạn có thể thấy trang mặc định của Nginx. Điều này có nghĩa là ứng dụng Nginx của chúng tôi đã được triển khai thành công.
Xác nhận hành động xóa bằng cách nhập "delete me" vào trường văn bản và nhấp vào nút "Delete". Thao tác này sẽ xóa cụm vĩnh viễn và sau khi xóa, bạn không thể khôi phục cụm đó. Vì vậy, hãy cẩn thận khi xóa cụm nếu bạn đang làm việc trên các ứng dụng thời gian thực.
ECS đi kèm với các mô hình định giá khác nhau. Để biết về giá cả, hãy truy cập trang web chính thức của AWS tại đây.
Thuật ngữ cơ bản trong ECS.
- ECS Cluster: Đây là một nhóm các tác vụ hoặc dịch vụ theo logic.
- Định nghĩa tác vụ: Nó mô tả một hoặc nhiều vùng chứa (tối đa mười vùng chứa) tạo nên ứng dụng của bạn.
- Tác vụ: Đây là một đơn vị có thể chạy được của định nghĩa tác vụ.
- Dịch vụ: Nó được sử dụng để chạy và duy trì một số lượng phiên bản được chỉ định của định nghĩa tác vụ.
Điều kiện tiên quyết
- Tài khoản AWS (Tạonếu bạn chưa có).
- Hiểu biết cơ bản về Vai trò IAM (Nhấp vào đây để tìm hiểu về IAM).
- Hiểu biết cơ bản về VPC (Nhấp vào đây để tìm hiểu về VPC)
Chúng ta sẽ làm gì?
- Đăng nhập vào AWS (Tạonếu bạn chưa có).
- Tạo một cụm
- Tạo vai trò IAM thực thi tác vụ
- Tạo định nghĩa tác vụ
- Tạo dịch vụ
- Truy cập tác vụ chúng ta đã tạo
- Xóa cụm
Đăng nhập vào AWS
Nhấp vàođâyđể đến trang Đăng nhập AWS và nhập thông tin đăng nhập của bạn.Sau khi đăng nhập vào tài khoản, bạn sẽ thấy Bảng điều khiển quản lý AWS chính là sau.
Tạo một Cluster
Để đến ECS, hãy nhấp vào dịch vụ ở góc trên bên trái màn hình và bên dưới Container, hãy nhấp vào Elastic Container Service.Bạn sẽ thấy bảng điều khiển chính của ECS như bên dưới. Nhấp vào "Clusters" ở bảng điều khiển bên trái.
Vì tôi chưa tạo bất kỳ cluster nào nên chúng ta không thấy gì trong danh sách. Tạo cluster đầu tiên của bạn, hãy nhấp vào nút "Create Cluster".
Tại đây, hãy chọn tùy chọn "EC2Linux+Networking" và nhấp vào nút "Next step".
Đặt tên cho cluster, chọn loại EC2 instance. Các phiên bản EC2 trong cụm sẽ được tạo theo kiểu chúng ta chọn. Chọn mô hình cung cấp các phiên bản EC2 cần tạo. Chỉ định các cấu hình khác theo yêu cầu của bạn.
Bạn có thể tạo PC mới hoặc chọn PC hiện có. Nếu bạn không biết về VPC và mạng và muốn biết thêm về nó, tôi khuyên bạn nên đọc bài viết tại đây.
Bạn có thể chỉ định thẻ nếu muốn hoặc để trống vì đây là cấu hình tùy chọn. Nhấp vào nút "Tạo" để tạo cụm cho bạn.
Việc này sẽ mất vài phút và sau khi cụm được tạo, bạn có thể thấy trạng thái là "Trạng thái ECS -3 trong số 3.. "trên cùng một trang. Nhấp vào nút "Xem cụm" để đi đến cụm.
Tạo vai trò IAM thực thi tác vụ
Trước khi tiến hành cấu hình tiếp theo, bạn sẽ cần một vai trò sẽ được sử dụng để thực thi tác vụ. Vì vậy, hãy đi đến IAM và tạo một vai trò mới với chính sách sau. Nhấp vào đây nếu bạn không biết về IAM và muốn tìm hiểu thêm về nó.Tạo Vai trò: ecsTaskExecutionRole với chính sách sau.
Mã:
{ "Phiên bản": "17-10-2012", "Câu lệnh": [ { "Hiệu ứng": "Cho phép", "Hành động": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Tài nguyên": "*" } ]}
Tạo định nghĩa tác vụ
Nếu bạn đã sẵn sàng với IAMRole, giờ bạn có thể tiến hành tạo định nghĩa tác vụ.Cho đến thời điểm này, bạn chỉ có một cụm trống không có ứng dụng chứa trong đó chạy vào.
Bước tiếp theo là tạo định nghĩa tác vụ. Để tạo định nghĩa tác vụ đầu tiên của bạn, hãy nhấp vào "Định nghĩa tác vụ" trong bảng điều khiển bên trái bên dưới "Clusters".
Tại đây, hãy nhấp vào nút "Create new Task Definitions".
Trên trang này, hãy chọn loại khởi chạy là "EC2 Sau đó nhấp vào nút "Next" step".
Bạn còn nhớ chúng ta đã tạo vai trò IAM ở bước trước không? Bây giờ, chúng ta cần chỉ định Vai trò mà chúng ta đã tạo trong vai trò Task. Đặt tên cho định nghĩa tác vụ.
Khi bạn cuộn xuống một chút, bạn sẽ thấy nút "Addcontainer", hãy nhấp vào nút đó và bạn sẽ thấy một màn hình mới bật lên như sau.
Trên màn hình này, hãy đặt tên cho vùng chứa, hãy chỉ định hình ảnh sẽ được sử dụng cho vùng chứa. Bạn cũng có thể chỉ định giới hạn bộ nhớ, ánh xạ cổng, kiểm tra tình trạng. Nếu bạn đã hoàn tất cấu hình, hãy nhấp vào nút "Thêm".
Chỉ định "Bộ nhớ tác vụ" và "CPU tác vụ" sẽ được tác vụ sử dụng.
Bây giờ bạn đã sẵn sàng với cấu hình cơ bản và bắt buộc cho tác vụ, hãy nhấp vào nút "Tạo" để tạo định nghĩa tác vụ.
Bạn sẽ thấy thông báo là "Đã tạo định nghĩa tác vụ thành công".
Tạo dịch vụ
Cho đến thời điểm này, chúng ta đã có định nghĩa cụm và tác vụ. Bước tiếp theo là tạo dịch vụ. Quay lại cụm chúng ta đã tạo và trong tab Dịch vụ, hãy nhấp vào nút Tạo để tạo Dịch vụ.Chọn loại khởi chạy là EC2, chọn định nghĩa tác vụ chúng ta đã tạo, bạn có thể chọn Tên cụm từ tùy chọn thả xuống, Tên dịch vụ mà chúng ta đang tạo, chỉ định số tác vụ là 2 sẽ tạo 2 bản sao ứng dụng của bạn.
Giữ phần còn lại của cấu hình là triển khai và vị trí tác vụ. Thẻ là tùy chọn nên không bắt buộc phải chỉ định thẻ. Nhấp vào nút "Bước tiếp theo" để tiếp tục.
Nếu bạn có bất kỳ bộ cân bằng tải nào thì bạn có thể chọn bộ cân bằng tải đó để định tuyến lưu lượng truy cập bên ngoài đến ứng dụng của bạn thông qua bộ cân bằng tải đó. Nhấp vào nút "Bước tiếp theo".
Nếu bạn không muốn dịch vụ của mình được mở rộng quy mô, hãy tiến hành cấu hình mặc định là "Không điều chỉnh số lượng mong muốn của dịch vụ".
Xem lại cấu hình mà chúng ta vừa thực hiện cho dịch vụ sẽ được tạo, nhấp vào nút "Tạo dịch vụ".
Bạn sẽ thấy trạng thái là "Trạng thái dịch vụ ECS - 1 trong 1 đã hoàn tất" nếu dịch vụ đã được tạo thành công.
Truy cập tác vụ mà chúng ta đã tạo
Quay lại cụm và trong tab "Tác vụ", bây giờ bạn có thể thấy 2 tác vụ đang chạy. Các tác vụ này chứa ứng dụng của bạn.Nhấp vào một trong các tác vụ để biết thêm thông tin về tác vụ đó.
Vì chúng ta chưa chỉ định bất kỳ bộ cân bằng tải nào nên chúng ta không thể truy cập ứng dụng từ thế giới bên ngoài trên một liên kết cụ thể. Do đó, chúng ta cần truy cập các tác vụ của mình trên các liên kết bên ngoài riêng lẻ của chúng.
Trong mục Network bindings, bạn có thể tìm thấy liên kết bên ngoài của tác vụ. Tác vụ cụ thể này sẽ chỉ có thể truy cập được từ liên kết có tại đây. Sao chép liên kết để kiểm tra xem ứng dụng Nginx mà chúng ta đã chỉ định trong định nghĩa tác vụ có đang hoạt động hay không.
Truy cập trình duyệt và nhấp vào liên kết mà chúng ta đã sao chép ở bước trước. Bạn có thể thấy trang mặc định của Nginx. Điều này có nghĩa là ứng dụng Nginx của chúng tôi đã được triển khai thành công.
Xóa cụm
Nếu bạn không cần cụm nữa, bạn có thể xóa nó chỉ bằng một cú nhấp chuột. Quay lại cụm và nhấp vào nút "Xóa cụm".Xác nhận hành động xóa bằng cách nhập "delete me" vào trường văn bản và nhấp vào nút "Delete". Thao tác này sẽ xóa cụm vĩnh viễn và sau khi xóa, bạn không thể khôi phục cụm đó. Vì vậy, hãy cẩn thận khi xóa cụm nếu bạn đang làm việc trên các ứng dụng thời gian thực.