Các nguyên tắc cơ bản về bảo vệ dữ liệu: Cách sao lưu một bucket Amazon S3

Amazon S3 là dịch vụ lưu trữ đám mây đáng tin cậy do Amazon Web Services (AWS) cung cấp. Các tệp được lưu trữ dưới dạng các đối tượng trong các thùng (bucket) Amazon S3. Dịch vụ lưu trữ này được sử dụng rộng rãi để lưu trữ bản sao lưu dữ liệu nhờ độ tin cậy cao của Amazon S3. Khác với Amazon Elastic Block Storage (EBS), nơi dữ liệu dự phòng được lưu trữ trong một vùng sẵn sàng (availability zone), trong Amazon S3, dữ liệu dự phòng được phân tán trên nhiều vùng sẵn sàng.

Nếu một trung tâm dữ liệu trong một vùng không khả dụng, bạn vẫn có thể truy cập dữ liệu trong một vùng khác. Trong một số trường hợp, bạn có thể cần sao lưu dữ liệu được lưu trữ trong các bucket Amazon S3 để tránh mất dữ liệu do lỗi của con người hoặc sự cố phần mềm. Dữ liệu có thể bị xóa hoặc hỏng nếu người dùng có quyền truy cập vào bucket S3 xóa dữ liệu hoặc làm hỏng dữ liệu bằng cách ghi các thay đổi không mong muốn. Sự cố phần mềm cũng có thể gây ra kết quả tương tự.

Sao lưu trực tiếp lên AWS S3 | NAKIVO

Sao lưu trực tiếp lên AWS S3 | NAKIVO

Tránh tình trạng điểm lỗi duy nhất nhờ tích hợp Amazon S3 đơn giản và các tùy chọn chống ransomware dựa trên tính bất biến. Tính năng phân tầng sao lưu tự động và khôi phục tức thì.

Chức năng quản lý phiên bản của Amazon S3

Quản lý phiên bản đối tượng là một tính năng hữu ích trong Amazon S3, giúp bảo vệ dữ liệu của bạn trong một bucket khỏi bị hỏng, ghi đè các thay đổi không mong muốn và xóa bỏ. Khi có thay đổi được thực hiện trên một tệp (được lưu trữ dưới dạng đối tượng trong S3), một phiên bản mới của đối tượng đó sẽ được tạo ra. Nhiều phiên bản của cùng một đối tượng được lưu trữ trong một bucket. Bạn có thể truy cập và khôi phục các phiên bản trước của đối tượng. Nếu đối tượng bị xóa, “dấu hiệu xóa” sẽ được áp dụng cho đối tượng, nhưng bạn có thể đảo ngược hành động này và mở một phiên bản trước của đối tượng trước khi xóa. Tính năng quản lý phiên bản của Amazon S3 có thể được sử dụng mà không cần phần mềm sao lưu S3 bổ sung.

Bạn có thể sử dụng chính sách vòng đời để xác định thời gian lưu trữ các phiên bản trong thùng S3 nhằm tạo ra một hình thức sao lưu Amazon S3. Chi phí bổ sung cho việc lưu trữ các phiên bản thêm sẽ không cao nếu bạn cấu hình chính sách vòng đời đúng cách, và các phiên bản mới sẽ thay thế các phiên bản cũ nhất. Các phiên bản cũ có thể được xóa hoặc chuyển sang lưu trữ tiết kiệm chi phí hơn (ví dụ: lưu trữ lạnh) để tối ưu hóa chi phí.

Cách bật tính năng tạo phiên bản AWS S3

Đăng nhập vào AWS Management Console bằng tài khoản có đủ quyền. Nhấp vào Services và sau đó chọn S3 trong danh mục Storage .

Backup to Amazon S3 – opening the S3 storage page in AWS Management Console

Trong thanh điều hướng, nhấp vào Buckets và chọn thùng S3 cần thiết mà bạn muốn bật tính năng phiên bản. Trong ví dụ này, tôi chọn thùng có tên blog-bucket01 . Nhấp vào tên thùng để mở chi tiết thùng.

Backup to Amazon S3 – selecting a bucket

Mở tab Properties cho thùng đã chọn.

Trong phần Bucket Versioning , nhấp vào Edit.

How to enable AWS S3 versioning

Tính năng phiên bản thùng bị tắt theo mặc định.

Nhấp vào Enable để bật tính năng phiên bản thùng.

Nhấp vào Save Changes.

