Tăng tốc triển khai Blue/Green với AWS MGN Post-Launch Actions

bởi Mohan CV và Dylan Martin | vào ngày 04 THÁNG 01 NĂM 2024 | 

Khách hàng ngày càng nhận thức rõ về những lợi ích của việc chuyển đổi sang AWS trong một thế giới ngày càng chuyển đổi hướng tới sự áp dụng đám mây. Một whitepaper gần đây của IDC đã phát hiện rằng khách hàng chuyển đổi sang AWS có thể trải qua việc giảm 51% chi phí vận hành, tăng 62% năng suất nhân sự IT và giảm 94% thời gian chết máy. Với những lợi ích này trong tâm trí, AWS đã giúp các tổ chức di chuyển công việc của họ lên đám mây từ năm 2008 – lâu hơn bất kỳ nhà cung cấp đám mây nào khác, và chúng tôi đã học được rất nhiều. Với những thách thức từ khía cạnh tổ chức, như đào tạo và chứng chỉ, đến những vấn đề kỹ thuật, như việc các nhà phát triển học cách làm việc với các dịch vụ có thể mới đối với họ, AWS đã tiến xa đáng kể trong việc giảm bớt các rào cản đối với việc di chuyển.

Thách thức doanh nghiệp cốt lõi mà bài viết này đề cập đến là sự cần thiết của một quy trình di chuyển máy chủ được tinh giản và hiệu quả, tập trung vào việc triển khai Blue/Green. Việc di chuyển máy chủ, đặc biệt là từ môi trường on-premises lên đám mây, có thể phức tạp, tốn thời gian và dễ gặp lỗi. Các phương pháp di chuyển truyền thống thường thiếu tính linh hoạt để chuyển đổi mạch lịch sử giữa các môi trường cũ và mới một cách mượt mà. Bài viết này, tập trung vào AWS Application Migration Service (AWS MGN) và các dịch vụ AWS liên quan, nhằm đơn giản hóa và tăng tốc quá trình di chuyển trong khi tích hợp nguyên tắc triển khai Blue/Green. Sử dụng tự động hóa và các hành động sau di chuyển được tùy chỉnh giảm gánh nặng vận hành, giảm thiểu thời gian chết máy và tạo điều kiện cho một chuyển đổi mượt mà sang AWS. Điều này giúp doanh nghiệp hiện đại hóa cơ sở hạ tầng của họ và trang bị họ để áp dụng triển khai Blue/Green, cho phép cập nhật ứng dụng và dịch vụ một cách an toàn, hiệu quả và không rủi ro.

Tổng quan về giải pháp

Trong phần một của bài viết này, bạn sẽ chủ yếu làm việc trong AWS Application Migration Service (AWS MGN), tập trung vào chu kỳ di chuyển máy chủ và tính năng MGN’s Post Launch Actions. Một mô hình tiêu chuẩn là đánh dấu hai phiên bản máy chủ là phiên bản màu xanh (on-premises) và phiên bản màu xanh lá cây (đám mây). Giải pháp này thể hiện quá trình chuyển từ Blue/Green Version bằng cách sử dụng các phiên bản Amazon Elastic Cloud Compute (Amazon EC2) ở hai khu vực khác nhau. Bạn cũng có thể sử dụng một máy chủ hiện tại trong trung tâm dữ liệu của bạn hoặc ở đám mây khác làm máy chủ nguồn.

Trong bảng điều khiển MGN, bạn sẽ kích hoạt tính năng Post Launch Actions, cài đặt AWS Systems Manager (SSM) agent lên các máy chủ thử nghiệm tiếp theo. Với MGN Replication Agent đã được cài đặt trên Blue Version và đồng bộ hóa ban đầu đã hoàn thành, bạn sẽ khởi chạy một phiên bản màu xanh thử nghiệm của MGN bằng cách sử dụng Amazon Elastic Compute Cloud (Amazon EC2). Trong giai đoạn thử nghiệm của bạn, bạn có thể kết nối các dịch vụ và tính năng AWS vào phiên bản màu xanh của chúng tôi, khám phá lợi ích của việc xây dựng trên AWS. Khi quá trình kiểm thử của bạn hoàn thành, tab hành động máy chủ của MGN cho phép chúng ta chuyển mạch một cách mượt mà vào quy trình chuyển đổi hoặc quay lại một bước trong quá trình di chuyển nếu bạn cần.

