Khả năng phục hồi sau thảm họa trên nhiều khu vực với tốc độ cao và khả năng đọc trên toàn cầu

với Amazon Aurora Global Database

Trong hướng dẫn này, bạn sẽ tìm hiểu cách triển khai Amazon Aurora Global Database trải rộng trên nhiều khu vực AWS và sao chép dữ liệu của bạn mà không ảnh hưởng đến hiệu năng. Aurora Global Database cung cấp tính năng phục hồi sau thảm họa từ các sự cố ngừng hoạt động trên toàn khu vực và cho phép khả năng đọc trên toàn cầu.

Amazon Aurora là một cơ sở dữ liệu quan hệ tương thích với MySQL và PostgreSQL, kết hợp hiệu năng và tính khả dụng của cơ sở dữ liệu doanh nghiệp truyền thống cùng với sự đơn giản và khả năng tiết kiệm chi phí của cơ sở dữ liệu mã nguồn mở.

Aurora Global Database bao gồm một khu vực AWS sơ cấp — nơi Dữ liệu của bạn được quản lý — và nhiều khu vực AWS thứ cấp chỉ đọc nơi dữ liệu được sao chép. Bản ghi của bạn đi đến cơ sở dữ liệu sơ cấp, nhưng bạn có thể đọc từ bất kỳ khu vực nào và được hưởng lợi từ độ trễ thấp.

Hướng dẫn này sẽ sử dụng Amazon Aurora tương thích với MySQL. Hướng dẫn này không nằm trong bậc miễn phí, nhưng bạn sẽ chỉ phải trả chưa đến 1 USD với điều kiện là làm theo các bước trong hướng dẫn và ngừng sử dụng các tài nguyên khi hướng dẫn này kết thúc.

Điều kiện tiên quyết

Một cụm Amazon Aurora DB bao gồm một hoặc nhiều phiên bản DB và một khối cụm quản lý dữ liệu cho các phiên bản DB đó. Khối cụm Aurora là một khối lưu trữ cơ sở dữ liệu ảo bao gồm nhiều Vùng sẵn sàng, với mỗi Vùng sẵn sàng có một bản sao của dữ liệu cụm DB. Hai loại phiên bản DB tạo thành cụm Aurora DB: phiên bản DB sơ cấp, hỗ trợ các hoạt động đọc và ghi và Bản sao Aurora, kết nối với cùng một khối lưu trữ như phiên bản DB sơ cấp và chỉ hỗ trợ các hoạt động đọc. Mỗi cụm Aurora DB có thể có tối đa 15 Bản sao Aurora nằm trong các Vùng sẵn sàng riêng biệt. Aurora tự động chuyển đổi dự phòng sang Bản sao Aurora trong trường hợp phiên bản DB sơ cấp không khả dụng.

Trong hướng dẫn này, bạn sẽ tạo một Aurora Global Database với một cụm sơ cấp trong một khu vực và một cụm thứ cấp ở một khu vực khác. Bạn có thể lựa chọn khu vực để sử dụng. Bạn nên có một ứng dụng ở mỗi khu vực bạn sẽ sử dụng. Ví dụ: nếu Aurora Global Database của bạn có một cụm sơ cấp ở us-east-1 và cụm thứ cấp ở eu-west-3, bạn nên có một phiên bản ở us-east-1 và một phiên bản khác ở eu-west-3 .

Ngoài ra, nếu bạn muốn tiết kiệm thời gian, đối với mỗi khu vực đó, bạn có thể tạo Nhóm bảo mật cho phép kết nối đến từ các phiên bản của bạn. Ví dụ: bạn có thể tạo một nhóm bảo mật với quy tắc gửi đến của loại MYSQL/Aurora cho phép các kết nối TCP trên cổng 3306 từ nhóm bảo mật của các phiên bản của bạn.

