Amazon WorkSpaces Coreマネージドインスタンスへの接続
接続とリソースの作成および管理は、接続を作成するウィザードについて説明しています。以下の情報では、Amazon WorkSpaces Coreマネージドインスタンスに固有の詳細について説明します。
前提条件
-
Amazon WorkSpaces Coreマネージドインスタンスへの接続を作成する前に、以下を実行してください。
- AWSをリソースの場所として設定を完了します。AWS仮想化環境を参照してください。
- IAM権限の定義 Citrix®がお客様に代わってAWSリソースを管理するためのIAMユーザーまたはロールのポリシー。
- サービスにリンクされたロールの作成。
IAM権限の定義
ホスト接続を作成する前に、Citrixがお客様に代わってAWSアカウント内のリソースをプロビジョニングおよび管理するための適切な権限を付与するIAMユーザーまたはロールに対して、IAM権限ポリシーを適切に定義する必要があります。このセクションの情報を使用して、Amazon WorkSpaces Coreマネージドインスタンス上のCitrix DaaSのIAM権限を定義します。AmazonのIAMサービスでは、複数のユーザーを持つアカウントが許可されており、それらのユーザーはさらにグループに編成できます。これらのユーザーは、アカウントに関連する操作を実行する能力を制御するために、異なる権限を持つことができます。IAM権限の詳細については、IAM JSONポリシーリファレンスを参照してください。
注:
Citrixはお客様に代わってAWSアカウント内のリソースと自動化をプロビジョニングおよび管理するため、特定のタグまたはリソース命名規則に基づいたIAM権限ポリシーの構成はサポートされていません。
新しいユーザーグループにIAM権限ポリシーを適用するには:
- AWS管理コンソールにログインし、ドロップダウンリストから IAMサービス を選択します。
- 新しいユーザーグループの作成 を選択します。
- 新しいユーザーグループの名前を入力し、続行 を選択します。
- 権限 ページで、カスタムポリシー を選択します。
- 権限ポリシー の名前を入力します。
- ポリシー ドキュメント セクションで、関連する権限を入力します。
ポリシー情報を入力した後、続行 を選択して、IAM権限ポリシーのユーザーグループへの適用を完了します。グループ内のユーザーには、Citrix DaaSに必要なアクションのみを実行する権限が付与されます。
重要:
この記事で提供されている例のポリシーテキストを使用して、Citrix DaaSがAWSアカウント内でアクションを実行するために使用するアクションを、特定のリソースに制限することなくリストします。Citrixは、テスト目的でこの例を使用することをお勧めします。本番環境では、リソースにさらなる制限を追加することを選択できます。
IAM権限の追加
AWS管理コンソールの IAM セクションで権限を追加します。
- 概要 パネルで、権限 タブを選択します。
-
- 権限の追加 を選択します。
-
- 権限の追加先 画面で、権限を付与します。
- JSONセクションで、環境に必要なAWS権限を含めます。
サービスにリンクされたロールの作成
CitrixがCore V2 APIを呼び出す各AWSアカウントについて、サービスにリンクされたロール (SLR)を作成します。
ロールを作成する手順:
- AWS管理コンソールでコマンドラインインターフェイス (CLI) を開きます。
-
CLIで次のコマンドを実行します。
aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com <!--NeedCopy-->
Amazon WorkSpaces Core管理コンソールを使用して、サービスにリンクされたロールを構成することもできます。サービスにリンクされたロールの作成 (コンソール)を参照してください。
接続の作成
Amazon WorkSpaces Coreマネージドインスタンスへの接続は、以下を使用して作成できます。
- Studio
-
注:
-
-
プロキシサーバーまたはファイアウォールの制限を確認し、次のアドレスに接続できることを確認してください。
https://*.amazonaws.comおよびhttps://*.api.aws。また、Citrix Gatewayサービス接続に記載されているすべてのアドレスに接続できることを確認してください。 -
-
これらに接続できない場合、ホスト接続の作成または更新中に障害が発生する可能性があります。
-
Studioを使用した接続の作成
- ホスティング > 接続とリソースの追加 ページに移動します。
-
接続 ページで、次の手順に従って接続を構成します。
- 新しい接続の作成 を選択します。
- ゾーン で、AWS環境用に設定したリソースの場所を選択します。
- 接続タイプとして Amazon WorkSpaces Core を選択します。
-
IAMユーザーアクセスキーを使用 または IAMロールを使用 を選択します。
IAMユーザーアクセスキーの場合は、CitrixがAWSアカウント内のリソースを管理するための適切なIAM権限ポリシーを持つIAMユーザーの APIキー と シークレットキー を入力します。
IAMロールの場合は、CitrixがAWSアカウント内のリソースを管理するための適切なIAM権限ポリシーを持つIAMロールがCitrix Cloud Connectorインスタンスに割り当てられていることを確認してください。詳細については、ロールベース認証ガイドを参照してください。
- Citrix Cloud Connectorを介してAWSにAPIリクエストをルーティングするには、Citrix Cloud Connectorでシステムプロキシを使用 チェックボックスをオンにします。これにより、Cloud Connectorがインターネットに直接アクセスできない場合でも、AWS接続が適切に機能するようになります。
- 接続名を入力し、次へ をクリックします。
- 仮想マシンの場所 ページで、VMをプロビジョニングする場所を指定します。新しいVMを作成するためのクラウドリージョン、VPC、およびアベイラビリティーゾーン(またはローカルゾーン)を選択します。
-
ネットワーク ページで:
- アベイラビリティーゾーン(またはローカルゾーン)で以前に選択したリソースの名前を入力します。
- 前のメニューで構成したVPC内の1つ以上のサブネットを選択します。
- 概要 ページが表示されるまで、残りのページをクリックして進みます。
- 完了 をクリックして、Amazon WorkSpaces Coreマネージドインスタンスへのホスト接続を作成します。
重要な考慮事項
Studioを使用して接続を作成する場合:
- CitrixがAWSリソースを管理するための適切なIAM権限を定義します。
- CitrixがAWSリソースを管理するためにIAMユーザーアクセスキーを使用する場合、APIキーとシークレットキーの値を指定する必要があります。これらの値を含むキーファイルをAWSからエクスポートし、インポートできます。また、リージョン、アベイラビリティゾーン、VPC名、サブネットアドレス、ドメイン名、セキュリティグループ名、および資格情報も指定する必要があります。
- CitrixがAWSリソースを管理するためにIAMロールを使用する場合、すべてのCloud Connectorに適切なIAM権限を持つロールを割り当てる必要があります。詳細については、ロールベース認証ガイドを参照してください。
- ルートAWSアカウントの資格情報ファイル(AWSコンソールから取得)は、標準のAWSユーザー用にダウンロードされた資格情報ファイルと同じ形式ではありません。そのため、Citrix DaaSはこのファイルを使用してAPIキーとシークレットキーのフィールドに入力することはできません。AWS Identity Access Management (IAM) 資格情報ファイルを使用していることを確認してください。
- ゾーンはアベイラビリティゾーンまたはローカルゾーンのいずれかです。
PowerShellを使用した接続の作成
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行して、Citrix固有のPowerShellモジュールをロードします。 -
次のコマンドを実行します。以下に例を示します。
$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 <!--NeedCopy-->
注:
ロールベース認証を使用して接続を作成するには、apiKeyとapiSecretを
role_based_authとして指定します。
制限事項
- AWSコンソールでAWS Virtual Private Cloud (VPC) の名前を変更すると、Citrix Cloud™内の既存のホスティングユニットが破損します。ホスティングユニットが破損すると、カタログを作成したり、既存のカタログにマシンを追加したりできなくなります。この問題を解決するには、AWS VPCの名前を元の名前に戻してください。
AWS管理トラフィックのセキュアな環境の作成
Cloud Connectorにプロキシが構成されている場合、MCSによって行われるAPI呼び出しがプロキシを介して適切にルーティングされるように、プロキシを使用するホスト接続を作成する必要があります。MCSは、ネットワークトラフィック(Citrix CloudからAWSハイパーバイザーへのAPI呼び出し)が環境内のCloud Connectorを介してルーティングされるようにします。
- ホスト接続は、Cloud Connectorのインストール中に構成されたWinHTTPシステムプロキシ値を読み取ることができます。[Studio](#create-a-connection-using-studio)を使用してプロキシを構成するか、PowerShellを使用してホスト接続を作成または更新する際にカスタムプロパティ`UseSystemProxyForHypervisorTrafficOnConnectors`を`True`に設定することで、プロキシを構成できます。
注:
環境でプロキシを使用している場合は、SSLインスペクションが無効になっているか、https://workspaces-instances.*.api.aws/へのSSL接続が変更されていないことを確認してください。
プロキシで構成されたホスト接続の作成
- 1. PowerShellウィンドウを開きます。
- 1. `asnp citrix*`を実行して、Citrix固有のPowerShellモジュールをロードします。
-
プロキシを構成する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> "@ <!--NeedCopy--> -
ホスティング接続を作成します。以下に例を示します。
-
```
-
$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 $zoneUidNew-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ピアリングの設定を参照してください。
- IAMロールを使用してクロスアカウントアクセスを委任します。IAMロールを使用したクロスアカウントアクセスの委任を参照してください。
VPCピアリングの設定
VPC Aがプライマリアカウント(アカウントA)にあり、Cloud ConnectorとActive Directoryがあるものとします。VPC Bは、VMをプロビジョニングするセカンダリアカウント(アカウントB)にあります。
アカウントAとアカウントBの間でVPCピアリング接続を設定するには、次の手順を実行します。
-
VPCピアリング接続を作成します。以下を参照してください。
-
- VPC Aと、パブリックサブネットに関連付けられているルートテーブルに移動します。
- [Edit Routes] > [Add route] をクリックします。[Destination] 列にVPC BのCIDRブロックを追加し、[Target] 列に作成したVPCピアリングを追加します。
- 手順2と3を繰り返しますが、VPC AとVPC Bのプライベートサブネットを使用します(VPC AのCIDRブロックを追加します)。VPCピアリング接続のルートテーブルの更新を参照してください。
- VPC Aに関連付けられているプライベートセキュリティグループに移動します。
- [Actions] を選択し、[Edit inbound rules] を選択します。
-
[Add rule] を選択します。タイプとして [All Traffic] を選択し、[Source Column] に以下を追加します。
- 異なるリージョンの場合は、VPC BのCIDRブロックを追加します。
- 異なるアカウントだが同じリージョンの場合は、VPC BのアカウントIDとプライベートセキュリティグループIDをスラッシュで区切って追加します(例:123456789012/sg-1a2b3c4d)。
- 手順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)にあります。
- 前述の手順で、アカウント間でVPCピアリングを設定します。
- 最小限のCitrix IAM権限を持つIAMロールとポリシーをアカウントBに作成します。IAMチュートリアル: IAMロールを使用してAWSアカウント間でアクセスを委任するを参照してください。このロールのARNを「arn:aws:iam::5678:role/citrix-role」とします。
- 「arn:aws:iam::5678:role/citrix-role」ロールに信頼ポリシーを追加し、アカウントAのロール「arn:aws:iam::1234:role/primary-account-citrix-role」からアクセスできるようにします。IAMでのクロスアカウントリソースアクセスを参照してください。
- アカウントAに、前述の「primary-account-citrix role」という名前でIAMロールとポリシーを作成します。これにより、アカウントBのIAMロール(arn:aws:iam::5678:role/citrix-role)を引き受け、そのIAMロールを渡すことができます。
- 「arn:aws:iam::1234:role/primary-account-citrix-role」ロールをアカウントAのすべてのCloud Connectorに割り当てます。
Cloud Connectorは、アカウントBのロール(「arn:aws:iam::5678:role/citrix-role」)を引き受けることができるようになりました。
クロスアカウントプロビジョニング用のホスト接続の作成
VMをプロビジョニングするセカンダリアカウント(アカウントB)にホスト接続を作成します。これにより、アカウントAのCloud Connectorは、アカウント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
<!--NeedCopy-->
ホスト接続が作成されたら、StudioまたはPowerShellを使用してホスティングユニットを作成します。ただし、VPCとネットワークを選択してください。
接続の編集
既存のホスト接続は、次の目的で編集できます。
- Citrixがリソースを管理するためのIAM権限を提供するオプションの変更
- ホスティング接続あたりの同時アクション(または同時マシン)の最大数の変更
- スコープの変更。
- PowerShellコマンドを使用して、エラスティックネットワークインターフェイス(ENI)あたりのセキュリティグループの最大数を構成する
- AWS管理トラフィックのセキュアな環境を作成するためにプロキシを有効にする
IAM権限を提供するオプションの編集
- 既存のAmazon WorkSpaces Core接続を右クリックします。
- 接続プロパティページで、設定の編集をクリックします。
- Citrixがリソースを管理するためのIAM権限を提供するオプションのいずれかを選択します。必要な詳細を入力し、保存をクリックします。
同時アクションの最大数の変更
StudioでAmazon WorkSpaces Coreマネージドインスタンスのホスト接続を作成すると、次のデフォルト値が表示されます。
| オプション | 絶対値 | 割合 |
|---|---|---|
| 同時アクション(すべてのタイプ) | 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の値をカスタマイズするには、次の手順を実行します。
- PowerShellウィンドウを開きます。
-
asnp citrix*を実行して、Citrix固有のPowerShellモジュールをロードします。 -
cd xdhyp:\Connections\と入力します。 -
dirと入力して接続を一覧表示します。 - カスタムプロパティ文字列を変更または初期化します。
- カスタムプロパティ文字列に値がある場合は、カスタムプロパティをメモ帳にコピーします。次に、
MaximumConcurrentProvisioningOperationsプロパティを希望の値に変更します。1~1000の範囲の値を入力できます。 例:<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>。 - カスタムプロパティ文字列が空またはnullの場合は、スキーマと
MaximumConcurrentProvisioningOperationsプロパティの両方に適切な構文を入力して文字列を初期化する必要があります。
- カスタムプロパティ文字列に値がある場合は、カスタムプロパティをメモ帳にコピーします。次に、
-
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>' <!--NeedCopy-->この文字列は、
MaximumConcurrentProvisioningOperationsプロパティを 100 に設定します。カスタムプロパティ文字列では、MaximumConcurrentProvisioningOperationsプロパティをニーズに合った値に設定する必要があります。 -
Get-XDAuthenticationと入力すると、資格情報の入力を求められます。 -
$cred = Get-Credentialを実行します。これにより、パスワードのみ (または名前とパスワード) の入力を求められる場合があります。アプリケーション ID と関連するシークレットの入力を求められる場合もあります。ロールベース認証を使用する接続の場合、role_based_authは名前とパスワードの両方です。それ以外の場合は、AWS API ID とシークレットを入力します。 -
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.passwordを実行します。<connection-name>は接続の名前に設定する必要があります。 -
dirと入力して、更新された CustomProperties 文字列を確認します。
ネットワークインターフェイスごとのセキュリティグループの構成
ホスト接続を編集する際、PowerShell コマンドを使用して、エラスティックネットワークインターフェイス (ENI) ごとに許可されるセキュリティグループの最大数を構成できるようになりました。AWS セキュリティグループのクォータ値については、「セキュリティグループ」を参照してください。
ネットワークインターフェイスごとにセキュリティグループを構成するには:
- PowerShell ウィンドウを開きます。
-
asnp citrix*を実行して、Citrix 固有の PowerShell モジュールをロードします。 -
cd xdhyp:\Connections\を実行します。 -
dirを実行して、接続を一覧表示します。 -
ネットワークインターフェイスごとにセキュリティグループを構成するには、次の PowerShell コマンドを実行します。
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->注:
AwsMaxENISecurityGroupLimitの値を設定しない場合、デフォルト値の 5 が使用されます。
既存の接続でのプロキシの有効化
- PowerShell ウィンドウを開きます。
-
次のコマンドを実行します。
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - 接続から
CustomPropertiesをメモ帳にコピーし、プロキシを有効にするためにプロパティ設定<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />をCustomPropertiesに追加します。 -
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>' <!--NeedCopy--> -
Get-XDAuthenticationと入力すると、資格情報の入力を求められます。 -
$cred = Get-Credentialを実行します。これにより、パスワードのみ (または名前とパスワード) の入力を求められる場合があります。アプリケーション ID と関連するシークレットの入力を求められる場合もあります。ロールベース認証を使用する接続の場合、role_based_authは名前とパスワードの両方です。それ以外の場合は、AWS API ID とシークレットを入力します。 -
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.passwordを実行します。<connection-name>は接続の名前に設定する必要があります。 -
dirと入力して、更新されたCustomProperties文字列を確認します。
サービスエンドポイント URL
標準ゾーンサービスエンドポイント URL
MCS を使用すると、新しい Amazon WorkSpaces Core Managed Instances 接続が API キーと API シークレットとともに追加されます。この情報と認証済みアカウントを使用して、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 を使用して接続を作成するには:
- AWS ホスト型 Cloud Connector をセットアップし、接続性があることを確認します。
-
次の PowerShell コマンドを実行して、Cloud Connector のリストを表示します。
PS C:\> asnp citrix.* PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer <!--NeedCopy--> -
新しく作成した 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 <!--NeedCopy--> - ホスティングタブを更新して、接続が作成されたことを確認します。
- 新しい接続を使用してリソースの場所を追加します。
必要な 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”: “*” }
] }
> **注:**
>
> - SecurityGroupsに関連するEC2セクションは、カタログ作成時に準備VM用に分離セキュリティグループを作成する必要がある場合にのみ必要です。これが完了すると、これらの権限は不要になります。
### ディスクの直接アップロードとダウンロード
以下の権限をポリシーに追加する必要があります。
- `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の公式ドキュメント](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)を参照してください。
### IAMロールベースの認証
ロールベースの認証をサポートするために、以下の権限が追加されます。
{ “Version”: “2012-10-17”, “Statement”: [ { “Effect”: “Allow”, “Action”: “iam:PassRole”, “Resource”: “arn:aws:iam:::role/” } ] }
### 最小限のIAM権限ポリシー
以下のJSONは、現在サポートされているすべての機能に使用できます。このポリシーを使用して、ホスト接続の作成、VMの作成、更新、または削除、および電源管理を行うことができます。
このポリシーは、[IAM権限の定義](#define-iam-permissions)セクションで説明されているようにユーザーに適用することも、ホスト接続を構成する際に**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”: “” }
] }
```
注:
- 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マネージドインスタンス用の準備済みイメージの作成を参照してください。
詳細情報
- 接続とリソースの作成および管理
- AWS仮想化環境
- Amazon WorkSpaces CoreのGitHub PowerShellの例については、citrix-mcs-sdk-samples-Amazon WorkSpaces Coreを参照してください。