Trong phần 2 của loạt bài viết này, bạn sẽ phát triển từ bài viết này bằng cách xây dựng Post Launch Actions cho Systems Manager, cũng như tận dụng khả năng AI sinh mã của AWS với Amazon CodeWhisperer để giúp chúng ta viết các kịch bản Python boto3 để thực thi qua Giao Diện Lệnh AWS (AWS CLI). Hai cung cấp này cùng nhau sẽ cho phép chúng ta tùy chỉnh quá trình di chuyển của bạn để phù hợp với nhu cầu của bạn trong một quy trình lặp lại được. Trong bài viết này, bạn sẽ xây dựng một quy trình làm việc từ đầu đến cuối để triển khai giải pháp này.

Kiến trúc mục tiêu

Biểu đồ dưới đây mô tả kiến trúc giải pháp của bạn:

Figure 1: Proposed MGN Blue/Green Testing Solution Architecture

  1. Thiết Lập Post-Launch Actions trong MGN
  2. Cấu hình Post-Launch Actions
  3. Hoàn Tất Thiết Lập Post-Launch Actions
  4. Khám Phá Blue Version
  5. Cài Đặt MGN Agent trên Blue Version
  6. Kiểm Tra Tình Trạng Di Chuyển
  7. Cập Nhật DNS Routing với Amazon Route 53

Dẫn Dắt

Sau khi đã giới thiệu và kiến trúc hiển thị giải pháp mục tiêu, bạn có thể bắt đầu phần Dẫn Dắt.

  1. Thiết Lập Post-Launch Actions trong MGN

Phần đầu tiên này sẽ liên quan đến quá trình thiết lập ban đầu bắt buộc để cho phép sử dụng Post-Launch Actions trong MGN.

Figure 2: MGN Post-launch Action Template

Mở AWS Console và chọn region mà bạn muốn khởi chạy Phiên Bản Màu Xanh của mình. Tìm kiếm MGN, mở dịch vụ và chọn Post Launch Actions trong phần Settings ở thanh công cụ bên trái. Chọn Edit và chuyển sang xác nhận bạn muốn Cài đặt AWS Systems Manager Agent bằng cách chọn tùy chọn triển khai ưa thích của bạn.

  1. Cấu Hình Post Launch Actions

Các bước tiếp theo liên quan đến việc lựa chọn và cấu hình Post Launch Actions

Figure 3: Selecting and Configuring Post-launch Actions

Có nhiều  Post-launch Actions được xác định trước bởi AWS để lựa chọn. Để bắt đầu, hãy chọn một hành động được định trước từ danh sách và chọn tùy chọn Edit ở bên cạnh Card View. Điều này sẽ cho phép chúng ta cấu hình và kích hoạt hành động bạn đã chọn. Trong bản minh họa này, bạn sẽ sử dụng Create AMI from Instance để thực hiện.

Figure 4: Selecting an IAM Role for the Systems Manager Function

Tạo một vai trò IAM mới cho chức năng này của Systems Manager để kiểm soát quyền truy cập và quyền hạn trong tài khoản AWS của bạn. Thêm thông tin về cách tạo vai trò của Systems Manager có thể được tìm thấy trong tài liệu của AWS Systems Manager.

  1. Hoàn Tất Thiết Lập Post-Launch Actions

Bạn sẽ hoàn tất thiết lập Post-Launch Actions bằng cách xác nhận rằng tính năng đã được cấu hình và kích hoạt thành công. Sau khi bạn đã hoàn tất quá trình chỉnh sửa cho hành động được định trước của mình, bạn sẽ chọn Save Action. Bạn có thể xác nhận quá trình này thành công bằng cách tìm kiếm hành động mới của bạn trong chế độ xem thẻ và xem kết quả tích cực. Bạn sẽ xác nhận thêm một lần nữa bằng cách tìm kiếm AMI của bạn khi bạn di chuyển phiên bản màu xanh của mình và khởi chạy một phiên bản thử nghiệm. Bây giờ, bạn chuyển sang quá trình di chuyển và bắt đầu bằng cách xem xét phiên bản màu xanh của bạn.

  1. Khám Phá Blue Version