Cuối cùng, để kiểm tra Aurora Global Database (xem Bước 8), bạn sẽ cần một máy khách MySQL. Nếu các phiên bản ứng dụng của bạn đang chạy Amazon Linux, việc cài đặt máy khách MySQL có thể đơn giản như chạy sudo yum cài đặt mysql, nhưng lệnh chính xác phụ thuộc vào HĐH bạn đang chạy. Nếu bạn đang chạy Windows, bạn có thể tải xuống MySQL workbench thay thế.

Giới thiệu về hướng dẫn này
Thời gian 10 phút                                           
Chi phí Dưới 1 USD
Trường hợp sử dụng Cơ sở dữ liệu
Sản phẩm Amazon Aurora, Amazon RDS
Đối tượng Quản trị viên cơ sở dữ liệu, nhà phát triển
Cấp độ Trung cấp
Lần cập nhật gần nhất Ngày 3 tháng 6 năm 2019

Bước 1: Truy cập vào bảng điều khiển Amazon RDS

1.1 — Mở trình duyệt rồi chuyển đến bảng điều khiển Amazon RDS. Nếu bạn đã có tài khoản AWS, hãy đăng nhập vào bảng điều khiển. Nếu không có, hãy tạo một tài khoản AWS mới để bắt đầu.

1.2 — Ở góc trên cùng bên phải, hãy chọn khu vực bạn muốn khởi chạy cụm CSDL Aurora sơ cấp. Đối với mục đích của hướng dẫn này, chúng tôi sẽ sử dụng us-east-1 làm khu vực sơ cấp và eu-west-1 làm khu vực thứ cấp.

1.3 — Nhấp vào mục “Tạo cơ sở dữ liệu” trong cửa sổ Amazon Aurora.

1.4 — Cuộn xuống và nhấp vào “Hãy thử ngay” trong cửa sổ Aurora Global Database. Nếu bạn không thấy tùy chọn “Hãy thử ngay”, hãy nhấp vào đây.

Bước 2: Tùy chọn công cụ

2.1 — Trong loại Công cụ, hãy chọn “Amazon Aurora”.

2.2 — Trong phần Ấn bản, hãy chọn “Amazon Aurora tương thích MySQL”.

2.3 — Trên Phiên bản, chọn phiên bản MySQL mới nhất.

2.4 — Trong phần Vị trí cơ sở dữ liệu, hãy chọn “Toàn cầu”.

2.5 — Chọn mẫu “Sản xuất”.

Bước 3: Cài đặt cơ sở dữ liệu toàn cầu

3.1 — Đối với định danh Cơ sở dữ liệu toàn cầu, hãy nhập “global-database-1”.

Bước 4: Cài đặt khu vực sơ cấp

4.1 — Đối với kích cỡ của phiên bản DB, hãy chọn phiên bản cỡ lớn (có đuôi .large).

4.2 — Đối với Độ khả dụng & độ bền, hãy chọn “Không tạo Bản sao Aurora”.

Lưu ý rằng nên có Bản sao Aurora cho các môi trường sản xuất, vì nó cho phép bạn mở rộng quy mô đọc và cung cấp cho bạn các chuyển đổi dự phòng tự động trong cùng khu vực với cơ sở dữ liệu sơ cấp của bạn. Trong hướng dẫn này, chúng tôi không thêm Bản sao Aurora để cho bài tập được đơn giản.

Bước 5: Kết nối

5.1 — Chọn VPC nơi bạn muốn tạo cơ sở dữ liệu.

Lưu ý rằng một khi được tạo, cơ sở dữ liệu không thể được di chuyển sang một VPC khác.

5.2 — Nhấp vào “Cấu hình kết nối bổ sung”.

5.3 — Chọn giá trị mặc định cho nhóm Mạng con.

5.4 — Trong phần Truy cập công khai, hãy chọn “Không”.

Tức là bạn sẽ phải kết nối với cơ sở dữ liệu từ phiên bản EC2 trong cùng VPC.

