本節說明如何使用 PowerShell 命令,將 Unified Access Gateway 2111 或更新版本部署至 Amazon Web Services Elastic Compute Cloud (EC2),以及在建立任何 Unified Access Gateway 執行個體之前,準備 EC2 環境所需的步驟。
建議的作業系統和 PowerShell 版本
| 作業系統 | 建議的作業系統版本 | PowerShell 版本 |
|---|---|---|
| Windows | 10 和 11 | 5 和 7 |
| Ubuntu | 20.04、22.04、24.04 | 7 |
先決條件
-
具有足夠權限以部署 EC2 執行個體的 AWS 帳戶。如需詳細資訊,請參閱 Amazon AWS 說明文件。
-
確保在 IAM 角色中允許下列原則,以順利完成部署。
s3:PutObject s3:PutObjectAcl s3:GetBucketLocation ec2:DescribeNetworkInterfaces ec2:ModifyNetworkInterfaceAttribute ec2:CreateNetworkInterface ec2:DescribeInstances ec2:RunInstances ec2:TerminateInstances ec2:DescribeSubnets ec2:DescribeSecurityGroups ec2:DescribeAddresses ec2:AssociateAddress ec2:DescribeRegions ec2:DescribeImages ec2:CreateTags
程序
步驟 1:為 PowerShell 準備用戶端機器
在您的機器上安裝 AWSPowerShell。請參閱在 Windows 上安裝 AWS Tools for PowerShell。
- 使用管理權限開啟 PowerShell 命令視窗。
- 執行下列命令。
Windows Ubuntu Install-Module -Name AWSPowerShell -Force Install-Package 7Zip4PowerShellInstall-Module -Name AWS.Tools.Common Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3 -CleanUp
步驟 2:在用戶端機器上設定 AWS 設定檔和區域
- 在 AWS 主控台中,建立存取金鑰,並取得存取金鑰識別碼和密碼存取金鑰。請在預設設定檔中設定這些內容。
如需詳細資訊,請參閱為 root 使用者建立存取金鑰。
(選用) 僅當您沒有存取金鑰識別碼和密碼存取金鑰時,此步驟才適用。``` Set-AWSCredential -AccessKey AKIAI6428NKYOEXAMPLE ` -SecretKey bvfhkvvfhsbvhsdbhfbvfhfhvfhdskvbhfvbfhEXAMPLE ` -StoreAs default ```(選用) 設定您的 AWS 區域。
附註:您可以使用 Get-AWSRegion 命令來識別您想要使用的區域。``` Set-DefaultAWSRegion -Region us-west ``` - 在 Amazon S3 中建立一個值區,以儲存 Unified Access Gateway
.vmdk映像 (如果尚不存在)。如需詳細資訊,請參閱建立值區。
例如,考慮建立一個名為「uag-images」的值區。``` $bucket="uag-images" New-S3Bucket -BucketName $bucket -Region us-east-2 ``` - 在 Amazon AWS 中建立一個名為
vmimport的 IAM 角色,並將原則套用至該角色。
``` $importPolicyDocument = @" { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "sts:ExternalId":"vmimport" } } } ] } "@ New-IAMRole -RoleName vmimport -AssumeRolePolicyDocument $importPolicyDocument $bucket="uag-images" $rolePolicyDocument = @" { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::$bucket", "arn:aws:s3:::$bucket/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] } "@ Write-IAMRolePolicy -RoleName vmimport -PolicyName vmimport -PolicyDocument $rolePolicyDocument ``` - (選用) 在 EC2 中準備網路環境。
附註:可以從 EC2 管理主控台或使用 PowerShell 來執行這些步驟。這些步驟只需要執行一次,以準備 EC2 環境來進行 Unified Access Gateway 部署。為此,需要至少一個子網路。對於多 NIC 的 Unified Access Gateway 部署,每個 NIC 可以位於相同子網路中,也可以位於不同的子網路中。 - (選用) 建立子網路。如需詳細資訊,請參閱建立子網路。
- (選用) 為每個類型的 NIC 建立安全群組。
安全群組包含一組防火牆規則,可限制 TCP 和 UDP 連接埠存取。一個安全群組可以在多個 Unified Access Gateway 應用裝置之間共用。例如,您可以為
eth0建立一個名為 UAG-Internet 的安全群組,並在建立 Unified Access Gateway 應用裝置時自動將其與第一個 NIC 相關聯。
若要使用 Horizon,第一個 (UAG-Internet) 可以允許任何用戶端中的 TCP 連接埠 80、443、8443、4172 和 UDP 連接埠 443、8443、4172。如果您想要允許透過ssh來存取 Unified Access Gateway,則必須在每個.ini檔案的 [一般] 區段中指定sshEnabled=true。SSH 通常僅應用於測試,不能用於生產部署。您還應確保在安全群組中限制只有單一來源 IP 位址能存取 TCP 連接埠 22 上的ssh,而不全面開放。 如需詳細資訊,請參閱建立安全群組。
- 如果可以直接從網際網路存取 Unified Access Gateway 應用裝置,則每個需要存取權的 NIC 都必須具有相關聯的公用 IP 位址 (稱為彈性 IP)。如需詳細資訊,請參閱配置彈性 IP 位址。
- 對於每個 NIC,決定子網路識別碼、安全群組識別碼和公用 IP 配置識別碼。
如果沒有為任何 NIC 指定安全群組識別碼,將使用預設安全群組。
如果未指定公用 IP 識別碼,則該 NIC 將沒有公用 IP 位址,因此無法直接從網際網路來存取。如果在一組 Unified Access Gateway 應用裝置前面使用負載平衡器,可能會出現這種情況。
步驟 3:使用 PowerShell 上傳 Unified Access Gateway 映像
-
從 Customer Connect 入口網站下載 Unified Access Gateway
.ova映像檔。此檔案的版本必須是 2111 版或更新版本。 -
從
.ova檔案擷取.vmdk映像。Windows Ubuntu
例如,expand-7zip ova-filename target-locationeuc-unified-access-gateway-x.y.0.0-12345678_OVF10.ova是下載的檔案,其中x-y為版本號碼,12345678為組建編號。 若要將.vmdk檔案解壓縮至C:\temp,請執行下列命令:expand-7zip C:\uag\euc-unified-access-gateway-x.y.0.0-12345678_OVF10.ova C:\uag\
例如,tar -xvf ova-filenametar -xvf euc-unified-access-gateway-x.y.0.0-12345678_OVF10.ova -
將 .
vmdk映像上傳至 S3 值區中。$vmdkImage="euc-unified-access-gateway-x.y.0.0-12345678-system.vmdk" $bucket="uag-images" $region="us-east-2" $params = @{ "BucketName"=$bucket "File"="C:\uag\"+$vmdkImage "key"="/"+$vmdkImage "Region"=$region } Write-S3Object @params -
匯入 EC2 快照。
$params = @{ "DiskContainer_Format"="VMDK" "DiskContainer_S3Bucket"=$bucket "DiskContainer_S3Key"=$vmdkImage "Region"=$region } $impId=Import-EC2Snapshot @params -
若要追蹤匯入,請定期執行以下命令以取得進度狀態。
附註:匯入過程需要幾分鐘。(Get-EC2ImportSnapshotTask -ImportTaskId ` $impId.ImportTaskId).SnapshotTaskDetail -
完成後,以下命令必須顯示 SnapshotId。
(Get-EC2ImportSnapshotTask -ImportTaskId ` $impId.ImportTaskId).SnapshotTaskDetail.SnapshotId -
將映像登錄為 Amazon Machine Image (AMI)。
$bdm=New-Object Amazon.EC2.Model.BlockDeviceMapping $bd=New-Object Amazon.EC2.Model.EbsBlockDevice $bd.SnapshotId=(Get-EC2ImportSnapshotTask ` -ImportTaskId $impId.ImportTaskId).SnapshotTaskDetail.SnapshotId $bd.DeleteOnTermination=$true $bdm.DeviceName="/dev/sda1" $bdm.Ebs=$bd $params = @{ "BlockDeviceMapping"=$bdm "RootDeviceName"="/dev/sda1" "Name"=$vmdkImage "Architecture"="x86_64" "VirtualizationType"="hvm" "EnaSupport"=$true } Register-EC2Image @params
在 AWS 主控台中,您應該會在 EC2 AMI 映像中看到匯入的映像。

步驟 4:為 AWS 部署準備 INI 檔案
對於 AWS EC2 部署,不使用 [一般] 區段中的下列設定。
- diskMode
- ds
- folder
- netInternet
- netManagementNetwork
- netmask0、netmask1、netmask2
- netBackendNetwork
- source
- target
- 所有 IPv4 和 IPV6 設定
對於 AWS EC2,會有一個名為 AmazonEC2 的新群組,其中包含特定於 AWS EC2 的所有設定。
特定於 AWS EC2 的設定
AmazonEC2 群組| 值 | 範例 | 說明 |
|---|---|---|
amiId | |
已登錄的 Amazon Machine Image (AMI) 的識別碼。這代表已上傳至 Amazon S3 的 Unified Access Gateway 應用裝置映像。
附註:這是必要設定。 |
credentialProfileName | | 含有存取金鑰識別碼和密碼存取金鑰的認證設定檔的名稱。必須先設定此項。如果未設定此項,部署將嘗試使用預設認證設定檔。 |
instanceType | | AWS EC2 執行個體類型。預設值為 c4.large。 |
ipv6AddressCount0
ipv6AddressCount1
ipv6AddressCount2 | | EC2 DHCP 用於 eth0、eth1 或 eth2 的 IPv6 位址計數。
此為選用欄位。若有任何 NIC 需要 IPv6,可以將此欄位的值設定為 1。
如果未指定任何值,則每個 NIC 的預設值為 0。 |
region | | AWS EC2 區域名稱。
附註:這是必要設定。 |
privateIPAddress0
privateIPAddress1
privateIPAddress2 | |
EC2 DHCP 為 eth0、eth1 或 eth2 使用的選用固定 IP 位址。一般而言,此項雖非必要,但可用來設定靜態私人 IP 位址,而不是動態 IP 位址。 |
publicIPId0
publicIPId1
publicIPId2 | |
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 彈性公用 IP 位址識別碼。此設定對於每個 NIC 是選用的。 |
securityGroupId0
securityGroupId1
securityGroupId2 | |
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 安全群組識別碼。同一個安全群組可以由多個 Unified Access Gateway 執行個體使用。
附註:此設定為選用。 如果未指定此設定,將使用預設 EC2 安全群組。 |
subnetId0
subnetId1
subnetId2 | |
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 子網路識別碼。
|
INI 檔案定義範例
[General]
name=UAG12
deploymentOption=twonic
[AmazonEC2]
# authentication
credentialProfileName=awsCredentialProfile
# type, region and image
instanceType=c4.large
region=us-east-2
amiId=ami-1986bb7c
# eth0 settings
subnetId0=subnet-5c980935
securityGroupId0=sg-00877c33656609407
publicIPId0=eipalloc-027afa45f34984c87
# eth1 settings
subnetId1=subnet-1f2743c2
步驟 5:將 Unified Access Gateway 部署至 Amazon AWS EC2
-
從 Omnissa Customer Connect 下載頁面中,移至 Unified Access Gateway (UAG) PowerShell 指令碼檔案,然後按一下立即下載。
系統會將壓縮檔uagdeploy-xx.xx.x.x-xxxxxxxx下載至您的本機電腦。 -
確保下列 PowerShell 指令碼已下載到您的 Windows 機器上。
uagdeployec2.ps1和uagdeploy.psm1 -
開啟 PowerShell 視窗並執行該命令。
uagdeployec2.ps1 <file_name>.ini
其中,file_name是您的 INI 檔案名稱。
3. 輸入管理員密碼。
您現在可以使用公用 IP 存取 UAG 管理員 UI。
![[執行個體] 設定中的 [說明] 索引標籤顯示 UAG 執行個體的組態。 [執行個體] 設定中的 [說明] 索引標籤顯示 UAG 執行個體的組態。](images/UAGAdminUIusingIP.png)
-
若要確認部署是否已完成,請使用 SSH 登入 UAG 並執行命令:
tail /opt/omnissa/gateway/logs/admin.log -
使用
https://uag-ip或FQDN:9443/admin登入管理員 UI,並根據您的需求進行設定。
下一步
- 停止 Unified Access Gateway 執行個體。
- 請使用以下命令,清除現有 Unified Access Gateway 執行個體的
userData值:edit-EC2InstanceAttribute -InstanceId i-12345678 -Attribute userData -Value "blank"。
此頁面對您有幫助嗎?