Một lời nhắc sẽ hiển thị rằng bạn có thể cần cập nhật các quy tắc vòng đời. Đây là bước tiếp theo.

Editing Amazon S3 versioning settings

Thông báo sẽ hiển thị ở đầu trang nếu các thay đổi cấu hình đã được áp dụng: Đã chỉnh sửa thành công tính năng phiên bản thùng .

Quy tắc vòng đời

Để cấu hình các quy tắc vòng đời cho tính năng phiên bản Amazon S3, hãy chuyển đến tab Management trên trang của thùng đã chọn. Trong phần Quy tắc vòng đời , nhấp vào Create lifecycle rule.

How to create a lifecycle rule for a bucket when AWS S3 versioning is enabled

Trang Tạo quy tắc vòng đời sẽ được mở ra.

Lifecycle Rule configuration. Nhập tên quy tắc vòng đời, ví dụ: Vòng đời blog 01 .

Chọn phạm vi quy tắc. Bạn có thể áp dụng bộ lọc để áp dụng quy tắc vòng đời cho các đối tượng cụ thể hoặc áp dụng quy tắc cho tất cả các đối tượng trong bucket. Xác định các thẻ đối tượng để chỉ định các đối tượng cần áp dụng các hành động trong vòng đời. Nhập khóa và giá trị vào các trường tương ứng, sau đó nhấp vào nút Add tag để thêm thẻ hoặc nút Remove để xóa thẻ.

Configuring a lifecycle rule to meet the AWS backup strategy

Lifecycle rule actions. Chọn các hành động mà quy tắc này sẽ thực hiện:

  • Chuyển đổi phiên bản hiện tại của các đối tượng giữa các lớp lưu trữ
  • Chuyển đổi phiên bản trước đó của các đối tượng giữa các lớp lưu trữ
  • Hết hạn phiên bản hiện tại của các đối tượng
  • Xóa vĩnh viễn phiên bản trước đó của các đối tượng
  • Xóa các dấu hiệu xóa đã hết hạn hoặc các tệp tải lên nhiều phần chưa hoàn tất

Using Amazon S3 for backup – configuring lifecycle rule actions

Transition noncurrent versions of objects between storage classes.

Chọn các chuyển đổi lớp lưu trữ và số ngày sau đó các đối tượng trở thành không còn hiện tại.

Trong ví dụ của tôi, các đối tượng được chuyển từ lớp lưu trữ S3 hiện tại sang Standard-IA sau 35 ngày.

Permanently delete previous versions of objects.

Nhập số ngày sau đó các phiên bản trước phải bị xóa. Giá trị này phải lớn hơn số ngày sau đó các đối tượng trở thành không còn hiện hành. Trong ví dụ của tôi, các đối tượng bị xóa vĩnh viễn sau 40 ngày.

Nhấp vào Create Rule để tạo quy tắc vòng đời.

AWS S3 backup – configuring options for a lifecycle rule

Sao chép thùng chứa

Thay vì sử dụng sao lưu tự động của Amazon S3, bạn có thể sao chép thùng chứa sang các khu vực khác. Bạn cần tạo một thùng chứa thứ hai làm thùng chứa đích ở một khu vực khác và tạo quy tắc sao chép. Sau khi tạo quy tắc sao chép, tất cả các thay đổi được thực hiện trong thùng chứa nguồn sẽ tự động được phản ánh trong thùng chứa đích.

Tìm phần Replication rules trong tab Quản lý của thùng chứa nguồn tại và nhấp vào Create replication rule.

S3 bucket replication is an alternative to Amazon S3 backup

Trang Tạo quy tắc sao chép sẽ mở ra.

Nhập tên quy tắc sao chép, ví dụ: Sao chép bucket S3 Blog .

Xác định trạng thái quy tắc khi quy tắc được tạo (enabled hoặc disabled).

Configuring a replication rule for an S3 bucket

Bucket nguồn. Bucket nguồn đã được chọn sẵn ( blog-bucket01 ).

Chọn phạm vi quy tắc. Bạn có thể sử dụng quy tắc sao chép cho tất cả các đối tượng trong bucket hoặc cấu hình bộ lọc và áp dụng quy tắc cho các đối tượng tùy chỉnh.

Đích. Nhập tên bucket đích hoặc nhấp vào Browse S3 và chọn một bucket từ danh sách. Bạn có thể chọn một bucket trong tài khoản này hoặc trong một tài khoản khác. Nếu tính năng phiên bản AWS S3 được bật cho bucket nguồn, tính năng phiên bản đối tượng cũng phải được bật cho bucket đích. Vùng đích sẽ được hiển thị cho bucket đích đã chọn. Amazon S3 bucket replication – selecting a bucket

Cấu hình vai trò Quản lý danh tính và quyền truy cập (IAM), sau đó chọn lớp lưu trữ và các tùy chọn sao chép bổ sung. Nhấp vào Save để lưu cấu hình và tạo quy tắc sao chép cho bucket.

Configuring options for Amazon S3 bucket replication

Sao lưu AWS S3 trong CLI

AWS CLI là giao diện dòng lệnh mạnh mẽ để làm việc với các dịch vụ Amazon khác nhau, bao gồm Amazon S3. Có một lệnh sync hữu ích cho phép bạn sao lưu các thùng chứa Amazon S3 sang một máy Linux bằng cách sao chép tệp từ thùng chứa vào một thư mục cục bộ trên hệ điều hành Linux đang chạy trên một instance EC2.

Một tính năng của lệnh sync trong AWS CLI là các tệp trong hệ thống tệp cục bộ (đích sao lưu Amazon S3) sẽ không bị xóa nếu các tệp này không tồn tại trong thùng chứa S3 nguồn và ngược lại. Điều này rất quan trọng đối với sao lưu AWS S3 vì nếu một số tệp bị xóa nhầm trong thùng S3, các tệp hiện có sẽ không bị xóa trong thư mục cục bộ của máy Linux sau khi đồng bộ hóa.

Ưu điểm:

  • Hỗ trợ các thùng S3 lớn và khả năng mở rộng
  • Hỗ trợ nhiều luồng trong quá trình đồng bộ hóa
  • Khả năng chỉ đồng bộ hóa các tệp mới và đã cập nhật
  • Tốc độ đồng bộ hóa cao nhờ các thuật toán thông minh

Nhược điểm:

  • Hệ điều hành Linux chạy trên một instance EC2 sẽ tiêu tốn dung lượng lưu trữ của các khối lượng EBS. Chi phí lưu trữ cho các khối lượng EBS cao hơn so với các thùng S3.

Các lệnh dành cho Ubuntu Server được sử dụng trong hướng dẫn này.

Đầu tiên, bạn cần cài đặt AWS CLI.

Cập nhật cây kho lưu trữ:

sudo apt-get update

Cài đặt AWS CLI:

sudo apt install awscli

hoặc

Cài đặt unzip:

sudo apt install unzip

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

unzip awscli-exe-linux-x86_64.zip

sudo ./aws/install

Kiểm tra thông tin đăng nhập AWS trên hệ điều hành Linux chạy trên instance EC2 của bạn.

aws configure list

Thêm thông tin đăng nhập để truy cập AWS bằng AWS CLI từ máy chủ Linux nếu thông tin đăng nhập chưa được thiết lập:

aws configure

Nhập các tham số sau:

ID Khóa Truy cập AWS

Khóa Truy cập Bí mật AWS

Tên vùng mặc định

Định dạng đầu ra mặc định

Tạo một thư mục để lưu trữ bản sao lưu Amazon S3 của bạn. Trong ví dụ của tôi, tôi tạo thư mục ~/s3/ để lưu trữ các bản sao lưu S3 và một thư mục con có tên trùng khớp với tên bucket. Các tệp được lưu trữ trong bucket S3 nên được sao chép vào thư mục cục bộ này trên máy Linux. ~ là thư mục chính của người dùng, trong trường hợp của tôi là /home/ubuntu .

mkdir -p ~/s3/your_bucket_name

Thay thế your_bucket_name bằng tên bucket của bạn ( blog-bucket01 trong ví dụ của chúng tôi). mkdir -p ~/s3/blog-bucket01

Đồng bộ hóa nội dung bucket với thư mục cục bộ trên máy chủ EC2 chạy hệ điều hành Linux:

aws s3 sync s3:// blog-bucket01 /home/ubuntu/s3/ blog-bucket01/

Nếu cấu hình thông tin đăng nhập, tên bucket và đường dẫn đích chính xác, dữ liệu sẽ bắt đầu được tải xuống từ bucket S3. Thời gian cần thiết để hoàn tất thao tác phụ thuộc vào kích thước của các tệp trong bucket và tốc độ kết nối internet của bạn.