Phần này đánh giá tình trạng của Blue Version của bạn được chọn để di chuyển.

Figure 5: Reviewing the Blue Version Amazon EC2 Instance within the AWS Console

Ở đây, bạn có thể xem bảng điều khiển của Blue Version của bạn trên Amazon EC2. Phiên Bản Amazon EC2 đã được cài đặt Apache Web Server, PHP và MariaDB. Bạn sẽ thấy điều này được xác nhận sau.

Điểm kết nối cơ sở dữ liệu đã được thiết lập trước, và một trang web mẫu thông qua WordPress đã được tạo, mà bạn sẽ sử dụng để phản ánh các thay đổi giữa Blue/Green Version.

Figure 6: Connecting to the Blue Version Instance via SSH – found via the AWS Console, Amazon EC2 Service.

Bạn sẽ kết nối vào máy chủ của mình qua SSH để xác nhận rằng mọi phụ thuộc cần thiết đã được cài đặt và tận dụng một trang web WordPress đang chạy trên Blue Version để mục đích này.

Mở địa chỉ IPv4 công khai, trang web WordPress của bạn trên Blue Version sẽ xuất hiện.

Figure 7: Blue Version of Sample Web Application Targeted for the Migration

Bạn sẽ thay đổi giao diện người dùng này trên máy chủ Amazon EC2 của mình để xác minh quá trình sao chép liên tục của MGN. Những thay đổi trên trang web WordPress đang được lưu trữ trên Blue Version sẽ được phản ánh trên các Green Version được khởi chạy trong quá trình di chuyển.

  1. Cài đặt MGN Agent trên Blue Version

Bạn sẽ cài đặt MGN agent trong phần này và bắt đầu quá trình di chuyển.

Figure 8: Within the Application Migration Service Console, MGN Agent Installation Steps

Mở dịch vụ MGN trong AWS Console, điều hướng đến Source Servers → Add server → Hoàn tất các hộp thoại hiển thị, và MGN sẽ tạo lệnh cho bạn để sao chép và dán trong phiên SSH, cài đặt MGN trên máy chủ nguồn của bạn (Blue Version).

Figure 9: Success Message for the AWS Replication Agent Installation

Sau khi tải xong, bạn có thể thực thi tệp tin bằng cách sử dụng lệnh được tạo ra từ bảng điều khiển MGN, tương tự như cách bạn đã làm trong bước trước đó.

Figure 10: MGN Console, Migration Metrics Page Reflecting the Source Server Status

MGN’s Dashboard sẽ hiển thị các chỉ số liên quan đến quá trình di chuyển máy chủ của bạn. Dữ liệu bổ sung có sẵn khi bạn nhấp vào máy chủ nguồn trực tiếp.

Figure 11: Application Migration Service Data Replication, Source Server Page in AWS Console

Ở đây, bạn có thể thu thập hầu hết thông tin mà bạn có thể cần. Bước tiếp theo vào cơ chế hoạt động bên trong của quá trình sao chép của MGN có thể được thực hiện bằng cách chọn Source Server Name của bạn dưới Source Servers trong bảng điều khiển MGN, cuộn xuống Events and MetricsView AWS CloudTrail Event History.

Figure 12: MGN Migration Dashboard, Lifecycle is reporting Ready for Testing

Với sự trợ giúp của một bộ máy tính băng thông mạng, bạn có thể ước lượng thời gian chờ đợi cho đến khi bạn thấy rằng quá trình sao chép ban đầu đã hoàn thành. Bây giờ, bạn có thể khởi chạy một phiên bản kiểm thử. Điều này sẽ đóng vai trò như Green Version tạm thời trong quá trình di chuyển Blue/Green của bạn. Như đã thảo luận trước đó, những thay đổi bạn thực hiện trên Blue Version của bạn bây giờ sẽ tự động phản ánh trongGreen version của bạn, theo tính năng sao chép liên tục của MGN.

