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.com -
https://cloudresourcemanager.googleapis.com -
https://compute.googleapis.com -
https://storage.googleapis.com -
https://cloudbuild.googleapis.com
Google Cloud APIを有効にする
Studioを介してGoogle Cloud機能を使用するには、Google Cloudプロジェクトで次のAPIを有効にします。
-
コンピュート エンジン API
-
クラウド リソース マネージャー API
-
ID およびアクセス管理 (IAM) API
-
クラウド ビルド API
Google Cloudコンソールから、次の手順を実行します。
-
左上のメニューで、APIとサービス > 有効なAPIとサービスを選択します。
-
「有効な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、およびCloud Key Management Service (KMS) 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 を有効にします。
-
gcloud services で cloudkms.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 インスタンス管理者
-
サービスアカウントユーザー
-
-
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をクリックします。
-
このサービスアカウントへのユーザーアクセスを許可ページで、このサービスアカウントでアクションを実行するアクセス権を付与するために、ユーザーまたはグループを追加します。
-
DONEをクリックします。
-
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 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 Crypto Operator には次の権限が必要です。-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
注:新しいサービスアカウントを作成する際に、利用可能なロールの完全なリストを取得するために、すべてのAPIを有効にしてください。 -
-
続行をクリックします
-
このサービスアカウントへのユーザーアクセスを許可ページで、ユーザーまたはグループを追加して、このサービスアカウントでアクションを実行するためのアクセス権を付与します。
-
完了をクリックします。
-
IAMメインコンソールに移動します。
-
作成されたサービスアカウントを特定します。
-
ロールが正常に割り当てられていることを検証します。
考慮事項:
サービスアカウントを作成する際は、次の点を考慮してください。
-
このサービスアカウントにプロジェクトへのアクセス権を付与するおよびユーザーにこのサービスアカウントへのアクセス権を付与するの手順はオプションです。これらのオプションの構成手順をスキップすることを選択した場合、新しく作成されたサービスアカウントはIAMと管理 > IAMページに表示されません。
-
サービスアカウントに関連付けられた役割を表示するには、オプションの手順をスキップせずに役割を追加します。このプロセスにより、構成されたサービスアカウントに役割が表示されるようになります。
Citrix Cloudサービスアカウントキー
Citrix Cloudサービスアカウントキーは、Citrix DaaSで接続を作成するために必要です。キーは資格情報ファイル(.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 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 DaaS は、Google Cloud サービス のクラウドビルド障害の報告プロセスを改善します。このサービスは Google Cloud でビルドを実行します。Citrix DaaS は、Google Cloud サービスがビルドログ情報をキャプチャする
citrix-mcs-cloud-build-logs-{region}-{5 random characters} という名前のストレージバケットを作成します。このバケットには、30 日後にコンテンツを削除するオプションが設定されています。このプロセスでは、接続に使用されるサービスアカウントに Google Cloud の権限が storage.buckets.update に設定されている必要があります。サービスアカウントにこの権限がない場合、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 network configurationにアクセスします。
-
Subnets in current projectタブで、使用されているサブネットまたはCitrix®環境を特定します。
-
サブネットの名前をクリックし、Private Google Accessを有効にします。
詳細については、「Configuring Private Google Access」を参照してください。
重要:
ネットワークがVMのインターネットアクセスを防止するように構成されている場合、VMが接続されているサブネットに対してPrivate Google Accessを有効にすることに伴うリスクを組織が負うことを確認してください。
次のステップ
-
簡単な概念実証展開の場合、ユーザーにアプリまたはデスクトップを配信するために指定されたマシンにVDAをインストールします。
-
接続の作成と管理については、「Google Cloud環境への接続」を参照してください。