標準ディスクのスナップショットについて


標準スナップショットは、ディスク上のデータを増分バックアップします。スナップショットを作成した後、そのスナップショットを使用して、キャプチャしたデータを含む新しいディスクを作成できます。標準スナップショットは、単一ディスクの地理的に冗長なバックアップを提供します。スナップショットは、実行中の仮想マシン(VM)インスタンスにディスクが接続しているかどうかにかかわらず、ディスクの内容をキャプチャします。VM 全体または複数のディスクを一度にバックアップするには、マシンイメージを作成します。その他のシナリオについては、データ バックアップ オプションについて説明しているチャートをご覧ください。

実行中の VM インスタンスに接続されているディスクから作成されたスナップショットのライフサイクルは、VM インスタンスのライフサイクルとは関係ありません。

スナップショットのタイプ

永続ディスクをスナップショットでバックアップできます。標準、即時、アーカイブの 3 種類のスナップショットはすべて、特定の時点でのディスクの内容をキャプチャします。

スナップショット タイプの 2 つの主な違いは、データ復旧時間(RTO)とストレージ ロケーションです。

データ復旧時間

データ復旧時間とは、スナップショットから新しいディスクを作成するために必要な時間です。スナップショット タイプによって異なります。

  • 即時スナップショットは、最も短く最適な復旧時間になります。
  • 標準スナップショットは、アーカイブ スナップショットよりもデータの復元時間が短くなります。
  • アーカイブ スナップショットは、データ復旧時間が最も長くなりますが費用対効果が最も高いストレージを提供します。

スナップショット タイプ別のストレージ ロケーション

ストレージ ロケーションは、Compute Engine がスナップショットを保存するゾーンまたはリージョンです。

  • 即時スナップショットはローカル ディスク バックアップで、ソースディスクと同じゾーンまたはリージョンに保存されます。
  • アーカイブ スナップショットと標準スナップショットはディスクデータのリモート バックアップで、ソースディスクとは別に保存されます。

Compute Engine では、アーカイブ スナップショットと標準スナップショットを同じ方法で保存します。アーカイブ スナップショットと標準スナップショットのコピーは、自動チェックサムを使用して複数の場所に保存され、データの整合性を確保します。

特に指定されていなければ、標準スナップショットの参照にはアーカイブ スナップショットが含まれます。

スナップショット タイプの比較

次の表に、スナップショット タイプの違いを示します。

スナップショット タイプ 最適な用途 ストレージの冗長性 Hyperdisk のサポート スナップショット スケジュールでの作成の可否
標準スナップショット ローカル、ゾーン、リージョンのサービス停止から保護する地理的に冗長なデータ バックアップ。 複数のリージョンにまたがる冗長なストレージ。
アーカイブ スナップショット 標準スナップショットと同じですが、滅多にアクセスされず数か月または数年間保持する必要があるデータ向け。コンプライアンス、監査、コールド ストレージに関するデータに適した、低コストの地理的に冗長なストレージ。 複数のリージョンにまたがる冗長なストレージ。 ×
即時スナップショット ユーザーエラーまたはアプリケーション破損の場合に新しいディスクに迅速に復元できるインプレースのデータ バックアップ。 冗長性なし。ソースディスクと同じゾーンまたはリージョンにのみ保存されます。 × ×

スナップショットに加えて、Compute Engine には他のデータ バックアップ オプションが用意されています。データ バックアップ オプションについて説明しているチャートをご覧ください。

このドキュメントの情報は、標準スナップショットに適用されます。即時スナップショットの詳細をご覧ください。

アーカイブ スナップショット

標準スナップショットとアーカイブ スナップショットは、主にストレージ ロケーションと費用が異なります。

アーカイブ スナップショットには、増分チェーン、圧縮、暗号化など、標準スナップショットと同じ利点があります。

しかし、アーカイブ スナップショットは低コストであり、コンプライアンス、監査、長期のコールド ストレージに関連するユースケースに適しています。数か月または数年にわたってスナップショットを保持する必要があり、スナップショットにアクセスする必要がほとんどない場合は、標準スナップショットではなくアーカイブ スナップショットの使用を検討してください。各スナップショット タイプは異なる増分スナップショット チェーンに保存され、アーカイブ スナップショットは Google Cloud コンソールに個別にリスト表示されます。

標準スナップショットの操作

  • スナップショットを使用してディスクをバックアップする方法については、スナップショットの作成をご覧ください。危険性のあるオペレーションを試みる前にディスクのスナップショットを作成できます。これにより、予期しない結果が発生した場合に、変更を元に戻すことができます。

  • スナップショットの内容を新しいディスクに復元する方法については、スナップショットの復元をご覧ください。

  • 特定のスナップショットが不要になったら、スナップショットを削除してストレージ コストを削減できます。

  • 予期しないデータ損失のリスクを軽減するため、スナップショット スケジュールを設定して、データが定期的にバックアップされるようにすることをおすすめします。

標準スナップショットにアクセスする

制限事項

  • 既存の標準スナップショットのストレージ ロケーションは変更できません。スナップショットのストレージ ロケーションの選択をご覧ください。

  • ディスクのスナップショットは 10 分に 1 回まで可能です。ディスクのスナップショット リクエストを大量に発行する場合、60 分で最大 6 件のリクエストを発行できます。詳細については、スナップショットの頻度の制限をご覧ください。

  • スナップショットに保存されているデータは編集できません。

  • 削除したスナップショットを復元することはできません。

増分標準スナップショットの仕組み

スナップショットは増分であるため、ディスクの完全なイメージを定期的に作成するよりも短時間かつ低コストで永続ディスク上に定期的なスナップショットを作成できます。

増分スナップショットは次のように機能します。

  • 永続ディスクの最初の正常なスナップショットは、永続ディスクのすべてのデータを含む完全なスナップショットです。
  • 2 番目のスナップショットには、1 番目のスナップショットより後に新規作成または変更されたデータのみが含まれます。スナップショット 1 以降に変更されていないデータは含まれません。変更されていないデータについては、スナップショット 2 にスナップショット 1 への参照が含まれます。
  • スナップショット 3 には、スナップショット 2 以降に新規作成または変更されたデータは含まれますが、スナップショット 1 または 2 以降に変更されていないデータは含まれません。変更されていないデータについては、スナップショット 3 にスナップショット 1 とスナップショット 2 のブロックへの参照が含まれます。

これが、永続ディスクのすべての後続のスナップショットについて繰り返されます。スナップショットは常に、正常に取得された最新のスナップショットに基づいて作成されます。

スナップショットを作成する方法

スナップショットの削除

Compute Engine は増分スナップショットを使用しているので、各スナップショットには前回のスナップショットより後に変更されたデータのみが含まれます。変更されていないデータについては、スナップショットは以前のスナップショットのデータを参照します。永続ディスクのスナップショットのストレージ コストは、スナップショットの合計サイズに対してのみ請求されます。

標準スナップショットを削除すると、依存スナップショットがないスナップショットは無条件に削除されます。

ただし、依存スナップショットがあるスナップショットを削除すると、次のようになります。

  1. 他のスナップショットの復元に必要なすべてのデータが、次のスナップショットに移動され、移動先のスナップショットのサイズが増えます。
  2. 他のスナップショットの復元に必要ないデータはすべて削除されます。これにより、すべてのスナップショットの合計サイズは減ります。
  3. 次のスナップショットは、削除としてマークされたスナップショットを参照しなくなり、それより前のスナップショットを参照します。

後のスナップショットで前のスナップショットに保存されていた情報が必要になることがあるため、スナップショットを削除してもスナップショット上のすべてのデータが削除されるとは限らないことに注意してください。スナップショットからデータを完全に削除するには、すべてのスナップショットを削除する必要があります。

ディスクにスナップショット スケジュールが設定されている場合は、スケジュールを削除する前に、ディスクからスナップショット スケジュールを削除する必要があります。ディスクからスナップショット スケジュールを削除すると、それ以上スナップショット アクティビティが発生しなくなります。ディスクに関連付けられているスケジュールを削除することはできません。スナップショットはいつでも手動で削除できます。

次の図は、このプロセスを示しています。

スナップショットを削除するプロセス。

スナップショットのサイズと削除されたブロック

スナップショットは、書き込みが行われて破棄されていないディスク部分をキャプチャします。ディスクのファイル システム構成によっては、削除されたファイルが破棄されない場合があります。この場合は、スナップショットのサイズがファイル システムによって報告されたディスクの使用済み容量よりも大きい場合があります。これを回避するには、discard オプションを有効にするか、ディスクで fstrim を実行することをおすすめします。

スナップショット チェーン

スナップショットの作成時にスナップショット チェーンの名前を指定すると、個別のスナップショット チェーンで標準スナップショットを作成できます。チェーン名を使用して永続ディスクの標準スナップショットを複数作成する場合、各スナップショットは、そのチェーン名で最後に正常に作成されたスナップショットからの増分で作成されます。スナップショット チェーンは、高度なサービスのオーナーであり、チャージバック トラッキングなどのために別のスナップショット チェーンを作成する必要がある場合にのみ使用してください。