5.5 — Trong phần Nhóm bảo mật VPC, hãy chọn “Tạo mới”. Nếu thấy nhóm bảo mật cho phép các kết nối TCP đến trên cổng 3306 thì bạn có thể chọn nhóm đó.

5.6 — Trong phần Tên nhóm bảo mật VPC mới, hãy nhập “global-database”.

5.7 — Để giá trị mặc định cho cổng Cơ sở dữ liệu.

Bước 6: Cấu hình bổ sung

6.1 — Giữ nguyên các giá trị mặc định cho các tùy chọn Cơ sở dữ liệu, Sao lưu, Giám sát, Xuất nhật ký, Bảo trì và Chống xóa.

6.2 — Nhấp vào “Tạo cơ sở dữ liệu”.

Trong thời gian chờ hệ thống tạo các phiên bản, bạn sẽ thấy một biểu ngữ giải thích cách lấy thông tin đăng nhập của bạn. Bạn có thể tận dụng lúc này để lưu thông tin đăng nhập, vì đây là cơ hội duy nhất bạn có thể xem mật khẩu này.

6.3 — Nhấp vào “Xem chi tiết thông tin đăng nhập”.

6.4 — Lưu tên người dùng và mật khẩu.

Bước 7: Thêm một khu vực thứ cấp

7.1 — Chọn “global-database-1”.

7.2 — Nhấp vào “Hành động > Thêm một khu vực”.

7.3 — Từ trình đơn thả xuống, chọn một khu vực.

7.4 — Lặp lại các bước 4.1 đến 5.7.

7.5 — Nhấp vào “Thêm khu vực”.

Khi cơ sở dữ liệu trở nên khả dụng, hãy chuyển sang bước 8.

Bước 8: Kiểm tra Aurora Global Database

8.1 — Nhấp vào cơ sở dữ liệu sơ cấp.

8.2 — Sao chép điểm cuối trình ghi dữ liệu.

Mở hai cửa sổ thiết bị đầu cuối, đăng nhập vào các phiên bản của bạn trong các khu vực sơ cấp và thứ cấp, và sử dụng máy khách dòng lệnh mysql để kết nối với cơ sở dữ liệu.

Bây giờ, bạn có thể tạo cơ sở dữ liệu, tạo bảng hoặc ghi một số bản ghi. Tất cả mọi thứ bạn viết vào cụm sơ cấp sẽ được sao chép trong cụm thứ cấp.

8.3 — Kết nối với cơ sở dữ liệu sơ cấp:

$ mysql -h endpoint -P 3306 -u admin -p

Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu bạn đã lưu ở bước 6.6.

8.4 — Tạo cơ sở dữ liệu và ghi một số dữ liệu.

mysql> CREATE database tutorial;
Query OK, 1 row affected (0.01 sec)

Lúc này, bạn có thể sử dụng cơ sở dữ liệu trong hướng dẫn, tạo bảng và thêm một số bản ghi.

8,5 — Đi đến khu vực thứ cấp.

8.6 — Nhấp vào cơ sở dữ liệu thứ cấp.

8.7 — Sao chép đầu cuối trình đọc dữ liệu.

8.8 — Kết nối với cơ sở dữ liệu thứ cấp:

$ mysql -h endpoint -P 3306 -u admin -p

Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu bạn đã lưu ở bước 6.6.

8.9 — Đọc một số dữ liệu:

mysql> USE tutorial;
Cơ sở dữ liệu đã thay đổi

Bây giờ bạn có thể xác minh rằng cơ sở dữ liệu đã được sao chép sang cơ sở dữ liệu thứ cấp. Nếu bạn đã tạo một bảng, bạn có thể ghi vào cụm sơ cấp và đọc dữ liệu từ cụm thứ cấp.

Bước 9: Chuyển đổi dự phòng sang khu vực thứ cấp

