Google クラウド環境
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」を参照してください。
グーグルクラウドAPI を有効にする
Web Studio を介して Google Cloud 機能を使用するには、Google Cloud プロジェクトで次の API を有効にします。
- コンピューティングエンジン API
- Cloud Resource Manager API
- Identity and Access Management (IAM) API
- クラウド ビルド API
- クラウド キー管理サービス (KMS)
Google Cloud コンソールから、次の手順を実行します。
-
左上のメニューで、APIとサービス > ダッシュボード を選択します。
APIとサービス ダッシュボードの選択画像 (/ja-jp/citrix-virtual-apps-desktops/2511/media/gcp-api-service-select-dashboard.png)
-
Dashboard 画面で、Compute Engine API が有効になっていることを確認します。有効になっていない場合は、 次の手順に従います。
-
「API とサービス > ライブラリ」に移動します。
「API とサービス ライブラリ」の画像 (/ja-jp/citrix-virtual-apps-desktops/2511/media/gcp-api-library.png)
-
検索ボックスに「Compute Engine」と入力します。
-
検索結果から、Compute Engine API を選択します。
-
Compute Engine API ページで、有効にする を選択します。
-
-
クラウド リソース マネージャー API を有効にします。
-
「API とサービス > ライブラリ」に移動します。
-
検索ボックスに、Cloud Resource Manager と入力してください。
-
検索結果に表示される項目の中から、Cloud Resource Manager API を選択します。
-
Cloud Resource Manager API のページで、Enable を選択します。すると、API のステータスが表示されます。
-
-
同様に、Identity and Access Management (IAM) API および Cloud Build API の両方のAPIを、それぞれ有効にするための設定を行ってください。
Google Cloud Shell を使用して API を有効にすることもできます。これを行うには、次の手順に従います。
- Google コンソールを開き、Cloud Shell をロードします。
-
Cloud Shell で次の4つのコマンドを実行します。
- gcloud services enable compute.googleapis.com
- gcloud services enable cloudresourcemanager.googleapis.com
- gcloud のサービス機能を利用して、指定された iam.googleapis.com の API を有効化してください。
- gcloud のサービス機能を利用して、指定された cloudbuild.googleapis.com の API を有効化してください。
- 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 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 インスタンス管理者
- サービスアカウントユーザー
-
Cloud Compute サービスアカウント: このサービスアカウントは、Compute API がアクティブ化されると、Google Cloud によって Google Cloud で作成されたインスタンスに追加されます。このアカウントには、操作を実行するための IAM 基本編集者ロールがあります。ただし、より詳細な制御を行うためにデフォルトの権限を削除した場合、以下の権限を必要とする ストレージ管理者 ロールを追加する必要があります。
- リソースマネージャー.プロジェクト.取得
- ストレージ.オブジェクト.クリエイト
- ストレージ.オブジェクト.ゲット
- ストレージ.オブジェクト.リスト
このサービスアカウントは、プロジェクト ID と compute という単語で始まるメールアドレスで識別できます。例えば、<project-id>-compute@developer.gserviceaccount.com。
Citrix Cloud サービスアカウントを作成する
Citrix Cloud サービスアカウントを作成するには、次の手順に従います。
- Google Cloud コンソールで、IAM と管理 > サービスアカウント に移動します。
- サービスアカウント ページで、サービスアカウントを作成 を選択します。
- サービスアカウントの作成 ページで、必要な情報を入力し、作成して続行 を選択します。
-
このサービスアカウントにプロジェクトへのアクセス権を付与 ページで、ロールを選択 ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加 をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに次のロールを付与します。
- コンピュート管理者
- ストレージ管理者
- クラウドビルド編集者
- サービスアカウントユーザー
- クラウドデータストアユーザー
- Cloud KMS 暗号オペレーター
Cloud KMS 暗号オペレーターには、次の権限が必要です。
- cloudkms.cryptoKeys.get
- クラウドKMS.暗号鍵.一覧表示
- クラウドKMS.キーリング.取得
- cloudkms.キーリング.リスト
- cloudkms.暗号鍵バージョン.復号化に使用
- cloudkms.暗号鍵バージョン.暗号化に使用
注記:
新しいサービスアカウントの作成時に利用可能なロールの完全なリストを取得するには、すべての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アカウントの役割を編集します。
-
選択したプリンシパルオプションの「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サービスアカウント: このサービスアカウントは、Enable Google Cloud APIsで言及されているすべてのAPIを有効にすると自動的にプロビジョニングされます。自動的に作成されたすべてのサービスアカウントを表示するには、Google Cloudコンソールで「IAM & Admin > IAM」に移動し、「Include Google-provided role grants」チェックボックスを選択します。このアカウントには、操作を実行するためのIAM基本エディターの役割があります。ただし、より詳細な制御のためにデフォルトの権限を削除した場合、以下の権限を必要とするStorage Adminの役割を追加する必要があります。
- resourcemanager.projects.get
- ストレージ.オブジェクト.作成
- ストレージ.オブジェクト.取得
- ストレージ.オブジェクト.リスト
このサービスアカウントは、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できます。例:
<project-id>-compute@developer.gserviceaccount.com.サービスアカウントに以下のロールが付与されていることを確認します。
- Cloud Build サービスアカウント
- Compute インスタンス管理者
- サービスアカウントユーザー
Citrix Cloud サービスアカウントを作成する
Citrix Cloud サービスアカウントを作成するには、次の手順に従います。
- Google Cloud コンソールで、IAM と管理 > サービスアカウントに移動します。
- サービスアカウントページで、サービスアカウントを作成を選択します。
- サービスアカウントを作成ページで、必要な情報を入力し、作成して続行を選択します。
-
このサービスアカウントにプロジェクトへのアクセスを許可ページで、ロールを選択ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに以下のロールを付与します。
- コンピュート管理者
- ストレージ管理者
- クラウドビルド エディター
- サービスアカウントユーザー
- クラウド データストア ユーザー
- クラウド KMS クリプト オペレーター
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サービスアカウントにロールを追加する
Cloud Computeサービスアカウントにロールを追加するには:
- Google Cloudコンソールで、IAMと管理 > IAMに移動します。
-
IAMページで、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できるCloud 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アクセスを有効にする
仮想マシンにネットワークインターフェースに割り当てられた外部IPアドレスがない場合、パケットは他の内部IPアドレスの宛先にのみ送信されます。プライベートアクセスを有効にすると、仮想マシンはGoogle APIおよび関連サービスで使用される外部IPアドレスのセットに接続します。
注:
プライベートGoogleアクセスが有効になっているかどうかにかかわらず、パブリックIPアドレスを持つ仮想マシンと持たない仮想マシンのすべてが、特にサードパーティのネットワークアプライアンスが環境にインストールされている場合、Google Public APIにアクセスできる必要があります。
MCSプロビジョニングのために、サブネット内の仮想マシンがパブリックIPアドレスなしでGoogle APIにアクセスできるようにするには:
- Google Cloudで、VPCネットワーク構成にアクセスします。
- サブネットの詳細画面で、プライベートGoogleアクセスをオンにします。
プライベートGoogleアクセス(/ja-jp/citrix-virtual-apps-desktops/2511/media/gcp-private-access.png)
詳細については、「プライベートGoogleアクセスの構成」を参照してください。
重要:
ネットワークが仮想マシンのインターネットアクセスを防止するように構成されている場合、仮想マシンが接続されているサブネットに対してプライベートGoogleアクセスを有効にすることに関連するリスクを組織が負うことを確認してください。
次のステップ
- コアコンポーネントのインストール
- VDAのインストール
- サイトの作成
- Google Cloud環境での接続の作成と管理については、「Google Cloud環境への接続」を参照してください。