[TIP] Cách chuyển dữ liệu Amazon S3 sang Glacier

Amazon S3 là một giải pháp lưu trữ đám mây từ Amazon cung cấp dung lượng lưu trữ vô hạn với mức giá tương đối thấp. Hiện tại, tôi đang sử dụng nó để giữ một bản sao lưu của thiết bị NAS (lưu trữ gắn mạng) cục bộ của mình. Tuy nhiên, Amazon S3 không phải là lựa chọn tốt nhất để lưu trữ một lượng lớn dữ liệu mà bạn sẽ không truy cập thường xuyên.

Amazon Glacier là một giải pháp do Amazon cung cấp giúp giảm đáng kể chi phí lưu trữ lượng lớn dữ liệu trên đám mây Ví dụ, lưu trữ 2500 GB dữ liệu trên S3 tốn khoảng 215 đô/ mỗi tháng. Tốn khá nhiều tiền chỉ riêng cho việc sao lưu dữ liệu. Tuy nhiên, việc lưu trữ 2500 GB trên Amazon Glacier sẽ chỉ mất 25 đô/ mỗi tháng, gần 1/10 chi phí so với S3.

Vậy làm thế nào để bạn chuyển dữ liệu từ Amazon S3 sang Glacier? Sử dụng Lifecycle Policies. Về cơ bản, các chính sách này chỉ là các quy tắc mà bạn có thể thiết lập để di chuyển dữ liệu từ S3 sang Glacier vào những thời điểm cụ thể. Hãy cùng tìm hiểu cách tạo ra Lifecycle Policies.

Tạo Lifecycle Policies trên Amazon S3

 Để bắt đầu, trước tiên hãy đăng nhập vào Amazon Web Services (aws.amazon.com) và nhấp vào My Account/Console ở trên cùng. Sau đó bấm vào AWS Management Console.

Bây giờ từ danh sách các dịch vụ Web của Amazon được liệt kê, hãy tiếp tục nhấp vào S3.

Tiếp theo, nhấp vào tên nhóm chứa dữ liệu bạn muốn chuyển sang Glacier. Lưu ý, bạn có thể chuyển toàn bộ nhóm, chỉ các thư mục hoặc các tệp cụ thể.

Khi bạn mở một thùng nén, bạn sẽ thấy nội dung của thùng nén ở phía bên tay trái. Nhấp vào Properties ở trên cùng bên phải để mở cài đặt cho nhóm đó.

Ở phía dưới, bạn sẽ thấy Lifecycle. Hãy mở rộng Lifecycle để xem các quy tắc hiện tại của bạn, nếu có. Tôi đã có một thiết lập đã chuyển mọi thứ trong thùng nén sang Glacier sau khi nó được tải lên S3.

Để thiết lập quy tắc mới, hãy tiếp tục nhấp vào Add rule. Hộp thoại quy tắc Lifecycle mới sẽ bật lên như hiển thị bên dưới.

Bây giờ hãy để điểm qua các tùy chọn khác nhau. Đầu tiên, bạn có thể đặt cho nó một cái tên, có thể là bất cứ điều gì bạn thích. Hộp kiểm Apply to Entire Bucket áp dụng quy tắc cho tất cả các tệp và thư mục bên trong nhóm thùng nén. Nếu bạn muốn di chuyển một phần dữ liệu nhất định sang Glacier và để phần còn lại trong S3, thì đừng chọn hộp.

Thay vào đó, bạn có thể nhập Prefix, là tên của tệp hoặc thư mục bạn muốn di chuyển đến Glacier. Ví dụ: nếu tôi muốn chuyển thư mục nhạc trong nhóm của mình sang Glacier, tôi sẽ nhập music/ vào hộp Prefix. Để chỉ định một tệp, bạn nhập vào đường dẫn như music/mymusic.mp3.

Tiếp theo là Time Period Format. Bạn có thể chọn từ Days from the creation date hoặc Effective from date. Tùy chọn này cho phép bạn chọn khi bạn muốn các đối tượng bạn đã chỉ định được chuyển vào Glacier.

Nếu bạn chọn Days from the creation date, bạn có thể nói rằng bạn muốn di chuyển dữ liệu sang Glacier sau 10 ngày. Điều này có nghĩa là khi tệp là dữ liệu được tải lên lần đầu tiên lên S3, nó sẽ được chuyển đến Glacier sau 10 ngày được tạo.

Có hiệu lực từ date sẽ cho phép bạn chỉ định một ngày trong tương lai dữ liệu sẽ được chuyển đến Glacier. Bạn phải nhấp vào nút Add Transition để chỉ định khoảng thời gian. Ảnh chụp màn hình của tôi thông tin “Move to Glacier”, nhưng đó là vì tôi đã tạo ra một quy tắc.