Sao lưu tự động Amazon S3

Bạn có thể cấu hình các tác vụ sao lưu tự động Amazon S3 bằng lệnh AWS CLI sync. Tạo tệp kịch bản sync.sh để chạy sao lưu AWS S3 (đồng bộ hóa tệp từ thùng S3 sang thư mục cục bộ trên máy chủ Linux của bạn) và sau đó chạy kịch bản này theo lịch trình.

nano /home/ubuntu/s3/sync.sh

#!/bin/sh

# Display the current date and time

echo '-----------------------------'

date

echo '-----------------------------'

echo ''

# Display the script initialization message

echo 'Syncing remote S3 bucket...'

# Running the sync command

/usr/bin/aws s3 sync s3://{BUCKET_NAME} /home/ubuntu/s3/{BUCKET_NAME}/

# Echo "Script execution is completed"

echo 'Sync complete'

Thay thế {BUCKET_NAME} bằng tên thùng S3 mà bạn muốn sao lưu.

Đường dẫn đầy đủ đến aws (tệp nhị phân AWS CLI) được định nghĩa để crontab thực thi ứng dụng aws một cách chính xác trong môi trường shell được crontab sử dụng.

Đặt quyền thực thi cho tập lệnh:

sudo chmod +x /home/ubuntu/s3/sync.sh

Chạy tập lệnh để kiểm tra xem tập lệnh có hoạt động không:

/home/ubuntu/s3/sync.sh

Chỉnh sửa crontab (trình lập lịch trong Linux) của người dùng hiện tại để lên lịch thực thi tập lệnh sao lưu Amazon S3.

crontab -e

Bạn có thể cần chọn một trình soạn thảo văn bản để chỉnh sửa cấu hình crontab.

Định dạng của crontab để lên lịch tác vụ như sau:

m h dom mon dow command

Trong đó: m – phút; h – giờ; dom – ngày trong tháng; dow – ngày trong tuần.

Hãy thêm một dòng cấu hình để tác vụ chạy đồng bộ hóa mỗi giờ và lưu kết quả sao lưu AWS S3 vào tệp nhật ký. Thêm dòng này vào cuối cấu hình crontab.

0 * * * * /home/ubuntu/s3/sync.sh > /home/ubuntu/s3/sync.log

Sao lưu tự động Amazon S3 đã được cấu hình. Tệp nhật ký có thể được sử dụng để kiểm tra việc thực thi các tác vụ đồng bộ hóa.

Kết luận

Có nhiều phương pháp để thực hiện sao lưu Amazon S3 và hai trong số đó đã được đề cập trong bài viết này. Bạn có thể bật tính năng phiên bản đối tượng cho một bucket để lưu giữ các phiên bản trước của đối tượng, điều này cho phép bạn lấy lại các tệp nếu có những thay đổi không mong muốn được ghi vào tệp. Sao chép Amazon S3 là một công cụ gốc khác để tạo bản sao của các tệp được lưu trữ trong một bucket Amazon S3 dưới dạng đối tượng. Trong trường hợp này, các đối tượng được sao chép từ một bucket sang một bucket khác. Bạn cũng có thể tạo bản sao lưu của một bucket Amazon S3 bằng cách sử dụng công cụ đồng bộ hóa trong AWS CLI, cho phép bạn đồng bộ hóa các tệp trong bucket với một thư mục cục bộ trên máy Linux chạy trên một instance EC2. Có thể lên lịch sao lưu tự động Amazon S3 bằng cách sử dụng tập lệnh và crontab.

Nhìn chung, dịch vụ lưu trữ đám mây Amazon S3 rất đáng tin cậy và việc sao lưu lên Amazon S3 là một phương pháp phổ biến. Nếu bạn có chiến lược bảo vệ dữ liệu mã nguồn và chiến lược sao lưu AWS, bạn nên có một bản sao lưu. Trong trường hợp này, bạn nên sao lưu dữ liệu lên Amazon S3 và một vị trí đích khác. Sử dụng NAKIVO Backup & Replication để bảo vệ dữ liệu trên máy vật lý và máy ảo. NAKIVO Backup & Replication là phần mềm sao lưu ảo hóa mạnh mẽ có thể được sử dụng để bảo vệ máy ảo, cũng như các phiên bản Amazon EC2 và máy vật lý.

Hãy thử NAKIVO Backup & Replication

Hãy thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp. Dùng thử miễn phí trong 15 ngày. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

People also read