Citrix Virtual Apps and Desktops

グーグルクラウド環境

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 プライベートアクセスを有効にします。詳細については、「Enable-private-google-access」を参照してください。

グーグルクラウド API を有効にする

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

  • コンピューティング エンジン API
  • クラウド リソース マネージャー API
  • ID およびアクセス管理 (IAM) API
  • クラウドビルド API
  • クラウド キー管理サービス (KMS)

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

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

    API とサービス ダッシュボードの選択画像(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/gcp-api-service-select-dashboard.png)

  2. Dashboard 画面で、Compute Engine API が有効になっていることを確認します。 有効になっていない場合は、次の手順に従います。

    1. 「API とサービス > ライブラリ」に移動します。

      API とサービス ライブラリの画像(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/gcp-api-library.png)

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

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

    4. Compute Engine API のページに移動し、有効にする を選択してください。

  3. Cloud Resource Manager API を有効にするための設定を行ってください。

    1. APIとサービス > ライブラリ に移動します。

    2. 検索ボックスに「クラウド リソース マネージャー」と入力します。

    3. 検索結果から、クラウド リソース マネージャー API を選択します。

    4. クラウド リソース マネージャー API ページで、有効にする を選択します。API のステータスが表示されます。

  4. 同様に、ID およびアクセス管理 (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 からプロンプトが表示されたら、承認をクリックします。

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

注:

GCP は、2024 年 4 月 29 日以降、Cloud Build Service のデフォルトの動作とサービスアカウントの使用に変更を導入します。詳細については、「Cloud Build Service Account Change」を参照してください。2024 年 4 月 29 日より前に Cloud Build API が有効になっている既存の Google プロジェクトは、この変更の影響を受けません。ただし、4 月 29 日以降も既存の Cloud Build Service の動作を維持したい場合は、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 Service Account: このサービスアカウントは、Enable Google Cloud APIsで言及されているすべてのAPIを有効にすると、自動的にプロビジョニングされます。自動的に作成されたすべてのサービスアカウントを表示するには、Google CloudコンソールでIAM & Admin > IAMに移動し、Include Google-provided role grantsチェックボックスを選択します。

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

    サービスアカウントに以下のロールが付与されているか確認します。ロールを追加する必要がある場合は、Add roles to the Cloud Build Service Accountに記載されている手順に従ってください。

    • Cloud Build サービスアカウント
    • Compute インスタンス管理者
    • サービスアカウントユーザー
  • Cloud Compute Service Account: このサービスアカウントは、Compute APIがアクティブ化されると、Google CloudによってGoogle Cloudで作成されたインスタンスに追加されます。このアカウントには、操作を実行するためのIAM基本エディターロールがあります。ただし、より詳細な制御を行うためにデフォルトの権限を削除した場合、以下の権限を必要とするStorage Adminロールを追加する必要があります。

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • ストレージ.オブジェクト.リスト

このサービスアカウントは、Project IDとcomputeという単語で始まるメールアドレスで識別できます。例えば、<project-id>-compute@developer.gserviceaccount.com。

Citrix Cloudサービスアカウントを作成する

Citrix Cloudサービスアカウントを作成するには、以下の手順に従ってください。

  1. Google Cloud コンソールで、IAM と管理 > サービスアカウントに移動します。
  2. サービスアカウントページで、サービスアカウントを作成を選択します。
  3. サービスアカウントの作成ページで、必要な情報を入力し、作成して続行を選択します。
  4. このサービスアカウントにプロジェクトへのアクセス権を付与ページで、ロールを選択ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加をクリックします。

    各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに次のロールを付与します。

    • コンピュート管理者
    • ストレージ管理者
    • クラウドビルド編集者
    • サービスアカウントユーザー
    • クラウドデータストアユーザー
    • Cloud KMS 暗号オペレーター

    Cloud KMS 暗号オペレーターには、次の権限が必要です。

    • クラウドKMS.暗号キー.取得
    • cloudkms.cryptoKeys.list
    • クラウドKMS.キーリングス.ゲット
    • cloudkms.キーリング.リスト
    • cloudkms.暗号鍵バージョン.復号化に使用
    • cloudkms.暗号鍵バージョン.暗号化に使用

    注:

    新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。

  5. 「続行」をクリックします。
  6. 「このサービスアカウントへのユーザーアクセスを許可」ページで、このサービスアカウントでアクションを実行するアクセス権を付与するユーザーまたはグループを追加します。
  7. 「完了」をクリックします。
  8. IAMメインコンソールに移動します。
  9. 作成されたサービスアカウントを特定します。
  10. ロールが正常に割り当てられていることを検証します。

考慮事項:

サービスアカウントを作成する際は、以下を考慮してください。

  • 「このサービスアカウントにプロジェクトへのアクセスを許可」および「このサービスアカウントへのユーザーアクセスを許可」のステップはオプションです。これらのオプションの構成ステップをスキップすることを選択した場合、新しく作成されたサービスアカウントは「IAM と管理 > IAM」ページに表示されません。
  • サービスアカウントに関連付けられたロールを表示するには、オプションの手順をスキップせずにロールを追加します。このプロセスにより、構成されたサービスアカウントにロールが表示されるようになります。

Citrix Cloud サービスアカウントキー

Citrix DaaSで接続を作成するには、Citrix Cloud サービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルは自動的にダウンロードされ、ダウンロードフォルダーに保存されます。キーを作成する際は、キータイプをJSONに設定してください。そうしないと、Web Studioはそれを解析できません。

サービスアカウントキーを作成するには、IAMと管理 > サービスアカウントに移動し、Citrix Cloud サービスアカウントのメールアドレスをクリックします。キータブに切り替えて、キーを追加 > 新しいキーを作成を選択します。キータイプとしてJSONを選択していることを確認してください。

ヒント:

Google Cloudコンソールのサービスアカウントページを使用してキーを作成します。セキュリティ上の理由から、キーを定期的に変更することをお勧めします。既存のGoogle Cloud接続を編集することで、Citrix Virtual Apps and Desktopsアプリケーションに新しいキーを提供できます。

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

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

  1. Google Cloudコンソールで、IAMと管理 > IAMに移動します。
  2. IAM > 権限ページで、作成したサービスアカウント(メールアドレスで識別可能)を見つけます。

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

  3. 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセスを編集します。
  4. 選択したプリンシパルオプションの「project-id」へのアクセスを編集ページで、別の役割を追加を選択して、必要な役割をサービスアカウントに1つずつ追加し、保存を選択します。

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

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

  1. Google Cloudコンソールで、IAMと管理 > IAMに移動します。
  2. 「IAM」ページで、プロジェクトIDと「cloudbuild」という単語で始まるメールアドレスで識別できるCloud Buildサービスアカウントを見つけます。

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

  3. 鉛筆アイコンを選択して、Cloud Buildアカウントのロールを編集します。
  4. 選択したプリンシパルオプションの「Edit access to “project-id” page」で、「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」に移動し、「Include Google-provided role grants」チェックボックスを選択します。このアカウントには、操作を実行するためのIAM基本エディターロールがあります。ただし、より詳細な制御のためにデフォルトの権限を削除した場合、次の権限を必要とするStorage Adminロールを追加する必要があります。

    • リソースマネージャー.プロジェクト.ゲット
    • ストレージ.オブジェクト.クリエイト
    • ストレージ.オブジェクト.取得
    • ストレージ.オブジェクト.一覧表示

    このサービスアカウントは、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できます。例: <project-id>-compute@developer.gserviceaccount.com.

    サービスアカウントに以下のロールが付与されていることを確認します。

    • Cloud Build サービスアカウント
    • コンピュート インスタンス 管理者
    • サービスアカウントユーザー

Citrix Cloud サービスアカウントを作成する

Citrix Cloud サービスアカウントを作成するには、次の手順に従います。

  1. Google Cloud コンソールで、IAM と管理 > サービスアカウントに移動します。
  2. サービスアカウントページで、サービスアカウントを作成を選択します。
  3. サービスアカウントの作成ページで、必要な情報を入力し、作成して続行を選択します。
  4. このサービスアカウントにプロジェクトへのアクセス権を付与ページで、ロールを選択ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加をクリックします。

    各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに以下のロールを付与します。

    • コンピュート 管理者
    • ストレージ 管理者
    • クラウドビルド エディタ
    • サービスアカウントユーザー
    • クラウドデータストア ユーザー
    • Cloud KMS 暗号化オペレーター

    Cloud KMS 暗号化オペレーターには、次の権限が必要です。

    • クラウドKMS.クリプトキーズ.ゲット
    • cloudkms.cryptoKeys.list
    • クラウドKMS.キーリング.ゲット
    • クラウドKMS.キーリング.リスト

    注:

    新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。

  5. 続行をクリックします。
  6. このサービスアカウントへのユーザーアクセスを許可ページで、このサービスアカウントでアクションを実行するためのアクセス権を付与するユーザーまたはグループを追加します。
  7. 完了をクリックします。
  8. IAMメインコンソールに移動します。
  9. 作成されたサービスアカウントを特定します。
  10. ロールが正常に割り当てられていることを検証します。

考慮事項:

サービスアカウントを作成する際は、以下を考慮してください。

  • 「このサービスアカウントにプロジェクトへのアクセスを許可する」および「このサービスアカウントへのユーザーアクセスを許可する」の手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントは「IAM と管理 > IAM」ページに表示されません。
  • サービスアカウントに関連付けられたロールを表示するには、オプションの手順をスキップせずにロールを追加します。このプロセスにより、構成されたサービスアカウントにロールが表示されるようになります。

Citrix Cloudサービスアカウントキー

Citrix DaaSで接続を作成するには、Citrix Cloudサービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルは自動的にダウンロードされ、「ダウンロード」フォルダーに保存されます。キーを作成する際は、キータイプをJSONに設定してください。そうしないと、Web Studioで解析できません。

サービスアカウントキーを作成するには、「IAM と管理 > サービスアカウント」に移動し、Citrix Cloudサービスアカウントのメールアドレスをクリックします。「キー」タブに切り替えて、「キーを追加 > 新しいキーを作成」を選択します。キータイプとして「JSON」が選択されていることを確認してください。

ヒント:

Google Cloudコンソールの「サービスアカウント」ページを使用してキーを作成します。セキュリティ上の理由から、キーを定期的に変更することをお勧めします。既存のGoogle Cloud接続を編集することで、新しいキーをCitrix Virtual Apps and Desktopsアプリケーションに提供できます。

Citrix Cloudサービスアカウントにロールを追加する

Citrix Cloudサービスアカウントにロールを追加するには:

  1. Google Cloudコンソールで、「IAM と管理 > IAM」に移動します。
  2. 「IAM > 権限」ページで、作成したサービスアカウント(メールアドレスで識別可能)を見つけます。

    例えば、<my-service-account>@<project-id>.iam.gserviceaccount.com

  3. 鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセスを編集します。
  4. 選択したプリンシパルオプションの「“project-id”へのアクセスを編集」ページで、「別のロールを追加」を選択して必要なロールをサービスアカウントに1つずつ追加し、その後「保存」を選択します。

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

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

  1. Google Cloudコンソールで、IAMと管理 > IAMに移動します。
  2. 「IAM」ページで、プロジェクトIDと「compute」という単語で始まるメールアドレスで識別できるCloud Computeサービスアカウントを見つけます。

    例えば、<project-id>-compute@developer.gserviceaccount.com

  3. 鉛筆アイコンを選択して、Cloud Buildアカウントのロールを編集します。
  4. 選択したプリンシパルオプションの「“project-id”へのアクセスを編集」ページで、「別のロールを追加」を選択して必要なロールをCloud Buildサービスアカウントに1つずつ追加し、その後「保存」を選択します。

    注:

    すべての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日後にコンテンツを削除するオプションが設定されています。このプロセスでは、接続に使用されるサービスアカウントにstorage.buckets.updateに設定されたGoogle Cloud権限が必要です。サービスアカウントにこの権限がない場合、Citrix Virtual Apps and Desktopsはエラーを無視し、カタログ作成プロセスを続行します。この権限がないと、ビルドログのサイズが増加し、手動でのクリーンアップが必要になります。

プライベートGoogleアクセスを有効にする

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

注:

プライベートGoogleアクセスが有効になっているかどうかにかかわらず、パブリックIPアドレスの有無にかかわらず、すべてのVMはGoogle Public APIにアクセスできる必要があります。特に、サードパーティのネットワークアプライアンスが環境にインストールされている場合は、このアクセスが必須です。

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

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

プライベートGoogleアクセス(/ja-jp/citrix-virtual-apps-desktops/2507-ltsr/media/gcp-private-access.png)

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

重要:

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

次のステップ

詳細情報

グーグルクラウド環境