Google Cloud環境への接続

最終公開日 : Nov 13, 2026
接続とリソースの作成および管理では、接続を作成するウィザードについて説明しています。以下の情報は、Google Cloud環境に固有の詳細を扱っています。
注:
Google Cloud環境への接続を作成する前に、まずリソースロケーションとしてGoogle Cloudアカウントの設定を完了する必要があります。Google Cloud環境を参照してください。

接続の追加

接続とリソースの作成のガイダンスに従ってください。以下の説明では、ホスティング接続の設定について説明します。
  1. 管理 > 構成から、左側のペインでホスティングを選択します。
  2. アクションバーで**「接続とリソースの追加」**を選択します。
  3. **「接続」ページで、「新しい接続の作成」と「Citrix provisioning™ tools」を選択し、「次へ」**を選択します。
    • 接続の種類。メニューからGoogle Cloudを選択します。
    • 接続名。接続の名前を入力します。
  4. 「リージョン」ページで、メニューからプロジェクト名を選択し、使用するリソースを含むリージョンを選択してから、「次へ」を選択します。
  5. 「ネットワーク」ページで、リソースの名前を入力し、メニューから仮想ネットワークを選択し、サブセットを選択してから、「次へ」を選択します。リソース名は、リージョンとネットワークの組み合わせを識別するのに役立ちます。名前に「(Shared)」サフィックスが付いている仮想ネットワークは、共有VPCを表します。共有VPCのサブネットレベルのIAMロールを構成した場合、共有VPCの特定のサブネットのみがサブネットリストに表示されます。
    注:
    • リソース名には1~64文字を含めることができ、空白のみ、または文字\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )を含めることはできません。
  6. 「Summary」ページで情報を確認し、Finishを選択して「Add Connection and Resources」ウィンドウを終了します。
接続とリソースを作成すると、作成した接続とリソースが一覧表示されます。接続を構成するには、接続を選択し、アクションバーで該当するオプションを選択します。
同様に、接続の下に作成されたリソースを削除、名前変更、またはテストできます。これを行うには、接続の下のリソースを選択し、アクションバーで該当するオプションを選択します。

サービスエンドポイントURL

次のURLにアクセスできる必要があります。
  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

Google Cloudプロジェクト

Google Cloudプロジェクトには基本的に2種類あります。
  • プロビジョニングプロジェクト: この場合、現在の管理者アカウントがプロジェクト内のプロビジョニングされたマシンを所有します。このプロジェクトはローカルプロジェクトとも呼ばれます。
  • 共有VPCプロジェクト: プロビジョニングプロジェクトで作成されたマシンが、共有VPCプロジェクトのVPCを使用するプロジェクトです。プロビジョニングプロジェクトに使用される管理者アカウントは、このプロジェクトで限られた権限、具体的にはVPCを使用する権限のみを持ちます。

GCP管理トラフィックのセキュアな環境を作成する

Google CloudプロジェクトへのプライベートGoogleアクセスを許可できます。この実装により、機密データを処理するためのセキュリティが強化されます。これを実現するには、次のいずれかを実行できます。
  • Cloud BuildサービスアカウントのVPCサービスコントロールの次のイングレスルールを含めます。この手順を実行する場合は、GCP管理トラフィックのセキュアな環境を作成するための以下の手順に従わないでください。
    Ingress Rule 1
    From:
    Identities:
    <ProjectID>@cloudbuild.gserviceaccount.com
    Source > All sources allowed
    To:
    Projects =
    All projects
    Services =
    Service name: All services
  • プライベートワーカープールを使用している場合は、CustomPropertiesにUsePrivateWorkerPoolを追加します。プライベートワーカープールの詳細については、「プライベートプール概要」を参照してください。

GCP管理トラフィックのセキュアな環境を作成するための要件

