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] をクリックします。

サービスアカウントの構成と更新

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エディター
    • サービスアカウントユーザー
    • クラウドデータストアユーザー
  • Cloud Buildサービスアカウント:このサービスアカウントは、「Google Cloud APIの有効化」に記載されているすべてのAPIを有効にすると自動的にプロビジョニングされます。

    このサービスアカウントは、Project IDと、cloudbuildで始まるメールアドレスで識別できます。例:<project-id>@cloudbuild.gserviceaccount.com

    このサービスアカウントに次の役割を付与します:

    • Cloud Buildサービスアカウント
    • コンピューティングインスタンス管理者
    • サービスアカウントユーザー
  • Cloud Computeサービスアカウント:このサービスアカウントは、Compute APIがアクティブ化されると、Google Cloudで作成されたインスタンスにGoogle Cloudによって追加されます。このアカウントには、操作を行うためのIAMの基本編集者の役割があります。ただし、より詳細な制御を行うためにデフォルトのアクセス権限を削除する場合は、次のアクセス権限を必要とする ストレージ管理者の役割を追加する必要があります:

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • storage.objects.list

    このサービスアカウントは、プロジェクト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] をクリックします。

    注:

    すべての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 Virtual Apps and Desktopsで接続を作成するときに必要になります。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルが自動的にダウンロードされ、「Downloads」フォルダーに保存されます。キーを作成するときは、必ずキータイプをJSONに設定してください。それ以外の場合、Web Studioは解析できません:

ヒント:

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を有効にして、役割の完全な一覧を取得します。

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

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ネットワーク構成] にアクセスします。
  2. [サブネットの詳細]画面で、[プライベートGoogleアクセス]をオンにします。

プライベートGoogleアクセス

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

重要:

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

次の手順

追加情報

Google Cloud環境