navigation

Chủ động Cài đặt Bản vá với EC2 Image Builder và Systems Manager

Bài thực hành sẽ được thiết lập ở ap-southeast-2 (Sydney). Hãy đảm bảo mọi thao tác đều thực hiện trong Region này.

Tác Giả

  • Tim Robinson, Well-Architected Geo Solutions Architect
  • Stephen Salim, Well-Architected Geo Solutions Architect

Giới Thiệu

Trong quá trình xây dựng chiến lược bảo mật, OS Patching là hoạt động không thể thiếu nhằm bảo đảm các EC2 instances chạy các ứng dụng quan trọng luôn sử dụng hệ điều hành với các bản vá bảo mật mới nhất, điều này sẽ giảm thiểu tối đa nguy cơ về các lỗ hổng bảo mật và bề mặt tấn công.

Đa số các chuẩn bảo mật trên thế giới đều tối thiểu yêu cầu bằng chứng của quá trình cập nhật và vá lỗi hệ thống bởi đây là một hoạt động thường nhật và bắt buộc. Mặt khác với doanh nghiệp có số lượng tài nguyên lớn, các nhà quản lý cần phải cẩn trọng để tránh các rủi ro có thể xảy ra do Operational Overhead và đảm bảo thời gian gián đoạn luôn luôn là tối thiểu.

Thế nên Automated Patching Solution là hết sức cần thiết, ngoài việc giúp giảm thiểu Operational Overhead còn tạo điều kiện sẵn sàng cho các hoạt động Audits trong tương lai.

Có khá nhiều cách tiếp cận để chúng ta có thể tự động hoá tác vụ OS Patching thông qua sự kết hợp của các dịch vụ AWS.

Một trong số đó tiêu biểu là sử dụng phương pháp Blue/Green Deployment nhằm xây mới Amazon Machine Image (AMI) chứa các bản vá lỗi mới nhất, khi đó AMI này sẽ hoàn toàn sẵn sàng được sử dụng cho các EC2 instances đang chạy ứng dụng. Để dễ hình dung hơn, các quá trình dưới đây sẽ được thực hiện:

  • Tự động hoá khởi tạo AMI với EC2 Image Builder.
  • Quản lý và điều phối các tác vụ với Systems Manager Automation Document.
  • Triển khai AMI mới nhanh chóng với CloudFormation và bảo đảm thời gian gián đoạn là tối thiểu với chính sách AutoScalingReplacingUpdate.

Mục Tiêu

  1. Cấu hình thành công EC2 Image Builder với Amazon Linux 2023.
  2. Cấu hình thành công Systems Manager Automation Document.
  3. Hiểu cách triển khai AMI mới cho Auto Scaling Group dùng Launch Template mà không gián đoạn dịch vụ.

Điều Kiện Cần

  1. Một tài khoản AWS được dùng cho mục đích TESTING, không dùng cho môi trường production.
  2. AWS CLI v2 đã cài đặt và cấu hình, nếu bạn thực hành theo cách dùng CLI.

Về shell dùng để chạy lệnh. Các lệnh trong bài được cung cấp ở hai phiên bản, bạn chọn tab tương ứng với môi trường của mình:

  • Bash cho Linux, macOS, WSL, hoặc AWS CloudShell. CloudShell là lựa chọn thuận tiện nhất vì đã có sẵn AWS CLI và tự động xác thực, không cần cấu hình gì thêm.
  • PowerShell cho Windows.

Nếu bạn dùng Windows PowerShell, hãy lưu ý ba khác biệt thường gây lỗi:

BashPowerShell
VAR=$(lệnh)$VAR = lệnh
command \ xuống dòngdùng backtick `, hoặc viết gọn trên một dòng
head -n 10Select-Object -First 10
curl -scurl.exe -s, vì curl là alias của Invoke-WebRequest

Khi hoàn thành bài thực hành này, bạn sẽ bị tính phí đối với những tài nguyên không nằm trong hạng mục AWS Free Tier. Chi phí đáng kể nhất là NAT Gateway và EBS Snapshot của các AMI do Image Builder tạo ra. Hãy hoàn thành phần Dọn dẹp tài nguyên ngay sau khi kết thúc.

Thời Lượng Dự Kiến

Khoảng 90 đến 120 phút, trong đó riêng bước build AMI của EC2 Image Builder đã chiếm 20 đến 30 phút.

Nội Dung

Bài thực hành sẽ bao gồm các phần như sau:

Thứ tựTênNội dung chính
1Giới thiệuBối cảnh, mục tiêu và điều kiện cần
2Hạ tầng Cơ bảnVPC, Subnets, Internet Gateway, NAT Gateway
3Hạ tầng Ứng dụngALB, Launch Template, Auto Scaling Group
4AMI Builder PipelineComponent, Recipe, Infrastructure Configuration, Pipeline
5Tự động hoá với SSMAutomation Document điều phối toàn bộ quy trình
6Dọn dẹp tài nguyênThu hồi toàn bộ tài nguyên đã tạo