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

Tips Menyimpan Cadangan PostgreSQL di Google Cloud (GCP)

Semua perusahaan saat ini memiliki (atau seharusnya memiliki) Disaster Recovery Plan (DRP) untuk mencegah kehilangan data jika terjadi kegagalan; dibangun sesuai dengan Recovery Point Objective (RPO) yang dapat diterima untuk bisnis.

Cadangan adalah permulaan dasar dalam DRP apa pun, tetapi untuk menjamin kegunaan cadangan, satu cadangan saja tidak cukup. Praktik terbaik adalah menyimpan file cadangan di tiga tempat berbeda, satu disimpan secara lokal di server database (untuk pemulihan lebih cepat), satu lagi di server cadangan terpusat, dan yang terakhir di cloud. Untuk langkah terakhir ini, Anda harus memilih penyedia cloud yang stabil dan tangguh untuk memastikan data Anda disimpan dengan benar dan dapat diakses kapan saja.

Di blog ini, kita akan melihat salah satu penyedia cloud paling terkenal, Google Cloud Platform (GCP) dan cara menggunakannya untuk menyimpan cadangan PostgreSQL Anda di cloud.

Tentang Google Cloud

Google Cloud menawarkan berbagai macam produk untuk beban kerja Anda. Mari kita lihat beberapa di antaranya dan bagaimana kaitannya dengan penyimpanan cadangan PostgreSQL di cloud.

  • Penyimpanan Cloud:Ini memungkinkan penyimpanan dan pengambilan data dalam jumlah berapa pun di seluruh dunia kapan saja. Anda dapat menggunakan Cloud Storage untuk berbagai skenario termasuk menyajikan konten situs web, menyimpan data untuk pengarsipan dan pemulihan bencana, atau mendistribusikan objek data besar kepada pengguna melalui unduhan langsung.
  • Cloud SQL:Ini adalah layanan database terkelola sepenuhnya yang memudahkan penyiapan, pemeliharaan, pengelolaan, dan pengelolaan database PostgreSQL, MySQL, dan SQL Server relasional Anda di cloud.
  • Compute Engine:Ini memberikan mesin virtual yang berjalan di Google Cloud dengan dukungan untuk penskalaan dari instance tunggal ke komputasi awan global yang seimbang beban. VM Compute Engine melakukan booting dengan cepat, hadir dengan opsi disk lokal dan persisten berperforma tinggi, serta memberikan performa yang konsisten.

Menyimpan Cadangan di Google Cloud

Jika Anda menjalankan database PostgreSQL di Google Cloud dengan Cloud SQL, Anda dapat mencadangkannya langsung dari Google Cloud Platform, namun, Anda tidak perlu menjalankannya di sini untuk menyimpan cadangan PostgreSQL Anda.

Penyimpanan Google Cloud

Serupa dengan produk Amazon S3 yang terkenal, jika Anda tidak menjalankan database PostgreSQL dengan Cloud SQL, ini adalah opsi yang paling umum digunakan untuk menyimpan cadangan atau file di Google Cloud. Ini dapat diakses dari Google Cloud Platform, di bagian Memulai atau di bawah menu kiri Penyimpanan. Dengan Cloud Storage, Anda bahkan dapat dengan mudah mentransfer konten S3 Anda di sini menggunakan fitur Transfer.

Cara Menggunakan Google Cloud Storage

Pertama, Anda perlu membuat Bucket baru untuk menyimpan data Anda, jadi buka Google Cloud Platform -> Storage -> Create Bucket

Pada langkah pertama, Anda hanya perlu menambahkan nama bucket baru.

Pada langkah selanjutnya, Anda dapat menentukan jenis lokasi (multi-region secara default) dan lokasi tempat.

Kemudian, Anda dapat mengubah kelas penyimpanan dari standar (opsi default) menjadi nearline atau coldline.

Kemudian, Anda dapat mengubah akses kontrol.

Terakhir, Anda memiliki beberapa setelan opsional seperti enkripsi atau kebijakan penyimpanan.

Sekarang Anda telah membuat bucket baru, kita akan melihat cara menggunakannya.

Menggunakan Alat GSutil

GSutil adalah aplikasi Python yang memungkinkan Anda mengakses Cloud Storage dari baris perintah. Ini memungkinkan Anda untuk melakukan tugas pengelolaan ember dan objek yang berbeda. Mari kita lihat cara menginstalnya di CentOS 7 dan cara mengunggah cadangan menggunakannya.

