Một loạt các tài nguyên có sẵn cho bạn khi quản lý từ xa các cụm cơ sở dữ liệu PostgreSQL. Với các công cụ phù hợp, quản lý nó từ xa không phải là một nhiệm vụ khó khăn.
Việc sử dụng các dịch vụ được quản lý hoàn toàn cho PostgreSQL mang lại khả năng quan sát có thể cung cấp hầu hết những gì bạn cần để quản lý cơ sở dữ liệu của mình. Chúng cung cấp cho bạn hệ thống cảnh báo, chỉ số, tự động hóa các tác vụ quản trị hệ thống tốn nhiều thời gian, quản lý các bản sao lưu của bạn, v.v.
Khi chạy tại chỗ, đó là một thách thức khác. Đó là những gì chúng tôi sẽ đề cập trong blog này. Chúng tôi sẽ chia sẻ các mẹo về quản lý cụm cơ sở dữ liệu PostgreSQL của bạn từ xa.
Khả năng quan sát của Cơ sở dữ liệu
Thuật ngữ khả năng quan sát có thể không phải là một điều quen thuộc đối với một số người. Khả năng quan sát không phải là quá khứ, đó là xu hướng khi quản lý cơ sở dữ liệu của bạn (hoặc thậm chí các ứng dụng PaaS hoặc SaaS). Khả năng quan sát liên quan đến việc giám sát, nhưng ở một mức độ nào đó, nó bao gồm khả năng xác định trạng thái sức khỏe và hiệu suất cơ sở dữ liệu của bạn và có khả năng chủ động và phản ứng quyết định dựa trên một trạng thái nhất định của các nút cơ sở dữ liệu của bạn.
Một ví dụ điển hình về điều này là trong ClusterControl. Khi ClusterControl phát hiện các cảnh báo dựa trên các lần kiểm tra trên một cấu hình nhất định, nó sẽ gửi cảnh báo đến các kênh được cung cấp. Chúng có thể được thiết lập và tùy chỉnh bởi hệ thống hoặc Quản trị viên cơ sở dữ liệu.
Nếu cơ sở dữ liệu chính của bạn đã bị xuống cấp và không thể xử lý các giao dịch (đọc hoặc ghi) thì ClusterControl sẽ phản ứng tương ứng và bắt đầu kích hoạt chuyển đổi dự phòng để một nút mới có thể xử lý nguyên nhân không chính đáng của việc tràn lưu lượng. Trong khi điều này xảy ra, ClusterControl có thể thông báo cho các kỹ sư điều gì đã xảy ra bằng cách kích hoạt cảnh báo và gửi cảnh báo. Nhật ký cũng được tập trung hóa và các tác vụ điều tra và chẩn đoán có thể được thực hiện ở một nơi, cho phép bạn cung cấp kết quả nhanh chóng.
Mặc dù điều này có thể không có nghĩa là ClusterControl là một gói hoàn chỉnh cho Khả năng quan sát, nhưng nó là một trong những công cụ mạnh mẽ. Có những công cụ được cấu trúc hóa hơn cũng để quản lý, đặc biệt là trong môi trường container như Rancher kết hợp với Datadog.
Điều này giúp bạn quản lý từ xa như thế nào?
Một nguyên tắc cơ bản của quản lý là tạo ra sự yên tâm. Nếu sự cố xảy ra, các công cụ bạn đang sử dụng để quan sát phải có thể thông báo cho bạn qua email, gửi SMS cho bạn hoặc thông qua các ứng dụng máy nhắn tin (như PagerDuty) để cảnh báo cho bạn về trạng thái của cụm cơ sở dữ liệu của bạn,
hoặc bạn có thể nhận các cảnh báo như bên dưới ...
Điều quan trọng là nó phải thông báo cho bạn khi có thay đổi. Sau đó, bạn có thể cải thiện và phân tích trạng thái cơ sở hạ tầng của mình và tránh mọi tác động có thể ảnh hưởng đến hoạt động kinh doanh.
Tự động hóa Cơ sở dữ liệu
Điều rất quan trọng là hầu hết các tác vụ tốn thời gian đều được tự động hóa. Tự động hóa cho phép bạn giảm bớt nhân lực. Tự động hóa các cụm cơ sở dữ liệu PostgreSQL của bạn có nghĩa là gì?
Chuyển đổi dự phòng
Chuyển đổi dự phòng là một phương pháp tự động xảy ra khi xảy ra sự cố chưa từng có (chẳng hạn như lỗi phần cứng, sự cố hệ thống, mất nguồn trong nút chính chính của bạn hoặc mất mạng trong toàn bộ trung tâm dữ liệu) . Khả năng chuyển đổi dự phòng của bạn phải được kiểm tra thường xuyên và tuân theo các thông lệ tiêu chuẩn của ngành. Việc phát hiện ra lỗi nội bộ của dịch vụ phải đi đến điểm mà nó đã được xác định là đúng và nó đang thực sự xảy ra.
Trong ClusterControl, khi sự cố xảy ra, nó sẽ kích hoạt cơ chế chuyển đổi dự phòng và thúc đẩy nút chờ cập nhật nhất và sau đó kích hoạt cảnh báo như được thấy bên dưới ...
Sau đó, nó hoạt động trong nền để chuyển đổi dự phòng như bạn thấy bên dưới , tiến trình đang di chuyển.
để lại kết quả khi kết thúc bên dưới ...
Lập lịch sao lưu
Sao lưu là một phần rất quan trọng trong Lập kế hoạch khắc phục hậu quả và thảm họa (DRP). Các bản sao lưu đóng vai trò là xương sống của bạn khi dữ liệu cụm của bạn trôi đi sau khi gặp sự cố phân chia mạng hoặc não bộ. Có một số trường hợp mà pg_rewind cũng có thể mang lại lợi ích nhưng tự động hóa các bản sao lưu của bạn luôn rất quan trọng để tránh bất kỳ sự mất mát lớn dữ liệu nào như vậy cũng như RPO và RTO thấp hơn.
Trong ClusterControl, bạn có thể lấy hoặc tạo một bản sao lưu mà không cần bất kỳ công cụ đặc biệt nào hoặc thêm công việc tiện ích để tạo kịch bản cho một bản sao lưu tự động. Tất cả đều ở đó và sẽ tùy thuộc vào tổ chức của bạn khi sao lưu sẽ diễn ra và các chính sách về sao lưu của bạn bao gồm cả việc lưu giữ. Trên thực tế, điều quan trọng nhất ở đây là, sao lưu sẽ không can thiệp vào môi trường sản xuất của bạn và sẽ không khóa các nút của bạn khi sao lưu diễn ra.
Xác minh sao lưu cũng đóng một vai trò rất quan trọng ở đây. Hãy yên tâm, bản sao lưu của bạn phải là loại bản sao lưu hợp lệ và là bản sao đáng tin cậy khi khủng hoảng xảy ra. Thêm cơ chế để lưu trữ bản sao lưu của bạn không chỉ trong cơ sở hoặc trung tâm dữ liệu của bạn mà còn lưu trữ nó ở nơi khác một cách an toàn như trên đám mây hoặc AWS S3 hoặc Google Cloud Storage chẳng hạn.
Với ClusterControl, điều này đã được thực hiện dễ dàng và đơn lẻ trong toàn bộ nền tảng bằng cách chỉ làm theo GUI như được hiển thị bên dưới,
Điều này cho phép bạn chọn phương pháp sao lưu bạn chọn, lưu trữ nó trên đám mây để thêm khả năng lưu giữ và đảm bảo sao lưu bằng cách phát tán bản sao lưu của bạn không chỉ trong một nguồn mà còn trên đám mây. Sau đó, bạn có một tùy chọn để xác minh bản sao lưu sau khi hoàn tất việc tạo bản sao lưu để xác minh xem đó có phải là bản sao lưu hợp lệ hay không. Một phần của nó là bạn có thể chọn mã hóa bản sao lưu của mình, đây là một thực tiễn rất quan trọng khi lưu trữ dữ liệu của bạn ở chế độ nghỉ và tuân thủ các nguyên tắc quy định về bảo mật.
Bảo mật Cơ sở dữ liệu
Bảo mật thường là mối quan tâm chính của đa số khi quản lý từ xa cụm cơ sở dữ liệu PostgreSQL của bạn. Ai sẽ có thể truy cập cơ sở dữ liệu từ xa hay nó chỉ là cục bộ? Cách thêm các hạn chế bảo mật và cách quản lý người dùng và xem xét sự cho phép của người dùng bởi Nhà phân tích bảo mật. Điều rất quan trọng là phải có một bộ bổ sung và cung cấp một bức tranh rõ ràng về kiến trúc của bạn để có thể mổ xẻ đâu là sơ hở và đâu là những thứ cần thiết để cải thiện hoặc thắt chặt an ninh.
ClusterControl cung cấp cho bạn tổng quan và quản lý người dùng PostgreSQL của bạn, đồng thời cung cấp cho bạn hình ảnh trực quan và trình chỉnh sửa cho pg_hba.conf của bạn, quản lý cách xác thực người dùng.
Đối với Quản lý Người dùng, nó cung cấp tổng quan về danh sách người dùng và các đặc quyền của nó trong cụm cơ sở dữ liệu. Nó cũng cho phép bạn ở đây sửa đổi hoặc thay đổi các đặc quyền của người dùng nếu nó không phù hợp với nguyên tắc bảo mật và công ty của bạn. Việc quản lý từ xa yêu cầu tất cả người dùng của bạn phải có các quyền và vai trò cụ thể và khi nào nó chỉ có thể được sử dụng hoặc truy cập và giới hạn vai trò để tránh thiệt hại trong cơ sở dữ liệu của bạn.
PostgreSQL của bạn cũng rất quan trọng là xem xét và xác minh rằng không có lỗi nào với sự xác thực của người dùng. Khi nào nó có thể được cho phép và phạm vi của nó để có thể kết nối với các máy chủ. Tốt nhất là điều này được hình dung như chúng tôi có bên dưới,
Điều này cho phép bạn dễ dàng xác minh và tránh việc xác thực bị bỏ sót vì những sơ hở có thể xảy ra như vậy rằng kẻ tấn công có thể đăng nhập do các quy tắc xác thực yếu.
Sử dụng SSL và mã hóa sẽ tăng cường bảo mật và mạnh mẽ hơn khi cơ sở dữ liệu của bạn được truy cập từ xa. Nhưng nếu bạn đang truy cập cơ sở dữ liệu của mình từ xa bên ngoài cơ sở tổ chức của mình, thì tốt nhất bạn nên đóng gói dữ liệu của mình chẳng hạn như đăng nhập thông qua VPN. Bạn có thể xem blog của chúng tôi về Multi-DC PostgreSQL:Thiết lập nút chờ ở vị trí địa lý khác qua VPN.
Nhật ký Cơ sở dữ liệu Tập trung
Tập trung các nhật ký tổng hợp cung cấp cho bạn một cách rất thuận tiện để điều tra và triển khai công cụ phân tích bảo mật để hiểu các cụm cơ sở dữ liệu của bạn và cách chúng hoạt động. Điều này rất có lợi khi quản lý cơ sở dữ liệu từ xa. Một số cách tiếp cận phổ biến là sử dụng Logstash bằng cách sử dụng ngăn xếp ELK hoặc quản lý mã nguồn mở mạnh mẽ cho nhật ký, Graylog.
Tại sao việc Tập trung hóa nhật ký cơ sở dữ liệu của bạn lại quan trọng?
Trong trường hợp bạn cần điều tra sự cố trên toàn cụm và xem những gì đang diễn ra qua các cụm cơ sở dữ liệu, proxy hoặc bộ cân bằng tải của bạn. Nó là rất thuận tiện để chỉ cần xem một nơi. Một số công cụ rất phong phú và mạnh mẽ như tôi đã đề cập ở trên cho phép bạn tìm kiếm động và theo thời gian thực. Họ cũng cung cấp các số liệu và biểu đồ, đây là một cách rất thuận tiện để phân tích.
Với ClusterControl, có một sự tiện lợi được cung cấp khi truy cập nhật ký. Mặc dù nhật ký không được thu thập và lưu trữ tập trung, nhưng nó cung cấp cho bạn cái nhìn tổng quan và khả năng đọc nhật ký. Xem bên dưới ...
Bạn thậm chí có thể xem lại các công việc mà ClusterControl đã phát hiện và đã thực hiện dựa trên Báo thức hoặc thực hiện các Công việc giống như bên dưới,
Kết luận
Quản lý cụm cơ sở dữ liệu PostgreSQL của bạn từ xa có thể khó khăn, đặc biệt là khi nói đến bảo mật, giám sát và chuyển đổi dự phòng. Nếu bạn có các công cụ phù hợp, tiêu chuẩn ngành và thực tiễn tốt nhất để triển khai, bảo mật và khả năng quan sát thì bạn có thể yên tâm khi quản lý cơ sở dữ liệu của mình; bất kể vị trí của bạn.