Mặc dù cụm Aurora mặc định cung cấp cho bạn khả năng chuyển đổi dự phòng trong khu vực, Aurora Global Database cho phép bạn chuyển đổi dự phòng sang cụm thứ cấp ở một khu vực khác. Điều đó có nghĩa là cơ sở dữ liệu của bạn tồn tại ngay cả khi toàn bộ khu vực không khả dụng.

Thực hiện chuyển đổi dự phòng cho Aurora Global Database bao gồm xóa cụm thứ cấp khỏi cơ sở dữ liệu toàn cầu ban đầu—do đó biến nó trở lại thành cụm khu vực với khả năng đọc ghi đầy đủ—, sau đó sử dụng nó làm cụm sơ cấp trong Aurora Global Database mới.

Bạn có thể tự thực hiện chuyển đổi dự phòng bằng cách làm theo các hướng dẫn bên dưới.

9.1 — Dừng ghi vào cơ sở dữ liệu sơ cấp.

9.2 — Chọn cụm thứ cấp.

9.3 — Nhấp vào “Hành động > Xóa khỏi Toàn cầu”.

9.4 — Xác nhận bằng cách nhấp vào “Xóa và nâng cấp”.

9.5 — Định cấu hình ứng dụng của bạn để ghi vào cụm vừa được nâng cấp.

9.6 — Vẫn ở khu vực thứ cấp, chọn Cụm khu vực.

9.7 — Nhấp vào “Hành động > Tạo cơ sở dữ liệu toàn cầu”.

9.8 — Từ trình đơn thả xuống, chọn một khu vực.

9.9 — Lặp lại các bước 4.1 đến 5.7.

Bước 10: Dọn dẹp

Để hoàn thành hướng dẫn này, bạn sẽ xóa Aurora Global Database của bạn. Bạn có thể giữ nó, nhưng lưu ý rằng bạn sẽ phải chịu phí.

Để xóa Aurora Global Database, hãy đi đến Bảng thông tin RDS và làm theo những chỉ dẫn sau:

10.1 — Chọn “Cơ sở dữ liệu” ở bảng bên trái.

Sau khi chọn, bạn sẽ thấy danh sách gồm tất cả các cụm Aurora DB của mình.

10.2 — Chọn một phiên bản cơ sở dữ liệu toàn cầu.

10.3 — Nhấp vào “Hành động > Xóa”.

10.4 — Bạn sẽ được hỏi có muốn tạo bản sao lưu cuối cùng không. Đây thường là ý hay nhưng lại không cần thiết trong hướng dẫn này. Chọn “Không” và nhấp vào “Xóa”.

10.5 — Chọn một cụm cơ sở dữ liệu toàn cầu.

10.6 — Nhấp vào “Hành động > Xóa khỏi Toàn cầu”.

10.7 — Xác nhận bằng cách nhấp vào “Xóa khỏi toàn cầu”.

10.8 — Chọn một Cụm cơ sở dữ liệu khu vực.

10.9 — Nhấp vào “Hành động > Xóa”.

10.10 — Bạn sẽ được hỏi có muốn tạo bản một bản kết xuất nhanh cuối cùng hay không. Đây thường là ý hay nhưng lại không cần thiết trong hướng dẫn này. Chọn “Không” và nhấp vào “Xóa cụm DB”.

10.11 — Chuyển đến khu vực thứ cấp và thực hiện các bước 10.1 đến 10.9.

10.12 — Chọn cơ sở dữ liệu toàn cầu.

10.13 — Nhấp vào “Hành động > Xóa”.

10.14 — Xác nhận bằng cách nhập vào “xóa tôi” và nhấp vào “Xóa”.

Trạng thái của cụm sẽ chuyển thành “Đang xóa”.

Xin chúc mừng

Bạn đã tạo một Aurora Global Database với tính năng sao chép giữa các khu vực. Bạn đã học cách mở rộng quy mô đọc sang các khu vực khác để hưởng lợi từ độ trễ thấp hơn và bạn đã thực hiện chuyển đổi dự phòng sang khu vực thứ cấp.

Hướng dẫn này có hữu ích không?