バックアップとリストア

エンタープライズのお客様が、Google Compute Engine を利用して、VM インスタンス(インスタンス)を作成するにあたり、各組織、またはシステムごとにインスタンスのベースとなる設定を反映させたゴールデン マスター を作成することで、統一した設定ポリシーをベースとした複数のインスタンスを展開することが可能となります。

また、展開したインスタンスにおいて、アプリケーションの不具合や意図しない挙動が発生したときに、適切にリカバリができるように、定期的なバックアップとリストアの手法を確立しておくことも重要です。

バックアップとリストアの手法


解決する課題・使い所

エンタープライズのお客様が、設計ポリシーに基づいたインスタンスの展開と、インスタンスでアプリケーション障害が発生したときに適切にインスタンスを復元できるようにするための、バックアップ、およびリストアの手法について紹介します。


GCE VM インスタンスのデータを保全する

GCE でインスタンスを構成する場合、デフォルトでオペレーティング システムを格納しているブート永続ディスク(PD)がアタッチされます。永続ディスクは、必要に応じて複数アタッチすることも可能です。永続ディスクはインスタンスとは独立して存在しており、インスタンスを削除しても永続ディスクをほかのインスタンスにアタッチするなど、データの保持が可能です。

一方、より高い IOPS スループットが求められる場合、キャッシュ データなどの一時的なデータ格納に使用することができるローカル SSD をアタッチすることもできます。ただしローカル SSD は、インスタンスをホストするサーバーに物理的に接続されるため、パフォーマンスの向上は期待できますが、可用性についてはトレードオフがあることを理解しておく必要があります。また、VM インスタンスがゲスト OS によりシャットダウンされると、ローカル SSD に格納されたデータが消去されることにも留意が必要です。

永続ディスクを保持しているインスタンスのデータをバックアップする方法としては、以下のようにいくつかの方法があります。

スナップショット


ゾーン永続ディスク、リージョン永続ディスクから、データを低コストかつ簡易に取得することが可能です。

スナップショットは、増分バックアップ に対応しており、初回実行時にはディスク全体をフルスナップ ショットとして保存します。それ以降は、前回のスナップショット後に変更されたデータのみを取得します。

また、スナップショット作成時に、標準スナップショットとアーカイブ スナップショットを選択することが可能です。アーカイブ スナップショットは、より安価に利用できる一方、最小課金期間が 90 日であり、コンプライアンス、監査の観点から、より長期にデータ保持が必要な場合に有用です。またバックアップの重要性に応じて、スナップショットを保存するロケーションに、リージョン、またはマルチリージョンを選択することもできます。

定期的なバックアップの観点では、スナップショット スケジュールを設定することにより、バックアップを自動化することも可能です。スナップショット の肥大化を防ぐためには、必要に応じて削除ルールを設定しておくことも検討するべきポイントとなります。


スナップショットを利用する上で留意しておくべきポイントとしては、以下の 2 点が挙げられます。


  • スナップショットの整合性は、厳密には担保されません。スナップショットは、インスタンスの起動中に取得することができますが、大量な書き込み処理が発生している状態を避け、できる限りディスク I/O が発生しない状態で実行します。アプリケーションを停止して、ディスク バッファをフラッシュしてスナップショットを取得することも選択肢の 1 つです。また、Windows インスタンスの場合、VSS スナップショット を使用して整合性を確保してください。

  • スナップショットは、ディスク単位でのバックアップのため、特定のファイルのみのバックアップには利用できません。


イメージの種類

イメージは、インスタンスで OS を起動するために必要なプログラムとファイル一式を格納したファイルです。イメージには、大きく 2 つの種類があります。

  • 公開イメージ

    • Google、オープンソース コミュニティ、サードパーティ ベンダーが提供する事前構成済みのイメージ

  • カスタム イメージ

    • ユーザーがほかのインスタンスやオンプレミス、そのほかのクラウド環境のワークロードからエクスポートしたディスクをインポートして構成したイメージ

