trên Amazon Elastic Container Service (Amazon ECS)

Amazon Elastic Container Service (Amazon ECS) là dịch vụ Amazon Web Service bạn sử dụng để chạy ứng dụng Docker trên cụm có quy mô linh hoạt. Trong hướng dẫn này, bạn sẽ tìm hiểu cách chạy một ứng dụng mẫu hỗ trợ Docker trên một cụm Amazon ECS trên nền cân bằng tải, kiểm thử ứng dụng đó và xóa tài nguyên để tránh phát sinh chi phí.

Bạn chỉ cần đủ điều kiện sử dụng bậc miễn phí là có thể thực hiện mọi thao tác trong bài hướng dẫn này.

Quản lý tài nguyên AWS của bạn

Đăng nhập vào Bảng điều khiển

Trình hướng dẫn chạy lần đầu cho Amazon ECS sẽ hướng dẫn bạn qua các bước tạo cụm và khởi chạy ứng dụng web mẫu. Trong bước này, bạn sẽ mở bảng điều khiển Amazon ECS và khởi chạy trình hướng dẫn.



b. Với Amazon ECS, bạn có lựa chọn sử dụng Amazon Elastic Container Registry (Amazon ECR) để tạo kho lưu trữ hình ảnh và đẩy hình ảnh vào kho lưu trữ đó như một phần của trình hướng dẫn chạy lần đầu (xem ảnh chụp màn hình ở bên phải). Tính năng này hiện chỉ có thể sử dụng tại một số khu vực. 

  • Nếu bạn không có lựa chọn Amazon ECR, hãy bỏ qua sang bước 2.
  • Nếu bạn có lựa chọn Amazon ECR, hãy bỏ chọn hộp bên cạnh tùy chọn Triển khai ứng dụng mẫu trên Cụm Amazon ECS và chọn Tiếp tục.
deploy-docker-container-1

(nhấp vào ảnh để thu phóng)

deploy-docker-container-1

Định nghĩa tác vụ giống như bản thiết kế cho ứng dụng của bạn. Trong bước này, bạn sẽ chỉ định định nghĩa tác vụ để Amazon ECS biết được hình ảnh Docker nào được sử d ụng cho bộ chứa, số lượng bộ chứa được sử dụng trong tác vụ và phân bổ tài nguyên cho từng bộ chứa.


Định nghĩa tác vụ được tải sẵn các giá trị cấu hình mặc định.

  • Xem lại các giá trị mặc định và chọn Bước tiếp theo.

Nếu bạn muốn sửa đổi cấu hình hoặc muốn tìm hiểu thêm, hãy xem Tham số định nghĩa tác vụ.

deploy-docker-container-2

(nhấp vào ảnh để thu phóng)

deploy-docker-container-2

Giờ đây, khi đã tạo định nghĩa tác vụ, bạn sẽ đặt cấu hình cho dịch vụ Amazon ECS. Một dịch vụ sẽ khởi chạy và duy trì các bản sao của định nghĩa tác vụ trong cụm của bạn. Ví dụ: bằng cách chạy một ứng dụng dưới dạng dịch vụ, Amazon ECS sẽ tự động khôi phục tất cả tác vụ đã dừng và duy trì số lượng bản sao bạn chỉ định.


a. Đặt cấu hình các tùy chọn dịch vụ:

  • Tên dịch vụ: Dịch vụ sample-webapp mặc định là ứng dụng "Hello World" trên nền web do AWS cung cấp. Ứng dụng này được cung cấp để chạy vô hạn định. Do đó, với việc chạy dưới dạng dịch vụ, ứng dụng sẽ khởi động lại nếu tác vụ ở tình trạng xấu hoặc dừng đột ngột.
  • Số lượng tác vụ mong muốn: Để nằm trong giới hạn bậc miễn phí của AWS, hãy giữ nguyên giá trị mặc định là 1. Hệ thống sẽ tạo 1 bản sao cho tác vụ của bạn.
deploy-docker-container-3

(nhấp vào ảnh để thu phóng)

deploy-docker-container-3

b. Cân bằng tải linh hoạt: Bạn có lựa chọn sử dụng cân bằng tải cho dịch vụ của mình. Amazon ECS có thể tạo một cân bằng tải Elastic Load Balancing (ELB) để phân phối lưu lượng trên các phiên bản bộ chứa mà tại đó tác vụ của bạn khởi chạy.

  • Tên bộ chứa: cổng lưu trữ: chọn Simple-app:80.
  • Giá trị mặc định cho giao thức listener ELB, cổng listener ELB và tính năng kiểm tra tình trạng ELB được thiết lập cho ứng dụng mẫu. Để biết thêm thông tin về cấu hình cân bằng tải, hãy xem Cân bằng tải dịch vụ.
