グーグルクラウド環境への接続

「接続とリソースの作成および管理」(/ja-jp/citrix-virtual-apps-desktops/2407/install-configure/connections.html)では、接続を作成するウィザードについて説明しています。以下の情報は、Google Cloud環境に固有の詳細を扱っています。

注:

Google Cloud環境への接続を作成する前に、まずGoogle Cloudアカウントをリソースの場所として設定を完了する必要があります。「Google Cloud環境」(/ja-jp/citrix-virtual-apps-desktops/2407/install-configure/install-prepare/gcp.html)を参照してください。

接続の追加

「接続とリソースの作成」(/ja-jp/citrix-virtual-apps-desktops/2407/manage-deployment/connections.html)のガイダンスに従ってください。以下の説明は、ホスティング接続の設定について案内します。

  1. 管理 > 構成から、左ペインでホスティングを選択します。

  2. アクションバーで接続とリソースの追加を選択します。

  3. 接続ページで、新しい接続の作成Citrix Provisioning™ツールを選択し、次へを選択します。

    • 接続の種類。メニューからGoogle Cloudを選択します。
    • 接続名。接続の名前を入力します。
  4. リージョンページで、メニューからプロジェクト名を選択し、使用するリソースを含むリージョンを選択してから、次へを選択します。

  5. ネットワークページで、リソースの名前を入力し、メニューから仮想ネットワークを選択し、サブセットを選択してから、次へを選択します。リソース名は、リージョンとネットワークの組み合わせを識別するのに役立ちます。名前に(Shared)サフィックスが付加された仮想ネットワークは、共有VPCを表します。共有VPCのサブネットレベルのIAMロールを構成した場合、共有VPCの特定のサブネットのみがサブネットリストに表示されます。

    注:

    • リソース名には1~64文字を含めることができ、空白のみ、または文字\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )を含めることはできません。
  6. 概要」ページで情報を確認し、「完了」を選択して「接続とリソースの追加」ウィンドウを終了します。

接続とリソースを作成すると、作成した接続とリソースが一覧表示されます。接続を構成するには、接続を選択し、アクションバーで該当するオプションを選択します。

同様に、接続の下に作成されたリソースを削除、名前変更、またはテストできます。これを行うには、接続の下のリソースを選択し、アクションバーで該当するオプションを選択します。

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

次のURLにアクセスできる必要があります。

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

グーグル クラウド プロジェクト

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
     <!--NeedCopy-->
    
  • プライベートワーカープールを使用している場合、CustomPropertiesUsePrivateWorkerPoolを追加します。プライベートワーカープールについては、プライベートプール概要を参照してください。

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

GCP管理トラフィックのセキュアな環境を作成するための要件は次のとおりです。

  • カスタムプロパティを更新する際は、ホスティング接続がメンテナンスモードであることを確認してください。
  • プライベートワーカープールを使用するには、次の変更が必要です。
    • Citrix Cloud™サービスアカウントの場合、次のIAMロールを追加します。
      • Cloud Buildサービスアカウント
      • コンピュートインスタンス管理者
      • サービスアカウントユーザー
      • サービスアカウントトークン作成者
      • クラウドビルド ワーカープール オーナー
    • ホスティング接続の作成に使用するのと同じプロジェクトにCitrix Cloudサービスアカウントを作成します。
    • DNS構成で説明されているように、private.googleapis.comgcr.ioのDNSゾーンを設定します。

      プライベート Google API ドットコム の DNSゾーン

      gcr.io の DNSゾーンの画像

    • プライベートネットワークアドレス変換 (NAT) を設定するか、プライベートサービス接続を使用します。詳細については、「エンドポイントを介した Google API へのアクセス」を参照してください。

      プライベートサービス接続

    • ピアリングされた VPC を使用している場合は、ピアリングされた VPC への Cloud DNS ゾーンピアリングを作成します。詳細については、「ピアリングゾーンの作成」を参照してください。

      ピアリングゾーンの作成

    • VPC サービスコントロールで、API と VM がインターネットと通信できるようにエグレスルールを設定します。イングレスルールはオプションです。例:

       Egress Rule 1
       From:
       Identities:ANY_IDENTITY
       To:
       Projects =
       All projects
       Service =
       Service name: All services
       <!--NeedCopy-->
      

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

