Google Cloud環境
Citrix Virtual Apps and Desktops™ を使用すると、Google Cloud 上でマシンのプロビジョニングと管理を行うことができます。
要件
-
Citrix Cloud™ アカウント。この記事で説明されている機能は、Citrix Cloud でのみ利用可能です。
-
Google Cloud プロジェクト。このプロジェクトには、マシンカタログに関連付けられているすべてのコンピューティングリソースが保存されます。既存のプロジェクトでも新規のプロジェクトでもかまいません。
-
Google Cloud プロジェクトで4つのAPIを有効にします。詳細については、「Enable Google Cloud APIs」を参照してください。
-
Google Cloud サービスアカウント。サービスアカウントは、プロジェクトへのアクセスを有効にするためにGoogle Cloudに対して認証を行います。詳細については、「Configure and update service accounts」を参照してください。
-
Google プライベートアクセスを有効にします。詳細については、「Enable-private-google-access」を参照してください。
Google Cloud APIを有効にする
Web Studio を介して Google Cloud の機能を使用するには、Google Cloud プロジェクトで次の API を有効にします。
-
コンピュート エンジン API
-
クラウド リソース マネージャー API
-
アイデンティティおよびアクセス管理 (IAM) API
-
クラウドビルド API
-
クラウド キー管理サービス (KMS)
Google Cloudコンソールから、次の手順を実行します。
-
左上のメニューで、**「APIとサービス」>「ダッシュボード」**を選択します。

-
Dashboard 画面で、Compute Engine API が有効になっていることを確認します。 有効になっていない場合は、次の手順に従います。
-
「APIとサービス > ライブラリ」に移動します。

-
検索ボックスに「Compute Engine」と入力します。
-
検索結果から「Compute Engine API」を選択します。
-
「Compute Engine API」ページで、「有効にする」を選択します。
-
-
Cloud Resource Manager APIを有効にします。
-
「APIとサービス > ライブラリ」に移動します。
-
検索ボックスに「Cloud Resource Manager」と入力します。
-
検索結果から「Cloud Resource Manager API」を選択します。
-
「Cloud Resource Manager API」ページで、「有効にする」を選択します。APIのステータスが表示されます。
-
-
同様に、Identity and Access Management (IAM) APIとCloud Build 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 を実行します。
-
-
Cloud Shell がプロンプトを表示したら、承認をクリックします。
サービスアカウントの構成と更新
注:
GCP は、Cloud Build Service のデフォルトの動作とサービスアカウントの使用に関して、April 29, 2024 以降に変更を導入します。詳細については、Cloud Build Service Account Change を参照してください。April 29, 2024 より前に Cloud Build API が有効になっている既存の Google プロジェクトは、この変更の影響を受けません。ただし、April 29 以降も既存の Cloud Build Service の動作を維持したい場合は、Cloud Build API を有効にする前に、組織ポリシーを作成または適用して制約の適用を無効にすることができます。その結果、以下のコンテンツは April 29, 2024 以前 と April 29, 2024 以降 の2つに分かれています。新しい組織ポリシーを設定する場合は、セクション April 29, 2024 以前 に従ってください。
April 29, 2024 以前
Citrix Cloud は、Google Cloud プロジェクト内で3つの個別のサービスアカウントを使用します。
-
Citrix Cloud Service Account: このサービスアカウントにより、Citrix Cloud は Google プロジェクトにアクセスし、マシンをプロビジョニングおよび管理できます。このサービスアカウントは、Google Cloud によって生成されたキーを使用して Google Cloud に対して認証を行います。このサービスアカウントは、ここに記載されているとおり手動で作成する必要があります。詳細については、「Citrix Cloud Service Account の作成」を参照してください。このサービスアカウントは、メールアドレスで識別できます。例:
<my-service-account>@<project-id>.iam.gserviceaccount.com。 -
Cloud Build サービスアカウント: このサービスアカウントは、Google Cloud API を有効にするで言及されているすべての API を有効にすると、自動的にプロビジョニングされます。自動的に作成されたすべてのサービスアカウントを表示するには、Google Cloud コンソールで IAM と管理 > IAM に移動し、Google 提供のロール付与を含めるチェックボックスを選択します。このサービスアカウントは、プロジェクトIDとcloudbuildという単語で始まるメールアドレスで識別できます。例:
<project-id>@cloudbuild.gserviceaccount.comサービスアカウントに以下のロールが付与されていることを確認します。ロールを追加する必要がある場合は、Cloud Build サービスアカウントにロールを追加するに記載されている手順に従ってください。-
Cloud Build サービスアカウント
-
Compute Instance 管理者
-
サービスアカウントユーザー
-
-
Cloud Compute サービスアカウント: このサービスアカウントは、Compute API がアクティブ化されると、Google Cloud によって Google Cloud で作成されたインスタンスに追加されます。このアカウントには、操作を実行するための IAM 基本エディターロールがあります。ただし、より詳細な制御を行うためにデフォルトの権限を削除する場合は、以下の権限を必要とする Storage Admin ロールを追加する必要があります。
-
resourcemanager.projects.get
-
storage.objects.create
-
storage.objects.get
-
storage.objects.list
-
このサービスアカウントは、プロジェクト ID と compute という単語で始まるメールアドレスで識別できます。例:
<project-id>-compute@developer.gserviceaccount.com。
Citrix Cloud サービスアカウントを作成する
Citrix Cloud サービスアカウントを作成するには、次の手順に従います。
-
Google Cloud コンソールで、IAM と管理 > サービス アカウントに移動します。
-
サービス アカウントページで、サービス アカウントを作成を選択します。
-
サービス アカウントの作成ページで、必要な情報を入力し、作成して続行を選択します。
-
このサービス アカウントにプロジェクトへのアクセス権を付与ページで、ロールを選択ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加をクリックします。各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービス アカウントに次のロールを付与します。
-
Compute 管理者
-
Storage 管理者
-
Cloud Build 編集者
-
サービス アカウント ユーザー
-
クラウド データストア ユーザー
-
Cloud KMS 暗号化オペレーター
Cloud KMS 暗号化オペレーターには、次の権限が必要です。-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
注記:新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。 -
-
CONTINUEをクリックします
-
Grant users access to this service accountページで、このサービスアカウントでアクションを実行するためのアクセス権を付与するユーザーまたはグループを追加します。
-
DONEをクリックします。
-
IAMメインコンソールに移動します。
-
作成されたサービスアカウントを特定します。
-
ロールが正常に割り当てられていることを検証します。
考慮事項:
サービスアカウントを作成する際は、以下を考慮してください。
-
このサービスアカウントにプロジェクトへのアクセスを許可およびこのサービスアカウントへのユーザーアクセスを許可の手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントは、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 サービスアカウントにロールを追加するには:
-
Google Cloud コンソールで、IAM と管理 > IAMに移動します。
-
IAM > 権限ページで、作成したサービスアカウントをメールアドレスで特定して見つけます。例:
<my-service-account>@<project-id>.iam.gserviceaccount.com -
鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセスを編集します。
-
選択したプリンシパルオプションの**「project-id」へのアクセスを編集**ページで、別のロールを追加を選択して、必要なロールをサービスアカウントに1つずつ追加し、保存を選択します。
Cloud Build サービスアカウントにロールを追加する
Cloud Build サービスアカウントにロールを追加するには:
-
Google Cloud コンソールで、IAM と管理 > IAMに移動します。
-
「IAM」ページで、プロジェクト ID と「cloudbuild」という単語で始まるメールアドレスで識別できる Cloud Build サービスアカウントを見つけます。例:
<project-id>@cloudbuild.gserviceaccount.com -
鉛筆アイコンを選択して、Cloud Build アカウントの役割を編集します。
-
選択したプリンシパルオプションの「Edit access to "project-id" page」で、「ADD ANOTHER ROLE」を選択して、必要な役割を Cloud Build サービスアカウントに1つずつ追加し、その後「SAVE」を選択します。注:すべてのAPIを有効にして、役割の完全なリストを取得します。
April 29, 2024 以降
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ロールを追加する必要があります。
-
resourcemanager.projects.get
-
storage.objects.create
-
storage.objects.get
-
storage.objects.list
このサービスアカウントは、プロジェクトIDと「compute」という単語で始まるメールアドレスで識別できます。例:<project-id>-compute@developer.gserviceaccount.com..サービスアカウントに次のロールが付与されていることを確認します。-
Cloud Build サービスアカウント
-
Compute Instance 管理者
-
サービスアカウントユーザー
-
Citrix Cloud サービスアカウントを作成する
Citrix Cloud サービスアカウントを作成するには、次の手順に従います。
-
Google Cloud コンソールで、IAM と管理 > サービスアカウントに移動します。
-
サービスアカウントページで、サービスアカウントを作成を選択します。
-
サービスアカウントの作成ページで、必要な情報を入力し、作成して続行を選択します。
-
「このサービスアカウントにプロジェクトへのアクセスを許可する」ページで、「ロールを選択」ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、「+別のロールを追加」をクリックします。各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントには、以下のロールを付与してください。
-
Compute 管理者
-
Storage 管理者
-
Cloud Build 編集者
-
サービスアカウント ユーザー
-
クラウドデータストア ユーザー
-
Cloud KMS Crypto オペレーター
Cloud KMS Crypto オペレーターには、以下の権限が必要です。-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
注:新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。 -
-
CONTINUEをクリックします
-
Grant users access to this service accountページで、ユーザーまたはグループを追加して、このサービスアカウントでアクションを実行するアクセス権を付与します。
-
DONEをクリックします。
-
IAMメインコンソールに移動します。
-
作成されたサービスアカウントを特定します。
-
ロールが正常に割り当てられていることを検証します。
考慮事項:
サービスアカウントを作成する際は、以下を考慮してください。
-
このサービスアカウントにプロジェクトへのアクセスを許可およびこのサービスアカウントへのユーザーアクセスを許可の手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントは、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 サービスアカウントにロールを追加するには、次の手順を実行します。
-
Google Cloud コンソールで、IAM と管理 > IAM に移動します。
-
IAM > 権限ページで、作成したサービスアカウントを電子メールアドレスで特定し、見つけます。例:
<my-service-account>@<project-id>.iam.gserviceaccount.com -
鉛筆アイコンを選択して、サービスアカウントのプリンシパルへのアクセスを編集します。
-
選択したプリンシパルオプションについて、「project-id」へのアクセスを編集ページで、別のロールを追加を選択して必要なロールをサービスアカウントに1つずつ追加し、次に保存を選択します。
Cloud Compute Service Account にロールを追加する
Cloud Compute Service Account にロールを追加するには、次の手順を実行します。
-
Google Cloudコンソールで、IAMと管理 > IAMに移動します。
-
IAMページで、Cloud Computeサービスアカウントを見つけます。これは、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できます。例えば、
<project-id>-compute@developer.gserviceaccount.com -
鉛筆アイコンを選択して、Cloud Buildアカウントのロールを編集します。
-
選択したプリンシパルオプションについて、「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と持たないVMのすべてがGoogle Public APIにアクセスできる必要があります。これは、特にサードパーティのネットワークアプライアンスが環境にインストールされている場合に重要です。
MCSプロビジョニングのために、サブネット内のVMがパブリックIPアドレスなしでGoogle APIにアクセスできるようにするには、次の手順を実行します。
-
Google Cloudで、VPC network configurationにアクセスします。
-
サブネットの詳細画面で、「Private Googleアクセス」をオンにします。
詳細については、「プライベートGoogleアクセスを構成する」を参照してください。
重要:
ネットワークがVMのインターネットアクセスを防止するように構成されている場合、VMが接続されているサブネットに対してプライベートGoogleアクセスを有効にすることに関連するリスクを組織が負うことを確認してください。
次のステップ
-
Google Cloud環境で接続を作成および管理する方法については、「Google Cloud環境への接続」を参照してください。