deploy-docker-container-3b

(nhấp vào ảnh để thu phóng)

deploy-docker-container-3b

c. Trước khi có thể đính kèm cân bằng tải vào dịch vụ Amazon ECS, bạn phải tạo vai trò Identity and Access Management (IAM) để sử dụng cho dịch vụ. Vai trò này sẽ cho phép Amazon ECS thực hiện lệnh gọi tới API Amazon EC2 và Elastic Load Balancing để đăng ký và hủy đăng ký phiên bản đi kèm với cân bằng tải của bạn.

  • Nếu bạn chưa có Vai trò IAM dịch vụ, Amazon ECS sẽ tạo một vai trò có tên ecsServiceRole.
  • Nếu bạn đã có sẵn vai trò dịch vụ Amazon ECS, hãy chọn vai trò đó từ danh sách thả xuống.
deploy-docker-container-3c

(nhấp vào ảnh để thu phóng)

deploy-docker-container-3c

d. Xem lại cài đặt của bạn và chọn Bước tiếp theo.

deploy-docker-container-3d

(nhấp vào ảnh để thu phóng)

deploy-docker-container-3d

Tác vụ Amazon ECS của bạn chạy trên cụm là một tập hợp các phiên bản bộ chứa chạy trình đại diện bộ chứa Amazon ECSTrong bước này, bạn sẽ đặt cấu hình cụm, xem lại cài đặt bảo mật và đặt vai trò IAM. 


a. Làm theo các cài đặt cấu hình bên dưới:

  • Tên cụm: Nhập sample-cluster.
  • Loại phiên bản EC2: Loại phiên bản t2.micro mặc định sẽ giúp bạn ở trong giới hạn của bậc miễn phí. Loại phiên bản có nhiều tài nguyên CPU và bộ nhớ hơn có thể xử lý nhiều tác vụ hơn. Để biết thêm thông tin về các loại phiên bản khác nhau, hãy xem Loại phiên bản Amazon EC2.
  • Số lượng phiên bản: Giữ nguyên giá trị mặc định là 1 để khởi chạy 1 phiên bản Amazon EC2 vào cụm của bạn, nơi đặt các tác vụ. Cụm của bạn càng có nhiều phiên bản thì càng chứa được nhiều tác vụ.  
  • Cặp khóa: Yêu cầu cặp khóa để giao tiếp bảo mật (SSH) vào phiên bản của bạn sau này. Bạn có thể tiếp tục bằng cách chọn Không có – không thể SSH, chọn cặp khóa có sẵn hoặc tạo cặp khóa mới trong bảng điều khiển Amazon EC2. 
deploy-docker-container-5a

(nhấp vào ảnh để thu phóng)

deploy-docker-container-5a

b. (Không bắt buộc) Nhóm bảo mật: Giá trị mặc định (Bất cứ đâu) cho phép truy cập từ bất cứ đâu trên Internet. Bạn cũng có tùy chọn tính năng chặn CIDR để hạn chế truy cập vào phiên bản của mình.

deploy-docker-container-5b

(nhấp vào ảnh để thu phóng)

deploy-docker-container-5b

c. Vai trò IAM cho phiên bản bộ chứa:

  • Nếu bạn không có vai trò IAM, thì trình hướng dẫn Amazon ECS sẽ tạo một vai trò cho bạn.
  • Nếu bạn đã có sẵn vai trò IAM cho phiên bản bộ chứa, hãy chọn vai trò đó từ danh sách thả xuống.
deploy-docker-container-5c

(nhấp vào ảnh để thu phóng)

deploy-docker-container-5c

d. Chọn Xem lại và khởi chạy.

deploy-docker-container-5d

(nhấp vào ảnh để thu phóng)

deploy-docker-container-5d

Trong các bước trước, bạn đã đặt cấu hình định nghĩa tác vụ (giống như bản thiết kế của ứng dụng), dịch vụ Amazon ECS (khởi chạy và duy trì bản sao của định nghĩa tác vụ) và cụm (tập hợp các phiên bản bộ chứa chạy trình đại diện bộ chứa). Trong bước này, bạn sẽ xem lại, khởi chạy và xem các tài nguyên bạn đã tạo.


a. Bạn có cơ hội cuối để xem lại định nghĩa tác vụ, cấu hình tác vụ và cấu hình cụm trước khi khởi chạy.

  • Chọn Khởi chạy phiên bản và chạy dịch vụ
deploy-docker-container-6

(nhấp vào ảnh để thu phóng)

deploy-docker-container-6

b. Bạn đang ở trên trang Trạng thái khởi chạy hiển thị trạng thái của quá trình khởi chạy và mô tả từng bước của quá trình. 

  • Sau khi hoàn tất quá trình khởi chạy, chọn Xem dịch vụ.
deploy-docker-container-7

(nhấp vào ảnh để thu phóng)

deploy-docker-container-7

Trong bước này, bạn sẽ xác minh rằng ứng dụng mẫu đang hoạt động bằng cách trỏ trình duyệt đến tên DNS của cân bằng tải.


a. Trên trang sample-webapp, nhấp vào Tên cân bằng tải của bạn.

deploy-docker-container-10

(nhấp vào ảnh để thu phóng)

deploy-docker-container-10

b. Bạn sẽ kiểm thử ứng dụng mẫu:

  • Sao chép tên DNS của ELB.
  • Dán tên đó vào cửa sổ trình duyệt mới.
  • Nhấn Enter trên bàn phím để xem ứng dụng mẫu (trong trường hợp này là một trang web tĩnh).
deploy-docker-container-12a

(nhấp vào ảnh để thu phóng)

deploy-docker-container-12a

Trong suốt hướng dẫn này, bạn đã khởi chạy 3 tài nguyên: 1 cụm Amazon ECS, 1 phiên bản Amazon EC2 và 1 cân bằng tải. Trong bước này, bạn sẽ dọn dẹp tất cả tài nguyên để tránh phát sinh chi phí không mong muốn.


a. Chuyển lại về trang bảng điều khiển Amazon ECS 

  • Nhấp vào tên cụm (sample-cluster).
deploy-docker-container-13

(nhấp vào ảnh để thu phóng)

deploy-docker-container-13

b. Chọn hộp kiểm bên cạnh sample-webapp và nhấp vào Cập nhật.

deploy-docker-container-15

(nhấp vào ảnh để thu phóng)

deploy-docker-container-15

c. Để đảm bảo không xóa nhầm dịch vụ có tác vụ đang hoạt động, bạn cần dừng tất cả tác vụ trước khi Amazon ECS xóa dịch vụ. 

  • Đặt Số lượng tác vụ thành 0 rồi chọn Cập nhật dịch vụ.
  • Sau khi cập nhật dịch vụ, chọn Xóa.
deploy-docker-container-14

(nhấp vào ảnh để thu phóng)

deploy-docker-container-14

d. Xóa phiên bản Amazon EC2 đã được khởi chạy cùng cụm:

  • Mở bảng điều khiển Amazon EC2
  • Trong ngăn bên trái, chọn Phiên bản.
  • Chọn hộp kiểm bên cạnh phiên bản có tên ECS Instance - EC2ContainerService-default.
  • Chọn Hành động > Trạng thái phiên bản > Chấm dứt.

 

 

deploy-docker-container-17

(nhấp vào ảnh để thu phóng)

deploy-docker-container-17

e. Xóa cân bằng tải:

  • Trong ngăn bên trái, chọn Cân bằng tải.
  • Chọn hộp kiểm bên cạnh cân bằng tải bạn đã tạo cho dịch vụ (tên cân bằng tải sẽ bắt đầu bằng EC2Contai-EcsElast). 
  • Nhấp chuột phải và chọn Xóa.

 

deploy-docker-container-19a

(nhấp vào ảnh để thu phóng)

deploy-docker-container-19a

Xin chúc mừng! Bạn đã tìm hiểu cách đặt cấu hình, triển khai và xóa ứng dụng hỗ trợ Docker đến Amazon Elastic Container Service (Amazon ECS). Amazon ECS là dịch vụ quản lý bộ chứa hiệu suất cao, có quy mô cực kỳ linh hoạt hỗ trợ các bộ chứa Docker và cho phép bạn dễ dàng chạy ứng dụng trên một cụm phiên bản Amazon EC2 được quản lý.

Giờ đây, khi đã tìm hiểu cách triển khai ứng dụng hỗ trợ Docker đến Amazon ECS, bạn có thể chuyển đến hướng dẫn tiếp theo. Tại đó, bạn sẽ tìm hiểu cách tạo Sổ đăng ký Docker để lưu trữ hình ảnh bộ chứa. Bạn sẽ xây dựng hình ảnh Docker, đẩy hình ảnh đó vào kho lưu trữ rồi sử dụng hình ảnh để triển khai ứng dụng trên Amazon ECS.

Tạo Sổ đăng ký Docker

Không