公開イメージ、およびカスタム イメージは、単一のディスクに対してのバックアップとなり、これらを利用して、インスタンス、インスタンス テンプレートを作成することができます。

カスタム イメージは、以下のソースから作成することが可能です。

  • 永続ディスク(ディスクが VM にアタッチされている場合も含む)

  • 永続ディスクのスナップショット

  • プロジェクト内のイメージ

  • 別のプロジェクトで共有されているイメージ

  • Cloud Storage 内の圧縮された RAW イメージ

また、カスタム イメージは、プロジェクト間で共有することが可能で、Identity and Access Management(IAM)による適切なロールの付与により、別のプロジェクトのユーザーにカスタム イメージの使用を許可することができます。


マシンイメージ

カスタム イメージは、あくまで単一のディスクをキャプチャしたファイルであるため、インスタンスを作成する場合、マシンタイプ、ネットワーク情報、メタデータなどを指定する必要があります。一方、マシンイメージは、複数のディスクを一括でバックアップすることができるとともに、ディスク以外の インスタンスを作成、またはリストアするときに必要となるインスタンス構成情報を含めてバックアップすることが可能です。

マシンイメージには、以下の情報が含まれます。

  • インスタンス プロパティ(マシンタイプ、ラベル、ボリューム マッピング、ネットワーク タグ)

  • 接続されたすべてのディスク(1 台または複数)のデータ

  • インスタンス メタデータ

  • アクセス許可(インスタンスの作成に使用するサービス アカウントなど)


カスタム イメージが永続ディスクのバックアップであるのに対し、マシンイメージは Compute Engine インスタンスのバックアップと位置付けることができます。

バックアップからリストアの流れ

Compute Engine を利用して、すでに稼働しているインスタンスやオンプレミス、またはほかのクラウドで稼働しているインスタンスから、新たなインスタンスを作成してリストアを行う場合、いくつかの選択肢があります。スナップショット、各種イメージをどのように使い分けていくかは、以下のフローを参考に検討してください。

Backup and DR を利用したバックアップ

Backup and DR の概要

ネイティブの Backup and DR を利用して Compute Engine インスタンスや GCVE VM のバックアップを取得することも可能です。Backup and DR は、Persistent Disk Snapshot API や VMWare の Data Protection API(VADP)を利用することにより、初回のフル バックアップ以降は変更があった部分のみ増分バックアップを取得できます。これにより、本番環境への性能影響を最小限に抑えつつ、高頻度なバックアップにより RPO を直近とすることが可能です。

ネイティブの API によるシステム バックアップの取得以外に、Compute Engine インスタンスや GCVE VM にエージェントを導入することで、データベースやファイル システムなどのバックアップにも対応しており、幅広いプラットフォームの保護に役立ちます。

Backup and DR によるバックアップ取得方法

Compute Engine インスタンスや GCVE VM のほかに、データベースやファイル システムに関するバックアップの取得方法や増分データの取得方法は、以下のとおりです。

Backup and DR では、 Compute Engine 上での稼働がサポートされている OS に関して、Windows の場合は VSS Snapshot、Linux の場合は fsfreeze を使用して、アプリケーションの整合性を担保したスナップショットの取得が可能です。

※なお、2022 年 11 月時点では、 Backup and DR による永続ディスクのアーカイブ スナップショットの取得は未対応です。

アーキテクチャ概要


Backup and DR の主要コンポーネント


Backup and DR を利用するときの主要コンポーネントとしては、以下の 2 つがあります。


  1. 管理コンソール(Management Console):Google Cloud 上のワークロードの保護と DR のためのバックアップ ジョブの管理を行うダッシュボード

  2. アプライアンス(Backup & DR アプライアンス):バックアップやリカバリ ジョブなどを実行するサーバー


管理コンソールは、Google が管理するテナントにデプロイされます。このとき、お客様用にテナントが払い出されるので、Private Service Connect を使用して、バックアップ対象のリソースがデプロイされているお客様のプロジェクトと接続します。管理コンソール自体には、ウェブ ブラウザを経由してアクセスすることが可能です。

