リソースの設定の概要

Google Cloud プロジェクト、フォルダ、組織の設定は、リソースの設定を使用することで一元的に構成できます。これらの設定は、リソース階層における子孫に継承されます。各設定は、Google によって作成、管理されます。

リソースの設定

リソースの設定は、構成可能な Google Cloud リソースまたはサービスの項目を表します。たとえば、Cloud Storage バケット作成のロケーション設定により、新しいバケット リソースが作成されるデフォルトのロケーションが決まります。

各リソース設定には、次の基本プロパティがあります。

  • name: 設定の値を構成するときに使用される、設定のグローバルに一意の ID。

  • メタデータ: リソース設定に関する Google 管理の情報。リソース設定のメタデータには次のフィールドが含まれます。

    • データ型: この設定に構成できる値のタイプ。可能なデータ型には、ブール値、文字列、文字列のセット、列挙型があります。

    • default_value: 組織内で値が設定されていない場合の設定のデフォルト値。Google が管理します。

    • 読み取り専用: Google がこの設定を読み取り専用にしたかどうかを示すフラグ。リソース設定が読み取り専用の場合、この設定の値は変更できません。この設定は、移行と非推奨の場合のみ読み取り専用になります。このフラグを変更する前に、Google で警告を表示します。

  • localValue: リソースに関連付けられた設定の特定の値。

  • 有効値: リソース階層から継承されたリソース設定を評価した後の設定の値。

特定の組織、フォルダ、プロジェクトで使用できる設定のリストを表示するには、リソース設定閲覧者 または リソース設定管理者 の Identity and Access Management ロールが必要です。これらのロールの詳細については、必要な権限をご覧ください。

利用できるリソース設定は、リソース設定のリリース ステータスによって異なる場合があります。

リソース設定の例

リソース設定の具体例を次に示します。

# Setting
{
  "name": "net-preferredDnsServers",
  "metadata": {
    "displayName": "Preferred DNS Servers",
    "description": "The DNS servers to be used by VMs associated with this resource.",
    "read_only": false,
    "data_type" : "STRING_SET",
    "default_value" : {
      "string_set_value" : {
        "values" : [ "8.8.8.8" ],
      }
    }
  }
}

命名

リソース設定には、settings/SETTING_ID の形式でグローバルに一意な略称があります。たとえば、仮想マシンの初期起動イメージを制御するリソース設定の短縮名は settings/compute-vmStartupImage になります。

この短縮名に、設定の相対リソース名によって数値のリソース ID が追加されます。たとえば、organizations/12345678901 に対する上記の相対リソース名 settings/compute-vmStartupImage 設定は、organizations/12345678901/settings/compute-vmStartupImage になります。

短縮名が同じ設定は、相対的なリソース名が異なっていても、Google Cloud では同じと見なされます。相対リソース名に含まれるリソースは、その名前付きリソースでその設定を利用できるかどうかを意味します。

ローカル設定値

特定のリソース設定に直接適用される設定値は、ローカル設定値と呼ばれます。Resource Settings API を使用して、リソース設定のローカル値を直接変更できます。

ローカル設定値を含むリソース設定の例を次に示します。

# Setting
{
  "name" : "folders/123/settings/net-preferredDnsServers"
  "localValue": {
    "stringSetValue": {
      "values": ["8.8.8.8", "8.8.4.4"]
    }
  }
}

有効な設定値

リソースのローカル設定値は、そのリソースのリソース階層内のすべての子孫に継承されます。こうした子孫のいずれかにローカル設定値がある場合は、継承された設定値がオーバーライドされます。リソースやその子孫にローカル設定値を設定していない場合は、その設定に対する Google 定義のデフォルトが使用されます。

リソース設定が評価され、その結果が有効な設定値になります。この値は、特定のリソースのすべての継承とローカル値の設定を合わせた最終結果を示します。有効な設定値を決定するルールは次のように適用されます。

  1. リソースに特定のリソース設定の値がある場合は、それが有効な値となり、継承された値をオーバーライドします。

  2. リソースにこのリソース設定の値がなく、そのリソースの祖先のいずれかにその設定に対する値がある場合は、最も近い祖先に関連付けられた値が有効な値になります。

  3. このリソースとその祖先のどちらにもこのリソース設定の値がなく、その設定に Google 管理のデフォルト値がある場合は、それが有効な値になります。

  4. リソースとその祖先のどちらもこのリソース設定に対する値がなく、その値に Google 管理のデフォルト値もない場合は、このリソースの設定に有効な値はありません。

有効な値がないリソース設定

リソース設定に Google 管理のデフォルト値がない場合、その値に有効な値がないリソースが存在する可能性もあります。下位互換性のある方法で行える場合、新しいリソース設定には Google 管理のデフォルト値はありません。したがって、新しい設定によって既存のサービスが中断されることはありません。

空の値と未設定の値

リソース設定の値が空の場合、リソース設定値は空と見なされます。たとえば、"" は空の文字列です。空の値は、効果的な設定値の評価に応じて引き続き値として考慮され、継承をオーバーライドします。

ローカル値が設定されていない場合、リソース設定は未設定のままとなり、このリソースでは、リソース設定値が継承されます。

次のステップ