Horizon Edge Gateway를 다운로드하여 AWS(Amazon Web Services)의 Horizon 8 페더레이션된 배포에 배포하고 Horizon Cloud와 연결할 수 있습니다. Amazon WorkSpaces Core에 Horizon 8용 Horizon Edge를 배포하는 경우 이 동일한 절차를 사용할 수 있습니다.
이러한 단계에 따라 AWS 솔루션과 페더레이션된 아키텍처를 사용하는 포드 배포에 Horizon Edge Gateway 장치를 다운로드하고 배포합니다.
Amazon WorkSpaces Core에서 Horizon 8용 Edge 배포를 위해 Horizon Edge Gateway 장치를 다운로드하고 배포하려면 다음과 같은 동일한 단계를 수행합니다.
페더레이션된 아키텍처를 사용하거나 Amazon WorkSpaces Core에서 Horizon 8 Edge를 배포하려면 Horizon Cloud의 Edge 환경 내의 기본 Amazon EC2(Elastic Computer Cloud) 인프라에 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 파일 중 두 번째 파일을 생성합니다.
VMDK 파일을 업로드할 버켓의 이름(예: 다음 예에서 사용되는 이름, <bucket-name>)을 제공합니다.
이 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 파일 중 세 번째 파일을 생성합니다.
파일에 다음 정보를 포함합니다.
-
다음 예에서 사용되는 버켓 이름(예: <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명령은 AMI(Amazon 시스템 이미지)의 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자 이상의 숫자, 대/소문자 및 특수 문자를 포함해야 합니다.
- 정의된 암호(\n)를 사용하여 장치에서 ccadmin 사용자 계정 생성. 강력한 암호를 정의해야 합니다. 강력한 암호는 8자 이상이며 1자 이상의 숫자, 대/소문자 및 특수 문자를 포함해야 합니다.
- 연결 서버 호스트 이름(cs_fqdn)에서 연결 서버 IP 주소(cs_ip) 확인 Horizon Edge Gateway AMI 인스턴스를 실행하는 다음 단계에서 user-data에 이 스크립트를 추가해야 합니다.
-
Horizon Edge Gateway의 AMI 인스턴스를 시작합니다.
참고: 인스턴스가 충분한 기능을 제공하도록 하려면 모델 c5.2xlarge 이상을 사용합니다.
AWS 관리 콘솔 또는 CLI를 사용하여 인스턴스를 시작할 수 있습니다. 두 경우 모두
register-image명령 출력에 제공된 AMI(Amazon 시스템 이미지)의 ID를 사용하고 이전 단계에서 준비한 시작 스크립트를 user-data에 추가합니다.참고: user-data는 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 VM AWS 인스턴스에 대해 SSH를 사용합니다.
CLI 또는 AWS 관리 콘솔을 사용하려면 인스턴스 연결에 대한 자세한 내용은 Amazon Elastic Compute Cloud 설명서를 참조하십시오. 연결 키의 복사하여 붙여넣기를 허용하려면 SSH를 사용하는 것이 좋습니다.
관련 정보는 Horizon Edge에 대한 SSH 액세스 사용을 참조하십시오.
관련 정보는 AWS 제품 설명서에서 Linux 인스턴스에 연결 및 EC2 Instance Connect를 사용하여 Linux 인스턴스에 연결을 참조하십시오.
-
다음 명령 형식을 사용하여 pair 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 추가 및 배포 항목을 참조하십시오.
이 페이지가 도움이 되었나요?