Horizon Edge Gateway をダウンロードして Amazon Web Services (AWS) の Horizon 8 フェデレーション デプロイにデプロイし、Horizon Cloud とペアリングできます。Horizon 8 on Amazon WorkSpaces Core 用の Horizon Edge をデプロイする場合も、同じ手順を使用できます。
次の手順に従って、AWS ソリューションを使用したフェレデーション アーキテクチャを使用する Edge 環境の Horizon Edge Gateway アプライアンスをダウンロードしてデプロイします。
これらの同じ手順に従って、Horizon 8 on Amazon WorkSpaces Core の Edge デプロイ用に Horizon Edge Gateway アプライアンスをダウンロードしてデプロイします。
フェデレーション アーキテクチャで、または Amazon WorkSpaces Core に Horizon 8 Edge をデプロイする場合は、Horizon Cloud の Edge の環境内のネイティブの Amazon Elastic Computer Cloud (EC2) インフラストラクチャに Horizon Edge Gateway をデプロイする必要があります。
前提条件
続行する前に、以下の前提条件を満たす必要があります。
-
「Horizon 8 Edge のデプロイの開始」で説明されている Horizon Edge Gateway 関連の前提条件を満たしていることを確認します。
-
Horizon Edge Gateway を使用して Horizon 8 ポッドと Horizon Cloud をペアリングするため、Horizon 8 環境に Horizon Edge Gateway をデプロイするために適切な宛先 URL をアクセス可能にする方法を示した箇所に記載されている要件を満たしていることを確認します。
-
適切なバージョンの Horizon Edge Gateway を使用していることを確認します。「Omnissa 製品の相互運用性マトリックス」を参照してください。
-
Horizon Edge Gateway 仮想アプライアンスは、インターネットにアクセスして Horizon Control Plane と通信する必要があります。ご使用の環境で、デプロイされたアプライアンスがインターネットにアクセスするためにプロキシ サーバとプロキシ構成を使用する必要がある場合、プロキシ設定を Horizon Edge Gateway アプライアンスで使用するときのプロキシ関連の情報、既知の制限、既知の問題を認識していることを確認します。
-
configure-edge-gateway.sh スクリプトを使用して Edge をペアリングする際にプロキシを使用するには、まず次のコマンドを実行し、ProxySSL が有効な場合は true、それ以外の場合は false として指定する必要があります。
/opt/horizon/bin/configure-edge-gateway.sh -p 'Pairing_Code' -x -i 'IP_or FQDN_of Proxy' -r 'Proxy_Port' -m 'Proxy_User_Name' -a 'Proxy_Password' -s 'true_or_false'次の「注」でプロキシ関連の情報を確認してください。
**注:**Edge のプロキシ構成を更新します。
/opt/horizon/bin/configure-edge-gateway.sh --configure-proxy --proxy-host 127.0.0.1 --proxy-port 3128 --proxy-username 'exampleUsername' --proxy-password 'examplePassword'その他のオプションを確認するには、次に示すように
-hオプションを指定してスクリプトを実行します。/opt/horizon/bin/configure-edge-gateway.sh -h -
多くの手順では、コマンドラインを使用する必要があります。ただし、AWS マネジメント コンソールまたは AWS コマンド ライン インターフェイス (CLI) を使用して実行できるデプロイ手順もあります。Amazon EC2 環境の操作の詳細については、https://docs.aws.amazon.com/ec2/index.html にある Amazon Elastic Compute Cloud のドキュメントを参照してください。以下の手順では、特定のタイプの Amazon Elastic Compute Cloud ドキュメントを参照することをお勧めすることがよくあります。
手順
-
「Horizon 8 Edge の追加およびデプロイ」ページの手順の途中にある Horizon Edge Gateway アプライアンス バイナリを取得する手順を使用して、Horizon Edge Gateway ディスク イメージをダウンロードします。画面に表示されるすべてのプロンプトに応答します。
Horizon Edge Gateway ディスク イメージ/アプライアンスは、VMDK ファイルとして使用できます。VMDK ファイルをローカル システムにダウンロードします。
**注:**Horizon Edge Gateway ディスク イメージの最新バージョンをダウンロードしてください。Edge Gateway アプライアンスの最新バージョンを使用することをお勧めします。バージョン情報については、「Omnissa 製品の相互運用性マトリックス」を参照してください。
ダウンロードしたバイナリを目的の仮想化プラットフォームにデプロイする場所に保存し、この手順シーケンスに戻って必要なペアリング プロセスを続行します。
ディスク イメージ ファイルを Amazon EC2 環境にアップロードする前に、まず Amazon S3 バケットを作成する必要があります。
-
Amazon EC2 環境で Amazon S3 バケットを作成します。詳細な手順については、Amazon Elastic Compute Cloud のドキュメントを参照してください。
-
ダウンロードした VMDK ファイルを Amazon S3 バケットにアップロードします。この手順は、AWS マネジメント コンソールまたは AWS コマンドライン インターフェイス (CLI) を使用して実行できます。
-
(AWS マネジメント コンソール)Amazon EC2 環境の AWS マネジメント コンソールにログインします。S3 サービスに移動し、以前に作成したバケットを選択し、そのバケットに VMDK ファイルをアップロードします。
-
(AWS CLI) AWS CLI にアクセスし、次のコマンドを実行します。
aws s3 cp <file-path-to-VMDK-file> <S3URI>cpコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。
AWS マネジメント コンソールでは、VMDK ファイルは [オブジェクト] タブに表示されます。
-
-
サービス ロールとポリシーを作成し、ポリシーをロールに添付します。
-
この手順に必要な 3 つの新しい JSON ファイルの最初のファイルを作成します。
この JSON ファイルの目的は、サービスとロールの情報を格納することです。ファイルに任意の名前を付けます。この手順では、このファイルのファイル名の例は
trust-policy.jsonです。次のテキストは、JSON ファイルの内容の例です。
{ "Version":"2022-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "sts:ExternalId":"vmimport" } } } ] } -
任意の名前でサービス ロールを作成し、新しい JSON ファイルにロール情報を保存します。
たとえば、CLI を使用して、次のようなコマンドを実行します。
次のコマンドは一般的な例です。
aws iam create-role --role-name <role-name> --assume-role-policy-document <file-path>次のコマンドの例では、プレースホルダ
<role-name>を特定の例 vmimport に置き換え、プレースホルダ<file-path>を特定の例 trust-policy.json に置き換えています。aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.jsoncreate-roleコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。 -
この手順に必要な 3 つの新しい JSON ファイルの 2 番目のファイルを作成します。
以下の例で使用する <bucket-name> など、VMDK ファイルをアップロードするバケットの名前を指定します。
この JSON ファイルの目的は、新しいポリシーを新しいロールに添付することです。ファイルに任意の名前を付けます。この手順では、このファイルのファイル名の例は
role-policy.jsonです。次のテキストは、サンプルの
role-policy.jsonファイルの内容の例です。{ "Version":"2022-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::<bucket-name>" ] }, { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::<bucket-name>/*" ] }, { "Effect":"Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource":"*" } ] } -
ポリシーを作成し、新しいロールに添付して、新しく作成した JSON ファイルに保存します。
たとえば、CLI を使用して、次のようなコマンドを実行します。
次のコマンドは一般的な例です。
aws iam put-role-policy --role-name <role-name> --policy-name <policy-name> --policy-document <file-path>次の具体例では、プレースホルダ <role-name> を
vmimportという名前のポリシーの具体例に置き換え、プレースホルダ <policy-name> を以前に名前を付けたロール、つまりvmimportという名前のロールの具体例に置き換え、プレースホルダ <file-path> を以前に名前を付けた JSON ファイルrole-policy.jsonの具体例に置き換えます。aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.jsonput-role-policyコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。
-
-
インポートされた VMDK ファイルからスナップショットをインポートします。
-
この手順に必要な 3 つの新しい JSON ファイルの 3 番目のファイルを作成します。
このファイルに次の情報を含めます。
-
バケット名(次の例で使用されている <bucket-name> など)。
-
Amazon S3 バケットにアップロードした VMDK ファイルのファイル名(次の例で使用されている <vmdk-file-name-uploaded-to-S3> など)。
この JSON ファイルの目的は、インポートされた VMDK ファイルのスナップショットを格納することです。ファイルに任意の名前を付けます。この手順では、このファイルのファイル名の例は
container.jsonです。次のテキストは、
container.jsonファイルの内容の例です。{ "Description": "Adapter-VM", "Format": "vmdk", "UserBucket": { "S3Bucket": "<bucket-name>", "S3Key": "<vmdk-file-name-uploaded-to-S3>" } } -
-
コマンドを実行して、インポートした VMDK ファイルから新しく作成した JSON ファイルにスナップショットをインポートします。
CLI を使用して、次のタイプのコマンドを実行します。
aws ec2 import-snapshot --role-name <role-name> --description <description> --disk-container <file-path>import-snapshotコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。次のコマンドは、
import-snapshotコマンドの具体例です。ここでは、role-nameパラメータはオプションで使用されておらず、説明は"Adapter-VM"で、コンテナのファイル名はcontainer.jsonです。aws ec2 import-snapshot --description "Adapter-VM" --disk-container file://container.jsonimport-snapshotコマンドは完了まで数分かかることがあります。ただし、コマンドを実行すると、コマンドの出力が作成されます。この出力には、タスクの進行状況の追跡に使用できるImportTaskId行が含まれています。次の出力に一例を示します。{ "ImportTaskId": "import-snap-05b4c84af4xxxxxxx", "Description": "Adapter-VM", "SnapshotTaskDetail": { "StatusMessage": "pending", "UserBucket": { "S3Bucket": "awsbucket", "S3Key": "edge-gw-2.3.3.0-22720582.ec2.vmdk" }, "Progress": "0", "Status": "active", "Description": "Adapter-VM", "DiskImageSize": 0.0 } } -
import-snapshotコマンド出力のImportTaskId値を書き留めます。
-
-
import-snapshotタスクの進行状況を追跡し、スナップショット ID を取得するには、次のコマンドを実行します。aws ec2 describe-import-snapshot-tasks --import-task-ids <import-task-id><import-task-id>プレースホルダを import-snapshot コマンド出力にリストされた値に置き換えます。上記の出力例にリストされている値の例はimport-snap-05b4c84af4xxxxxxxです。describe-import-snapshot-tasksコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。describe-import-snapshot-tasksコマンドは、import-snapshotタスクの進行状況を示す出力を提供し、タスクが完了すると、イメージの登録に必要なスナップショット ID を提供します。次に例を示します。"Progress": "43"。この行のような出力の行は、import-snapshotタスクの進行状況の割合を示します。この例では、タスクは 43% 完了しています。"Status": "completed"。この行のような出力の行は、import-snapshotタスクが完了したことを示します。"SnapshotId": "snap-06d42e043bxxxxxxx"。タスクが完了すると、出力にこのような行が含まれます。この例では、スナップショット ID はsnap-06d42e043bxxxxxxxです。
-
describe-import-snapshot-tasksコマンドの出力からスナップショット ID を書き留めます。 -
スナップショット イメージを登録するには、
register-imageコマンドを実行します。aws ec2 register-image --region us-west-2 --name <image-name> --architecture x86_64 --root-device-name '/dev/sda1' --virtualization-type hvm --ena-support --block-device-mappings DeviceName=/dev/sda1,Ebs={SnapshotId=<SnapshotId>}ここでは、
--region、--architectureなど、各オプションのデプロイに固有の応答を提供する必要があります。register-imageコマンドの実行の詳細については、Amazon Elastic Compute Cloud のドキュメントを参照してください。次の情報は、
--nameオプションとSnapshotIdパラメータに固有です。--name- 文字列の制約に従って、イメージの名前を指定します。SnapshotId-describe-import-snapshot-tasksコマンド出力からのスナップショット ID を指定します。register-imageコマンドは、Amazon Machine Image (AMI) の ID を含む出力を提供します。次の例は、典型的なregister-image出力です。
{ "ImageId": "ami-0721ee000321c4685" }register-imageコマンド出力に示されている AMI は、AWS マネジメント コンソールの AMI のリストの中にも表示されます。 -
Horizon Edge Gateway AMI インスタンスの作成と構成をサポートするには、次の例のような起動スクリプトを準備します。
#!/bin/bash /opt/horizon/bin/configure-adapter.py --sshEnable echo -e '<password>\n<password>' | passwd admin echo -e '<password>\n<password>' | passwd ccadmin echo 'cs_ip cs_fqdn' >> /etc/hostsこの例では、スクリプトが次の構成をサポートしています。
- Horizon Edge Gateway アプライアンスへの SSH アクセスの有効化。
- 定義されたパスワードを使用した、アプライアンス上での管理者ユーザー アカウントの作成 (\n)。強力なパスワードを定義してください。強力なパスワードは 8 文字以上で、1 つ以上の数字、大文字と小文字、特殊文字を含める必要があります。
- 定義されたパスワードを使用した、アプライアンス上での ccadmin ユーザー アカウントの作成 (\n)。強力なパスワードを定義してください。強力なパスワードは 8 文字以上で、1 つ以上の数字、大文字と小文字、特殊文字を含める必要があります。
- Connection Server のホスト名 (cs_fqdn) から Connection Server の IP アドレス (cs_ip) への解決。 Horizon Edge Gateway AMI インスタンスを起動する次の手順で、このスクリプトをユーザー データに追加する必要があります。
-
Horizon Edge Gateway の AMI インスタンスを起動します。
**注:**インスタンスで十分な機能が提供されるようにするには、モデル c5.2xlarge 以上を使用します。
インスタンスは、AWS マネジメント コンソールまたは CLI を使用して起動できます。いずれの場合も、
register-imageコマンドの出力で提供される Amazon Machine Image (AMI) の ID を使用し、前の手順で準備した起動スクリプトをユーザー データに追加します。**注:**ユーザー データは AMI インスタンスの最初の起動シーケンスでのみ実行されるため、この時点で起動スクリプトを追加する必要があります。
CLI を使用するには、Amazon Elastic Compute Cloud のドキュメントを参照して、
run-instancesコマンドの実行の詳細を確認してください。AWS マネジメント コンソールを使用するには、Amazon Elastic Compute Cloud のドキュメントで詳細(インスタンスの起動ウィザードを使用したインスタンスの起動など)を参照してください。
AWS マネジメント コンソールを使用してインスタンスを起動する場合、イメージ ID で新しい AMI を探して、AMI を選択し、[起動] をクリックします。その後、デプロイの詳細を指定してウィザードを続行できます。
-
Horizon Edge Gateway AMI が起動したら、AMI インスタンスの構成を編集し、起動スクリプトを削除します。
-
Horizon Edge Gateway 仮想マシン AWS インスタンスに SSH 接続します。
CLI または AWS マネジメント コンソールを使用するには、インスタンスへの接続の詳細について、Amazon Elastic Compute Cloud のドキュメントを参照してください。ペアリング キーのコピー/貼り付けを許可するには、SSH を使用することをお勧めします。
関連情報については、「Horizon Edge の SSH アクセスの有効化」を参照してください。
関連情報については、AWS 製品ドキュメントの「Connect to your Linux instance」と「Connect to your Linux instance with EC2 Instance Connect in AWS」も参照してください。
-
次のコマンド形式を使用して Edge のペアリング スクリプトを実行します。ここで、pairing_code は、「Horizon 8 Edge の追加およびデプロイ」で説明されている手順 9 のスクリーンショットからコピーしたペアリング コードです。
sudo su - /opt/horizon/bin/configure-edge-gateway.sh -p <pairing_code> -
セキュリティを強化するには、これらの手順を完了したときに SSH を無効にすることを検討してください。
-
Horizon Universal Console に戻り、Horizon Connection Server の詳細の構成を完了します。「Horizon 8 Edge の追加およびデプロイ」を参照してください。
このページは役に立ちましたか?