PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kiat untuk Mengelola PostgreSQL dari Jarak Jauh

Berbagai sumber daya tersedia untuk Anda saat mengelola cluster database PostgreSQL Anda dari jarak jauh. Dengan alat yang tepat, mengelolanya dari jarak jauh bukanlah tugas yang sulit.

Menggunakan layanan yang terkelola sepenuhnya untuk PostgreSQL menawarkan observabilitas yang dapat memberikan sebagian besar kebutuhan Anda untuk mengelola database. Mereka memberi Anda sistem peringatan, metrik, otomatisasi tugas administrasi sistem yang memakan waktu, mengelola cadangan Anda, dll.

Saat menjalankan lokal, tantangannya berbeda. Itulah yang akan kami bahas di blog ini. Kami akan berbagi tips tentang mengelola cluster database PostgreSQL Anda dari jarak jauh.

Kemampuan Pengamatan Basis Data

Istilah observabilitas mungkin bukan hal yang asing bagi sebagian orang. Observabilitas bukanlah sesuatu dari masa lalu, ini adalah tren saat mengelola database Anda (atau bahkan aplikasi PaaS atau SaaS). Observabilitas berkaitan dengan pemantauan, tetapi sampai batas tertentu mencakup kemampuan untuk menentukan keadaan kesehatan dan kinerja database Anda dan memiliki kemampuan proaktif dan reaktif yang memutuskan berdasarkan status tertentu dari node database Anda.

Contoh bagus untuk ini ada di ClusterControl. Ketika ClusterControl mendeteksi peringatan berdasarkan pemeriksaan pada konfigurasi tertentu, ClusterControl akan mengirimkan peringatan ke saluran yang disediakan. Ini dapat diatur dan disesuaikan oleh sistem atau Administrator Basis Data.

Jika database utama Anda telah terdegradasi dan tidak dapat memproses transaksi (baik membaca atau menulis) ClusterControl akan bereaksi sesuai dan mulai memicu failover sehingga node baru dapat memproses penyebab lalu lintas yang meluap yang tidak beralasan. Saat ini terjadi, ClusterControl dapat memberi tahu para insinyur apa yang terjadi dengan memicu alarm dan mengirimkan peringatan. Log juga terpusat dan tugas investigasi dan diagnostik mana yang dapat dilakukan di satu tempat, memungkinkan Anda memberikan hasil yang cepat.

Meskipun ini mungkin tidak berarti bahwa ClusterControl adalah paket lengkap untuk Observabilitas, ini adalah salah satu alat yang ampuh. Ada alat yang lebih berarsitektur juga untuk dikelola terutama di lingkungan kemas seperti Rancher yang dicampur dengan Datadog.

Bagaimana Ini Membantu Anda Dalam Mengelola Jarak Jauh?

Salah satu prinsip dasar manajemen adalah memiliki ketenangan pikiran. Jika terjadi masalah, alat yang Anda gunakan untuk observabilitas harus dapat memberi tahu Anda melalui email, mengirimi Anda SMS, atau melalui aplikasi pager (seperti PagerDuty) untuk mengingatkan Anda tentang status cluster database Anda,

atau Anda dapat menerima peringatan seperti di bawah ini...

Sangat penting untuk memberi tahu Anda saat terjadi perubahan. Anda kemudian dapat meningkatkan dan menganalisis keadaan infrastruktur Anda dan menghindari dampak apa pun yang dapat memengaruhi bisnis.

Otomasi Basis Data

Sangat penting bahwa sebagian besar tugas yang memakan waktu diotomatisasi. Otomatisasi memungkinkan Anda untuk berhemat tenaga kerja. Apa artinya mengotomatiskan cluster database PostgreSQL Anda?

Kegagalan