Unduh Cloud SDK:

$ curl https://sdk.cloud.google.com | bash

Mulai ulang shell Anda:

$ exec -l $SHELL

Jalankan gcloud init dan konfigurasikan alat:

$ gcloud init

Perintah ini akan meminta Anda untuk masuk ke akun Google Cloud dengan mengakses URL dan menambahkan kode autentikasi.

Sekarang Anda telah menginstal dan mengonfigurasi alat, mari unggah cadangan ke bucket.

Pertama, mari kita periksa bucket yang kita buat:

[[email protected] ~]# gsutil ls

gs://pgbackups1/

Dan untuk menyalin cadangan PostgreSQL Anda (atau file lain), jalankan:

[[email protected] ~]# gsutil cp /root/backups/BACKUP-3/base.tar.gz gs://pgbackups1/new_backup/

Copying file:///root/backups/BACKUP-3/base.tar.gz [Content-Type=application/x-tar]...

| [1 files][  4.9 MiB/ 4.9 MiB]

Operation completed over 1 objects/4.9 MiB.

Ember tujuan harus ada.

Dan kemudian, Anda dapat membuat daftar isi direktori new_backup, untuk memeriksa file yang diunggah:

[[email protected] ~]# gsutil ls -r gs://pgbackups1/new_backup/*

gs://pgbackups1/new_backup/

gs://pgbackups1/new_backup/base.tar.gz

Untuk informasi lebih lanjut tentang penggunaan GSutil, Anda dapat memeriksa dokumentasi resmi.

Google Cloud SQL

Jika Anda ingin memusatkan semua lingkungan (database + cadangan) ke Google Cloud, Anda telah menyediakan produk Cloud SQL ini. Dengan cara ini, database PostgreSQL Anda akan berjalan di Google Cloud dan Anda juga dapat mengelola cadangan dari platform yang sama. Ini dapat diakses dari Google Cloud Platform, di bagian Memulai atau di bawah menu kiri Penyimpanan.

Cara Menggunakan Google Cloud SQL

Untuk membuat instance PostgreSQL baru, buka Google Cloud Platform -> SQL -> Buat Instance

Di sini Anda dapat memilih antara MySQL dan PostgreSQL sebagai mesin basis data. Untuk blog ini, mari buat instance PostgreSQL.

Sekarang, Anda perlu menambahkan ID instance, kata sandi, lokasi, dan PostgreSQL versi (9.6 atau 11).

Anda juga memiliki beberapa opsi konfigurasi, seperti mengaktifkan Alamat IP Publik, Jenis mesin dan penyimpanan, dan pencadangan, dll. 

Saat instance Cloud SQL dibuat, Anda dapat memilihnya dan Anda akan melihat ringkasan instance baru ini.

Dan Anda dapat membuka bagian Cadangan untuk mengelola cadangan PostgreSQL Anda.

Untuk mengurangi biaya penyimpanan, pencadangan bekerja secara bertahap. Setiap pencadangan hanya menyimpan perubahan pada data Anda sejak pencadangan sebelumnya.

Google Cloud Compute Engine

Mirip dengan Amazon EC2, cara menyimpan informasi di cloud ini lebih mahal dan memakan waktu daripada Cloud Storage, tetapi Anda akan memiliki kontrol penuh atas lingkungan penyimpanan cadangan. Itu juga dapat diakses dari Google Cloud Platform, di bagian Memulai atau di bawah menu kiri Hitung.

Cara Menggunakan Google Cloud Compute Engine

Untuk membuat mesin virtual baru, buka Google Cloud Platform -> Compute Engine -> Buat Instance

Di sini Anda perlu menambahkan nama instance, wilayah, dan zona tempat menciptakannya. Selain itu, Anda perlu menentukan konfigurasi mesin sesuai dengan kebutuhan perangkat keras dan penggunaan Anda, serta ukuran disk dan sistem operasi yang akan digunakan untuk mesin virtual baru.

Saat instance siap, Anda dapat menyimpan cadangan di sini, misalnya , mengirimkannya melalui SSH atau FTP menggunakan Alamat IP eksternal. Mari kita lihat contoh dengan Rsync dan satu lagi dengan perintah SCP Linux.

Untuk terhubung melalui SSH ke mesin virtual baru, pastikan Anda telah menambahkan kunci SSH Anda di konfigurasi mesin virtual.