GCP管理トラフィックのセキュアな環境を作成するための要件は次のとおりです。
  • カスタムプロパティを更新する際は、ホスティング接続がメンテナンスモードであることを確認してください。
  • プライベートワーカープールを使用するには、次の変更が必要です。
    • Citrix Cloud™サービスアカウントには、次のIAMロールを追加します。
      • Cloud Build サービスアカウント
      • Compute Instance 管理者
      • サービスアカウントユーザー
      • サービスアカウントトークン作成者
      • Cloud Build WorkerPool オーナー
    • ホスティング接続の作成に使用するのと同じプロジェクトにCitrix Cloudサービスアカウントを作成します。
    • DNS構成で説明されているように、private.googleapis.comとgcr.ioのDNSゾーンを設定します。
      private-googleapis-com の DNSゾーン構成gcr.io の DNS ゾーン
    • プライベートネットワークアドレス変換 (NAT) を設定するか、プライベートサービス接続を使用します。詳細については、「エンドポイントを介した Google API へのアクセス」を参照してください。
      プライベートサービス接続
    • ピアリングされた VPC を使用している場合は、ピアリングされた VPC への Cloud DNS ゾーンピアリングを作成します。詳細については、「ピアリングゾーンの作成」を参照してください。
      ピアリングゾーンの作成
    • VPC Service Controls で、API と VM がインターネットと通信できるようにエグレスルールを設定します。イングレスルールはオプションです。例:
      Egress Rule 1
      From:
      Identities:ANY_IDENTITY
      To:
      Projects =
      All projects
      Service =
      Service name: All services

プライベートワーカープールを有効にする

