Google Cloud 仮想化環境
Citrix DaaS (旧称 Citrix Virtual Apps and Desktops™ サービス) を使用すると、Google Cloud でマシンをプロビジョニングおよび管理できます。
前提条件
Google Cloud Platform (GCP) に VM をプロビジョニングする前に、次の前提条件が満たされていることを確認する必要があります。
- Citrix サブスクリプションには、ハイブリッドマルチクラウドワークロードのサポートが含まれている必要があります。詳しくは、「Citrix サブスクリプション機能の比較」を参照してください。
- 管理者アカウントには、ホスト接続、マシンカタログ、およびデリバリーグループを作成するための十分な権限が必要です。詳しくは、「委任管理の構成」を参照してください。
- マシンカタログに関連付けられているすべてのコンピューティングリソースが保存される Google Cloud プロジェクトを特定します。既存のプロジェクトでも新規のプロジェクトでもかまいません。詳しくは、「Google Cloud プロジェクト」を参照してください。
- Citrix DaaS との統合に必要な Google Cloud API を有効にします。詳しくは、「Google Cloud API の有効化」を参照してください。
- Google Cloud でサービスアカウントを作成し、適切な権限を付与します。詳しくは、「サービスアカウントの構成と更新」を参照してください。
-
- Citrix Cloud サービスアカウントのキーファイルをダウンロードします。詳しくは、「Citrix Cloud サービスアカウントキー」を参照してください。
-
- 仮想マシンは、パブリック IP アドレスなしで Google API にアクセスできる必要があります。詳しくは、「プライベート Google アクセスの有効化」を参照してください。
Google Cloud プロジェクト
-
Google Cloud プロジェクトには、基本的に次の 2 種類があります。
- プロビジョニングプロジェクト: この場合、現在の管理者アカウントは、プロジェクト内のプロビジョニングされたマシンを所有します。このプロジェクトはローカルプロジェクトとも呼ばれます。
- 共有 VPC プロジェクト: プロビジョニングプロジェクトで作成されたマシンが、共有 VPC プロジェクトの VPC を使用するプロジェクトです。プロビジョニングプロジェクトに使用される管理者アカウントは、このプロジェクトでは限られた権限、具体的には VPC を使用する権限のみを持ちます。
サービスエンドポイント URL
-
次の URL にアクセスできる必要があります。
https://oauth2.googleapis.comhttps://cloudresourcemanager.googleapis.comhttps://compute.googleapis.comhttps://storage.googleapis.comhttps://cloudbuild.googleapis.com
Google Cloud API の有効化
Studio を介して Google Cloud の機能を使用するには、Google Cloud プロジェクトで次の API を有効にします。
- Compute Engine API
- Cloud Resource Manager API
- Identity and Access Management (IAM) API
- Cloud Build API
Google Cloud コンソールから、次の手順を実行します。
- 1. 左上のメニューで、**[API とサービス] > [有効な API とサービス]** を選択します。
- 1. **[有効な API とサービス]** 画面で、Compute Engine API が有効になっていることを確認します。有効になっていない場合は、次の手順を実行します。
- 1. **[API とサービス] > [ライブラリ]** に移動します。
- 1. 検索ボックスに「*Compute Engine*」と入力します。
1. 検索結果から **[Compute Engine API]** を選択します。
1. **[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]、および [Cloud Key Management Service (KMS) API] を有効にします。
Google Cloud Shell を使用して API を有効にすることもできます。これを行うには、次の手順を実行します。
- 1. Google コンソールを開き、Cloud Shell をロードします。
- 1. Cloud Shell で次のコマンドを実行します。
- gcloud services enable compute.googleapis.com
- gcloud services enable cloudresourcemanager.googleapis.com
- gcloud services enable iam.googleapis.com
- gcloud services enable cloudbuild.googleapis.com
- gcloud services enable cloudkms.googleapis.com
- 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 によって生成された [キー](https://console.cloud.google.com/iam-admin/serviceaccounts) を使用して Google Cloud に対して認証を行います。
- このサービスアカウントは、ここに記載されているとおり手動で作成する必要があります。詳細については、「[Citrix Cloudサービスアカウントの作成](/ja-jp/citrix-daas/install-configure/resource-location/google#create-a-citrix-cloud-service-account)」を参照してください。
- このサービスアカウントは、メールアドレスで識別できます。例:`<my-service-account>@<project-id>.iam.gserviceaccount.com`
- *Cloud Buildサービスアカウント*: このサービスアカウントは、「[Google Cloud APIの有効化](/ja-jp/citrix-daas/install-configure/resource-location/google.html#enable-google-cloud-apis)」に記載されているすべてのAPIを有効にすると、自動的にプロビジョニングされます。自動的に作成されたすべてのサービスアカウントを表示するには、**Google Cloud**コンソールで **[IAMと管理] > [IAM]** に移動し、**[Google提供のロール付与を含める]** チェックボックスをオンにします。
このサービスアカウントは、プロジェクトIDとcloudbuildという単語で始まるメールアドレスで識別できます。例:<project-id>@cloudbuild.gserviceaccount.com
サービスアカウントに次のロールが付与されていることを確認します。ロールを追加する必要がある場合は、「Cloud Buildサービスアカウントへのロールの追加」に記載されている手順に従ってください。
- Cloud Buildサービスアカウント
- 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
このサービスアカウントは、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できます。例:<project-id>-compute@developer.gserviceaccount.com
Citrix Cloudサービスアカウントの作成
Citrix Cloudサービスアカウントを作成するには、次の手順に従います。
- Google Cloudコンソールで、[IAMと管理] > [サービスアカウント] に移動します。
- [サービスアカウント] ページで、[サービスアカウントを作成] を選択します。
- [サービスアカウントの作成] ページで、必要な情報を入力し、[作成して続行] を選択します。
-
[このサービスアカウントにプロジェクトへのアクセスを許可] ページで、[ロールを選択] ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、[別のロールを追加] をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに次のロールを付与します。
- 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を有効にします。
-
- [続行] をクリックします。
-
- [このサービスアカウントへのユーザーアクセスを許可] ページで、このサービスアカウントでアクションを実行するアクセス権を付与するユーザーまたはグループを追加します。
-
- [完了] をクリックします。
- IAMメインコンソールに移動します。
- 作成したサービスアカウントを特定します。
- ロールが正常に割り当てられていることを検証します。
考慮事項:
サービスアカウントを作成する際は、次の点を考慮してください。
- **[このサービスアカウントにプロジェクトへのアクセスを許可]** および **[このサービスアカウントへのユーザーアクセスを許可]** の手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントは **[IAMと管理] > [IAM]** ページに表示されません。
- サービスアカウントに関連付けられたロールを表示するには、オプションの手順をスキップせずにロールを追加します。このプロセスにより、構成されたサービスアカウントにロールが表示されるようになります。
Citrix Cloudサービスアカウントキー
Citrix DaaSで接続を作成するには、Citrix Cloudサービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルは自動的にダウンロードされ、Downloadsフォルダーに保存されます。キーを作成する際は、キータイプをJSONに設定してください。そうしないと、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を有効にすると、ロールの完全なリストを取得できます。
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基本エディターロールがあります。ただし、よりきめ細かな制御のためにデフォルトの権限を削除する場合は、次の権限を必要とするストレージ管理者ロールを追加する必要があります。
resourcemanager.projects.getstorage.objects.createstorage.objects.getstorage.objects.list
このサービスアカウントは、プロジェクトIDとcomputeという単語で始まるメールアドレスで識別できます。たとえば、
<project-id>-compute@developer.gserviceaccount.comです。サービスアカウントに次のロールが付与されていることを確認します。
- Cloud Buildサービスアカウント
- Computeインスタンス管理者
- サービスアカウントユーザー
Citrix Cloudサービスアカウントの作成
- Citrix Cloudサービスアカウントを作成するには、次の手順に従います。
- Google Cloudコンソールで、IAMと管理 > サービスアカウントに移動します。
- サービスアカウントページで、サービスアカウントを作成を選択します。
- サービスアカウントを作成ページで、必要な情報を入力し、作成して続行を選択します。
-
このサービスアカウントにプロジェクトへのアクセス権を付与ページで、ロールを選択ドロップダウンメニューをクリックし、必要なロールを選択します。さらにロールを追加する場合は、+別のロールを追加をクリックします。
各アカウント(個人またはサービス)には、プロジェクトの管理を定義するさまざまなロールがあります。このサービスアカウントに次のロールを付与します。
- Compute管理者
- ストレージ管理者
- Cloud Buildエディター
- サービスアカウントユーザー
- Cloud Datastoreユーザー
- Cloud KMS Cryptoオペレーター
Cloud KMS Cryptoオペレーターには、次の権限が必要です。
cloudkms.cryptoKeys.getcloudkms.cryptoKeys.listcloudkms.keyRings.getcloudkms.keyRings.list
注記:
新しいサービスアカウントの作成時に利用可能なロールの完全なリストを取得するには、すべてのAPIを有効にしてください。
- 続行をクリックします。
- このサービスアカウントへのユーザーアクセス権を付与ページで、このサービスアカウントでアクションを実行するアクセス権を付与するユーザーまたはグループを追加します。
- 完了をクリックします。
- IAMメインコンソールに移動します。
- 作成されたサービスアカウントを特定します。
- ロールが正常に割り当てられていることを検証します。
考慮事項:
サービスアカウントを作成する際は、次の点を考慮してください。
- このサービスアカウントにプロジェクトへのアクセス権を付与およびこのサービスアカウントへのユーザーアクセス権を付与の手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントはIAMと管理 > IAMページに表示されません。
- サービスアカウントに関連付けられたロールを表示するには、オプションの手順をスキップせずにロールを追加します。このプロセスにより、構成されたサービスアカウントにロールが表示されるようになります。
Citrix Cloudサービスアカウントキー
Citrix DaaSで接続を作成するには、Citrix Cloudサービスアカウントキーが必要です。キーは資格情報ファイル(.json)に含まれています。キーを作成すると、ファイルは自動的にダウンロードされ、ダウンロードフォルダーに保存されます。キーを作成する際は、キータイプをJSONに設定してください。そうしないと、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 DaaSは、Google Cloudサービスのクラウドビルド失敗のレポートプロセスを改善します。このサービスはGoogle Cloud上でビルドを実行します。Citrix DaaSは、Google Cloudサービスがビルドログ情報をキャプチャするcitrix-mcs-cloud-build-logs-{region}-{5 random characters}という名前のストレージバケットを作成します。このバケットには、30日後にコンテンツを削除するオプションが設定されています。このプロセスでは、接続に使用されるサービスアカウントにstorage.buckets.updateに設定されたGoogle Cloud権限が必要です。サービスアカウントにこの権限がない場合、Citrix DaaSはエラーを無視し、カタログ作成プロセスを続行します。この権限がないと、ビルドログのサイズが増加し、手動でのクリーンアップが必要になります。
プライベートGoogleアクセスを有効にする
VMのネットワークインターフェイスに外部IPアドレスが割り当てられていない場合、パケットは他の内部IPアドレスの宛先にのみ送信されます。プライベートアクセスを有効にすると、VMはGoogle APIおよび関連サービスで使用される外部IPアドレスのセットに接続します。
注:
プライベートGoogleアクセスが有効になっているかどうかにかかわらず、パブリックIPアドレスを持つVMと持たないVMのすべてがGoogle Public APIにアクセスできる必要があります。特に、サードパーティのネットワークアプライアンスが環境にインストールされている場合は重要です。
MCSプロビジョニングのために、サブネット内のVMがパブリックIPアドレスなしでGoogle APIにアクセスできるようにするには、次の手順を実行します。
- Google Cloudで、VPCネットワーク構成にアクセスします。
- 現在のプロジェクトのサブネットタブで、使用されているサブネットまたはCitrix®環境を特定します。
- サブネットの名前をクリックし、プライベートGoogleアクセスを有効にします。
詳細については、「プライベートGoogleアクセスの構成」を参照してください。
重要:
ネットワークがVMのインターネットアクセスを防止するように構成されている場合、VMが接続されているサブネットに対してプライベートGoogleアクセスを有効にすることに関連するリスクを組織が負うことを確認してください。
次のステップ
- シンプルな概念実証展開の場合は、ユーザーにアプリまたはデスクトップを配信するように指定されたマシンにVDAをインストールします。
- 接続の作成と管理については、「Google Cloud環境への接続」を参照してください。
- インストールおよび構成プロセスのすべての手順を確認します。