Chào anh em. Trong dự án đang làm, tôi đã cấu hình việc tạo ảnh chụp của EC2 định kỳ (để chính xác, đây là ảnh chụp của EBS được gắn vào EC2) trong dự án bằng cách tận dụng Amazon DLM. Vì vậy, tôi muốn tổ chức nội dung này thành một bài viết trên blog cá nhân của mình.
Và bây giờ, chúng ta bắt đầu! :)
Phương pháp sao lưu thông thường cho EC2
Có hai phương pháp chính để sao lưu một EC2 instance:
Tạo AMI: Trong trường hợp này, bạn tạo một hình ảnh (AMI) của instance với toàn bộ siêu dữ liệu và hệ điều hành được cài đặt (bao gồm một hoặc nhiều ảnh chụp + siêu dữ liệu).
Tạo Snapshot: Trong trường hợp này, bạn tạo ảnh chụp của các EBS volumes được gắn vào instance.
Có một số trường hợp sử dụng AMI sao lưu, bao gồm:
- Muốn khôi phục một instance đã sao lưu một cách cấp bách.
- Instance có cấu hình phức tạp và bạn muốn tạo một hình ảnh của instance đã cấu hình.
- Muốn tạo tự động các instance mới từ Auto Scaling Group (ASG).
Trong khi đó, có một số trường hợp sử dụng Snapshot sao lưu, bao gồm:
- Muốn sao lưu dữ liệu riêng lẻ, không phụ thuộc vào hệ điều hành.
- Muốn tạo nhiều AMI khác nhau dựa trên các ảnh chụp đã tạo.
- Sử dụng Amazon DLM để tối ưu hóa việc sao lưu định kỳ và chi phí lưu trữ
Bài viết này sẽ tập trung vào cách sử dụng phương thức sao lưu tương ứng với Amazon DLM (Data Lifecycle Manager).
Amazon DLM là gì?
Amazon DLM là dịch vụ cho phép tự động hóa vòng đời của Snapshot, bao gồm việc tạo, lưu trữ và xóa chúng để sao lưu Amazon EBS volumes. Dịch vụ này mang lại nhiều lợi ích:
- Tạo lịch trình sao lưu định kỳ để bảo vệ dữ liệu quý báu.
- Bảo quản các sao lưu mà các bộ phận kiểm toán hoặc tuân thủ yêu cầu.
- Loại bỏ các sao lưu cũ để giảm chi phí lưu trữ.
Tôi thích thực hành khi hiểu về một điều gì đó, nên tôi sẽ thử nghiệm việc tạo Snapshot bằng DLM. :D
Tạo EC2 Instance và DLM Policy
Trước hết, đăng nhập vào AWS Console và di chuyển đến bảng điều khiển dịch vụ EC2. Tôi đã tạo một instance EC2, không quan trọng loại instance hoặc hệ điều hành, vì tôi chỉ muốn tạo snapshot cho các ổ đĩa được gắn vào instance. Tôi đã thêm nhiều ổ đĩa để xem cách snapshot được tạo cho từng ổ đĩa gắn vào instance.
EC2 Instance và DLM Policy được tạo như dưới:
Sau đó, tôi đã thêm các thẻ tên (Name tags) và thẻ có thể được tham chiếu từ chính sách DLM.
Bạn có thể thêm thẻ tên để gán các tham chiếu dễ dàng hơn trong các chính sách DLM.
Tiếp theo, tôi đã chọn “Lifecycle Manager” từ menu. Tôi đã nhấn vào nút “Create Snapshot Lifecycle Policy” và chuyển đến trang tạo chính sách DLM như sau.
Chính sách (Policy) tôi đã nhập theo các tùy chọn tùy chỉnh của tôi. Trong bài viết này, tôi đã thử nghiệm việc tạo Snapshot của EC2 thay vì của EBS trực tiếp, nhưng bạn có thể chọn EBS làm mục tiêu trực tiếp để tạo Snapshot. Khi tùy chọn loại nguồn là “Instance,” Snapshot sẽ được tạo cho từng ổ đĩa EBS được gắn vào EC2 instance.
Nhiệm vụ giữ lại (Retention rule) là để xác định bao nhiêu phiên bản Snapshot tối đa sẽ được giữ lại dựa trên chính sách. Chính sách DLM sẽ tự động xóa các phiên bản Snapshot cũ dựa trên tùy chọn này.
Tôi đã thiết lập thời gian 11:15 UTC (=20:15 JST) để kiểm tra sớm hơn. Một điều lưu ý là theo cách mô tả, Snapshot sẽ bắt đầu được tạo trong vòng một giờ kể từ thời gian bắt đầu đã chỉ định.
Snapshots start being created within one hour of the specified start time.
Tôi đã xác minh lại tất cả các thông tin trong “Policy Summary” ở cuối trang để đảm bảo rằng tất cả các tùy chọn đã được đặt chính xác.
Tôi đã nhấn vào nút “Create Policy” và ghi nhớ ID của chính sách (policy).
Đây là giao diện sau khi tạo chính sách DLM. Việc thiết lập DLM đã hoàn thành!
Tôi sẽ kiểm tra xem liệu các Snapshot có được tạo ra không trong khoảng thời gian đã chọn.
Xác nhận việc tạo Snapshot
Bước tiếp theo là di chuyển đến menu Snapshots. Sau một thời gian chờ (tối đa 1 giờ) sau khi bạn đã thiết lập chính sách tạo Snapshot ở giai đoạn Policy, các Snapshot sẽ được tạo tự động. Như bạn có thể thấy ở hình dưới đây, các Snapshot cho từng EBS Volume đã được tạo trên EC2! Yaay!!
Ghi chú: Nếu bạn muốn tạo EC2 instance từ Snapshot đã tạo
Nếu bạn muốn tạo một EC2 instance từ các Snapshot đã tạo, tức là bạn muốn khôi phục, bạn có thể tham khảo tài liệu chính thức của AWS ở dưới đây. Tôi đã thử đọc và thực hiện quá trình khôi phục từ Snapshot cho các instance Linux và Windows, và tôi cảm thấy tài liệu này hướng dẫn rất cụ thể từng bước.
Hơn nữa, nếu bạn đang làm việc với EBS Volume mà chưa quyết định định dạng đĩa, tài liệu cũng hướng dẫn cách định nghĩa định dạng đĩa và gắn kết chúng một cách rất tốt. Oh, và điều quan trọng khá rõ ràng là, bạn cần tạo instance từ Snapshot của volume gốc trước, sau đó mới gắn kết các volume bổ sung. Nếu bạn tạo instance từ volume không phải là volume gốc, bạn sẽ gặp sự cố trong quá trình khởi tạo.
Tổng kết
Tôi đã hiểu cách sử dụng DLM để dễ dàng sao lưu EC2. Tuy nhiên, nếu bạn cảm thấy việc tạo AMI từ Snapshot có vẻ phức tạp, bạn cũng có thể xem xét sử dụng opswitch của chúng tôi. Nó cung cấp các tính năng tương tự DLM và bao gồm cả việc tạo AMI cùng với Snapshot.
Sao lưu không phải là lựa chọn mà là bắt buộc đối với hệ thống. Nếu bạn vẫn chưa thiết lập cấu hình sao lưu, tại sao bạn không tạo một chính sách DLM ngay bây giờ? :D
Bình luận