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 に対して認証を行います。詳細については、「サービスアカウントの構成と更新」を参照してください。
-
Googleプライベートアクセスを有効にします。詳細については、「Enable-private-google-access」を参照してください。
Google Cloud APIを有効にする
Web Studioを介してGoogle Cloudの機能を使用するには、Google Cloudプロジェクトで次のAPIを有効にします。
-
コンピュート エンジン API
-
クラウド リソース マネージャー API
-
ID およびアクセス管理 (IAM) API
-
クラウド ビルド API
-
クラウド キー マネジメント サービス (KMS)
Google Cloudコンソールから、次の手順を実行します。
-
左上のメニューで、**「APIとサービス」>「ダッシュボード」**を選択します。

-
ダッシュボード画面で、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を有効にする前に、組織のポリシーを作成または適用して制約の適用を無効にすることができます。その結果、以下のコンテンツは2つに分かれています。April 29, 2024より前とApril 29, 2024以降です。新しい組織ポリシーを設定した場合は、April 29, 2024より前のセクションに従ってください。
April 29, 2024より前
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が提供するロールの付与を含めるチェックボックスをオンにします。このサービスアカウントは、プロジェクト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
注:新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。 -
-
CONTINUEをクリックします。
-
このサービスアカウントへのユーザーアクセスを許可ページで、このサービスアカウントでアクションを実行するアクセス権を付与するために、ユーザーまたはグループを追加します。
-
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 アカウントのロールを編集します。
-
選択したプリンシパルオプションの**「"project-id"へのアクセスを編集」ページで、「別のロールを追加」を選択して、必要なロールをCloud Buildサービスアカウントに1つずつ追加し、「保存」**を選択します。注:すべての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と管理」>「IAM」に移動し、「Google提供のロール付与を含める」チェックボックスを選択します。このアカウントには、操作を実行するための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 暗号オペレーター
Cloud KMS 暗号オペレーターには、以下の権限が必要です。-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
注:新しいサービスアカウントを作成する際に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。 -
-
CONTINUEをクリックします。
-
このサービスアカウントへのユーザーアクセスを許可ページで、このサービスアカウントでアクションを実行するアクセス権を付与するために、ユーザーまたはグループを追加します。
-
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 ページで、プロジェクト ID と compute という単語で始まるメールアドレスで識別できる Cloud Compute Service Account を見つけます。例:
<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アクセス」をオンにします。
詳細については、「Configuring Private Google Access」を参照してください。
重要:
ネットワークがVMのインターネットアクセスを防止するように構成されている場合、VMが接続されているサブネットに対してPrivate Googleアクセスを有効にすることに関連するリスクを組織が負うことを確認してください。
次のステップ
-
Google Cloud 環境での接続の作成と管理については、「Google Cloud 環境への接続」を参照してください。