Khi bạn nhấp vào Add Transition, bạn có thể nhập số ngày hoặc ngày. Lưu ý, nếu bạn nhập 0 cho số ngày, thì dữ liệu sẽ được di chuyển ngay lập tức vào lần tiếp theo quy tắc được chạy.

Ngoài ra còn có nút Expiration, nhưng hãy cẩn thận với điều này. Tùy thuộc vào những gì bạn đã chọn từ Time Period Format, bạn có thể chỉ định một số ngày hoặc ngày cụ thể trong tương lai.

Thêm expiration có nghĩa là dữ liệu sẽ bị xóa sau thời gian bạn chỉ định. Điều quan trọng cần nhớ là nó sẽ bị xóa khỏi S3, RRS và Glacier. Về cơ bản, nó hoàn toàn biến mất nếu bạn chọn thêm hết hạn.

Nếu bạn không thêm expiration, dữ liệu sẽ luôn ở trong Glacier và không bị xóa. Khi bạn lưu quy tắc, quy tắc sẽ được chạy mỗi ngày một lần. Nếu quy tắc của bạn phù hợp với tiêu chí bạn đã chỉ định, dữ liệu sẽ được chuyển.

Có một vài điều cần lưu ý về quá trình này. Đầu tiên, bạn có thể cho biết dữ liệu của bạn đã được chuyển đến Glacier bằng cách kiểm tra Storage Class. Nếu nó là Standard, đó là S3. Nếu nó là RRS, đó là Reduced Redundancy. Lớp thứ ba là Glacier, có nghĩa là nó hiện được lưu trữ ở đó.

Một điều cần lưu ý là khi bạn di chuyển dữ liệu từ S3 sang Glacier, bạn vẫn phải truy cập nó từ S3. Nếu bạn tải dữ liệu trực tiếp lên Glacier, nó sẽ hiển thị trong bảng điều khiển Glacier khi bạn đăng nhập vào AWS.

Tuy nhiên, di chuyển dữ liệu bằng quy tắc Lifecycle có nghĩa là dữ liệu sẽ được lưu trữ trong Glacier và bạn sẽ phải trả giá cho Glacier, nhưng bạn sẽ phải truy cập dữ liệu từ bảng điều khiển S3. Hơi khó hiểu, nhưng đây là cách thức hoạt động của nó.

Truy xuất dữ liệu từ Glacier

Việc lấy lại dữ liệu từ Glacier cũng khá đơn giản. Điều cần nhớ về Glacier là dữ liệu không thể truy cập ngay lập tức như trong S3. Với S3, bạn có thể tải xuống bất kỳ tệp nào bất cứ lúc nào. Nhưng đối với Glacier, bạn phải đợi khoảng 3 đến 5 giờ dữ liệu mới được lấy và đưa trở lại vào S3. Đó cũng là lý do nó rẻ hơn rất nhiều.

Để khôi phục, chọn tệp hoặc thư mục bạn muốn truy xuất và sau đó nhấp chuột phải vào tệp. Bạn sẽ thấy một tùy chọn Initiate Restore.

Nếu tùy chọn bị tắt, điều đó có nghĩa là tệp không được lưu trữ trong Glacier. Khi bạn khôi phục, bạn sẽ phải chọn thời gian bạn muốn dữ liệu có thể truy cập được trong S3.

Lưu ý, các tệp được khôi phục vào lớp lưu trữ S3 RRS (Redened Redundancy) rẻ hơn so với S3 Standard. Bạn không thể khôi phục dữ liệu vĩnh viễn, cuối cùng nó sẽ bị xóa.

Tôi không chắc chắn giá trị lớn nhất bạn có thể nhập trong nhiều ngày để giữ dữ liệu, nhưng nó không phải là mãi mãi. Ngoài ra, bạn phải trả phí cao hơn khi dữ liệu nằm trong lớp lưu trữ RRS lâu hơn, vì vậy, nó tốt hơn để giữ trong thời gian ngắn.

Để xem trạng thái phục hồi, chỉ cần nhấp vào tệp hoặc thư mục bạn đã khôi phục và nhấp vào Properties. Nó sẽ thông báo Restoration in Progress. Khi quá trình khôi phục hoàn tất và bạn nhấp lại vào Properties, bạn sẽ thấy ngày khôi phục sẽ được giữ lại.

Tóm lại, việc lấy dữ liệu từ S3 sang Glacier là rất dễ dàng. Chỉ cần tạo một quy tắc và thế là xong. Di chuyển dữ liệu sang Glacier là tiết kiệm lớn nếu bạn có nhiều dữ liệu trên S3. Nếu bạn có bất kỳ câu hỏi, xin để lại bình luận ngay bên dưới nhé!