Bài này chúng ta sẽ tìm hiểu về cách nhân rộng(Replication) nhiều vùng trong Amazon Web Services, trước khi chúng ta bắt đầu sử dụng AWS một cách dễ dàng hơn qua các ví dụ cụ thể.

1. Nhân rộng, sao chép một vùng nào đó

  • Sao chép vùng(Cross Region Replication) là một tính năng sao chép dữ liệu từ nhóm(bucket) này sang nhóm(bucket) khác có thể ở một vùng khác.
  • Nó cung cấp sao chép không đồng bộ các đối tượng trên các nhóm(buckets). Giả sử X là nhóm nguồn và Y là nhóm đích. Nếu X muốn sao chép các đối tượng của nó vào nhóm Y, thì các đối tượng đó không được sao chép ngay lập tức.

2. Một số điểm cần ghi nhớ đối với Nhân rộng Vùng nào đó

  • Tạo hai nhóm: Tạo hai nhóm trong Bảng điều khiển quản lý AWS, trong đó một nhóm là nhóm nguồn và một nhóm là nhóm đích.
  • Bật lập phiên bản: Chỉ có thể triển khai Nhân rộng Vùng khi kích hoạt phiên bản của cả hai nhóm.
  • Amazon S3 mã hóa dữ liệu đang chuyển qua các vùng AWS bằng SSL: Nó cũng cung cấp bảo mật khi dữ liệu truyền qua các vùng khác nhau.
  • Các đối tượng đã được tải lên sẽ không được sao chép: Nếu bất kỳ loại dữ liệu nào đã tồn tại trong nhóm, thì dữ liệu đó sẽ không được sao chép khi bạn thực hiện sao chép vùng khác.

3. Các trường hợp sử dụng của Nhân rộng Vùng

  • Yêu cầu về Tuân thủ
    Theo mặc định, Amazon S3 lưu trữ dữ liệu trên các khu vực địa lý hoặc khu vực khả dụng khác nhau để có dữ liệu sẵn có. Đôi khi có thể có các yêu cầu tuân thủ mà bạn muốn lưu trữ dữ liệu ở một số khu vực cụ thể. Nhân rộng vùng cho phép bạn sao chép dữ liệu tại một số vùng cụ thể để đáp ứng các yêu cầu.
  • Giảm thiểu độ trễ
    Giả sử khách hàng của bạn ở hai vùng địa lý. Để giảm thiểu độ trễ, bạn cần duy trì các bản sao dữ liệu trong khu vực AWS gần với người dùng hơn về mặt địa lý.
  • Duy trì các bản sao đối tượng dưới quyền sở hữu khác nhau: Bất kể ai sở hữu nhóm nguồn, bạn có thể yêu cầu Amazon S3 thay đổi quyền sở hữu cho người dùng tài khoản AWS sở hữu nhóm đích. Đây được gọi là tùy chọn ghi đè chủ sở hữu.

4. Chúng ta hãy hiểu khái niệm về Nhân rộng Vùng qua một ví dụ.

  • Đăng nhập vào Bảng điều khiển quản lý AWS.
  • Bây giờ, chúng ta tải lên các tệp trong jtpbucket . Jtpbucket là một nhóm s3 do chúng ta tạo ra.
  • Thêm các tệp vào một nhóm.
  • Bây giờ, chúng ta thêm hai tệp trong một nhóm, tức là version.txt và download.jpg.
  • Bây giờ, chúng ta tạo một nhóm mới có tên là jtp1bucket với một nhóm khác.

Bây giờ, chúng ta có hai nhóm, tức là, jtpbucket và jtp1bucket trong s3.

  • Nhấp vào jtpbucket và sau đó chuyển đến Quản lý của jtpbucket .
  • Nhấp vào Bản sao(Replication) . Khi nhấp vào, màn hình xuất hiện như hình dưới đây:
  • Bấm vào nút Bắt đầu(Get started).
  • Cho phép lập phiên bản của cả hai nhóm.
  • Bạn có thể sao chép toàn bộ nhóm hoặc các thẻ vào nhóm đích. Giả sử bạn muốn sao chép toàn bộ nhóm và sau đó nhấp vào Tiếp theo(Next).
  • Nhập nhóm đích của bạn, tức là jtp1bucket.
  • Tạo một vai trò IAM mới và tên vai trò là S3CRR và sau đó nhấp vào Tiếp theo(next).
  • Sau khi lưu cài đặt, màn hình xuất hiện như hình dưới đây:

Màn hình trên cho thấy rằng bản sao vùng khác đã được cập nhật thành công. Chúng ta cũng có thể thấy nhóm nguồn và đích với các quyền liên quan của chúng.

  • Bây giờ, chúng ta sẽ xem liệu các tệp đã được sao chép từ jtpbucket sang jtp1bucket hay chưa. Nhấp vào jtp1bucket .

Màn hình trên cho thấy rằng nhóm rỗng. Do đó, chúng ta có thể nói rằng các đối tượng không tự động sao chép từ nhóm này sang nhóm khác, chúng ta có thể sao chép chỉ bằng cách sử dụng AWS CLI (Giao diện dòng lệnh). Để sử dụng AWS CLI, bạn cần cài đặt công cụ CLI.

  • Sau khi cài đặt, mở cmd và gõ aws configure .
  • Bây giờ, chúng ta cần tạo Key ID truy cập là tên người dùng và khóa truy cập bí mật là mật khẩu. Để đạt được điều này, trước tiên chúng ta cần tạo Nhóm IAM.
  • Đặt Tên nhóm, tức là cafedevn.
  • Kiểm tra chính sách AdministratorAccess để truy cập bảng điều khiển AWS thông qua AWS CLI.
  • Bây giờ, hãy tạo Người dùng IAM.
  • Thêm tên người dùng với quyền truy cập.
  • Thêm người dùng vào một nhóm, tức là cafedevn.
  • Cuối cùng, người dùng được tạo.

Từ màn hình trên, chúng ta thấy rằng khóa truy cập và khóa truy cập scret đã được tạo.

  • Sao chép khóa truy cập và khóa truy cập bí mật vào cmd.
  • Để xem các nhóm S3, hãy chạy lệnh aws s3 ls .
  • Để sao chép các đối tượng của jtpbucket sang jtp1bucket, hãy chạy lệnh aws s3 cp?recursive s3://jtpbucket s3://jtp1bucket.

Màn hình trên cho thấy rằng các đối tượng của jtpbucket đã được sao chép vào jtp1bucket .

  • Nhấp vào “jtp1bucket” .

Từ màn hình trên, chúng ta nhận thấy rằng tất cả các tệp trong nhóm ban đầu đã được sao chép sang một nhóm khác, tức là jtp1bucket.

Lưu ý: Nếu có thêm bất kỳ thay đổi nào được thực hiện trong nhóm ban đầu sẽ luôn được sao chép vào nhóm đã sao chép của nó.

5. Những điểm quan trọng cần ghi nhớ:

  • Phiên bản phải được bật trên cả nhóm nguồn và nhóm đích.
  • Các vùng của cả hai nhóm phải là duy nhất.
  • Tất cả các tệp trong nhóm gốc không được sao chép tự động và chúng có thể được sao chép thông qua AWS CLI. Tất cả các tệp tiếp theo được sao chép tự động.
  • Các tệp trong một tệp không thể được sao chép sang nhiều nhóm.
  • Xóa điểm đánh dấu không được sao chép.
  • Xóa phiên bản hoặc Xóa điểm đánh dấu không được sao chép.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!