Googleクラウド環境への接続
「接続とリソースの作成と管理」では接続を作成するためのウィザードについて説明しています。以下の情報は、Googleクラウド環境に固有の詳細について説明しています。
注:
Googleクラウド環境への接続を作成する前に、まずGoogleクラウドアカウントをリソースの場所として設定する必要があります。「Google Cloud環境」を参照してください。
接続の追加
「接続とリソースの作成」の手順に従います。次の説明は、ホスト接続を設定する手順を示しています:
-
[管理]>[構成] の左側のペインで [ホスト] を選択します。
-
操作バーの [接続およびリソースの追加] を選択します。
-
[接続] ページで、[新しい接続を作成する] と [Citrixプロビジョニングツール] を選択してから [次へ] を選択します。
- 接続の種類。メニューから [Google Cloud] を選択します。
- 接続名。接続名を入力します。
-
[リージョン] ページで、メニューからプロジェクト名を選択し、使用するリソースを含むリージョンを選択して、[次へ] を選択します。
-
[ネットワーク] ページで、リソースの名前を入力し、メニューから仮想ネットワークを選択し、サブセットを選択してから [次へ] を選択します。このリージョンとネットワークの組み合わせを識別するためのわかりやすいリソース名を指定してください。名前に (Shared) サフィックスが付加された仮想ネットワークは、共有VPCを表しています。共有VPCにサブネットレベルのIAM役割を設定する場合、共有VPCの特定のサブネットのみがサブネットリストに表示されます。
注:
- リソース名は1~64文字にし、空白スペースのみにしたり記号(
\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )
)を含めたりすることはできません。
- リソース名は1~64文字にし、空白スペースのみにしたり記号(
-
[概要] ページで情報を確認してから、[完了] を選択し、[接続およびリソースの追加] ウィンドウを終了します。
接続とリソースを作成すると、作成した接続とリソースが一覧表示されます。接続を構成するには、接続を選択してから、操作バーで該当するオプションを選択します。
同様に、接続の下で作成されたリソースを削除、名前変更、またはテストすることができます。これを行うには、接続の下のリソースを選択してから、操作バーで該当するオプションを選択します。
サービスエンドポイント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サービスコントロールの次のIngressルールを含めます。この手順を実行する場合は、GCP管理トラフィック用の安全な環境を作成するための以下の手順には従わないでください。
Ingress Rule 1 From: Identities: <ProjectID>@cloudbuild.gserviceaccount.com Source > All sources allowed To: Projects = All projects Services = Service name: All services <!--NeedCopy-->
-
プライベートワーカープールを使用する場合は、
CustomProperties
にUsePrivateWorkerPool
を追加します。プライベートワーカープールについて詳しくは、「 プライベートプールの概要」を参照してください。
GCP管理トラフィックのための安全な環境の作成要件
GCP管理トラフィックのための安全な環境の作成要件は以下のとおりです。
- カスタムプロパティを更新するときは、ホスト接続がメンテナンスモードであることを確認する。
- プライベートワーカープールを使用するには、以下の変更が必要です。
- Citrix Cloud Servicesアカウントの場合、以下のIAMロールを追加します。
- Cloud Buildサービスアカウント
- コンピューティングインスタンス管理者
- サービスアカウントユーザー
- サービスアカウントトークン作成者
- Cloud Buildワーカープールの所有者
- ホスト接続の作成に使用するのと同じプロジェクトに、Citrix Cloud Servicesのアカウントを作成します。
-
「DNS構成」の説明に従って、
private.googleapis.com
および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-->
- Citrix Cloud Servicesアカウントの場合、以下のIAMロールを追加します。
プライベートワーカープールを有効にする
プライベートワーカープールを有効にするには、ホスト接続でカスタムプロパティを次のように設定します:
- Delivery ControllerホストからPowerShellウィンドウを開くか、Remote PowerShell SDKを使用します。Remote PowerShell SDKについて詳しくは、「SDKおよびAPI」を参照してください。
-
次のコマンドを実行します:
Add-PSSnapin citrix*
cd XDHyp:\Connections\
dir
- 接続の
CustomProperties
をメモ帳にコピーします。 -
プロパティ設定
<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--> ```
- PowerShellウィンドウで、変更したカスタムプロパティに変数を割り当てます。例:
$customProperty = '<CustomProperties…</CustomProperties>'
。 -
$gcpServiceAccount = "<ENTER YOUR SERVICE ACCOUNT EMAIL HERE>"
を実行します。 -
$gcpPrivateKey = "<ENTER YOUR SERVICE ACCOUNT PRIVATE KEY HERE AFTER REMOVING ALL INSTANCES OF \n >"
を実行します。 -
$securePassword = ConvertTo-SecureString $gcpPrivateKey -AsPlainText -Force
を実行します。 -
以下を実行して、既存のホスト接続を更新します。
Set-Item -PassThru -Path @('XDHyp:\Connections\<ENTER YOUR CONNECTION NAME HERE>') -SecurePassword $securePassword -UserName $gcpServiceAccount -CustomProperties $customProperty <!--NeedCopy-->
必要なGCPの権限
このセクションでは、GCPの権限の完全な一覧が示されています。機能を正しく動作させるには、このセクションで示した権限の完全なセットを使用します。
注:
2024年4月29日、GCPはCloud Buildサービスのデフォルトの動作とサービスアカウントの使用に関する変更を導入します。詳しくは、「Cloud Buildサービスアカウントの変更」を参照してください。2024年4月29日より前にCloud Build APIが有効になっていた既存のGoogleプロジェクトは、この変更の影響を受けません。ただし、4月29日以降も既存のCloud Buildサービスの動作を維持する場合は、APIを有効にする前に、制約の適用を無効にする組織ポリシーを作成または適用できます。新しい組織ポリシーを設定する場合でも、このセクションの既存の権限と、「Cloud Buildサービスアカウントの変更前」と記載されている項目に従うことができます。そうでない場合は、「Cloud Buildサービスアカウントの変更後」と記載されている既存の権限と項目に従います。
ホスト接続の作成
-
プロビジョニングプロジェクトにおいて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定義の役割には、上に一覧表示された権限があります:
- コンピューティング管理者
- クラウドデータストアユーザー
-
共有VPCプロジェクトにおいてCitrix Cloudサービスアカウントの共有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定義の役割には、上に一覧表示された権限があります:
- コンピューティング管理者
- ストレージ管理者
- Cloud Buildエディター
- サービスアカウントユーザー
- クラウドデータストアユーザー
-
共有VPCプロジェクトからVPCおよびサブネットワークを使用してホスティングユニットを作成するために、共有VPCプロジェクトにおいてCitrix Cloudサービスアカウントの共有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定義の役割には、上に一覧表示された権限があります:
- コンピューティングネットワークユーザー
- クラウドデータストアユーザー
-
(Cloud Buildサービスアカウントの変更前):準備の指示ディスクをMCSにダウンロードするときに、プロビジョニングプロジェクトにおいてCloud BuildサービスアカウントでGoogle Cloud Buildサービスが必要とする最低限の権限:
-
(Cloud Buildサービスアカウントの変更後):準備の指示ディスクをMCSにダウンロードするときに、プロビジョニングプロジェクトにおいてCloud ComputeサービスアカウントでGoogle 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にダウンロードするときに、プロビジョニングプロジェクトにおいてCloud ComputeサービスアカウントでGoogle Cloud Buildサービスが必要とする最低限の権限:
resourcemanager.projects.get storage.objects.create storage.objects.get storage.objects.list <!--NeedCopy-->
次のGoogle定義の役割には、上に一覧表示された権限があります:
- コンピューティングネットワークユーザー
- ストレージアカウントユーザー
- クラウドデータストアユーザー
- (Cloud Buildサービスアカウントの変更前):準備の指示ディスクをMCSにダウンロードするときに、プロビジョニングプロジェクトにおいてCloud Buildサービスアカウントの共有VPCでGoogle Cloud Buildサービスが必要とする追加の権限:
-
(Cloud Buildサービスアカウントの変更後):準備の指示ディスクをMCSにダウンロードするときに、プロビジョニングプロジェクトにおいてCloud Computeサービスアカウントの共有VPCでGoogle Cloud Computeサービスが必要とする追加の権限:
compute.firewalls.list compute.networks.list compute.subnetworks.list compute.subnetworks.use resourcemanager.projects.get <!--NeedCopy-->
次のGoogle定義の役割には、上に一覧表示された権限があります:
- コンピューティングネットワークユーザー
- ストレージアカウントユーザー
- クラウドデータストアユーザー
-
プロビジョニングプロジェクトにおいてCitrix Cloudサービスアカウントのクラウドキー管理サービス(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-->
次の手順
- 初期展開プロセスを行っている場合は、「マシンカタログの作成」を参照してください
- Google Cloud Platform(GCP)固有の情報については、「Google Cloud Platformカタログの作成」を参照してください。