Hãy khởi chạy một phiên bản kiểm thử từ bảng điều khiển MGN ngay bây giờ.

Figure 13: Launch a Test Instance from the Active Source Servers Test and Cutover Dropdown

Chọn Launch Test Instances. Quy trình MGN lifecycle của bạn sẽ chuyển từ Trạng thái Sẵn sàng cho Ready for Testing to Test in Progress.

Figure 14: MGN automatically provisions the Amazon EC2 instance conversion servers, seen here.

Trong Amazon EC2 console, bạn sẽ thấy máy chủ chuyển đổi mà MGN tự động tạo cho chúng ta. Điều này sẽ tạo ra Green Version Test Instance.

Sau một thời gian, quá trình khởi chạy sẽ sẵn sàng. MGN nên xác nhận trong quy trình vòng đời rằng trạng thái Hành động Sau khi khởi chạy của bạn đang trong In Progress. Nếu không, vui lòng kiểm tra xem các hành động của bạn đã được thiết lập bằng cách chọn tab cài đặt sau khi khởi chạy trong máy chủ nguồn của bạn. Trở lại Amazon EC2 console và xem xét instance của bạn.

Figure 15: Green Version Instance, Launched as an MGN Test Instance alongside Post Launch Actions.

  1. Kiểm tra Migration Status

Trong phần này, bạn sẽ xác nhận rằng MGN Agent đã thực hiện di chuyển thành công và thực hiện MGN Live Data Replication.

Bây giờ khi đối tượng thử nghiệm của bạn đã được khởi chạy, hãy thực hiện một số kiểm thử. Các kiểm thử có thể bao gồm định tuyến lưu lượng đến đối tượng, di chuyển lưu lượng đồng thời, thực hiện phân phối có trọng số, thử nghiệm mở rộng hoặc thu nhỏ với các nhóm tự động mở rộng, kết nối các dịch vụ và tính năng khác nhau, và nhiều hơn nữa. Trong trường hợp này, bạn sẽ thêm một địa chỉ IP linh hoạt đơn giản, một nhóm mục tiêu và một bộ cân bằng tải, sau đó cập nhật các nhóm bảo mật để cho phép bạn truy cập đối tượng một cách an toàn. Sau khi các nguồn tài nguyên trên được gắn kết, hãy xem đối tượng Thử nghiệm của bạn mở trong trình duyệt trông như thế nào.

Figure 16: Opening the Public IP of the Green Version Test Instance.

Và nó hoạt động! Bạn chỉ còn lại việc thay đổi Blue Version của mình trong môi trường nói chung để xác nhận rằng MGN đang sao chép dữ liệu của bạn trực tiếp. Hãy mở trang Blue Version của bạn và thực hiện một thay đổi văn bản để nói Blue to Green. Thay đổi này nên xuất hiện trong Green Version của bạn.

Figure 17: Changing the Blue Version Instance’s Web App UI.

Bạn đã đăng nhập vào ứng dụng web của mình và sẽ thay đổi văn bản ở đây.

Figure 18: Open the Public IP of the Green Version Instance. Changes to the Blue Version are completed via MGN’s live Data Replication feature.

Và quá trình sao chép của bạn đã hoàn tất với những thay đổi được phản ánh trong Green Version của bạn! Đây là kết thúc phần 1 của chuỗi hướng dẫn của bạn. Trong phần 2, bạn sẽ tiếp tục xây dựng trên những bước này với các tính năng mới và sự phức tạp được thêm vào để có thêm kiểm soát trong quá trình kiểm thử và di chuyển, bao gồm các hành động sau khi khởi chạy tùy chỉnh và kịch bản với sự giúp đỡ của Amazon CodeWhisperer.

Figure 19: Test and Cutover options to Revert to Ready for Testing or complete Cutover process.

  1. Cập nhật DNS Routing với Amazon Route 53

DNS Routing thông qua cập nhật bản ghi là một phương pháp phổ biến cho việc triển khai blue/green. Nó bao gồm việc chuyển đổi lưu lượng DNS giữa các môi trường xanh và lục khi cần thiết, đặc biệt là trong quá trình quay trở lại. Giả sử bạn đang quản lý DNS-hosted zone của mình với Amazon Route 53, bạn có thể tuân thủ các bước được mô tả ở trên để cập nhật bản ghi alias và chuyển hướng lưu lượng từ môi trường xanh sang môi trường lục.

