Môi trường đa đám mây là một lựa chọn tốt cho Kế hoạch khôi phục sau thảm họa (DRP), nhưng nó có thể là một nhiệm vụ tốn thời gian vì bạn cần định cấu hình kết nối giữa các nhà cung cấp đám mây khác nhau và bạn sẽ sau đó cần triển khai và quản lý cụm cơ sở dữ liệu của bạn ở hai nơi khác nhau.
Trong blog này, chúng tôi sẽ hướng dẫn cách thực hiện triển khai đa đám mây cho PostgreSQL tại hai trong số các nhà cung cấp đám mây phổ biến nhất tại thời điểm này, AWS và Google Cloud. Đối với nhiệm vụ này, chúng tôi sẽ sử dụng một số tính năng mà ClusterControl có thể cung cấp cho bạn, chẳng hạn như Chia tỷ lệ và Sao chép cụm-thành-cụm.
Chúng tôi sẽ giả sử bạn đang chạy cài đặt ClusterControl và đã tạo hai tài khoản nhà cung cấp dịch vụ đám mây khác nhau.
Chuẩn bị Môi trường đám mây của bạn
Trước tiên, bạn cần tạo môi trường trong Nhà cung cấp đám mây chính của mình. Trong trường hợp này, chúng tôi sẽ sử dụng AWS với 2 nút PostgreSQL:
Đảm bảo rằng bạn có lưu lượng SSH và PostgreSQL được phép từ máy chủ ClusterControl của mình bằng cách chỉnh sửa Nhóm bảo mật của bạn:
Sau đó, chuyển đến Nhà cung cấp đám mây phụ và tạo ít nhất một máy ảo đó sẽ là nút nô lệ. Chúng tôi sẽ sử dụng Nền tảng đám mây của Google với 1 nút PostgreSQL.
Và một lần nữa, hãy đảm bảo rằng bạn đang cho phép lưu lượng truy cập SSH và PostgreSQL từ ClusterControl của mình máy chủ:
Trong trường hợp này, chúng tôi cho phép lưu lượng truy cập mà không có bất kỳ hạn chế nào về nguồn , nhưng nó chỉ là một ví dụ và nó không được khuyến khích trong cuộc sống thực.
Triển khai Cụm PostgreSQL trên Đám mây
Chúng tôi sẽ sử dụng ClusterControl cho tác vụ này, vì vậy chúng tôi giả sử bạn đã cài đặt nó.
Đi tới máy chủ ClusterControl của bạn và chọn tùy chọn “Triển khai”. Nếu bạn đã có một phiên bản PostgreSQL đang chạy, thì thay vào đó bạn cần chọn “Nhập máy chủ / cơ sở dữ liệu hiện có”.
Khi chọn PostgreSQL, bạn phải chỉ định Người dùng, Khóa hoặc Mật khẩu và cổng để kết nối bằng SSH với các nút PostgreSQL của bạn. Bạn cũng cần tên cho cụm mới của mình và nếu bạn muốn ClusterControl cài đặt phần mềm và cấu hình tương ứng cho bạn.
Vui lòng kiểm tra các yêu cầu của người dùng ClusterControl để biết thêm thông tin về bước này.
Sau khi thiết lập thông tin truy cập SSH, bạn phải xác định người dùng cơ sở dữ liệu, phiên bản và datadir (tùy chọn). Bạn cũng có thể chỉ định kho lưu trữ nào sẽ sử dụng. Trong bước tiếp theo, bạn cần thêm máy chủ của mình vào cụm mà bạn sẽ tạo.
Khi thêm máy chủ, bạn có thể nhập IP hoặc tên máy chủ. Trong bước này, bạn cũng có thể thêm nút được đặt trong Nhà cung cấp đám mây thứ cấp, vì ClusterControl không có bất kỳ giới hạn nào về mạng được sử dụng, nhưng để làm rõ hơn, chúng tôi sẽ thêm nó vào phần tiếp theo. Yêu cầu duy nhất ở đây là có quyền truy cập SSH vào nút.
Trong bước cuối cùng, bạn có thể chọn xem bản sao của mình sẽ là Đồng bộ hay Không đồng bộ.
Trong trường hợp bạn đang thêm nút từ xa của mình tại đây, điều quan trọng là phải sử dụng Sao chép không đồng bộ, nếu không, cụm của bạn có thể bị ảnh hưởng bởi độ trễ hoặc sự cố mạng.
Bạn có thể theo dõi trạng thái tạo trong trình theo dõi hoạt động ClusterControl.
Khi nhiệm vụ hoàn thành, bạn có thể thấy cụm PostgreSQL mới của mình trong màn hình ClusterControl chính.
Thêm Nút Nô lệ Từ xa trong Đám mây
Khi bạn đã tạo cụm của mình, bạn có thể thực hiện một số tác vụ trên đó, chẳng hạn như triển khai / nhập bộ cân bằng tải hoặc nút phụ nhân bản.
Đi tới hành động cụm và chọn “Thêm nô lệ sao chép”:
Hãy sử dụng tùy chọn “Thêm nô lệ sao chép mới” vì chúng tôi đang giả định rằng nút từ xa là một cài đặt mới, nếu không, bạn có thể sử dụng tùy chọn “Nhập mô hình nhân bản hiện có”.
Tại đây, bạn chỉ cần chọn máy chủ Chính của mình, nhập địa chỉ IP cho máy chủ nô lệ mới của bạn và cổng cơ sở dữ liệu. Sau đó, bạn có thể chọn nếu bạn muốn ClusterControl cài đặt phần mềm và nếu nô lệ nhân bản phải là Đồng bộ hoặc Không đồng bộ. Một lần nữa, nếu bạn đang thêm một nút trong một trung tâm dữ liệu khác, bạn nên sử dụng Sao chép không đồng bộ để tránh các vấn đề liên quan đến hiệu suất mạng.
Bằng cách này, bạn có thể thêm bao nhiêu bản sao tùy thích và chia sẻ lưu lượng đọc giữa chúng bằng cách sử dụng bộ cân bằng tải, điều này bạn cũng có thể triển khai với ClusterControl.
Bạn có thể giám sát việc tạo nô lệ sao chép trong trình theo dõi hoạt động ClusterControl.
Và kiểm tra cấu trúc liên kết cuối cùng của bạn trong Phần chế độ xem cấu trúc liên kết.
Sao chép theo cụm trong đám mây
Thay vì sử dụng tùy chọn “Add Replication Slave” để có môi trường Multi-Cloud, bạn có thể sử dụng tính năng ClusterControl Cluster-to-Cluster Replication để thêm một cụm từ xa. Hiện tại, tính năng này có một hạn chế đối với PostgreSQL là cho phép bạn chỉ có một nút từ xa, vì vậy nó khá giống với cách trước đây, nhưng chúng tôi đang nỗ lực để sớm loại bỏ hạn chế đó trong một bản phát hành trong tương lai.
Để tạo một Cụm nô lệ mới, hãy đi tới ClusterControl -> Chọn Cụm -> Hành động Cụm -> Tạo Cụm nô lệ.
Cụm Slave sẽ được tạo bằng cách truyền dữ liệu từ Cụm chính hiện tại.
Trong phần này, bạn phải chọn nút chính của cụm hiện tại từ mà dữ liệu sẽ được sao chép.
Khi chuyển sang bước tiếp theo, bạn phải chỉ định Người dùng, Khóa hoặc Mật khẩu và cổng để kết nối bằng SSH với máy chủ của bạn. Bạn cũng cần có tên cho Cụm Slave của mình và nếu bạn muốn ClusterControl cài đặt phần mềm và cấu hình tương ứng cho bạn.
Sau khi thiết lập thông tin truy cập SSH, bạn phải xác định phiên bản cơ sở dữ liệu, datadir, cổng và thông tin đăng nhập quản trị viên. Vì nó sẽ sử dụng sao chép trực tuyến, hãy đảm bảo rằng bạn sử dụng cùng một phiên bản cơ sở dữ liệu và thông tin đăng nhập được sử dụng trong Cụm chính. Bạn cũng có thể chỉ định kho lưu trữ nào sẽ sử dụng.
Trong bước này, bạn cần thêm máy chủ cho Cụm nô lệ mới . Đối với tác vụ này, bạn có thể nhập cả Địa chỉ IP hoặc Tên máy chủ của nút cơ sở dữ liệu.
Bạn có thể giám sát việc tạo Cụm nô lệ trong trình giám sát hoạt động ClusterControl. Sau khi tác vụ hoàn thành, bạn có thể thấy cụm trong màn hình ClusterControl chính.
Kết luận
Các tính năng ClusterControl này sẽ cho phép bạn nhanh chóng thiết lập sao chép giữa các Nhà cung cấp đám mây khác nhau cho cơ sở dữ liệu PostgreSQL (và các công nghệ khác nhau), đồng thời quản lý thiết lập một cách dễ dàng và thân thiện. Về giao tiếp giữa các Nhà cung cấp đám mây, vì lý do bảo mật, bạn phải hạn chế lưu lượng truy cập chỉ từ các nguồn đã biết, vì vậy chỉ từ Nhà cung cấp đám mây 1 đến Nhà cung cấp đám mây 2 và ngược lại.