【初心者向け】Cloud Spanner のバックアップを理解しよう!

Google Cloud

2024.11.18

Topics

はじめに

こんにちは、Koo です。
今回の記事では、Cloud Spanner のバックアップについて解説します!
データベース管理において、バックアップは信頼性の確保と障害からの迅速な復旧に欠かせません。
特に分散環境の Cloud Spanner でのデータ保護は重要で、万が一の障害にも対応できるようにするためにバックアップが必要です。
Cloud Spanner のバックアップの仕組みや設定方法、そして実際の運用に役立つポイントを解説していきますので、ぜひ最後までご覧ください!

Cloud Spanner とは

Cloud Spanner の基本的な概要を知りたい方は、こちらの前回の記事もご覧ください。

【初心者向け】Cloud Spanner を触ってみましょう!

バックアップとは

バックアップとは、予期しない障害やデータ損失からデータを保護するために、データベースの特定時点のコピーを保存するプロセスです。Cloud Spanner のバックアップはスナップショットのように特定の時点でデータを保存し、障害が発生した際にそのスナップショットを使ってデータを迅速に復元できます。
このようなバックアップは、特に複数リージョンにデータが分散された Cloud Spanner で、データの一貫性を保ちながら安全にデータを保護するための重要な手段です。

Cloud Spanner のバックアップの種類

Cloud Spanner には異なるニーズに応じたバックアップオプションがあり、状況に応じて使い分けることができます。

(1)手動バックアップ

手動バックアップは、ユーザーが特定のタイミングでデータベースの状態を自分で保存する方法です。主に重要な更新や変更作業の前に手動でバックアップを実行し、予期せぬ問題が発生した場合でも簡単に元の状態に戻せます。

■特徴

変更前や特定イベント前に、ユーザーが直接バックアップを作成できます。管理コンソールや gcloud CLI を通じて任意のタイミングで手動バックアップが可能です。

■活用シーン

スキーマ変更やアプリケーション更新前の状態を保存したいとき、重要なデータを短期間に保護したいときに便利です。

■注意点

手動で操作が必要なため、定期的にバックアップを取る場合にはやや不便です。

(2)自動バックアップ

自動バックアップは、指定したスケジュールに従って Cloud Spanner が定期的にデータのバックアップを自動で作成する機能です。
設定を行うと自動的に生成されるため、運用の負担を大幅に軽減しつつ、最新のデータを継続的に保護できます。

■特徴

日次や週次などのタイミングで自動的にバックアップが行われるため、毎日のデータ保護が必要な環境に最適です。
また、バックアップの保存期間を設定することで、不要なバックアップを自動で削除し、コストも効率的に管理できます。

■活用シーン

日常業務で頻繁にデータが更新される場合や、データの保存 / 監査が必要な場合には非常に効果的です。

■注意点

自動バックアップが増えすぎると保存コストがかかるため、バックアップの保持期間を設定して不要なバックアップを削除することをおすすめします。

Cloud Spanner のバックアップの特徴

Cloud Spanner のバックアップ機能には以下の特徴があります。これらを理解することで、Cloud Spanner がどのようにデータの一貫性と安全性をサポートしているかがよく分かります。

■スナップショット保存

特定の時点のデータをスナップショット形式で保存するため、エラーや障害が発生した場合でも、その時点の状態に簡単に戻ることが可能です。

■パフォーマンスの影響なし

Cloud Spanner のバックアップはデータベースのパフォーマンスに影響を与えないよう設計されており、リアルタイムの使用中でも安全にバックアップを取得できます。

■多重リージョンの一貫性

Cloud Spanner のバックアップデータは複数のリージョンに分散保存されるため、データが一貫した状態で安全に保護されます。障害が発生した場合にも安定的にデータを復元できます。

参考 : バックアップの概要

ハンズオン

Cloud Spanner のバックアップを設定してみましょう!

1.環境設定


私は先に2つのインスタンスを作成しました。
インスタンス名:「test-instance-001」、「test-instance-002」


そして、1つのインスタンス「test-instance-001」に「test-db-001」データベースと「Customer」テーブルを作成して3つのデータを入れました。

2.バックアップを作成


インスタンス画面の左側に「バックアップ / 復元」を押した画面です。
今は何もない状況なので、表示する行がありません。
バックアップを作成を押します。

3.バックアップを作成する画面


データベース名を選択することができます。
そしてバックアップ名を決めます。私は「test-backup-001」にしました。

バックアップデータの保存期間を設定します。
基本的に1年になってますが、指定日を決めることも可能です。
設定すると有効期間が表示されますので、確認してください!
設定が終わったら作成を押します。

4.バックアップ作成中


バックアップが作成されています。「アクティビティ」でもバックアップの状況の確認ができます。


「アクティビティ」では現在の状況と終了時間が表示されます。

5.バックアップ作成終了


「バックアップ」での確認


「アクティビティ」での確認(私は10分かかりました)

6.復元する方法


「test-backup-001」を押すと、この画面になります。
4つのオプションがでます。「復元」を押してください。

7.復元準備


私がバックアップしたいファイルの情報の確認ができます。
そして復元する対象インスタンスを選択することができます。
「test-instance-001」と「test-instance-002」がありますが、「test-instance-002」にやってみます!
「test-instance-002」に復元されるデータベースの名を書いて、復元を始めましょう!

8.復元中(状況確認)


復元中です!今の状況と開始時刻、ソースデータベース名が表示されます。

9.復元終了


復元が終了になりましたら、「test-instance-002」インスタンスの画面がでます。
バックアップの情報と、下側に「Customer」テーブルが表示されます。
データはきちんとあるのか確認してみましょう!

10.バックアップのデータ確認


テーブルの中に3つのデータがあることを確認できます。
これで復元は問題なく終わりました!

まとめ

Cloud Spanner のバックアップ機能を活用することで、企業は安心してデータを管理できます。
特に分散環境でのバックアップと復元機能は、予期しない障害が発生しても迅速に復旧できるようサポートします。
バックアップの定期的な確認と設定は、データ保護の基本ですが、Cloud Spanner のバックアップを活用すればデータの一貫性と安全性が保たれるでしょう!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Koo

2024年新卒入社。
料理と音楽が好きなデータベースエンジニアです。 MySQL と Google Cloud、特に Cloud Spanner への関心が高いです。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら