グローバル スコープのスナップショットのデフォルトのストレージ ロケーションを設定する

スナップショットを作成すると、デフォルトではグローバル スコープのスナップショットとして作成されます。特定のプロジェクトでは、スナップショット設定を構成して、Trusted Cloud by S3NS がグローバル スコープのスナップショットを保存するデフォルトのロケーションをカスタマイズできます。スナップショット設定を使用して独自のカスタム デフォルト値を定義すると、スナップショットを作成するたびにロケーションを手動で指定する必要がなくなります。

このドキュメントでは、スナップショット設定と、その設定を使用してプロジェクトのグローバル スコープのスナップショット用のデフォルト ストレージ ロケーションをカスタマイズする方法について説明します。

リージョン スコープのスナップショットのロケーション設定を管理するには、リージョン スコープのスナップショットのスナップショット作成と復元のロケーションを設定するプレビュー)をご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、 Trusted Cloud by S3NS サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:

        gcloud init

      詳細については、 Trusted Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

制限事項

  • スナップショット設定を表示および更新するには、gcloud CLI または REST を使用する必要があります。
  • 即時スナップショットのデフォルトのストレージ ロケーションはカスタマイズできません。これは、標準スナップショットとアーカイブ スナップショットに対してのみ可能です。
  • プロジェクトのスナップショット設定でロケーション ポリシーを変更すると、変更後に作成されたスナップショットにのみ影響します。プロジェクトのスナップショット設定を更新しても、既存のスナップショットのロケーションは変更されません。
  • スナップショットの作成時に手動でロケーションを指定すると、 Trusted Cloud by S3NSはスナップショット設定をオーバーライドし、新しく指定したロケーションにスナップショットを作成します。ただし、スナップショット設定のストレージ ロケーション ポリシーは変わりません。
  • デフォルトのストレージ ロケーションは、グローバル スコープのスナップショットにのみ適用されます。リージョン スコープのスナップショットのストレージ ロケーションを制御するには、許可されたスナップショット作成ロケーションを設定する必要があります。
  • デフォルトのストレージ ロケーションを設定すると、スナップショットの保存場所のみが制御されます。グローバル スコープのスナップショットでは、スナップショット データを復元する場所を設定できません。スナップショットの復元に対して許可されたロケーションを設定するには、リージョン スナップショットを作成し、許可された復元ロケーションを設定する必要があります。

スナップショット設定の仕組み

プロジェクトのスナップショット設定のストレージ ロケーション ポリシーは、そのプロジェクトのスナップショットをTrusted Cloud by S3NS が自動保存するロケーションを定義します。 Trusted Cloud by S3NSは、スナップショット設定を更新して新しいデフォルトを構成するまで、このストレージ ロケーション ポリシーの事前定義された値を維持します。スナップショット設定を更新して新しいデフォルトのストレージ ロケーションを設定すると、Trusted Cloud by S3NS はこのロケーションを使用してプロジェクト内に作成されたすべての新しいスナップショットを保存します。

スナップショット設定を更新することで、ストレージ ロケーション ポリシーを回数制限なく変更できます。一方で、プロジェクトのスナップショット設定を変更すると、変更後に作成されたスナップショットのロケーションにのみ影響します。プロジェクトのスナップショット設定を更新しても、既存のスナップショットのロケーションは変更されません。

Trusted Cloud by S3NS がスナップショット設定で定義されたストレージ ロケーションを使用するようにするには、スナップショットの作成時に手動でロケーションを指定しないでください。スナップショットの作成時に手動でロケーションを指定すると、 Trusted Cloud by S3NSはスナップショット設定をオーバーライドし、新しく指定したロケーションにスナップショットを作成します。ただし、スナップショット設定のストレージ ロケーション ポリシーは変わりません。

スナップショット設定を使用して、標準スナップショットとアーカイブ スナップショットのデフォルトのストレージ ロケーションをカスタマイズできます。即時スナップショットのデフォルトのストレージ ロケーションはカスタマイズできません。

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

プロジェクトのスナップショット設定を構成して新しいデフォルトのストレージ ロケーションを指定するときは、特定のリージョンを選択するか、ディスクベースのロケーション設定を使用します。より具体的には、ストレージ ロケーション ポリシーに対して次のいずれかのロケーション オプションを選択できます。

  • ソースディスクに最も近いマルチリージョン
  • ソースディスクと同じローカル リージョン
  • 選択した特定のリージョン

Trusted Cloud by S3NS の事前定義されたストレージ ロケーション ポリシー

スナップショット設定を最初に更新するまで、 Trusted Cloud by S3NSはストレージ ロケーション ポリシーに対して事前定義された値を保持します。この事前定義ポリシーにより、プロジェクトのスナップショット設定を更新して独自のデフォルトのストレージ ロケーションを構成するまで、スナップショットのデフォルトのストレージ ロケーションが指定されます。事前定義されたストレージ ロケーション ポリシーは、ソースディスクのロケーションに地理的に最も近いマルチリージョンに設定されます。

  • ソースディスクがマルチリージョンの一部であるロケーションにある場合、スナップショットの設定のストレージ ロケーション ポリシーがそのマルチリージョンに設定されます。たとえば、ディスクが us-central1 のようなロケーションにある場合、デフォルトのストレージ ロケーションはマルチリージョンの us です。
  • マルチリージョン外のロケーションの場合、デフォルトのストレージ ロケーションは、そのリージョン外の地理的に最も近いマルチリージョンになります。australia-southeast1 のようなロケーションの場合、デフォルトのロケーションは asia マルチリージョンになります。

料金への影響

プロジェクトのスナップショット設定の使用に追加料金は必要ありません。ただし、スナップショット設定を使用して指定したロケーションの値は、他のオペレーションに影響するため、運用コストに影響を与える可能性があります。

スナップショット設定を使用してプロジェクトのデフォルトのストレージ ロケーションを設定する

REST と gcloud CLI を使用して、プロジェクトのスナップショット設定を更新し、新しいデフォルトのストレージ ロケーションを設定できます。

スナップショット設定にストレージ ロケーション ポリシーを設定しない場合、スナップショットは Trusted Cloud by S3NS の事前定義されたストレージ ロケーション ポリシーを使用して作成されます。

gcloud

プロジェクトのスナップショット設定の追加、または既存のスナップショット設定の更新には、gcloud compute snapshot-settings update コマンドを使用します。

  gcloud compute snapshot-settings update \
      --project=PROJECT_ID \
      --storage-location-policy=STORAGE_LOCATION \
      --storage-location-names=REGION_NAME

次のように置き換えます。

  • PROJECT_ID: プロジェクトの ID。
  • STORAGE_LOCATION: プロジェクトのスナップショットのストレージ ロケーション ポリシー。値は次のいずれかになります。

    • nearest-multi-region: ディスクのロケーションに最も近い Cloud Storage マルチリージョンとしてロケーション ポリシーを指定します。
    • local-region: ディスクが配置されているのと同じ Cloud Storage リージョンとしてロケーション ポリシーを指定します。
    • specific-locations: 任意のカスタム Cloud Storage リージョンのロケーションとしてロケーション ポリシーを指定します。このオプションを指定する場合は、--storage-location-names フラグを使用して、目的のロケーションも指定する必要があります。
  • REGION_NAME: 省略可。--storage-location-policy フラグに specific-locations の値を指定する場合は、Cloud Storage リージョンを指定する必要があります。指定できるリージョンは 1 つのみで、Cloud Storage マルチリージョンは指定できません。この値には、ストレージ ロケーション ポリシーとして指定するリージョンの名前を設定します。

スナップショット設定を使用してストレージ ロケーション ポリシーを設定する例

us-central1 リージョンにあるプロジェクトの例 my-project について考えてみましょう。

  • プロジェクトのスナップショット設定のストレージ ロケーション ポリシーを、ディスクに最も近い Cloud Storage マルチリージョンとして構成するには、次のコマンドを実行します。
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=nearest-multi-region
  • プロジェクトのスナップショット設定のストレージ ロケーション ポリシーを、ディスクと同じ Cloud Storage リージョンとして構成するには、次のコマンドを実行します。
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=local-region
  • 特定のロケーション(us-central1 など)を選択してプロジェクトのスナップショット設定のストレージ ロケーション ポリシーとして構成するには、--storage-location-names フラグを使用して次のコマンドを実行します。
  gcloud compute snapshot-settings update \
      --project=my-project \
      --storage-location-policy=specific-locations \
      --storage-location-names=us-central1

REST

プロジェクトのスナップショット設定の追加、または既存のスナップショット設定の更新には、snapshotSettings.update メソッドPATCH リクエストを行います。

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

  {
    "storageLocation": {
      "policy": "STORAGE_LOCATION",
      "locations": {
            "REGION_NAME": { "name": "REGION_NAME" }
      }
    }
  }

次のように置き換えます。

  • PROJECT_ID: プロジェクトの ID。
  • STORAGE_LOCATION: プロジェクトのスナップショットのストレージ ロケーション ポリシー。値は次のいずれかになります。

    • NEAREST_MULTI_REGION: ディスクのロケーションに最も近い Cloud Storage マルチリージョンとしてロケーション ポリシーを指定します。
    • LOCAL_REGION: ディスクが配置されているのと同じ Cloud Storage リージョンとしてロケーション ポリシーを指定します。
    • SPECIFIC_LOCATIONS: 任意のカスタム Cloud Storage リージョンのロケーションとしてロケーション ポリシーを指定します。このオプションを指定する場合は、リクエストの locations パラメータを使用して、目的のロケーションも指定する必要があります。
  • REGION_NAME: 省略可。policy パラメータに SPECIFIC_LOCATIONS の値を指定する場合は、Cloud Storage リージョンを指定する必要があります。指定できるリージョンは 1 つのみで、Cloud Storage マルチリージョンは指定できません。この値には、ストレージ ロケーション ポリシーとして指定するリージョンの名前を設定します。

スナップショット設定を使用してストレージ ロケーション ポリシーを設定する例

us-central1 リージョンにあるプロジェクトの例 my-project について考えてみましょう。

  • プロジェクトのスナップショット設定のストレージ ロケーション ポリシーを、ディスクに最も近い Cloud Storage マルチリージョンとして構成するには、次の PATCH リクエストを行います。
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "NEAREST_MULTI_REGION"
      }
    }
  • プロジェクトのスナップショット設定のストレージ ロケーション ポリシーを、ディスクと同じ Cloud Storage リージョンとして構成するには、次の PATCH リクエストを行います。
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "LOCAL_REGION"
      }
    }
  • プロジェクトのスナップショット設定のストレージ ロケーション ポリシーとして特定のロケーション(us-central1 など)を構成するには、次の PATCH リクエストを行います。
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

    {
      "storageLocation": {
        "policy": "SPECIFIC_LOCATIONS",
        "locations": {
          "us-central1": { "name": "us-central1"}
        }
      }
    }

プロジェクトのスナップショット設定で定義されたデフォルトのストレージ ロケーションを表示する

Compute Engine API と gcloud CLI を使用して、プロジェクトのスナップショット設定を表示できます。

gcloud

プロジェクトのスナップショット設定を表示するには、gcloud compute snapshot-settings describe コマンドを使用します。

  gcloud compute snapshot-settings describe \
      --project=PROJECT_ID

PROJECT_ID は、プロジェクトの ID に置き換えます。

REST

プロジェクトのスナップショット設定を表示するには、snapshotSettings.get メソッドGET リクエストを行います。

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshotSettings

PROJECT_ID は、プロジェクトの ID に置き換えます。

次のステップ