Backup & DR アプライアンスは、お客様のプロジェクトの管理コンソールをデプロイしたときに指定した VPC の Compute Engine 上に、仮想アプライアンスとしてデプロイされます。

使用するストレージの種類

Backup and DR では、以下の 2 種類のストレージにバックアップを格納することが可能です。

  • Snapshot Pool(Backup & DR アプライアンスの Persistnet Disk)

    • 短期間のデータ保持のためにバックアップ データが保存(圧縮)される場所

    • デフォルトでは Standard 永続ディスクをデプロイ

    • Snapshot Pool を追加する場合、さまざまなディスク タイプを使用可能

  • OnVault Pool(Cloud Storage)

    • バックアップ データの長期保管用オブジェクト ストレージ

    • Cloud Storage の 4 つのクラスすべてがサポートされているので任意のクラスのバケットを作成可能

    • バックアップごとに 1〜4 個のバケットが使用可能

Compute Engine インスタンスは、PD スナップショット API 経由で取得した PD スナップショットを、Google が管理する Cloud Storage で保管します。このとき、任意の時点のバックアップから復元するときに必要なメタデータが、 Snapshot Pool や OnVault Pool に書き込まれます。VMware VM、またはデータベースやファイル システムのバックアップは、Snapshot Pool、OnVault Pool のいずれか、もしくは両方のストレージに格納されます。


バックアップの種類と使用可能なストレージ パターン


バックアップの種類で利用可能なストレージのパターンは決まっているので、バックアップの種類により必要なストレージの種類を検討します。一般的に、Snapshot Pool には 1〜7 日程度の短期間、OnVault Pool には 30〜90 日の長期間のデータが保存されます。

バックアップ ポリシー


保護する対象の Compute Engine インスタンスや GCVE VM のシステム重要度、RTO/RPO の要件にしたがって、それぞれのバックアップ ポリシーを 1 つのバックアップ テンプレートとして定義できます。


  • Production to Snapshot Pool

  • Snapshot Pool to OnVault Pool

  • Direct to OnVault Pool


ストレージごとにバックアップを取得する曜日や時間帯、またはバックアップ取得間隔とバックアップ データを保持する期間を設定することができます。またスナップショットを保存するロケーションを、バックアップの重要性に応じて、リージョン、またはマルチ リージョンで選択することも可能です。

リカバリ ポリシー

バックアップしたデータにアクセスする方法として、以下の 4 種類があります。

バックアップしたデータを移動せずに、 VM にマウントする方法が最もデータに早くアクセスする方法ですが、データ損失の状況やユースケースで適切なリカバリ方法を検討する必要があります。


取得したバックアップの種類により、選択できるリカバリ方法は異なります。原則はバックアップしたスナップショット単位でのリカバリとなり、特定のファイルのみをリカバリしたい場合、対象データを一度マウントして手動でコピーを行う必要があります。データベースのみ テーブル単位を指定したデータのマウントも可能です。

他のリージョンへのリカバリ

もし本番環境のリージョンが不通となった場合、災対先のリージョンで 新規に Backup & DR アプライアンスをデプロイし、OnVault Pool から Compute Engine バックアップに関するメタデータや GCVE VM のスナップショットをインポートすることで、早期に Compute Engine インスタンスや GCVE VM の環境を復旧することが可能です。これは、OnVault Pool の冗長性をマルチ リージョナルな Cloud Storage にしておくことで実現可能となります。

Compute Engine の場合のアーキテクチャ(例)

GCVE の場合のアーキテクチャ(例)

利点

スナップショット、イメージの特性を理解することで、Compute Engine インスタンスにおける適切なバックアップ、リストアの手法を選択することができます。


注意事項

  • バックアップの手法を選択する場合、要求されるRTO、RPOを踏まえ、利用する手法の特性を理解して選択を行う

  • 特に整合性の担保については留意し、バックアップ前に必要な準備を行う