Failover adalah pendekatan otomatis yang terjadi ketika insiden yang belum pernah terjadi sebelumnya terjadi (seperti kegagalan pada perangkat keras, sistem crash, kehilangan daya di node utama utama Anda, atau kehilangan jaringan di seluruh pusat data) . Kapasitas failover Anda harus diuji secara rutin dan mengikuti praktik standar industri. Penemuan layanan dari kegagalan internal harus sampai pada titik yang telah ditentukan sebagai benar dan itu benar-benar terjadi.

Dalam ClusterControl, ketika sebuah insiden terjadi, itu memicu mekanisme failover dan mempromosikan node siaga terbaru dan kemudian memicu alarm seperti yang terlihat di bawah...

Kemudian, ini berfungsi di latar belakang untuk failover seperti yang Anda lihat di bawah , kemajuan sedang berjalan.

biarkan hasil seperti di bawah...

Penjadwalan Pencadangan

Backup adalah bagian yang sangat penting dari Disaster and Recovery Planning (DRP). Cadangan berfungsi sebagai tulang punggung Anda ketika data klaster Anda terpaut setelah otak terbelah atau partisi jaringan bertemu. Ada saat-saat tertentu di mana pg_rewind dapat bermanfaat juga, tetapi otomatisasi pencadangan Anda selalu sangat penting untuk menghindari kehilangan data yang sangat besar dan RPO dan RTO yang lebih rendah.

Di ClusterControl Anda dapat mengambil atau membuat cadangan tanpa alat khusus apa pun atau menambahkan pekerjaan utilitas ke skrip pencadangan otomatis. Semua ada di sana dan terserah organisasi Anda kapan pencadangan akan dilakukan dan apa kebijakan pencadangan Anda termasuk penyimpanannya. Faktanya, hal terpenting di sini adalah, pencadangan tidak akan mengganggu lingkungan produksi Anda dan tidak akan mengunci node Anda saat pencadangan dilakukan.

Verifikasi cadangan juga memainkan peran yang sangat penting di sini. Yakinlah, cadangan Anda harus merupakan jenis cadangan yang valid dan merupakan salinan yang andal saat krisis terjadi. Menambahkan mekanisme untuk menyimpan cadangan Anda tidak hanya di tempat atau pusat data Anda, tetapi juga menyimpannya di tempat lain dengan aman seperti di cloud atau ke AWS S3 atau Google Cloud Storage misalnya.

Dengan ClusterControl, ini telah diambil dengan mudah dan sendirian di semua platform hanya dengan mengikuti GUI seperti yang ditunjukkan di bawah ini,

Ini memungkinkan Anda untuk mengambil metode pencadangan yang Anda pilih, menyimpannya di cloud untuk menambahkan lebih banyak retensi dan jaminan cadangan dengan menyebarkan salinan cadangan Anda tidak hanya di satu sumber tetapi juga di cloud. Kemudian, Anda memiliki opsi untuk memverifikasi cadangan setelah selesai membuat cadangan untuk memverifikasi apakah itu valid atau tidak. Anda juga dapat memilih untuk mengenkripsi cadangan Anda yang merupakan praktik yang sangat penting saat menyimpan data Anda saat istirahat dan mematuhi pedoman peraturan keamanan.

Keamanan Basis Data

Keamanan biasanya menjadi perhatian utama mayoritas dalam hal mengelola klaster database PostgreSQL Anda dari jarak jauh. Siapa yang dapat mengakses database dari jarak jauh atau hanya lokal? Cara menambahkan batasan keamanan dan cara mengelola pengguna dan meninjau izin pengguna oleh Analis Keamanan. Sangat penting untuk memiliki lebih banyak pengaturan dan memberikan gambaran yang jelas tentang arsitektur Anda sehingga dapat dibedah di mana celahnya dan hal-hal apa yang diperlukan untuk meningkatkan atau memperketat keamanan.

ClusterControl memberi Anda gambaran umum dan pengelolaan pengguna PostgreSQL Anda dan memberi Anda visualisasi dan editor untuk pg_hba.conf Anda, yang mengelola bagaimana pengguna dapat diautentikasi.

Untuk Manajemen Pengguna, ini memberikan gambaran umum tentang daftar pengguna dan hak istimewanya di cluster database. Ini juga memungkinkan Anda di sini untuk memodifikasi atau mengubah hak pengguna jika tidak sesuai dengan pedoman keamanan dan perusahaan Anda. Mengelola dari jarak jauh mengharuskan semua pengguna Anda harus memiliki izin dan peran khusus dan ketika itu hanya dapat digunakan atau diakses dan membatasi peran untuk menghindari kerusakan di database Anda.

Ini juga sangat penting di PostgreSQL Anda untuk meninjau dan memverifikasi bahwa tidak ada penyimpangan dengan otentikasi pengguna. Kapan dapat diizinkan dan ruang lingkupnya untuk dapat terhubung ke server. Sebaiknya ini divisualisasikan seperti yang kita miliki di bawah ini,

Ini memungkinkan Anda untuk dengan mudah memverifikasi dan menghindari otentikasi yang diabaikan untuk kemungkinan celah seperti itu bahwa penyerang mungkin dapat masuk karena aturan autentikasi yang lemah.

Menggunakan SSL dan enkripsi menambah keamanan dan ketahanan saat database Anda diakses dari jarak jauh. Tetapi jika Anda mengakses database Anda dari jarak jauh di luar premis organisasi Anda, yang terbaik adalah mengenkapsulasi data Anda seperti masuk melalui VPN. Anda dapat melihat blog kami di PostgreSQL Multi-DC:Menyiapkan Simpul Siaga di Geo-Lokasi Berbeda Melalui VPN.

Log Basis Data Terpusat

Sentralisasi log agregat memberi Anda cara yang sangat mudah untuk menyelidiki dan mengimplementasikan alat analisis keamanan untuk memahami cluster database Anda dan bagaimana perilakunya. Ini sangat bermanfaat ketika mengelola basis data jarak jauh. Beberapa pendekatan umum menggunakan Logstash menggunakan tumpukan ELK atau manajemen sumber terbuka yang kuat untuk log, Graylog.

Mengapa Penting untuk Memusatkan Log Basis Data Anda?

Jika Anda perlu menyelidiki masalah di seluruh cluster dan melihat apa yang terjadi melalui cluster database, proxy, atau load balancer Anda. Sangat nyaman untuk hanya melihat satu tempat. Beberapa alat yang sangat kaya dan kuat seperti yang saya sebutkan di atas memungkinkan Anda mencari secara dinamis dan waktu nyata. Mereka juga menyediakan metrik dan grafik yang merupakan cara yang sangat nyaman untuk analisis.

Dengan ClusterControl, ada kemudahan yang diberikan saat mengakses log. Meskipun log tidak dikumpulkan dan disimpan secara terpusat, ia menawarkan Anda gambaran umum dan kemampuan untuk membaca log. Lihat di bawah...

Anda bahkan dapat meninjau pekerjaan dari apa yang dideteksi dan telah dilakukan oleh ClusterControl berdasarkan Alarm atau melalui Pekerjaan seperti di bawah ini,

Kesimpulan

Mengelola klaster database PostgreSQL Anda dari jarak jauh dapat menjadi hal yang menakutkan, terutama dalam hal keamanan, pemantauan, dan failover. Jika Anda memiliki alat yang tepat, standar industri, dan praktik terbaik untuk implementasi, keamanan, dan observabilitas, maka Anda dapat merasa tenang saat mengelola database Anda; terlepas dari lokasi Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke Postgres melalui PHP tetapi dapat terhubung dari baris perintah dan PgAdmin di mesin yang berbeda

  2. Cara Mengatur Koneksi Jarak Jauh ke PostgreSQL

  3. Apa yang Harus Diperiksa jika Pemanfaatan Memori PostgreSQL Tinggi

  4. PostgreSQL 9.1:Cara menggabungkan baris dalam array tanpa duplikat, GABUNG tabel lain

  5. Dalam membela sar (dan cara mengkonfigurasinya)