標準スナップショットの作成時にスナップショット チェーン名を指定するには、gcloud CLICompute Engine API、または Terraform を使用します。

スナップショットを作成する場合は、標準スナップショットまたはアーカイブ スナップショットを作成できます。アーカイブ スナップショットには、増分チェーン、圧縮、暗号化など、標準スナップショットと同じ利点があります。しかし、アーカイブ スナップショットは低コストであり、コンプライアンス、監査、長期のコールド ストレージに関連するユースケースに適しています。数か月または数年にわたってスナップショットを保持する必要があり、スナップショットにアクセスする必要がほとんどない場合は、標準スナップショットではなくアーカイブ スナップショットの使用を検討してください。各スナップショット タイプは異なる増分スナップショット チェーンに保存され、アーカイブ スナップショットは Google Cloud コンソールに個別にリスト表示されます。

スナップショットのストレージ ロケーション

ディスクのスナップショットを作成するたびに、Google Cloud は特定のストレージ ロケーションにスナップショットを保存します。スナップショットのストレージ ロケーションに関係なく、スナップショットを使用して任意のリージョンやゾーンに新しいディスクを作成できます。ただし、スナップショットの場所は可用性に影響するため、スナップショットの作成時または新しいディスクへの復元時にネットワーク コストが発生する可能性があります。

ストレージ ロケーションのタイプ

スナップショットは、次のいずれかのタイプの場所に保存できます。

マルチリージョンのストレージ ロケーションでは、非常に高い可用性と復元力を実現できます。リージョンのストレージ ロケーションを使用すると、単一のリージョンが指定されるため、データの物理的な位置をより細かく制御できます。

企業または政府のデータ配置ポリシーに準拠する必要がある場合は、そのポリシーに準拠している最も近いリージョン ロケーションにスナップショットを保存してください。

アプリケーションがマルチリージョン内にデプロイされておらず、スナップショットの可用性よりもネットワーク コストを優先する場合は、ソースディスクがあるリージョンにスナップショットを保存します。ソースディスクがあるリージョンにスナップショットを保存すると、そのソースディスクからのスナップショットの復元と作成にかかるネットワークコストが最小限に抑えられます。

ただし、マルチリージョンのストレージ ロケーションとは異なり、リージョンのストレージ ロケーションでは、複数のデータセンターにまたがってデータが重複して保存されないため、大規模な障害が発生した場合はデータにアクセスできない可能性があります。データの可用性を確保するために、別のロケーションに同じスナップショットを重複して保存しておくことも考えられます。

リソース ロケーションの制約を含む組織のポリシーがある場合、指定するスナップショットのストレージ ロケーションは制約で定義された一連のロケーション内に置かれる必要があります。詳細については、Compute Engine リソースのロケーションをご覧ください。

ストレージ ロケーションを選択する

次のいずれかの方法で、プロジェクトのスナップショットの保存先を選択できます。

  • スナップショット設定で構成された、事前定義済みまたはカスタマイズしたデフォルト ストレージ ロケーションを使用します。プレビュースナップショット設定のストレージ ロケーション ポリシーで、Google Cloud がすべてのプロジェクトのスナップショットを保存するデフォルト ロケーションが定義されます。Google Cloud では事前定義されたデフォルトのストレージ ロケーション ポリシーが維持されますが、スナップショット設定でこのポリシーをカスタマイズして独自のデフォルト ストレージ ロケーションを構成できます。

    • Google Cloud の事前定義されたデフォルト ロケーションを使用します。スナップショット設定を最初に更新するまで、Google Cloud はストレージ ロケーション ポリシーの事前定義された値を保持します。この事前定義されたデフォルト ロケーションは、ソースディスクに最も近いマルチリージョンです。詳細については、Google Cloud の事前定義されたストレージ ロケーション ポリシーをご覧ください。
    • 独自のカスタマイズしたデフォルト ロケーションを設定します。プロジェクトのスナップショットのデフォルト ストレージ ロケーションをカスタマイズするには、スナップショット設定のストレージ ロケーション ポリシーを更新する必要があります。スナップショット設定を更新して独自のデフォルトを構成すると、Google Cloud は新しく構成されたロケーションを使用して以降のすべてのスナップショットを保存します。詳細については、プロジェクトのスナップショット設定を更新するをご覧ください。
  • スナップショットの設定をオーバーライドして、スナップショットの作成時にロケーションを手動で指定します。スナップショット設定をオーバーライドして、スナップショットの作成時に任意のロケーションを手動で指定することもできます。このオプションを使用すると、運用ベースで特定のスナップショットに別のロケーションを選択できます。スナップショットの作成時にロケーションを指定する方法については、ディスク スナップショットを作成して管理するをご覧ください。

