プライベート プールの構成ファイルには、Cloud Build がユーザーの指定に基づいてプライベート プールを作成するための指示が含まれています。プライベート プール構成ファイルには、プライベート プールに使用するディスクサイズやマシンタイプなどの情報が含まれています。gcloud
ツールまたは Cloud Build API を使用してプライベート プールを作成および管理する場合は、プライベート プール構成ファイルが必要です。
プライベート プールの構成ファイルの構造
プライベート プールの構成ファイルは YAML または JSON 構文で記述します。curl
を使用してプライベート プールを作成、管理するには、プライベート プール構成ファイルを JSON 形式で記述します。gcloud
ツールを使用してプライベート プールを作成、管理するには、プライベート プール構成ファイルを YAML 形式または JSON 形式で作成します。
プライベート プールの構成ファイルの構造は次のとおりです。
YAML
privatePoolV1Config:
networkConfig:
egressOption: NO_PUBLIC_EGRESS
peeredNetwork: 'PEERED_NETWORK'
peeredNetworkIpRange: 'PEERED_NETWORK_IP_RANGE'
workerConfig:
diskSizeGb: 'PRIVATE_POOL_DISK_SIZE'
machineType: PRIVATE_POOL_MACHINE_TYPE
JSON
{
"privatePoolV1Config": {
"networkConfig": {
"egressOption": "NO_PUBLIC_EGRESS",
"peeredNetwork": "PEERED_NETWORK",
"peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE"
},
"workerConfig": {
"diskSizeGb": "PRIVATE_POOL_DISK_SIZE",
"machineType": "PRIVATE_POOL_MACHINE_TYPE"
}
}
}
以降では、プライベート プール構成ファイル内の各フィールドについて説明します。
networkConfig
このフィールドは省略できます。 networkConfig
は、VPC ネットワークをサービス プロデューサー ネットワークとピアリングする場合にのみ指定します。
egressOption
このフィールドは省略できます。 VPC Service Controls の境界内にプライベート プールを作成する場合は、このフィールドの値を NO_PUBLIC_EGRESS
に設定します。プライベート プール構成ファイルにこのフィールドを含めない場合、パブリック下り(外向き)が有効になります。プライベート プールの VPC Service Controls の設定については、VPC Service Controls の使用をご覧ください。
peeredNetwork
プライベート プール構成ファイルに networkConfig
フィールドが含まれている場合は、このフィールドは必須です。このフィールドの値を、サービス プロデューサー ネットワークとピアリングされている VPC ネットワークのネットワーク リソース URL に設定します。ネットワーク リソース URL は、projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
の形式にする必要があります。ここで、NETWORK_PROJECT_ID は VPC ネットワークを保持する Google Cloud プロジェクトのプロジェクト ID で、NETWORK_NAME は VPC ネットワークの名前です。値を指定しない場合、Cloud Build はデフォルトでサービス プロデューサー ネットワークを使用します。
peeredNetworkIpRange
このフィールドは省略できます。 このフィールドの値を設定して、ピアリングされたネットワークの割り当て範囲内で VM を割り当てることができる内部 IP 範囲を指定します。サイズ制限や無効な開始 IP などのために、指定された IP 範囲をプライベート接続の範囲内で割り当てることができない場合は、プライベート プールを作成できません。
peeredNetworkIpRange
は、'STARTING_IP/SUBNET_PREFIX_SIZE'
形式のクラスレス ドメイン間ルーティング(CIDR)表記を使用して指定します。このフィールドを使用する場合は、SUBNET_PREFIX_SIZE
を指定する必要があります。SUBNET_PREFIX_SIZE
は IP 範囲のサイズを決定します。先頭はスラッシュ(/
)にしてください。値は 29 以下でなければなりません。STARTING_IP
部分は省略可能です。範囲の開始アドレスを指定します。STARTING_IP
を指定しない場合、開始アドレスはプライベート接続範囲内から自動的に割り当てられます。peeredNetworkIpRange
に値が指定されていない場合、デフォルト値 /24
が使用され、256 個の IP の範囲で開始 IP が自動的に割り当てられます。
SUBNET_PREFIX_SIZE
の値は 29 以下にする必要があります。数値が大きいほどサブネットの接頭辞が大きくなり、使用できる IP 数が少なくなり、結果的に IP 範囲が小さくなります。IP アドレスが 32 ビットであるため、接頭辞のサイズが /24
の場合、範囲内の使用可能な IP の数は 256 個(8 ビット)ですが、プレフィックス サイズが /29
の場合、使用可能な IP の数は 8 個(3 ビット)になります。ビルダー VM の最大数は、範囲内の使用可能な IP の数に限定されます(範囲内の使用可能な IP の合計数 から 2 を引いた値)。
peeredNetworkIpRange
フィールドの例については、以下をご覧ください。
192.168.0.0/24
は、サブネット接頭辞サイズが 24 の 192.168.0.0 から始まる IP 範囲を指定します(IP が 256、使用可能な IP が 254)。/29
では、自動的に決定される開始 IP とサブネット接頭辞のサイズが 29(8 つの IP、6 つの使用可能な IP)で範囲を指定します。
workerConfig
これは必須項目です。プライベート プールの構成オプションが含まれています。
diskSizeGb
このフィールドは省略できます。 このフィールドを使用して、プライベート プール インスタンスのディスクサイズを GB 単位で指定します。100 以上、2,000 以下の値を指定します。プライベート プール構成ファイルにこのフィールドを含めない場合、またはこのフィールドの値として 0
を指定した場合、Cloud Build ではデフォルト値の 100 を使用します。
machineType
このフィールドは省略できます。 このフィールドを使用して、プライベート プール インスタンスの Compute Engine マシンタイプを指定します。次のいずれかのマシンタイプを指定します。
e2-medium
e2-standard-2
e2-standard-4
e2-standard-8
e2-standard-16
e2-standard-32
e2-highmem-2
e2-highmem-4
e2-highmem-8
e2-highmem-16
e2-highcpu-2
e2-highcpu-4
e2-highcpu-8
e2-highcpu-16
e2-highcpu-32
値を指定しない場合、Cloud Build はデフォルト値の e2-standard-2
を使用します。
次のステップ
- プライベート プールでビルドを実行する方法を確認する。
- プライベート プールの作成と管理の方法を確認する。