プライベートワーカープールを有効にするには、ホスト接続でカスタムプロパティを次のように設定します。
  1. Delivery Controller ホストから PowerShell ウィンドウを開くか、Remote PowerShell SDK を使用します。Remote PowerShell SDK の詳細については、「SDK と API」を参照してください。
  2. 次のコマンドを実行します。
    1. Add-PSSnapin citrix®*
    2. cd XDHyp:\Connections\
    3. dir
  3. 接続からCustomPropertiesをメモ帳にコピーします。
  4. プロパティ設定<Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>を追加します。例:
    ```
    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="UsePrivateWorkerPool" Value="True"/>
    </CustomProperties>
    ```
  5. PowerShellウィンドウで、変更されたカスタムプロパティに変数を割り当てます。例: $customProperty = '<CustomProperties…</CustomProperties>'。
  6. $gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>"を実行します。
  7. $gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >"を実行します。
  8. $securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Forceを実行します。
  9. 既存のホスト接続を更新するには、以下を実行します。
    Set-Item -PassThru -Path @('XDHyp:\\Connections\\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty

CMEKのグローバルキーとリージョンキーを指定する

注:
GCPにおけるCMEKのサポートは現在プレビュー段階です。
GCPには、顧客管理の暗号化キー (CMEK) が2種類あります。
  • リージョン:同じリージョン内のリソースのみが使用できる暗号化キー。
  • グローバル:複数のリージョンのリソースが使用できる暗号化キー。
サービスアカウントがアクセスできるすべてのプロジェクトから、グローバルまたはリージョンの顧客管理暗号化キー (CMEK) を参照して使用できます。その後、そのキーを使用してCMEK対応のMCSマシンカタログを作成し、Set-ProvScheme コマンドを使用して既存のCMEK対応のMCSマシンカタログを更新できます。PowerShellを使用してCMEK対応カタログを作成する方法については、「カスタムプロパティを使用してCMEKでカタログを作成する」を参照してください。
この機能には、以下の2つのサービスアカウントに対する追加の権限が必要です。
サービスアカウントでは、使用する暗号キーを持つプロジェクト (例: 共有プロジェクト) に次の役割を割り当てる必要があります。
  • Cloud KMS 閲覧者
  • クラウド KMS クリプトキー 暗号化/復号化
役割を割り当てない場合は、次の権限があることを確認してください:
  • resourcemanager.projects.get
  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptoKeys.get
  • cloudkms.cryptoKeys.list
  • cloudkms.cryptoKeyVersions.useToDecrypt
  • cloudkms.cryptoKeyVersions.useToEncrypt

暗号化キーを一覧表示する

PowerShellコマンドを使用して、同じプロジェクト内およびアクセス可能な他のすべてのプロジェクト内のグローバルおよびリージョンの暗号化キーを一覧表示できます。これを行うには:
  1. Delivery Controller™ホストまたはリモートPowerShellからPowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*コマンドを実行します。
  3. 暗号化キーを一覧表示するには、次のコマンドを実行します。例:
    • encryptionKeysフォルダーの内容を一覧表示するには:
      Get-ChildItem XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder
    • 同じプロジェクト内のグローバル暗号化キーを取得するには:
      Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myglobalkeyring.globalkeyring\myglobalkey.cryptokey
    • 同じプロジェクト内のリージョン暗号化キーを取得するには:
      Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\regional-ring.keyring\shared-key.cryptokey
    • アクセス可能な別のプロジェクト(例: myanotherproject)からグローバル暗号化キーを取得するには:
      Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject.project\shared-global-ring.globalkeyring\shared-key.cryptokey
    • アクセス可能な別のプロジェクト(例: myanotherproject)からリージョン暗号化キーを取得するには:
      Get-Item XDHyp:\HostingUnits\my-hostingunit\encryptionKeys.folder\myanotherproject .project.project\shared-uscentral.keyring\shared-uscentral-key.cryptokey
注:
  • グローバルキーリングのキーリングインベントリアイテムの拡張子は.globalkeyringです。
  • グローバルキーリングのIDには、globalという単語が含まれています。

必要なGCP権限

このセクションには、GCP権限の完全なリストが含まれています。機能が正しく動作するように、このセクションに記載されている権限の完全なセットを使用してください。
注:
GCP は、April 29, 2024 以降、Cloud Build Services のデフォルトの動作とサービスアカウントの使用に変更を導入します。詳細については、Cloud Build Service Account Change を参照してください。April 29, 2024 より前に Cloud Build API が有効になっている既存の Google プロジェクトは、この変更の影響を受けません。ただし、April 29 以降も既存の Cloud Build Service の動作を維持したい場合は、API を有効にする前に、制約の適用を無効にする組織ポリシーを作成または適用できます。新しい組織ポリシーを設定した場合、このセクションの既存の権限と、Before Cloud Build Service Account Change とマークされている項目を引き続き使用できます。そうでない場合は、既存の権限と、After Cloud Build Service Account Change とマークされている項目に従ってください。

ホスト接続の作成

  • プロビジョニングプロジェクトにおけるCitrix Cloudサービスアカウントに必要な最小限の権限:
    compute.instanceTemplates.list
    compute.instances.list
    compute.networks.list
    compute.projects.get
    compute.regions.list
    compute.subnetworks.list
    compute.zones.list
    resourcemanager.projects.get
    次のGoogle定義のロールには、上記に記載されている権限があります:
    • コンピュート管理者
    • クラウド データストア ユーザー
  • 共有VPCプロジェクトにおけるCitrix Cloudサービスアカウントの共有VPCに必要な追加の権限:
    compute.networks.list
    compute.subnetworks.list
    resourcemanager.projects.get
    次のGoogle定義のロールには、上記に記載されている権限があります:
    • コンピュートネットワークユーザー
  • サービスアカウントでは、使用したい暗号鍵があるプロジェクト (例: 共有プロジェクト) に次のロールを割り当てる必要があります:
    • Cloud KMS 閲覧者
    • クラウド KMS 暗号鍵の暗号化/復号者
    ロールを割り当てない場合は、次の権限があることを確認してください:
    • resourcemanager.projects.get
    • cloudkms.keyRings.list
    • cloudkms.keyRings.get
    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.cryptoKeyVersions.useToDecrypt
    • cloudkms.cryptoKeyVersions.useToEncrypt

VM の電源管理

電源管理のみのカタログの場合に、プロビジョニングプロジェクト内のCitrix Cloudサービスアカウントに必要な最小限の権限:
compute.instanceTemplates.list
compute.instances.list
compute.instances.get
compute.instances.reset
compute.instances.resume
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.networks.list
compute.projects.get
compute.regions.list
compute.subnetworks.list
compute.zones.list
resourcemanager.projects.get
compute.zoneOperations.get
以下のGoogle定義ロールは、上記にリストされている権限を持っています。
  • コンピュート管理者
  • クラウド データストア ユーザー

VM の作成、更新、または削除

  • プロビジョニングプロジェクト内のCitrix Cloudサービスアカウントに必要な最小限の権限:
    cloudbuild.builds.create
    cloudbuild.builds.get
    cloudbuild.builds.list
    compute.acceleratorTypes.list
    compute.diskTypes.get
    compute.diskTypes.list
    compute.disks.create
    compute.disks.createSnapshot
    compute.disks.delete
    compute.disks.get
    compute.disks.list
    compute.disks.setLabels
    compute.disks.use
    compute.disks.useReadOnly
    compute.firewalls.create
    compute.firewalls.delete
    compute.firewalls.list
    compute.globalOperations.get
    compute.images.create
    compute.images.delete
    compute.images.get
    compute.images.list
    compute.images.setLabels
    compute.images.useReadOnly
    compute.instanceTemplates.create
    compute.instanceTemplates.delete
    compute.instanceTemplates.get
    compute.instanceTemplates.list
    compute.instanceTemplates.useReadOnly
    compute.instances.attachDisk
    compute.instances.create
    compute.instances.delete
    compute.instances.detachDisk
    compute.instances.get
    compute.instances.getSerialPortOutput
    compute.instances.list
    compute.instances.reset
    compute.instances.resume
    compute.instances.setDeletionProtection
    compute.instances.setLabels
    compute.instances.setMetadata
    compute.instances.setServiceAccount
    compute.instances.setTags
    compute.instances.start
    compute.instances.stop
    compute.instances.suspend
    compute.machineTypes.get
    compute.machineTypes.list
    compute.networks.list
    compute.networks.updatePolicy
    compute.nodeGroups.list
    compute.nodeTemplates.get
    compute.projects.get
    compute.regions.list
    compute.snapshots.create
    compute.snapshots.delete
    compute.snapshots.list
    compute.snapshots.get
    compute.snapshots.setLabels
    compute.snapshots.useReadOnly
    compute.subnetworks.get
    compute.subnetworks.list
    compute.subnetworks.use
    compute.zoneOperations.get
    compute.zoneOperations.list
    compute.zones.get
    compute.zones.list
    iam.serviceAccounts.actAs
    resourcemanager.projects.get
    storage.buckets.create
    storage.buckets.delete
    storage.buckets.get
    storage.buckets.list
    storage.buckets.update
    storage.objects.create
    storage.objects.delete
    storage.objects.get
    storage.objects.list
    compute.networks.get
    compute.resourcePolicies.use
    以下のGoogle定義ロールは、上記にリストされている権限を持っています。
    • コンピュート管理者
    • ストレージ管理者
    • Cloud Build 編集者
    • サービスアカウントユーザー
    • クラウドデータストア ユーザー
  • Shared VPC プロジェクトの Citrix Cloud サービスアカウントが、Shared VPC プロジェクトの VPC とサブネットワークを使用してホスティングユニットを作成するために必要な、Shared VPC の追加の権限:
    compute.firewalls.list
    compute.networks.list
    compute.projects.get
    compute.regions.list
    compute.subnetworks.get
    compute.subnetworks.list
    compute.subnetworks.use
    compute.zones.list
    resourcemanager.projects.get
    以下のGoogle定義ロールには、上記にリストされている権限があります:
    • コンピュートネットワーク ユーザー
    • クラウドデータストア ユーザー
    MCSに準備指示ディスクをダウンロードする際に必要な最小限の権限:
    • (Cloud Build サービスアカウントの変更前): これらの権限をプロビジョニングプロジェクトの Cloud Build サービスアカウントに割り当てます。
    • (Cloud Build サービスアカウントの変更後): これらの権限をプロビジョニングプロジェクトの Cloud Compute サービスアカウントに割り当てます。
    compute.disks.create
    compute.disks.delete
    compute.disks.get
    compute.disks.list
    compute.disks.setLabels
    compute.disks.use
    compute.disks.useReadOnly
    compute.images.get
    compute.images.list
    compute.images.useReadOnly
    compute.instances.create
    compute.instances.delete
    compute.instances.get
    compute.instances.getSerialPortOutput
    compute.instances.list
    compute.instances.setLabels
    compute.instances.setMetadata
    compute.instances.setServiceAccount
    compute.machineTypes.list
    compute.networks.get
    compute.networks.list
    compute.projects.get
    compute.subnetworks.list
    compute.subnetworks.use
    compute.subnetworks.useExternalIp
    compute.zoneOperations.get
    compute.zones.list
    iam.serviceAccounts.actAs
    logging.logEntries.create
    pubsub.topics.publish
    resourcemanager.projects.get
    source.repos.get
    source.repos.list
    storage.buckets.create
    storage.buckets.get
    storage.buckets.list
    storage.objects.create
    storage.objects.delete
    storage.objects.get
    storage.objects.list
    以下のGoogle定義ロールには、上記にリストされている権限があります:
    • Cloud Build サービスアカウント (Cloud Build サービスアカウントの変更後は Cloud Compute サービスアカウント)
    • Compute Instance 管理者
    • サービスアカウントユーザー
  • 準備指示ディスクを MCS にダウンロードする際に、Google Cloud Build サービスによってプロビジョニングプロジェクトの Cloud Compute サービスアカウントに必要とされる最小限の権限:
    resourcemanager.projects.get
    storage.objects.create
    storage.objects.get
    storage.objects.list
    以下のGoogle定義ロールには、上記にリストされている権限があります:
    • コンピュートネットワーク ユーザー
    • ストレージアカウントユーザー
    • クラウドデータストア ユーザー
    MCSに準備指示ディスクをダウンロードする際に、共有VPCに必要とされる追加の権限:
    • (Cloud Buildサービスアカウント変更前): プロビジョニングプロジェクトのCloud Buildサービスアカウントにこれらの権限を割り当てます。
    • (Cloud Buildサービスアカウント変更後): プロビジョニングプロジェクトのCloud Computeサービスアカウントにこれらの権限を割り当てます。
    compute.firewalls.list
    compute.networks.list
    compute.subnetworks.list
    compute.subnetworks.use
    resourcemanager.projects.get
    以下のGoogle定義ロールには、上記にリストされている権限があります:
    • コンピュートネットワーク ユーザー
    • ストレージアカウントユーザー
    • クラウドデータストア ユーザー
  • プロビジョニングプロジェクトのCitrix CloudサービスアカウントのCloud Key Management Service (KMS) に必要な追加権限:
    cloudkms.cryptoKeys.get
    cloudkms.cryptoKeys.list
    cloudkms.keyRings.get
    cloudkms.keyRings.list
    以下のGoogle定義ロールには、上記にリストされている権限があります:
    • コンピュート KMS 閲覧者

一般的な権限

以下は、MCS でサポートされているすべての機能に対するプロビジョニングプロジェクトの Citrix Cloud サービスアカウントの権限です。これらの権限は、今後最高の互換性を提供します。
resourcemanager.projects.get
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.acceleratorTypes.list
compute.diskTypes.get
compute.diskTypes.list
compute.disks.create
compute.disks.createSnapshot
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.list
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instanceTemplates.create
compute.instanceTemplates.delete
compute.instanceTemplates.get
compute.instanceTemplates.list
compute.instanceTemplates.useReadOnly
compute.instances.attachDisk
compute.instances.create
compute.instances.delete
compute.instances.detachDisk
compute.instances.get
compute.instances.getSerialPortOutput
compute.instances.list
compute.instances.reset
compute.instances.resume
compute.instances.setDeletionProtection
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setTags
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.instances.updateAccessConfig
compute.instances.updateDisplayDevice
compute.instances.updateSecurity
compute.instances.updateShieldedInstanceConfig
compute.instances.updateShieldedVmConfig
compute.machineTypes.get
compute.machineTypes.list
compute.networks.list
compute.networks.updatePolicy
compute.nodeGroups.list
compute.nodeTemplates.get
compute.projects.get
compute.regions.list
compute.snapshots.create
compute.snapshots.delete
compute.snapshots.list
compute.snapshots.get
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.get
compute.zones.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.list
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
cloudkms.cryptoKeys.get
cloudkms.cryptoKeys.list
cloudkms.keyRings.get
cloudkms.keyRings.list
compute.disks.list
compute.instances.setServiceAccount
compute.networks.get
compute.networks.use
compute.networks.useExternalIp
iam.serviceAccounts.actAs
compute.resourcePolicies.use
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt

次のステップ

詳細情報