Google Cloud の事前定義されたデフォルト ロケーションを選択する場合

スナップショット設定で事前定義されたマルチリージョンをストレージ ロケーションとして使用するユースケースの例をいくつか示します。

  • デフォルトのマルチリージョン ロケーションが、企業または政府のデータ配置ポリシーを満たしている。
  • ディスクがマルチリージョン ロケーション(us)の一部であるリージョン ロケーション(us-central1 など)に保存されており、スナップショットの復元が遅くなるリスクを承知のうえでスナップショットの可用性は高い方が望ましい。
  • スナップショットがデフォルトのロケーション以外にあるディスクに高い頻度で復元されることを想定していない。

独自のストレージ ロケーションを選択する場合

スナップショット設定を更新またはオーバーライドすることでカスタム ストレージ ロケーションを使用するユースケースの例としては、次のようなものがあります。

  • カスタムのマルチリージョン ロケーションが、企業または政府のデータ配置ポリシーを満たしている。
  • アプリがいずれの Cloud Storage マルチリージョン ロケーションにも含まれないリージョンにデプロイされていて、スナップショットの可用性よりも復元のパフォーマンスが優先される。
  • デフォルトのスナップショットのロケーション以外にあるディスクから、スナップショットを何度も復元する。

既存のスナップショットのストレージ ロケーションを変更することはできません。ディスクのスナップショットを新しいロケーションに保存する場合は、希望するロケーションに新しいスナップショットを作成し、古いロケーションからスナップショットを削除します。スナップショットを複数のロケーションに保存する必要がある場合は、それぞれのロケーションにスナップショットを作成する必要があります。新しいロケーションに新しいスナップショットを作成すると、ディスク上のすべてのデータを含む完全なスナップショットが作成されます。

ネットワーク コスト

ディスクがマルチリージョンのメンバー リージョンにある場合、すべてのマルチリージョン標準スナップショットの作成または復元にはネットワーク使用料金が適用されます。マルチリージョン スナップショットでレプリケーションと耐障害性を追加する必要がない場合は、スナップショットの作成時に 1 つのリージョン ロケーションを指定してリージョン スナップショットを使用することをおすすめします。

ネットワーク コストを最小限にするうえで、スナップショットのストレージ ロケーションの選択は非常に重要です。スナップショットをソースディスクと同じリージョンに保存した場合、同じリージョンからスナップショットにアクセスする際にネットワーク使用料金はかかりません。別のリージョンからスナップショットにアクセスすると、ネットワーク使用料金が発生します。ネットワーク コストは、スナップショットがソースディスクとは異なるリージョンに作成された場合と、スナップショットとは異なるリージョンのディスクに復元される場合に発生します。

リージョン間でアクセスすると、ネットワーク使用料金が発生します。たとえば、ソースディスクが asia-east1 にあり、スナップショットを asia-east2 に保存すると、スナップショットを使用するときにリージョンをまたいでアクセスすることになるため、ネットワーク コストが発生します。

australia-southeast1southamerica-east1 の 2 つのリージョンにはデフォルトのマルチリージョン スナップショット ストレージ ロケーションがあり、ストレージ ロケーションを変更しない限りネットワーク コストが発生します。ストレージ ロケーションは、スナップショット設定を使用して変更するか、スナップショットの作成時にデフォルト ロケーションを手動でオーバーライドすることができます。

  • ソースディスクが australia-southeast1 にある場合、デフォルトのスナップショット ストレージ ロケーションは asia マルチリージョンになります。コストを抑えるには、スナップショットを australia-southeast1 リージョンに保存します。
  • ソースディスクが southamerica-east1 にある場合、デフォルトのスナップショット ストレージ ロケーションは us マルチリージョンになります。コストを抑えるには、スナップショットを southamerica-east1 リージョンに保存します。

スナップショットのストレージ ロケーションに含まれていないリージョンに置かれたディスクにスナップショットを復元すると、ネットワーク コストが発生します。たとえば、マルチリージョン ロケーションの asia に保存されたスナップショットから australia-southeast1 に新しいリージョン永続ディスクを作成する場合、ネットワーク コストが発生します。

次のステップ