プライベートワーカープールを有効にするには、ホスト接続でカスタムプロパティを次のように設定します。

  1. デリバリーコントローラーホストから PowerShell ウィンドウを開くか、リモート PowerShell SDK を使用します。リモート 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>
    <!--NeedCopy--> ```
    
  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
    <!--NeedCopy-->
    

必要なGCP権限

このセクションには、GCP権限の完全なリストが含まれています。機能が正しく動作するように、このセクションに記載されている権限の完全なセットを使用してください。

注:

GCPは、2024年4月29日以降、Cloud Build Servicesのデフォルトの動作とサービスアカウントの使用に変更を導入します。詳細については、Cloud Build Service Account Changeを参照してください。2024年4月29日より前にCloud Build APIが有効になっている既存のGoogleプロジェクトは、この変更の影響を受けません。ただし、4月29日以降も既存のCloud Build Serviceの動作を維持したい場合は、APIを有効にする前に、組織ポリシーを作成または適用して制約の適用を無効にすることができます。新しい組織ポリシーを設定した場合でも、このセクションの既存の権限と、Cloud Build Service Account Change前とマークされている項目に従うことができます。そうでない場合は、既存の権限と、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
     <!--NeedCopy-->
    

    以下のGoogle定義ロールには、上記にリストされている権限があります。

    • コンピュート管理者
    • クラウド データストア ユーザー
  • Shared VPCプロジェクトにおけるCitrix CloudサービスアカウントのShared VPCに必要な追加の権限:

     compute.networks.list
     compute.subnetworks.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    以下のGoogle定義ロールには、上記に記載されている権限が含まれます:

    • コンピュート ネットワーク ユーザー

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
<!--NeedCopy-->

以下の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.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
    
     <!--NeedCopy-->
    

    以下のGoogle定義ロールには、上記に記載されている権限が含まれます:

    • コンピュート管理者
    • ストレージ管理者
    • クラウドビルド編集者
    • サービスアカウント ユーザー
    • クラウド データストア ユーザー
  • Shared VPC プロジェクトからVPCとサブネットワークを使用してホスティングユニットを作成するために、Shared VPC のCitrix Cloud サービスアカウントに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
     <!--NeedCopy-->
    

    以下の 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
     <!--NeedCopy-->
    

    以下の Google 定義のロールには、上記に記載されている権限があります:

    • Cloud Build サービスアカウント (Cloud Build サービスアカウントの変更後、Cloud Compute サービスアカウントになります)
    • コンピュート インスタンス 管理者
    • サービスアカウント ユーザー
  • 準備指示ディスクを MCS へダウンロードする際に Google Cloud Build サービスによって必要とされる、プロビジョニングプロジェクト内の Cloud Compute サービスアカウントの最小限の権限:

     resourcemanager.projects.get
     storage.objects.create
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    以下の 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
     <!--NeedCopy-->
    

    以下のGoogle定義ロールには、上記にリストされている権限があります:

    • コンピュート ネットワーク ユーザー
    • ストレージアカウントユーザー
    • クラウド データストア ユーザー
  • プロビジョニングプロジェクト内のCitrix CloudサービスアカウントのCloud Key Management Service (KMS) に必要な追加の権限:

     cloudkms.cryptoKeys.get
     cloudkms.cryptoKeys.list
     cloudkms.keyRings.get
     cloudkms.keyRings.list
     <!--NeedCopy-->
    

    以下の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.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
<!--NeedCopy-->

次のステップ

詳細情報

グーグルクラウド環境への接続