[[email protected] ~]# rsync -avzP -e "ssh -i /home/sinsausti/.ssh/id_rsa" /root/backups/BACKUP-3/base.tar.gz [email protected]:/home/sinsausti/pgbackups/

sending incremental file list

base.tar.gz

      5,155,420 100%    1.86MB/s 0:00:02 (xfr#1, to-chk=0/1)



sent 4,719,597 bytes  received 35 bytes 629,284.27 bytes/sec

total size is 5,155,420  speedup is 1.09

[[email protected] ~]#

[[email protected] ~]# scp -i /home/sinsausti/.ssh/id_rsa /root/backups/BACKUP-5/base.tar.gz [email protected]:/home/sinsausti/pgbackups/

base.tar.gz                                                                                                                                                             100% 2905KB 968.2KB/s 00:03

[[email protected] ~]#

Anda dapat dengan mudah menyematkan ini ke dalam skrip untuk melakukan proses pencadangan otomatis atau menggunakan produk ini dengan sistem eksternal seperti ClusterControl untuk mengelola pencadangan Anda.

Mengelola Cadangan Anda dengan ClusterControl

Dengan cara yang sama seperti Anda dapat memusatkan pengelolaan untuk database dan cadangan dari platform yang sama dengan menggunakan Cloud SQL, Anda dapat menggunakan ClusterControl untuk beberapa tugas pengelolaan yang terkait dengan database PostgreSQL Anda.

ClusterControl adalah sistem manajemen komprehensif untuk database open source yang mengotomatiskan fungsi penerapan dan manajemen, serta pemantauan kesehatan dan kinerja. ClusterControl mendukung penerapan, manajemen, pemantauan, dan penskalaan untuk berbagai teknologi dan lingkungan basis data. Jadi, Anda dapat, misalnya, membuat instance Mesin Virtual kami di Google Cloud, dan menerapkan/mengimpor layanan database kami dengan ClusterControl.

Membuat Cadangan

Untuk tugas ini, buka ClusterControl -> Pilih Cluster -> Backup -> Create Backup.

Anda dapat membuat cadangan baru atau mengonfigurasi yang dijadwalkan. Sebagai contoh, kami akan membuat satu cadangan secara instan.

Anda harus memilih satu metode, server dari mana cadangan akan diambil , dan di mana Anda ingin menyimpan cadangan. Anda juga dapat mengunggah cadangan kami ke cloud (AWS, Google, atau Azure) dengan mengaktifkan tombol yang sesuai.

Kemudian tentukan penggunaan kompresi, tingkat kompresi, enkripsi dan periode retensi untuk cadangan Anda.

Jika Anda mengaktifkan opsi unggah cadangan ke awan, Anda akan melihat bagian untuk menentukan penyedia cloud (dalam hal ini Google Cloud) dan kredensial (ClusterControl -> Integrasi -> Penyedia Cloud). Untuk Google Cloud, ini menggunakan Cloud Storage, jadi Anda harus memilih Bucket atau bahkan membuat Bucket baru untuk menyimpan cadangan Anda.

Pada bagian pencadangan, Anda dapat melihat kemajuan pencadangan, dan informasi seperti metode, ukuran, lokasi, dan lainnya.

Kesimpulan

Google Cloud mungkin merupakan opsi yang baik untuk menyimpan cadangan PostgreSQL Anda dan menawarkan produk yang berbeda untuk membuatnya. Namun, database PostgreSQL Anda tidak perlu berjalan di sana karena Anda hanya dapat menggunakannya sebagai lokasi penyimpanan.

Alat GSutil adalah produk bagus untuk mengelola data Cloud Storage Anda dari baris perintah, mudah digunakan dan cepat.

Anda juga dapat menggabungkan Google Cloud dan ClusterControl untuk meningkatkan lingkungan ketersediaan tinggi dan sistem pemantauan PostgreSQL Anda. Jika Anda ingin tahu lebih banyak tentang PostgreSQL di Google Cloud, Anda dapat memeriksa entri blog mendalam kami.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengubah tipe kolom menjadi string yang lebih panjang di Rails

  2. Berikan semua pada skema tertentu di db ke peran grup di PostgreSQL

  3. PG::InvalidParameterValue:ERROR:nilai tidak valid untuk parameter client_min_messages:panic

  4. Rails 3.1 - Mendorong ke Heroku - Kesalahan saat memasang adaptor postgres?

  5. Hitung jumlah acara bersamaan dalam SQL