Citrix Virtual Apps and Desktops

Google Cloud環境

Citrix Virtual Apps and Desktopsを使用すると、Google Cloudでマシンをプロビジョニングおよび管理できます。

要件

  • Citrix Cloudアカウント。この記事で説明する機能は、Citrix Cloudでのみ使用できます。
  • Google Cloudプロジェクト。このプロジェクトには、マシンカタログに関連付けられたすべてのコンピューティングリソースが格納されます。既存のプロジェクトでも新しいプロジェクトでもかまいません。
  • Google Cloudプロジェクトで4つのAPIを有効にします。詳しくは、「Google Cloud APIの有効化」を参照してください。
  • Google Cloudサービスアカウント。サービスアカウントは、プロジェクトへのアクセスを可能にするために、Google Cloudに対して認証されます。詳しくは、「サービスアカウントの構成と更新」を参照してください。
  • Googleプライベートアクセスの有効化。詳しくは、「プライベートGoogleアクセスの有効化」を参照してください。

Google Cloud APIの有効化

Web StudioでGoogle Cloud機能を使用するには、Google Cloudプロジェクトで次のAPIを有効にします:

  • Compute Engine API
  • Cloud Resource Manager API
  • Identity and Access Management(IAM)API
  • Cloud Build API
  • Cloud Key Management Service(KMS)

Google Cloudコンソールから、次の手順を実行します:

  1. 左上隅のメニューで [APIとサービス]>[ダッシュボード] を選択します。

    [APIとサービス]、[ダッシュボード]の選択の図

  2. [ダッシュボード] 画面で、Compute Engine APIが有効になっていることを確認します。有効になっていない 場合、次の手順を実行します:

    1. [APIとサービス]>[ライブラリ] の順に選択します。

      [APIとサービス]、[ライブラリ]の図

    2. 検索ボックスに 「Compute Engine」 と入力します。

    3. 検索結果から、[Compute Engine API] を選択します。

    4. [Compute Engine API] ページで、[Enable] を選択します。

  3. Cloud Resource Manager APIを有効にします。

    1. [APIとサービス]>[ライブラリ] の順に選択します。

    2. 検索ボックスに 「Cloud Resource Manager」 と入力します。

    3. 検索結果から、[Cloud Resource Manager API] を選択します。

    4. [Cloud Resource Manager API] ページで、[Enable] を選択します。APIのステータスが表示されます。

  4. 同様に、[Identity and Access Management(IAM)API] および [Cloud Build API] を有効にします。

Google Cloud Shellを使用してAPIを有効にすることもできます。これを行うには、以下の手順を実行します:

  1. Googleコンソールを開き、Cloud Shellを読み込みます。
  2. 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
  3. 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サービスアカウントを作成するには、次の手順に従います:

  1. Google Cloudコンソールで、[IAMと管理]>[サービスアカウント] の順に選択します。
  2. [Service accounts]ページで、[CREATE SERVICE ACCOUNT] を選択します。
  3. [Create service account] ページで必要な情報を入力してから、[CREATE AND CONTINUE] を選択します。
  4. [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を有効にして、新しいサービスアカウントの作成中に、使用できる役割の完全な一覧を取得してください。

  5. [CONTINUE] をクリックします
  6. [Grant users access to this service account] ページでユーザーまたはグループを追加し、このサービスアカウントで操作を実行できるアクセス権をユーザーに付与します。
  7. [DONE] をクリックします。
  8. IAMメインコンソールに移動します。
  9. 作成されたサービスアカウントを識別します。
  10. 役割が正常に割り当てられていることを確認します。

注意事項:

サービスアカウントを作成するときは、次の点を考慮してください:

  • [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に設定してください。それ以外の場合、Citrixの完全な構成インターフェイスでは解析できません。

サービスアカウントキーを作成するには、[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サービスアカウントに役割を追加するには:

  1. Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
  2. [IAM]>[PERMISSIONS] ページで、作成したサービスアカウントを見つけ、メールアドレスで識別します。

    例:<my-service-account>@<project-id>.iam.gserviceaccount.com

  3. 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセス権を編集します。
  4. 選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。

Cloud Buildサービスアカウントへの役割の追加

Cloud Buildサービスアカウントに役割を追加するには:

  1. Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
  2. [IAM] ページで、Project IDと、cloudbuildで始まるメールアドレスで識別できるCloud Buildサービスアカウントを見つけます。

    例:<project-id>@cloudbuild.gserviceaccount.com

  3. 鉛筆アイコンを選択して、Cloud Buildアカウントの役割を編集します。
  4. 選択したプリンシパルオプションの [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サービスアカウントを作成するには、次の手順に従います:

  1. Google Cloudコンソールで、[IAMと管理]>[サービスアカウント] の順に選択します。
  2. [Service accounts]ページで、[CREATE SERVICE ACCOUNT] を選択します。
  3. [Create service account] ページで必要な情報を入力してから、[CREATE AND CONTINUE] を選択します。
  4. [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を有効にして、新しいサービスアカウントの作成中に、使用できる役割の完全な一覧を取得してください。

  5. [CONTINUE] をクリックします
  6. [Grant users access to this service account] ページでユーザーまたはグループを追加し、このサービスアカウントで操作を実行できるアクセス権をユーザーに付与します。
  7. [DONE] をクリックします。
  8. IAMメインコンソールに移動します。
  9. 作成されたサービスアカウントを識別します。
  10. 役割が正常に割り当てられていることを確認します。

注意事項:

サービスアカウントを作成するときは、次の点を考慮してください:

  • [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に設定してください。それ以外の場合、Citrixの完全な構成インターフェイスでは解析できません。

サービスアカウントキーを作成するには、[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サービスアカウントに役割を追加するには:

  1. Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
  2. [IAM]>[PERMISSIONS] ページで、作成したサービスアカウントを見つけ、メールアドレスで識別します。

    例:<my-service-account>@<project-id>.iam.gserviceaccount.com

  3. 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセス権を編集します。
  4. 選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。

Cloud Computeサービスアカウントに役割を追加する

Cloud Computeサービスアカウントに役割を追加するには:

  1. Google Cloudコンソールで、[IAMと管理]>[IAM] の順に選択します。
  2. [IAM] ページで、Project IDと、computeで始まるメールアドレスで識別できるCloud Buildサービスアカウントを見つけます。

    例:<project-id>-compute@developer.gserviceaccount.com

  3. 鉛筆アイコンを選択して、Cloud Buildアカウントの役割を編集します。
  4. 選択したプリンシパルオプションの [Edit access to “project-id”] ページで、[ADD ANOTHER ROLE] を選択してCloud Buildサービスアカウントに必要な役割を1つずつ追加し、[SAVE] を選択します。

    注:

    すべてのAPIを有効にして、役割の完全な一覧を取得します。

ストレージ権限とバケットの管理

Citrix Virtual Apps and Desktopsは、Google Cloudサービスのクラウドビルドエラーのレポートプロセスを改善します。このサービスは、Google Cloudでビルドを実行します。Citrix Virtual Apps and Desktopsは、Google Cloudサービスがビルドログ情報をキャプチャするcitrix-mcs-cloud-build-logs-{region}-{5 random characters}という名前のストレージバケットを作成します。このバケットには、30日後にコンテンツを削除するオプションが設定されています。このプロセスでは、接続に使用するサービスアカウントで、Google Cloudの権限がstorage.buckets.updateに設定されている必要があります。サービスアカウントにこの権限が設定されていない場合、Citrix Virtual Apps and Desktopsはエラーを無視し、カタログの作成プロセスを続行します。この権限がないと、ビルドログのサイズが大きくなり、手動によるクリーンアップが必要になります。

プライベートGoogleアクセスの有効化

ネットワークインターフェイスに割り当てられた外部IPアドレスがVMにない場合、パケットは他の内部IPアドレスの宛先にのみ送信されます。プライベートアクセスを有効にすると、VMはGoogle APIおよび関連サービスで使用される外部IPアドレスのセットに接続します。

注:

プライベートGoogleアクセスが有効になっているかどうかに関係なく、パブリックIPアドレスを持つVMもパブリックIPアドレスを持たないVMもすべて、特にサードパーティのネットワークアプライアンスが環境にインストールされている場合、GoogleパブリックAPIにアクセスできる必要があります。

サブネット内のVMが、MCSプロビジョニング用のパブリックIPアドレスなしでGoogle APIにアクセスできるようにするには:

  1. Google Cloudで、[VPC network configuration] にアクセスします。
  2. [サブネットの詳細]画面で、[プライベートGoogleアクセス]をオンにします。

プライベートGoogleアクセス

詳しくは、「プライベートGoogleアクセスの構成」を参照してください。

重要:

インターネットへのVMアクセスを防止するようにネットワークが構成されている場合は、VMが接続されているサブネットに対してプライベートGoogleアクセスを有効にすることに関連するリスクを、組織が想定していることを確認してください。

次の手順

追加情報

Google Cloud環境