Hình ảnh dưới đây minh họa cách Amazon Route 53 quản lýDNS-hosted zone. Bạn có thể chuyển hướng lưu lượng từ môi trường xanh sang môi trường lục bằng cách cập nhật bản ghi alias.

Figure 20: Classic Pattern – DNS Management in Amazon Route 53 for Blue/Green Deployments

Một cách khác có thể được sử dụng là phân phối có trọng số. Trong Amazon Route 53, phương pháp này cho phép định nghĩa một phần trăm lưu lượng được chuyển hướng đến môi trường xanh, với khả năng điều chỉnh trọng số dần dần cho đến khi môi trường xanh xử lý toàn bộ lưu lượng sản xuất. Phương pháp này hỗ trợ phân tích canary, giới thiệu một phần nhỏ của lưu lượng sản xuất vào môi trường mới để kiểm thử và giám sát lỗi. Việc giới hạn bán kính tác động trong trường hợp xảy ra vấn đề cho phép môi trường xanh mở rộng để chứa toàn bộ lưu lượng sản xuất. Trong trường hợp gặp khó khăn trong triển khai, có thể thực hiện việc quay lại bằng cách cập nhật bản ghi DNS để đưa lưu lượng trở lại môi trường xanh cho đến khi thực hiện quá trình chuyển giao chính thức.

Figure 21: Gradual Transition – Utilizing DNS-Weighted Distribution for Controlled Deployment

Dọn Dẹp

Để tránh phát sinh thêm bất kỳ chi phí liên quan nào liên quan đến bài viết này, hãy đảm bảo dọn sạch tài nguyên của bạn, bao gồm:

  • Amazon EC2 Instances
  • Ngắt kết nối bất kỳ MGN Source Servers
  • Bất kỳ Block, Database hoặc Storage nào liên quan đến quá trình kiểm thử của bạn

Kết luận

Trong bài viết này, bạn đã khám phá cách tận dụng Dịch vụ Di chuyển Ứng dụng AWS MGN để thực hiện quá trình di chuyển Blue/Green, bao gồm sự giúp đỡ của các Hành động Sau khi Khởi chạy được xây dựng sẵn với Systems Manager. Bạn đã mô phỏng quá trình di chuyển đến AWS thông qua Các Đối tượng Amazon EC2 đặt tại các khu vực khác nhau và xác nhận khả năng sao chép dữ liệu trực tiếp của MGN. Để đưa điều này một bước xa hơn, hoàn thành một quá trình di chuyển thử nghiệm với một máy chủ thực sự trong môi trường on-premises là một cách tuyệt vời để triển khai những điều học từ bài viết này. Trong phần 2, bạn sẽ xem xét cách thực hiện quá trình di chuyển với các Hành động Sau khi Khởi chạy Systems Manager tùy chỉnh và tận dụng khả năng Trí tuệ Nhân tạo của Amazon bằng cách viết kịch bản di chuyển trong boto3 Python với sự giúp đỡ của Amazon CodeWhisperer.

Về tác giả:

Dylan Martin

Dylan là Kiến trúc sư giải pháp thuộc nhóm AWS Industries, giúp khách hàng xây dựng và duy trì khối lượng công việc tối ưu trên AWS. Anh ấy có kiến thức chuyên môn về lĩnh vực Phát hiện mối đe dọa và Ứng phó sự cố. Ngoài công việc, anh ấy thích lái xe mô tô, vùng Riviera của Pháp và học ngành cấp cứu.

Mohan CV

Mohan là Kiến trúc sư giải pháp chính tại AWS có trụ sở tại Bắc Virginia. Với nền tảng vững chắc về di chuyển và hiện đại hóa doanh nghiệp quy mô lớn, anh ấy chuyên về Dữ liệu & Phân tích. Mohan đam mê tận dụng các công nghệ mới và tìm thấy niềm vui trong việc hỗ trợ khách hàng điều chỉnh những cải tiến này để đáp ứng nhu cầu kinh doanh riêng của họ.