アマゾン ワークスペース コア マネージドインスタンスへの接続

最終公開日 : Oct 24, 2026
(/ja-jp/citrix-daas/install-configure/connections.html)は、接続を作成するウィザードについて説明しています。以下の情報は、Amazon WorkSpaces Core Managed Instancesに固有の詳細を扱っています。

前提条件

Amazon WorkSpaces Core Managed Instancesへの接続を作成する前に、以下を実行してください。
  • AWSをリソースロケーションとして設定を完了します。「AWS仮想化環境」(/ja-jp/citrix-daas/install-configure/resource-location/aws-host.html)を参照してください。
  • Citrix®がお客様に代わってAWSリソースを管理するためのIAMユーザーまたはロールのポリシーを(#define-iam-permissions)定義します。
  • (#create-a-service-linked-role)を作成します。

IAM権限を定義する

ホスト接続を作成する前に、Citrixがお客様に代わってAWSアカウント内のリソースをプロビジョニングおよび管理するための適切な権限を付与するIAMユーザーまたはロールに対して、IAM権限ポリシーを適切に定義する必要があります。このセクションの情報を使用して、Amazon WorkSpaces Core Managed Instances上のCitrix DaaSのIAM権限を定義します。AmazonのIAMサービスでは、複数のユーザーを持つアカウントが許可されており、それらのユーザーはさらにグループに編成できます。これらのユーザーは、アカウントに関連する操作を実行する能力を制御するために、異なる権限を持つことができます。IAM権限の詳細については、IAM JSONポリシーリファレンスを参照してください。
注:
Citrixがお客様に代わってAWSアカウント内のリソースと自動化をプロビジョニングおよび管理するため、特定のタグまたはリソース命名規則に基づいたIAM権限ポリシーの構成はサポートされていません。
新しいユーザーグループにIAM権限ポリシーを適用するには:
  1. AWSマネジメントコンソールにログインし、ドロップダウンリストからIAMサービスを選択します。
  2. 新しいユーザーグループを作成を選択します。
  3. 新しいユーザーグループの名前を入力し、続行を選択します。
  4. 「Permissions」ページで、「Custom Policy」を選択します。
  5. 「Permissions policy」の名前を入力します。
  6. 「Policy Document」セクションで、関連する権限を入力します。
ポリシー情報を入力したら、「Continue」を選択して、IAM権限ポリシーのユーザーグループへの適用を完了します。グループ内のユーザーには、Citrix DaaSに必要なアクションのみを実行する権限が付与されます。
重要:
この記事の例で提供されているポリシーテキストを使用して、Citrix DaaSがAWSアカウント内でアクションを実行するために使用するアクションを、特定のリソースに制限することなくリストします。Citrixは、テスト目的でこの例を使用することを推奨します。本番環境では、リソースにさらなる制限を追加することを選択できます。

IAM権限を追加する

AWS Management Consoleの「IAM」セクションで権限を追加します。
  1. 「Summary」パネルで、「Permissions」タブを選択します。
  2. 「Add permissions」を選択します。
  3. 「Add Permissions to」画面で、権限を付与します。
  4. JSONセクションで、環境に必要なRequired AWS permissionsを含めます。

サービスにリンクされたロールを作成する

CitrixがCore V2 APIを呼び出す各AWSアカウントに対して、サービスにリンクされたロール (SLR)を作成します。
ロールを作成する手順:
  • AWS マネジメントコンソールでコマンドラインインターフェイス (CLI) を開きます。
  • CLI で次のコマンドを実行します。
    aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com
Amazon WorkSpaces Core 管理コンソールを使用して、サービスにリンクされたロールを構成することもできます。サービスにリンクされたロールの作成 (コンソール)を参照してください。

接続を作成する

Amazon WorkSpaces Core マネージドインスタンスへの接続は、次の方法で作成できます。
注:
プロキシサーバーまたはファイアウォールの制限を確認し、次のアドレスに接続できることを確認してください: https://*.amazonaws.com および https://*.api.aws。また、(/ja-jp/citrix-cloud/overview/requirements/internet-connectivity-requirements#citrix-gateway-service-connectivity)に記載されているすべてのアドレスに接続できることを確認してください。
これらに接続できない場合、ホスト接続の作成または更新中に失敗する可能性があります。

Studio を使用して接続を作成する

  1. ホスティング > 接続とリソースの追加ページに移動します。
  2. 接続ページで、次の手順に従って接続を構成します。
    1. 新しい接続を作成を選択します。
    2. ゾーンで、AWS 環境用に設定したリソースの場所を選択します。
    3. 接続タイプとして「Amazon WorkSpaces Core」を選択します。
    4. 「IAMユーザーアクセスキーを使用」または「IAMロールを使用」を選択します。
      IAMユーザーアクセスキーの場合は、CitrixがAWSアカウントのリソースを管理するための適切なIAM権限ポリシーを持つIAMユーザーのAPIキーとシークレットキーを入力します。
      IAMロールの場合は、CitrixがAWSアカウントのリソースを管理するための適切なIAM権限ポリシーを持つIAMロールをCitrix Cloud Connectorインスタンスに割り当てていることを確認してください。詳細については、ロールベース認証ガイドを参照してください。
    5. APIリクエストをCitrix Cloud Connector経由でAWSにルーティングするには、「Citrix Cloud Connectorでシステムプロキシを使用する」チェックボックスをオンにします。これにより、Cloud Connectorがインターネットに直接アクセスできない場合でも、AWS接続が適切に機能するようになります。
    6. 接続名を入力し、「次へ」をクリックします。
  3. 「仮想マシンの場所」ページで、VMをプロビジョニングする場所を指定します。新しいVMを作成するためのクラウドリージョン、VPC、およびアベイラビリティゾーン(またはローカルゾーン)を選択します。
  4. 「ネットワーク」ページで:
    1. アベイラビリティゾーン(またはローカルゾーン)で以前に選択したリソースの名前を入力します。
    2. 前のメニューで構成したVPC内の1つ以上のサブネットを選択します。
  5. 「概要」ページが表示されるまで、残りのページをクリックして進みます。
  6. 「完了」をクリックして、Amazon WorkSpaces Core Managed Instancesへのホスト接続を作成します。

重要な考慮事項

Studioを使用して接続を作成する場合:
  • CitrixがAWSリソースを管理するための適切なIAM権限を定義します。
  • CitrixがAWSリソースを管理するためにIAMユーザーアクセスキーを使用する場合、APIキーとシークレットキーの値を指定する必要があります。これらの値を含むキーファイルをAWSからエクスポートし、その後インポートできます。また、リージョン、アベイラビリティゾーン、VPC名、サブネットアドレス、ドメイン名、セキュリティグループ名、および資格情報も指定する必要があります。
  • CitrixがAWSリソースを管理するためにIAMロールを使用してAWSリソースを管理する場合、すべてのCloud Connectorに適切なIAM権限を持つロールを割り当てる必要があります。詳細については、ロールベース認証ガイドを参照してください。
  • ルートAWSアカウントの資格情報ファイル(AWSコンソールから取得)は、標準のAWSユーザー用にダウンロードされた資格情報ファイルと同じ形式ではありません。そのため、Citrix DaaSはこのファイルを使用してAPIキーとシークレットキーのフィールドに入力することはできません。AWS Identity Access Management (IAM) 資格情報ファイルを使用していることを確認してください。
  • ゾーンはアベイラビリティゾーンまたはローカルゾーンのいずれかです。

PowerShellを使用して接続を作成する

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
  3. 次のコマンドを実行します。以下に例を示します。
    $connectionName = "demo-hostingconnection"
    $cloudRegion = "us-east-1"
    $apiKey = "aaaaaaaaaaaaaaaaaaaa"
    $apiSecret = “bbbbb”
    $secureKey = ConvertTo-SecureString -String $apiSecret
    $zoneUid = "00000000-0000-0000-0000-000000000000"
    $connectionPath = "XDHyp:\Connections\" + $connectionName

    $connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress " "https://workspaces-instances.$($cloudRegion).api.aws"" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid

    New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid

    $hostingUnitName = "demo-hostingunit"
    $availabilityzone = "us-east-1a"
    $vpcName = "Default VPC"
    $jobGroup = [Guid]::NewGuid()
    $hostingUnitPath = "XDHyp:\HostingUnits\" + $HostingUnitName
    $rootPath = $connectionPath + "\" + $vpcName + ".virtualprivatecloud\"
    $availabilityZonePath = @($rootPath + $availabilityzone + ".availabilityzone")
    $networkPaths = (Get-ChildItem $availabilityZonePath[0] | Where ObjectType -eq "Network") | Select-Object -ExpandProperty FullPath # will select all the networks in the availability zone

    New-Item -Path $hostingUnitPath -AvailabilityZonePath $availabilityZonePath -HypervisorConnectionName $connectionName -JobGroup $jobGroup -PersonalvDiskStoragePath @() -RootPath $rootPath -NetworkPath $networkPaths
注:
ロールベース認証を使用して接続を作成するには、apiKeyとapiSecretをrole_based_authとして指定します。

制限事項

AWSコンソールでAWS Virtual Private Cloud (VPC) の名前を変更すると、Citrix Cloud™内の既存のホスティングユニットが破損します。ホスティングユニットが破損すると、カタログを作成したり、既存のカタログにマシンを追加したりできなくなります。この問題を解決するには、AWS VPCの名前を元の名前に戻してください。

AWS管理トラフィックのセキュアな環境を作成する

Cloud Connectorにプロキシが構成されている場合、MCSによって行われるAPI呼び出しがプロキシを介して適切にルーティングされるように、プロキシを使用するホスト接続を作成する必要があります。MCSは、環境内のCloud Connectorを介してネットワークトラフィック(Citrix CloudからAWSハイパーバイザーへのAPI呼び出し)をルーティングできるようにします。
ホスト接続は、Cloud Connectorのインストール中に構成されたWinHTTPシステムプロキシ値を読み取ることができます。プロキシは、(#create-a-connection-using-studio)を使用して構成するか、PowerShellを使用してホスト接続を作成または更新する際にカスタムプロパティUseSystemProxyForHypervisorTrafficOnConnectorsをTrueに設定することで構成できます。
注:
環境でプロキシを使用している場合は、<https://workspaces-instances.*.api.aws/> の SSL インスペクションが無効になっているか、SSL 接続が変更されていないことを確認してください。

プロキシで構成されたホスト接続を作成する

  1. PowerShell ウィンドウを開きます。
  2. Citrix 固有の PowerShell モジュールをロードするには、asnp citrix* を実行します。
  3. プロキシを構成する PowerShell コマンドを実行します。例:
    $connectionName = "demo-hostingconnection"
    $cloudRegion = "us-east-1"
    $apiKey = "aaaaaaaaaaaaaaaaaaaa"
    $zoneUid = "00000000-0000-0000-0000-000000000000"

    $securePassword = Read-Host 'Please enter your secret key' -AsSecureString
    $connectionPath = "XDHyp:\Connections\" + $connectionName

    $customProperties = @"
    <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
    </CustomProperties>
    "@
  4. ホスティング接続を作成します。例:
    $connection = New-Item -Path $connectionPath `
    -ConnectionType "Custom" -PluginId "AmazonWorkSpacesCoreMachineManagerFactory" `
    -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" `
    -CustomProperties> $customProperties `
    -Persist -Scope @()`
    -UserName $apiKey -SecurePassword $securePassword `
    -ZoneUid $zoneUid

    New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
既存のホスト接続でプロキシを有効にするには、「既存の接続でプロキシを有効にする」を参照してください。

クロスアカウントプロビジョニング

Cloud Connector を別の AWS アカウント (共有サービスアカウントまたはサイトコンポーネントアカウント) に配置し、クロスアカウントアクセス (クロスアカウント IAM ロール) を持つ IAM ロールを使用し、MCS でプロビジョニングされたマシンカタログを別のセカンダリ AWS アカウント (ワークロードアカウント) に配置するユースケースがあります。この場合、別のアカウントに追加の Cloud Connector は必要ありません。このようなシナリオをサポートするために、この機能は VPC ピアリングと IAM ロールを使用したクロスアカウントアクセスを利用して、複数の AWS アカウントを管理する企業向けに異なる AWS アカウント間でのプロビジョニングを可能にします。
VPC ピアリング を使用すると、Cloud Connector と、異なるリージョンまたはアカウントにプロビジョニングされた VM が相互に通信できるようになります。
IAM ロールを使用したクロスアカウントアクセス を使用すると、プライマリアカウント (Cloud Connector アカウント) が IAM ロールを引き受けて、セカンダリアカウント (マシンカタログ VM) の AWS リソースにアクセスできるようになります。
Cloud Connector がセカンダリアカウントのリソースにアクセスできるようにするには、セカンダリアカウントから IAM ロールを引き受けた後にホスト接続を作成します。

前提条件

クロスアカウントプロビジョニング用のホスト接続を作成する前に、以下を設定してください。
  • VPCピアリングを設定し、両方のリージョンまたはアカウントでセキュリティグループを構成します。詳細については、「VPCピアリングの設定」(#set-up-vpc-peering)を参照してください。
  • IAMロールを使用してクロスアカウントアクセスを委任します。詳細については、「IAMロールを使用したクロスアカウントアクセスの委任」(#delegate-cross-account-access-using-iam-roles)を参照してください。

VPCピアリングの設定

VPC Aがプライマリアカウント(アカウントA)にあり、Cloud ConnectorとActive Directoryを持っていると仮定します。VPC Bは、VMをプロビジョニングしたいセカンダリアカウント(アカウントB)にあります。
アカウントAとアカウントBの間でVPCピアリング接続を設定するには、次の手順を実行します。
  1. VPCピアリング接続を作成します。参照:
  2. VPC Aに移動し、パブリックサブネットに関連付けられているルートテーブルに移動します。
  3. > をクリックします。 列にVPC BのCIDRブロックを追加し、 列に作成したVPCピアリングを追加します。
  4. ステップ2と3を繰り返しますが、VPC AとVPC Bのプライベートサブネットを使用します(VPC AのCIDRブロックを追加します)。詳細については、VPCピアリング接続のルートテーブルを更新するを参照してください。
  5. VPC Aに関連付けられているプライベートセキュリティグループに移動します。
  6. を選択し、 を選択します。
  7. を選択します。タイプには を選択し、 列に以下を追加します。
    • 異なるリージョンの場合は、VPC BのCIDRブロックを追加します。
    • 異なるアカウントだが同じリージョンの場合は、アカウントIDとVPC BのプライベートセキュリティグループIDをスラッシュで区切って追加します(例: 123456789012/sg-1a2b3c4d)。
  8. 手順5から7を繰り返しますが、VPC Bのプライベートセキュリティグループを使用します(ただし、VPC AのCIDRブロック、またはVPC AのアカウントIDと、同じリージョンだが異なるアカウントのプライベートセキュリティグループIDを追加します)。ピアセキュリティグループを参照するようにセキュリティグループを更新するを参照してください。
注:
VPCピアリング接続の作成に料金はかかりません。ただし、アベイラビリティゾーン内のVPCピアリングは無料ですが、複数のアベイラビリティゾーンやリージョンをまたいでVPCピアリング接続を介したデータ転送が発生した場合は料金がかかります。VPCピアリング接続の料金を参照してください。

IAMロールを使用してクロスアカウントアクセスを委任する

アカウント間でVPCピアリングを設定した後、IAMロールを使用してクロスアカウントアクセスを委任します。
IAMロールを使用したクロスアカウントアクセスでは、プライマリアカウント(Cloud Connectorアカウント)がIAMロールを引き受けて、セカンダリアカウント(マシンカタログVM)のAWSリソースにアクセスできるようにします。
クロスアカウントリソースにアクセスするには、次の手順を実行します。
注意:
VPC Aはプライマリアカウント(アカウントA)にあり、Cloud ConnectorとActive Directoryが設定されていると仮定します。VPC Bは、VMをプロビジョニングするセカンダリアカウント(アカウントB)にあります。
  1. 前述の手順でアカウント間のVPCピアリングを設定します。
  2. 最小限のCitrix IAM権限を持つIAMロールとポリシーをアカウントBに作成します。IAMチュートリアル: IAMロールを使用してAWSアカウント間でアクセスを委任するを参照してください。このロールのARNが「arn:aws:iam::5678:role/citrix-role」であるとします。
  3. ロール「arn:aws:iam::5678:role/citrix-role」に信頼ポリシーを追加し、アカウントAのロール「arn:aws:iam::1234:role/primary-account-citrix-role」によってアクセスが許可されるようにします。詳細については、IAMでのクロスアカウントリソースアクセスを参照してください。
  4. アカウントAに、前述の「primary-account-citrix role」という名前でIAMロールとポリシーを作成します。これにより、アカウントBのIAMロール(arn:aws:iam::5678:role/citrix-role)を引き受け、そのIAMロールを渡すことができます。
  5. アカウントAのすべてのCloud Connectorにロール「arn:aws:iam::1234:role/primary-account-citrix-role」を割り当てます。
Cloud Connectors は、アカウント B のロール ("arn:aws:iam::5678:role/citrix-role") を引き受けることができるようになりました。

クロスアカウントプロビジョニング用のホスト接続を作成する

VM をプロビジョニングするセカンダリアカウント (アカウント B) にホスト接続を作成します。これにより、アカウント A の Cloud Connectors は、アカウント B からロールを引き受けた後、アカウント B のリソースにアクセスできるようになります。
PowerShell コマンドを使用してホスト接続を作成し、次の 2 つのカスタムプロパティを追加します。
  • CrossAccountRoleArn: CrossAccountRoleArn プロパティを指定しない場合、通常のホスト接続が作成されます。この場合、MaximumAssumeRoleDurationInSeconds は指定されていても無視されます。
  • MaximumAssumeRoleDurationInSeconds: DurationInSeconds は 900 秒から 3600 秒の間である必要があります。デフォルトは 900 秒です。3600 を超える値を指定した場合、DurationInSeconds は 3600 に設定されます。
例:
$connectionName = "cross-account-conn"
$cloudRegion = "us-east-1"
$apiKey = "role_based_auth"
$secretKey = "role_based_auth"
$zoneUid = "xxxxxx"
$secureKey = (ConvertTo-SecureString -String $secretKey -AsPlainText -Force)
$connectionPath = "XDHyp:\Connections\" + $connectionName
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="CrossAccountRoleArn" Value="arn:aws:iam::5678:role/citrix-role" /><Property xsi:type="StringProperty" Name="MaximumAssumeRoleDurationInSeconds" Value="3600" />
"</CustomProperties>'

$connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid -CustomProperties $customProperties

New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
ホスト接続が作成されたら、Studio または PowerShell を使用してホスティングユニットを作成します。ただし、VPC とネットワークを選択してください。

AWS API リクエストの Cloud Connectors をバイパスする

Amazon WorkSpaces Core マネージドインスタンス (MI) 環境では、Citrix Machine Creation Services (MCS) プラグインは通常 Delivery Controller に常駐し、プロキシを介して Citrix Cloud Connector 経由で AWS API リクエストをルーティングします。
AWS API リクエストの Cloud Connector をバイパスするようにホスト接続を構成できます。この機能が有効になっている場合、プラグインはプロビジョニングや電源管理を含む API 呼び出しを DDC から AWS サービス (Amazon EC2、EBS、WorkSpaces インスタンスなど) に直接行い、プロキシを介して Cloud Connector を経由する依存関係を排除します。

利点

  • Cloud Connectors への AWS API 呼び出しの依存を減らす: Cloud Connector への AWS API の依存をなくすことは、オンプレミスまたはクラウドインフラストラクチャのフットプリントを削減しようとしているお客様にとって重要なステップです。
  • リソース消費の削減: Cloud Connector を介するトラフィックが少なくなることで、Connector VM のコンピューティング要件が減少し、コスト削減につながる可能性があります。
  • 運用の柔軟性: 重要な電源管理およびプロビジョニングタスクにおける潜在的な単一障害点 (Cloud Connector/NGS プロキシパス) を排除することで、可用性が向上します。

制限事項と考慮事項

この機能を有効にする前に、以下の要件と制限事項を考慮してください。
  • 認証: Cloud Connectorをバイパスする場合、ロールベース認証 (IAMロール) はサポートされません。IAMユーザーアクセスキーのみを使用するように設定を構成する必要があります。
  • 環境スコープ: この機能は、Amazon WorkSpaces Core マネージドインスタンス (MI) 専用です。標準のAWS EC2ホスト接続ではサポートされていません。
  • ネットワーク要件: DDCは、AWSサービスエンドポイントへの直接ネットワークパスを持っている必要があります。
  • リソースロケーションの健全性: Cloud Connectorがリソースロケーションに最初にプロビジョニングされていた場合、電源をオンにしたままにする必要があります。非MCSコンポーネントとヘルスチェックは、Cloud Connectorが存在する場合、引き続きそれに依存します。
  • サポートされていない機能:
    • クロスアカウントプロビジョニング
    • システムプロキシの使用
  • Connectorの要件: この機能はAPIの依存関係を排除しますが、Cloud Connectorへの依存関係を減らすために必要な他の構成があります (Cloud Connectorの要件はここに記載されているものに限定されない場合があります)。
    • ドメイン参加: ドメインに参加していないマシン、またはMicrosoft Entraハイブリッド参加マシンを使用する。
    • VDA登録: VDA登録のためにRendezvous V2 (WebSockets経由でのDDCからVDAへの直接通信) を有効にする。

APIバイパスを使用したホスト接続の作成

フル構成 (Studio) でホスト接続を作成する際、その場所にCloud Connectorが存在しない場合でも、Amazon WorkSpaces Coreリソースロケーションを選択できるようになりました。
PowerShell経由でバイパスを有効にするには、BypassConnectorForAwsApiRequestsカスタムプロパティを使用します。
PowerShell の例:
$custProp = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
  <Property xsi:type="StringProperty" Name="BypassConnectorForAwsApiRequests" Value="true" />
</CustomProperties>'

$connectionName = "MyWSCConnection"
$cloudRegion = "us-east-1"
$apiKey = "YOUR_IAM_ACCESS_KEY"
$zoneUid = (Get-ConfigZone | Where-Object {$_.Name -eq "MyResourceLocation"}).Uid
$securePassword = Read-Host 'Enter your IAM Secret Key' -AsSecureString

$connectionPath = "XDHyp:\Connections\" + $connectionName

$connection = New-Item -Path $connectionPath `
    -ConnectionType "Custom" `
    -PluginId "AmazonWorkSpacesCoreMachineManagerFactory" `
    -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" `
    -Persist -Scope @() `
    -CustomProperties $custProp `
    -UserName $apiKey -SecurePassword $securePassword `
    -ZoneUid $zoneUid

New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid

既存の接続を管理する

既存のホスト接続に対して、バイパス機能を有効または無効にできます。
  • 既存の接続で有効にする: 既存の接続のカスタムプロパティを変更して、BypassConnectorForAwsApiRequests = true.を含めることができます。
  • 無効にする: 無効にすると、DDC は NGS プロキシを介して Cloud Connector 経由で AWS API コールのルーティングを再開します。これには、リソースロケーションで機能する Cloud Connector と NGS プロキシパスが利用可能である必要があることに注意してください。

トラブルシューティング

サポートされていない条件下でバイパスプロパティを有効にしようとすると、システムは検証エラーを返します。
  • IAM ロール/クロスアカウント/プロキシ: IAM ロール、クロスアカウントプロビジョニング、またはシステムプロキシと同時に有効にすると、New-Itemコマンドは次のエラーで失敗します。
    AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for IAM roles, Cross-Account provisioning and System Proxy.
  • サポートされていない接続タイプ: 標準の Amazon EC2 (AWS) 接続に適用すると、システムは次のエラーで失敗します。
    AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for EC2 host connection.

接続を編集する

既存のホスト接続を編集して、次のことができます。

IAM権限を付与するためのオプションを編集する

  1. 既存のAmazon WorkSpaces Core接続を右クリックします。
  2. Connection Propertiesページで、Edit settingsをクリックします。
  3. Citrixがリソースを管理するためのIAM権限を付与するオプションのいずれかを選択します。必要な詳細を入力し、Saveをクリックします。

同時実行アクションの最大数を変更する

Amazon WorkSpaces CoreマネージドインスタンスのStudioでホスト接続を作成すると、以下のデフォルト値が表示されます。
オプション 絶対値 パーセンテージ
同時実行アクション(すべての種類) 125 100
1分あたりの新規アクションの最大数 150 N/A
最大同時プロビジョニング操作数 150 N/A
MCS は、デフォルトで最大 150 の同時プロビジョニング操作をサポートします。
これらの値は、接続の編集画面の Citrix Studio の詳細設定セクションにアクセスして構成できます。
または、Remote PowerShell SDK を使用して、環境に応じた最適な設定のために同時操作の最大数を設定することもできます。
PowerShell カスタムプロパティ MaximumConcurrentProvisioningOperations を使用して、AWS の同時プロビジョニング操作の最大数を指定します。
構成前:
  • Cloud 用 PowerShell SDK がインストールされていることを確認してください。
  • MaximumConcurrentProvisioningOperations のデフォルト値は 150 であることを理解してください。
MaximumConcurrentProvisioningOperations の値をカスタマイズするには、次の手順を実行します。
  1. PowerShell ウィンドウを開きます。
  2. Citrix 固有の PowerShell モジュールをロードするには、asnp citrix* を実行します。
  3. cd xdhyp:\Connections\ を入力します。
  4. 接続を一覧表示するには、dir を入力します。
  5. カスタムプロパティ文字列を変更または初期化します。
    • カスタムプロパティ文字列に値がある場合は、カスタムプロパティをメモ帳にコピーします。次に、MaximumConcurrentProvisioningOperations プロパティを希望の値に変更します。1~1000の範囲の値を入力できます。 例: <Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>。
    • カスタムプロパティ文字列が空またはnullの場合、スキーマとMaximumConcurrentProvisioningOperations プロパティの両方に適切な構文を入力して文字列を初期化する必要があります。
  6. PowerShell ウィンドウで、メモ帳から変更したカスタムプロパティを貼り付け、変更したカスタムプロパティに変数を割り当てます。カスタムプロパティを初期化した場合は、構文の後に次の行を追加します。
    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="100"/></CustomProperties>'
    この文字列は、MaximumConcurrentProvisioningOperations プロパティを100に設定します。カスタムプロパティ文字列では、MaximumConcurrentProvisioningOperations プロパティをニーズに合った値に設定する必要があります。
  7. 資格情報の入力を求めるGet-XDAuthentication を入力します。
  8. $cred = Get-Credential を実行します。これにより、パスワードのみ(または名前とパスワード)の入力を求められる場合があります。アプリケーションIDと関連するシークレットの入力を求められる場合もあります。ロールベース認証を使用する接続の場合、role_based_auth は名前とパスワードの両方です。それ以外の場合は、AWS API IDとシークレットを入力します。
  9. set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password を実行します。<connection-name> を接続の名前に設定する必要があります。
  10. 更新されたCustomProperties文字列を確認するには、dir を入力します。

ネットワークインターフェイスごとのセキュリティグループを構成する

ホスト接続を編集する際、PowerShellコマンドを使用して、エラスティックネットワークインターフェイス(ENI)ごとに許可されるセキュリティグループの最大数を構成できるようになりました。AWSセキュリティグループのクォータ値については、「セキュリティグループ」を参照してください。
ネットワークインターフェイスごとにセキュリティグループを構成するには:
  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix* を実行します。
  3. cd xdhyp:\Connections\を実行します。
  4. 接続を一覧表示するには、dirを実行します。
  5. ネットワークインターフェイスごとにセキュリティグループを構成するには、次のPowerShellコマンドを実行します。
    Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>"
    注:
    AwsMaxENISecurityGroupLimitに値を設定しない場合、デフォルト値の5が使用されます。

既存の接続でプロキシを有効にする

  1. PowerShellウィンドウを開きます。
  2. 次のコマンドを実行します。
    Add-PSSnapin citrix*.
    cd XDHyp:\Connections\
    dir
  3. 接続からCustomPropertiesをメモ帳にコピーし、CustomPropertiesにプロパティ設定<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />を追加してプロキシを有効にします。
  4. PowerShellウィンドウで、変更されたカスタムプロパティに変数を割り当てます。例:
    $customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
    <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />
    </CustomProperties>'
  5. Get-XDAuthenticationを入力します。これにより、資格情報の入力を求められます。
  6. $cred = Get-Credentialを実行します。これにより、パスワードのみ(または名前とパスワード)の入力を求められる場合があります。アプリケーションIDと関連するシークレットの入力を求められる場合もあります。ロールベース認証を使用する接続の場合、role_based_authは名前とパスワードの両方です。それ以外の場合は、AWS API IDとシークレットを入力します。
  7. set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.passwordを実行します。<connection-name>を接続の名前に設定する必要があります。
  8. 更新されたCustomProperties文字列を確認するには、dirを入力します。

サービスエンドポイントURL

標準ゾーンサービスエンドポイントURL

MCSを使用すると、APIキーとAPIシークレットを持つ新しいAmazon WorkSpaces Core Managed Instances接続が追加されます。この情報と認証済みアカウントを使用して、MCSはAWS EC2およびAmazon WorkSpaces Core Managed Instances API呼び出しを使用して、サポートされているリージョンとゾーンをAWSに照会します。このクエリは、Workspace Instances Service Endpoint URL <https://workspaces-instances.us-east-1.api.aws/> とEC2 Service Endpoint https:/ec2.us-east-1.api.aws/ を使用して行われます。
注:
<https://workspaces-instances.us-east-1.api.aws/> に接続できることを確認してください。

非標準サービスエンドポイントURL

接続に自動的に選択されたAWSサービスエンドポイントURLが必要ない場合があります。そのような場合は、Citrix Cloud SDKとPowerShellを使用して、非標準のサービスエンドポイントURLで接続を作成できます。たとえば、サービスエンドポイントURL https://ec2.cn-north-1.amazonaws.com.cn を使用して接続を作成するには、次の手順を実行します。
  1. AWSでホストされているCloud Connectorをセットアップし、接続性があることを確認します。
  2. Cloud Connectorのリストを表示するには、次のPowerShellコマンドを実行します。
    PS C:\> asnp citrix.*
    PS C:\> Get-XDAuthentication
    PS C:\> Get-ConfigEdgeServer
  3. 新しく作成されたCloud ConnectorからZoneUidを見つけ、次のPowerShellコマンドに入力します。斜体の項目をそれぞれの値に置き換えてください。
    PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid ZoneUid -Name “My New Connection” -ConnectionType "Custom" -HypervisorAddress @("https://workspaces-instances.$($cloudRegion).api.aws")-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" -UserName “APIkey” -Password “API Secret” -Persist

    PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid
  4. ホスティングタブを更新して、接続が作成されたことを確認します。
  5. 新しい接続を使用してリソースの場所を追加します。

必要なAWS権限

このセクションには、AWS権限の完全なリストが含まれています。機能が正しく動作するように、このセクションに記載されている権限の完全なセットを使用してください。
注:
iam:PassRole 権限は、Citrixがリソースを管理するためにIAMロールを使用する場合にのみ必要です。

ホスト接続の作成

AWSから取得した情報を使用して、新しいホスト接続が追加されます。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeRegions",
                "workspaces-instances:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

VMの電源管理

VMの電源がオンまたはオフになります。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",,
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
           "Action": [
               "workspaces-instances:*"
           ],
           "Effect": "Allow",
            "Resource": "*"
       }

    ]

}

VMの作成、更新、または削除

AWSインスタンスとしてプロビジョニングされたVMを使用して、マシンカタログが作成、更新、または削除されます。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteVolume",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "workspaces-instances:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountSummary",
                "ec2:CopyImage"
            ],
            "Resource": "*"
        },

    ]
}
注:
  • SecurityGroupsに関連するEC2セクションは、カタログ作成時に準備VM用に分離セキュリティグループを作成する必要がある場合にのみ必要です。これが完了すると、これらの権限は不要になります。
  • EC2 CopyImage および IAM GetAccountSummary の権限は、準備済みイメージをリージョン間で共有する場合にのみ必要です。アベイラビリティゾーンとリージョン間で準備済みイメージを共有するを参照してください。

ディスクの直接アップロードとダウンロード

次の権限をポリシーに追加する必要があります。
  • ebs:StartSnapshot
  • ebs:GetSnapshotBlock
  • ebs:PutSnapshotBlock
  • ebs:CompleteSnapshot
  • ebs:ListSnapshotBlocks
  • ebs:ListChangedBlocks
  • ec2:CreateSnapshot
  • ec2:DeleteSnapshot
  • ec2:DescribeLaunchTemplates

作成されたボリュームのEBS暗号化

AMIが暗号化されている場合、またはEBSがすべての新しいボリュームを暗号化するように構成されている場合、EBSは新しく作成されたボリュームを自動的に暗号化できます。ただし、この機能を実装するには、IAMポリシーに次の権限を含める必要があります。
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
注:
権限は、ユーザーの判断でリソースと条件ブロックを含めることにより、特定のキーに制限できます。例:条件付きKMS権限:
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": [
                "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
            ],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
次のキーポリシーステートメントは、アカウントがIAMポリシーを使用してKMSキーに対するすべてのアクション (kms:*) の権限を委任できるようにするために必要な、KMSキーのデフォルトキーポリシー全体です。
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
詳細については、AWS Key Management Serviceの公式ドキュメントを参照してください。

IAMロールベース認証

ロールベース認証をサポートするために、次の権限が追加されます。
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}

最小限のIAM権限ポリシー

次のJSONは、現在サポートされているすべての機能に使用できます。このポリシーを使用して、ホスト接続の作成、VMの作成、更新、削除、および電源管理を行うことができます。 このポリシーは、IAM権限の定義セクションで説明されているようにユーザーに適用することも、ホスト接続を構成するときにIAMロールを使用を選択してロールベース認証を使用することもできます。
重要:
Citrixがリソースを管理するためのIAMロールを使用するには、まず、クラウドコネクタを設定する際に、クラウドコネクタのEC2インスタンスで目的のIAMロールを設定します。Citrix Studioを使用して、ホスティング接続を追加し、IAMロールを使用オプションを選択します。これらの設定を持つホスティング接続は、ロールベースの認証を使用します。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:AttachVolume",
                "ec2:AssociateIamInstanceProfile",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateImage",
                "ec2:CreateLaunchTemplate",
                "ec2:CreateNetworkInterface",
                "ec2:CreateTags",
                "ec2:CreateVolume",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeIamInstanceProfileAssociations",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeLaunchTemplates",
                "ec2:DescribeLaunchTemplateVersions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:DescribeTags",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeInstanceCreditSpecifications",
                "ec2:DescribeInstanceAttribute",
                "ec2:GetLaunchTemplateData",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DetachVolume",
                "ec2:DisassociateIamInstanceProfile",
                "ec2:RebootInstances",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:GetSnapshotBlock",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ec2:CreateSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "workspaces-instances:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountSummary",
                "ec2:CopyImage"
            ],
            "Resource": "*"
        }

    ]
}
注:
  • SecurityGroupsに関連するEC2セクションは、カタログ作成時に準備VM用に分離セキュリティグループを作成する必要がある場合にのみ必要です。これが完了すると、これらの権限は不要になります。
  • KMSセクションは、EBSボリューム暗号化を使用する場合にのみ必要です。
  • iam:PassRole権限セクションは、Citrixがリソースを管理するためのIAMロールを使用する場合にのみ必要です。
  • 要件と環境に基づいて、フルアクセスではなく、特定のリソースレベルの権限を追加できます。詳細については、AWSドキュメントのDemystifying EC2 Resource-Level PermissionsおよびAccess management for AWS resourcesを参照してください。
  • ボリュームワーカー方式を使用している場合にのみ、ec2:CreateNetworkInterfaceおよびec2:DeleteNetworkInterface権限を使用してください。

次のステップ

  • 準備済みイメージの作成については、Amazon WorkSpaces Coreマネージドインスタンス用の準備済みイメージを作成するを参照してください。

詳細情報