Google Cloud仮想化環境
Citrix DaaS(旧称Citrix Virtual Apps and Desktopsサービス)を使用すると、Google Cloudでマシンをプロビジョニングおよび管理できます。
前提条件
Google Cloud Platform(GCP)へのVMのプロビジョニングを開始する前に、次の前提条件が満たされていることを確認する必要があります。
- Citrixサブスクリプションには、ハイブリッドマルチクラウドワークロードのサポートが含まれている必要があります。詳しくは、「Compare Citrix subscription features」を参照してください。
- 管理者アカウントには、ホスト接続、マシンカタログ、およびデリバリーグループを作成するための十分な権限が必要です。詳しくは、「管理者権限の委任の構成」を参照してください。
- マシンカタログに関連付けられたすべてのコンピューティングリソースが保存される、Google Cloudプロジェクトを特定します。既存のプロジェクトでも新しいプロジェクトでもかまいません。詳しくは、「Google Cloudプロジェクト」をご覧ください。
- Citrix DaaSとの統合に必要なGoogle Cloud APIを有効にします。詳しくは、「Google Cloud APIの有効化」をご覧ください。
- Google Cloudでサービスアカウントを作成し、適切な権限を付与します。詳しくは、「サービスアカウントの構成と更新」を参照してください。
- Citrix Cloudサービスアカウントのキーファイルをダウンロードします。詳しくは、「Citrix Cloudサービスアカウントキー」を参照してください。
- 仮想マシンは、パブリックIPアドレスなしでGoogle APIにアクセスできる必要があります。詳しくは、「プライベートGoogleアクセスの有効化」を参照してください。
Google Cloudプロジェクト
基本的に、Google Cloudプロジェクトには次の2種類があります:
- プロビジョニングプロジェクト:この場合、現在の管理者アカウントは、プロジェクトでプロビジョニングされたマシンを所有しています。このプロジェクトは、ローカルプロジェクトとも呼ばれます。
- 共有VPCプロジェクト: プロビジョニングプロジェクトで作成されたマシンが、共有VPCプロジェクトのVPCを使用するプロジェクト。プロジェクトのプロビジョニングに使用される管理者アカウントには、このプロジェクトでの権限が制限されています。具体的には、VPCを使用する権限のみです。
サービスエンドポイントURL
次のURLにアクセスできる必要があります:
https://oauth2.googleapis.com
https://cloudresourcemanager.googleapis.com
https://compute.googleapis.com
https://storage.googleapis.com
https://cloudbuild.googleapis.com
Google Cloud APIの有効化
StudioでGoogle Cloud機能を使用するには、Google Cloudプロジェクトで次のAPIを有効にします:
- Compute Engine API
- Cloud Resource Manager API
- Identity and Access Management(IAM)API
- Cloud Build API
Google Cloudコンソールから、次の手順を実行します:
- 左上隅のメニューで [APIとサービス]>[Enabled APIs & services] を選択します。
-
[Enabled APIs & services] 画面で、[Compute Engine API]が有効になっていることを確認します。有効になっていない場合、次の手順を実行します:
- [APIとサービス]>[ライブラリ] の順に選択します。
- 検索ボックスに 「Compute Engine」 と入力します。
- 検索結果から、[Compute Engine API] を選択します。
- [Compute Engine API] ページで、[Enable] を選択します。
- Cloud Resource Manager APIを有効にします。
- [APIとサービス]>[ライブラリ] の順に選択します。
- 検索ボックスに 「Cloud Resource Manager」 と入力します。
- 検索結果から、[Cloud Resource Manager API] を選択します。
- [Cloud Resource Manager API] ページで、[Enable] を選択します。APIのステータスが表示されます。
- 同様に、[Identity and Access Management (IAM) API]、[Cloud Build API]、および [Cloud Key Management Service (KMS) API] を有効にします。
Google Cloud Shellを使用してAPIを有効にすることもできます。これを行うには、以下の手順を実行します:
- Googleコンソールを開き、Cloud Shellを読み込みます。
-
Cloud Shellで次の4つのコマンドを実行します:
- gcloud services enable compute.googleapis.com
- gcloud services enable cloudresourcemanager.googleapis.com
- gcloud services enable iam.googleapis.com
- gcloud services enable cloudbuild.googleapis.com
- gcloud services enable cloudbuild.googleapis.com
- Cloud Shellでプロンプトが表示されたら、[Authorize] をクリックします。
サービスアカウントの構成と更新
注:
2024年4月29日、GCPはCloud Buildサービスのデフォルトの動作とサービスアカウントの使用に関する変更を導入します。詳しくは、「Cloud Buildサービスアカウントの変更」を参照してください。2024年4月29日より前にCloud Build APIが有効になっていた既存のGoogleプロジェクトは、この変更の影響を受けません。ただし、4月29日以降も既存のCloud Buildサービスの動作を継続する場合は、Cloud Build APIを有効にする前に、制約の適用を無効にする組織ポリシーを作成または適用できます。これにより、以下のコンテンツは「2024年4月29日より前」と「2024年4月29日以降」の2つに分割されます。新しい組織ポリシーを設定する場合は、「2024年4月29日より前」のセクションに従ってください。
2024年4月29日より前
Citrix Cloudは、Google Cloudプロジェクト内で次の3つの個別のサービスアカウントを使用します:
-
Citrix Cloudサービスアカウント:このサービスアカウントにより、Citrix CloudはGoogleプロジェクトにアクセスし、マシンをプロビジョニングおよび管理できます。このサービス アカウントは、Google Cloudによって生成された キー を使用してGoogle Cloudに対して認証されます。
ここで説明するように、このサービスアカウントを手動で作成する必要があります。詳しくは、「Citrix Cloudサービスアカウントの作成」を参照してください。
このサービスアカウントは、メールアドレスで識別できます。例:
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Buildサービスアカウント:このサービスアカウントは、「Google Cloud APIの有効化」に記載されているすべてのAPIを有効にすると自動的にプロビジョニングされます。自動的に作成されたサービスアカウントをすべて表示するには、Google Cloudコンソールで [IAM & admin]>[IAM] の順に移動し、[Google提供のロール付与を含める] チェックボックスをオンにします。
このサービスアカウントは、Project IDと、cloudbuildで始まるメールアドレスで識別できます。例:
<project-id>@cloudbuild.gserviceaccount.com
サービスアカウントに次の役割が付与されているかどうかを確認します。役割を追加する必要がある場合は、「Cloud Buildサービスアカウントへの役割の追加」で説明されている手順に従います。
- Cloud Buildサービスアカウント
- コンピューティングインスタンス管理者
- サービスアカウントユーザー
-
Cloud Computeサービスアカウント:このサービスアカウントは、Compute APIがアクティブ化されると、Google Cloudで作成されたインスタンスにGoogle Cloudによって追加されます。このアカウントには、操作を行うためのIAMの基本編集者の役割があります。ただし、より詳細な制御を行うためにデフォルトのアクセス権限を削除する場合は、次のアクセス権限を必要とする ストレージ管理者の役割を追加する必要があります:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
このサービスアカウントは、Project IDと、computeで始まるメールアドレスで識別できます。例:<project-id>-compute@developer.gserviceaccount.com
。
Citrix Cloudサービスアカウントの作成
Citrix Cloudサービスアカウントを作成するには、次の手順に従います:
- Google Cloudコンソールで、[IAMと管理]>[サービスアカウント] の順に選択します。
- [Service accounts]ページで、[CREATE SERVICE ACCOUNT] を選択します。
- [Create service account] ページで必要な情報を入力してから、[CREATE AND CONTINUE] を選択します。
-
[Grant this service account access to project] ページで、[Select a role] ドロップダウンメニューをクリックし、必要な役割を選択します。役割を追加する場合は、[+ADD ANOTHER ROLE] をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまな役割があります。このサービスアカウントに次の役割を付与します:
- コンピューティング管理者
- ストレージ管理者
- Cloud Buildエディター
- サービスアカウントユーザー
- クラウドデータストアユーザー
- Cloud KMS Crypto Operator
Cloud KMS Crypto Operatorには次の権限が必要です:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注:
すべてのAPIを有効にして、新しいサービスアカウントの作成中に、使用できる役割の完全な一覧を取得してください。
- [CONTINUE] をクリックします
- [Grant users access to this service account] ページでユーザーまたはグループを追加し、このサービスアカウントで操作を実行できるアクセス権をユーザーに付与します。
- [DONE] をクリックします。
- IAMメインコンソールに移動します。
- 作成されたサービスアカウントを識別します。
- 役割が正常に割り当てられていることを確認します。
注意事項:
サービスアカウントを作成するときは、次の点を考慮してください:
- [Grant this service account access to project] と Grant users access to this service account]の手順は任意です。これらのオプションの構成手順をスキップする場合、新しく作成されたサービスアカウントは [IAMと管理]>[IAM] ページには表示されません。
- サービスアカウントに関連付けられている役割を表示するには、オプションの手順をスキップせずに役割を追加します。このプロセスにより、構成されたサービスアカウントの役割が確実に表示されます。
Citrix Cloudサービスアカウントキー
Citrix DaaSで接続を作成するには、Citrix Cloudサービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルが自動的にダウンロードされ、「Downloads」フォルダーに保存されます。キーを作成するときは、必ずキータイプをJSONに設定してください。それ以外の場合、Studioは解析できません。
サービスアカウントキーを作成するには、[IAM & Admin]>[Service accounts] に移動してCitrix Cloudサービスアカウントのメールアドレスをクリックします。[Keys] タブを選択してから、[Add Key]>[Create new key] を選択します。キーの種類として必ずJSONを選択してください。
ヒント:
Google Cloudコンソールの[Service accounts] ページを使用してキーを作成します。セキュリティのために、キーを定期的に変更することをお勧めします。既存のGoogle Cloud接続を編集することで、Citrix Virtual Apps and Desktopsアプリケーションに新しいキーを提供できます。
Citrix Cloudサービスアカウントへの役割の追加
Citrix Cloudサービスアカウントに役割を追加するには:
- Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
-
[IAM]>[PERMISSIONS] ページで、作成したサービスアカウントを見つけ、メールアドレスで識別します。
例:
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセス権を編集します。
- 選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。
Cloud Buildサービスアカウントへの役割の追加
Cloud Buildサービスアカウントに役割を追加するには:
- Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
-
[IAM] ページで、Project IDと、cloudbuildで始まるメールアドレスで識別できるCloud Buildサービスアカウントを見つけます。
例:
<project-id>@cloudbuild.gserviceaccount.com
- 鉛筆アイコンを選択して、Cloud Buildアカウントの役割を編集します。
-
選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してCloud Buildサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。
注:
すべてのAPIを有効にして、役割の完全な一覧を取得します。
2024年4月29日以降
Citrix Cloudは、Google Cloudプロジェクト内で次の2つの個別のサービスアカウントを使用します:
-
Citrix Cloudサービスアカウント:このサービスアカウントにより、Citrix CloudはGoogleプロジェクトにアクセスし、マシンをプロビジョニングおよび管理できます。このサービス アカウントは、Google Cloudによって生成された キー を使用してGoogle Cloudに対して認証されます。
このサービスアカウントは手動で作成する必要があります。
このサービスアカウントは、メールアドレスで識別できます。例:
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Computeサービスアカウント:このサービスアカウントは、「Google Cloud APIの有効化」に記載されているすべてのAPIを有効にすると自動的にプロビジョニングされます。自動的に作成されたサービスアカウントをすべて表示するには、Google Cloudコンソールで [IAM & admin]>[IAM] の順に移動し、[Google提供のロール付与を含める] チェックボックスをオンにします。このアカウントには、操作を行うためのIAMの基本編集者の役割があります。ただし、より詳細な制御を行うためにデフォルトのアクセス権限を削除する場合は、次のアクセス権限を必要とする ストレージ管理者の役割を追加する必要があります:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
このサービスアカウントは、Project IDと、computeで始まるメールアドレスで識別できます。例:
<project-id>-compute@developer.gserviceaccount.com.
サービスアカウントに次の役割が付与されているかどうかを確認します。
- Cloud Buildサービスアカウント
- コンピューティングインスタンス管理者
- サービスアカウントユーザー
Citrix Cloudサービスアカウントの作成
Citrix Cloudサービスアカウントを作成するには、次の手順に従います:
- Google Cloudコンソールで、[IAMと管理]>[サービスアカウント] の順に選択します。
- [Service accounts]ページで、[CREATE SERVICE ACCOUNT] を選択します。
- [Create service account] ページで必要な情報を入力してから、[CREATE AND CONTINUE] を選択します。
-
[Grant this service account access to project] ページで、[Select a role] ドロップダウンメニューをクリックし、必要な役割を選択します。役割を追加する場合は、[+ADD ANOTHER ROLE] をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまな役割があります。このサービスアカウントに次の役割を付与します:
- コンピューティング管理者
- ストレージ管理者
- Cloud Buildエディター
- サービスアカウントユーザー
- クラウドデータストアユーザー
- Cloud KMS Crypto Operator
Cloud KMS Crypto Operatorには次の権限が必要です:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注:
すべてのAPIを有効にして、新しいサービスアカウントの作成中に、使用できる役割の完全な一覧を取得してください。
- [CONTINUE] をクリックします
- [Grant users access to this service account] ページでユーザーまたはグループを追加し、このサービスアカウントで操作を実行できるアクセス権をユーザーに付与します。
- [DONE] をクリックします。
- IAMメインコンソールに移動します。
- 作成されたサービスアカウントを識別します。
- 役割が正常に割り当てられていることを確認します。
注意事項:
サービスアカウントを作成するときは、次の点を考慮してください:
- [Grant this service account access to project] と Grant users access to this service account]の手順は任意です。これらのオプションの構成手順をスキップする場合、新しく作成されたサービスアカウントは [IAMと管理]>[IAM] ページには表示されません。
- サービスアカウントに関連付けられている役割を表示するには、オプションの手順をスキップせずに役割を追加します。このプロセスにより、構成されたサービスアカウントの役割が確実に表示されます。
Citrix Cloudサービスアカウントキー
Citrix DaaSで接続を作成するには、Citrix Cloudサービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルが自動的にダウンロードされ、「Downloads」フォルダーに保存されます。キーを作成するときは、必ずキータイプをJSONに設定してください。それ以外の場合、Studioは解析できません。
サービスアカウントキーを作成するには、[IAM & Admin]>[Service accounts] に移動してCitrix Cloudサービスアカウントのメールアドレスをクリックします。[Keys] タブを選択してから、[Add Key]>[Create new key] を選択します。キーの種類として必ずJSONを選択してください。
ヒント:
Google Cloudコンソールの[Service accounts] ページを使用してキーを作成します。セキュリティのために、キーを定期的に変更することをお勧めします。既存のGoogle Cloud接続を編集することで、Citrix Virtual Apps and Desktopsアプリケーションに新しいキーを提供できます。
Citrix Cloudサービスアカウントへの役割の追加
Citrix Cloudサービスアカウントに役割を追加するには:
- Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
-
[IAM]>[PERMISSIONS] ページで、作成したサービスアカウントを見つけ、メールアドレスで識別します。
例:
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセス権を編集します。
- 選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。
Cloud Computeサービスアカウントに役割を追加する
Cloud Computeサービスアカウントに役割を追加するには:
- Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
-
[IAM] ページで、Project IDと、computeで始まるメールアドレスで識別できるCloud Buildサービスアカウントを見つけます。
例:
<project-id>-compute@developer.gserviceaccount.com
- 鉛筆アイコンを選択して、Cloud Buildアカウントの役割を編集します。
-
選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してCloud Buildサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。
注:
すべてのAPIを有効にして、役割の完全な一覧を取得します。
ストレージ権限とバケットの管理
Citrix DaaSは、Google Cloudサービスのクラウドビルドエラーのレポートプロセスを改善します。このサービスは、Google Cloudでビルドを実行します。Citrix DaaSは、Google Cloudサービスがビルドログ情報をキャプチャするcitrix-mcs-cloud-build-logs-{region}-{5 random characters}
という名前のストレージバケットを作成します。このバケットには、30日後にコンテンツを削除するオプションが設定されています。このプロセスでは、接続に使用するサービスアカウントで、Google Cloudの権限がstorage.buckets.update
に設定されている必要があります。サービスアカウントにこの権限が設定されていない場合、Citrix DaaSはエラーを無視し、カタログの作成プロセスを続行します。この権限がないと、ビルドログのサイズが大きくなり、手動によるクリーンアップが必要になります。
プライベートGoogleアクセスの有効化
ネットワークインターフェイスに割り当てられた外部IPアドレスがVMにない場合、パケットは他の内部IPアドレスの宛先にのみ送信されます。プライベートアクセスを有効にすると、VMはGoogle APIおよび関連サービスで使用される外部IPアドレスのセットに接続します。
注:
プライベートGoogleアクセスが有効になっているかどうかに関係なく、パブリックIPアドレスを持つVMもパブリックIPアドレスを持たないVMもすべて、特にサードパーティのネットワークアプライアンスが環境にインストールされている場合、GoogleパブリックAPIにアクセスできる必要があります。
サブネット内のVMが、MCSプロビジョニング用のパブリックIPアドレスなしでGoogle APIにアクセスできるようにするには:
- Google Cloudで、[VPC network configuration] にアクセスします。
- [Subnets in current project] タブで、Citrix環境に利用されているサブネットを特定します。
- サブネットの名前をクリックし、Private Google Accessを有効にします。
詳しくは、「プライベートGoogleアクセスの構成」を参照してください。
重要:
インターネットへのVMアクセスを防止するようにネットワークが構成されている場合は、VMが接続されているサブネットに対してプライベートGoogleアクセスを有効にすることに関連するリスクを、組織が想定していることを確認してください。
次の手順
- 単純な概念実証環境を展開する場合、ユーザーにアプリまたはデスクトップを配信するように指定されたマシンへの [VDAのインストール] を実行します。
- 接続の作成と管理については、「Googleクラウド環境への接続」を参照してください。
- インストールと構成プロセスの手順をすべて確認します。