ALB và ECS Service

Scale the adoption platform monolith with an ALB and an ECS Service

Scale the adoption platform monolith with an ALB and an ECS Service

Phương pháp Run Task đã sử dụng trong phần trước rất tốt để thử nghiệm, nhưng nếu cần chạy nền tảng áp dụng như một quá trình chạy lâu dài. Bạn cần sử dụng Elastic Load Balancing Appliction Load Balancer (ALB) để phân phối các yêu cầu đến các container đang chạy của bạn. Ngoài việc cân bằng tải đơn giản, còn tạo ra các khả năng như định tuyến dựa trên đường dẫn đến các dịch vụ khác nhau.

ECS giúp duy trì số lượng desired task (số container chạy trong thời gian dài) và tích hợp ALB (xử lý việc đăng ký / hủy đăng ký container vào ALB)

Dịch vụ ECS và ALB ban đầu đã được CloudFormation tạo. Trong bài lab này, bạn sẽ cập nhật các tài nguyên đó để lưu trữ monolith service được đóng gói. Sau đó, bạn sẽ tạo một service mới từ đầu sau khi phá vỡ monolith.

  1. Truy cập vào CloudFormation
  • Chọn STACK_NAME
  • Chọn Stack details
  • Chọn Outputs
  • Chọn LoadBalancerDNS

Deploy the container using AWS Fargate

  1. Sử dụng trình duyệt truy cập vào LoadBalancerDNS

Deploy the container using AWS Fargate

  1. Truy cập vào ECS
  • Chọn Clusters
  • Chọn Cluster-STACK_NAME

Deploy the container using AWS Fargate

  1. Trong giao diện Cluster-STACK_NAME, chúng ta tiến hành cập nhật service
  • Chọn Services
  • Chọn Edit

Deploy the container using AWS Fargate

  1. Trong giao diện cập nhật service
  • Chọn Revision 2
  • Chọn Update

Deploy the container using AWS Fargate

  1. Update service thành công.

Deploy the container using AWS Fargate

  1. Trong giao diện Cluster-STACK_NAME
  • Chọn Task
  • Kiểm tra Monolith-Definition-STACK_NAME đã được cập nhật Revision 2

Deploy the container using AWS Fargate

  1. Truy cập vào CloudFormation
  • Chọn STACK_NAME
  • Chọn Stack details
  • Chọn Outputs
  • Chọn S3WebsiteURL

Deploy the container using AWS Fargate

  1. Sử dụng trình duyệt để truy cập vào S3WebsiteURL

Deploy the container using AWS Fargate

  1. Thực hiện các thao tác trải nghiệm giao diện người dùng

Deploy the container using AWS Fargate

  1. Truy cập vào ECS
  • Chọn Cluster
  • Chọn Cluster-STACK_NAME
  • Chọn Tasks
  • Chọn Monolith-Definition-STACK_NAME revision 2

Deploy the container using AWS Fargate

  1. Chọn Logs

Deploy the container using AWS Fargate

  1. Kiểm tra logs để đảm bảo monolith có thể đọc và ghi DynamoDB và có thể xử lý like.

Deploy the container using AWS Fargate

  1. Kiểm tra CloudWatch logs từ ECS để đảm bảo Like processed

Deploy the container using AWS Fargate

  1. Truy cập CloudWatch
  • Chọn Log groups
  • Quan sát log event

Deploy the container using AWS Fargate

  1. Để phân biệt giữa service và task. Ta có thể thực hiện các bước sau:
  • Chọn Service
  • Chọn Edit

Deploy the container using AWS Fargate

  1. Nâng số Desired task lên là 3 và update.

Deploy the container using AWS Fargate

  1. Sau khi update thành công.
  • Chọn Task sẽ thấy 3 task đang chạy.
  • Từ đó, ta thấy ECS services là khái niệm trong đó ECS cho phép chạy và duy trì một số lượng container cụ thể của các task definition trong một ECS cluster. Một service gồm nhiều task và được duy trì.

Deploy the container using AWS Fargate