サービスを運用していると、データベースのバックアップが必要になります。ただ、同じサーバー内にバックアップを保存すると、サーバーが壊れた際にまるごと紛失してしまいます。
そんな時、Google Cloud Storageだと無料でデータベースのバックアップを保存できるため非常に便利です。
Always Freeにより、下記はずっと無料になっています。
上記の通り、米国リージョンでGoogle Cloud Storageのバケットを作成しておくと、5GBまでは無料になります。DBのバックアップであれば速度は関係ないため、米国で良いと思います。
Google Cloud Storageにバックアップする総容量が5GBを超えると費用がかかってきてしまいます。
上り(Google Cloud Storageへのアップロード)は基本的に無料です。バックアップする際は特に気にすることはありません。
下り(Google Cloud Storageからのダウンロード)は、前述の無料枠の通り、1GBまでは無料となっています。北米のリージョンにバケットを作って運用しましょう。
Google Compute Engineからバックアップを行う場合、非常に楽です。
というのも、Google Compute Engineには最初からGoogle Cloud Storageへのアップロードに必要なgcloud
やgsutil
が元々入っており、しかも最初から認証済みになっています。そのため、ほとんど事前準備もなくコマンドを叩くだけでバックアップを行うことができます。
バケットなどは事前に作っておきましょう。(非公開にしましょう)
僕は下記のようなバックアップスクリプトを作成しました。
(gsutilのパスは適宜実際のものとあわせてください)
rm backup.sql.gz
mysqldump -u dbuser --password=hogehoge dbname > backup.sql
gzip backup.sql
/snap/bin/gsutil cp gs://backup-bucket/2.sql.gz gs://backup-bucket/3.sql.gz
/snap/bin/gsutil cp gs://backup-bucket/1.sql.gz gs://backup-bucket/2.sql.gz
/snap/bin/gsutil cp bakup.sql.gz gs://backup-bucket/1.sql.gz
3世代まで保存しています。容量に応じてこの辺は増やしたり減らしたりすれば良いと思います。
GCP以外からの場合はkey fileを使って認証が必要なようです。
何にしろAmazon S3等と違い、Google Cloud Storageは年間クレジットだけでなく永久無料枠があるのが大きな魅力です。さらに、GCPとの連携であれば初期設定も省くことができるのですぐに使えて便利です。ぜひ一度Google Cloud Storageの利用を試してみてください。
※料金についてはその都度実際に確認を行ってください。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント