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 とサービス] > [ダッシュボード] を選択します。

    APIs and Services Dashboard select image

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

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

      APIs and Services Library image

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

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

    4. [Compute Engine API] ページで、[有効にする] を選択します。

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

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

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

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

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

  4. 同様に、Identity and Access Management (IAM) APICloud 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 サービスアカウント:このサービスアカウントは、「Google Cloud APIの有効化」で言及されているすべての API を有効にした後に自動的にプロビジョニングされます。自動的に作成されたすべてのサービスアカウントを表示するには、Google Cloud コンソールで [IAM と管理] > [IAM] に移動し、[Google 提供のロール付与を含める] チェックボックスをオンにします。

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

    サービスアカウントに次のロールが付与されていることを確認します。ロールを追加する必要がある場合は、「Cloud Build サービスアカウントへのロールの追加」に概説されている手順に従ってください。

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

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

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

Citrix Cloud サービスアカウントの作成

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

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

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

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
    • Cloud Datastore User
    • Cloud KMS Crypto Operator

    Cloud KMS Crypto Operator には、次の権限が必要です。

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list
    • cloudkms.cryptoKeyVersions.useToDecrypt
    • cloudkms.cryptoKeyVersions.useToEncrypt

    注:

    新しいサービスアカウントの作成時に利用可能なロールの完全なリストを取得するには、すべての 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. 選択したプリンシパルオプションの [「プロジェクト ID」へのアクセスを編集] ページで、[別のロールを追加] を選択して、必要なロールをサービスアカウントに1つずつ追加し、[保存] を選択します。

Cloud Build サービスアカウントへのロールの追加

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

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

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

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

    注:

    ロールの完全なリストを取得するには、すべての 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 と管理] > [IAM] に移動し、[Google 提供のロール付与を含める] チェックボックスをオンにします。このアカウントには、操作を実行するための IAM 基本エディターロールがあります。ただし、よりきめ細かな制御のためにデフォルトの権限を削除する場合は、次の権限を必要とする Storage Admin ロールを追加する必要があります。

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

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

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

    • Cloud Build Service Account
    • Compute Instance Admin
    • Service Account User

Citrix Cloud サービスアカウントの作成

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

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

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

    • Compute Admin
    • Storage Admin
    • Cloud Build Editor
    • Service Account User
    • Cloud Datastore User
    • Cloud KMS Crypto Operator

    Cloud KMS Crypto Operator には、次の権限が必要です。

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    注:

    新しいサービスアカウントの作成時に利用可能なロールの完全なリストを取得するには、すべての 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. 選択したプリンシパルオプションの [「プロジェクト ID」へのアクセスを編集] ページで、[別のロールを追加] を選択して、必要なロールをサービスアカウントに1つずつ追加し、[保存] を選択します。

Cloud Compute サービスアカウントへのロールの追加

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

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

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

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

    注:

    ロールの完全なリストを取得するには、すべての API を有効にします。

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

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

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

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

注:

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

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

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

Private Google access

詳しくは、「Configuring Private Google Access」を参照してください。

重要:

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

次のステップ

詳細情報

Google Cloud 環境