本節說明如何使用 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
程序
- 為 Powershell 準備用戶端機器
- 在用戶端機器上設定 AWS 設定檔和區域
- 使用 PowerShell 上傳 Unified Access Gateway 映像
- 為 AWS 部署準備 INI 檔案
- 將 Unified Access Gateway 部署至 Amazon AWS EC2
步驟 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 主控台中,建立存取金鑰,並取得存取金鑰識別碼和密碼存取金鑰。在設定檔中設定這些資訊。
- 執行下列命令以儲存認證。
- 將認證儲存在設定檔中
- 當認證包含 sessionToken 時
Set-AWSCredential -AccessKey <accesskey> -SecretKey <secretkey> -StoreAs <profile_name>Set-AWSCredential -AccessKey <accesskey> -SecretKey <secretkey> -sessionToken <sessionToken> -StoreAs <profile_name> - 執行下列命令以初始化設定檔。
- 設定您的 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 應用裝置前面使用負載平衡器,可能會出現這種情況。
Set-AWSCredential -ProfileName <profile_name>
步驟 3:使用 PowerShell 上傳 Unified Access Gateway 映像
從 Customer Connect 入口網站下載 Unified Access Gateway .ova 映像檔。
選項 1:使用內建指令碼自動建立新的 AMI。移至步驟 4 以繼續。
選項 2:使用 .vmdk 映像手動建立新的 AMI。
-
從
.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 檔案
[一般] 區段設定
在 [一般] 區段中設定所需的設定。請參閱 PowerShell 部署參數。
[一般] 區段中用於執行指令碼的其他設定
| 設定 | 說明 |
|---|---|
| source | 輸入來源 ova 檔案的位置。
範例: C:\Users\User1\Downloads\ova\euc-unified-access-gateway-25.03.0.0-13143769531_OVF10.ova |
| vmdkExtractionDir | 輸入已解壓縮的 vmdk 檔案位置。如果未指定路徑,則 vmdk 檔案將下載至 ova 檔案所在的位置。 |
[一般] 區段中未使用的設定
對於 AWS EC2 部署,不使用 [一般] 區段中的下列設定。
| 設定 | 說明 |
|---|---|
| diskMode | 未使用 |
| ds | |
| folder | |
| netInternet | |
| netManagementNetwork | |
| netmask0、netmask1、netmask2 | |
| netBackendNetwork | |
| target | |
| 所有 IPv4 和 IPV6 設定 |
[AmazonEC2] 區段設定
| 值 | 範例 | 說明 |
|---|---|---|
s3Bucket | s3Bucket=uag-bucket | 輸入要用來儲存 Unified Access Gateway .vmdk 映像的 S3 值區名稱。 |
amiId | amiId= |
Unified Accedd Gateway 的 Amazon Machine Image (AMI)。
|
credentialProfileName | credentialProfileName=MyUAGProfile | 含有存取金鑰識別碼和密碼存取金鑰的認證設定檔的名稱。必須先設定此項。如果未設定此項,部署將嘗試使用預設認證設定檔。 |
instanceType | instanceType=c4.large | AWS EC2 執行個體類型。預設值為 c4.large。 |
region | region=us-east-2 | AWS EC2 區域名稱。
附註:這是必要設定。 |
ipv6AddressCount0
ipv6AddressCount1
ipv6AddressCount2 | ipv6AddressCount0=1 | EC2 DHCP 用於 eth0、eth1 或 eth2 的 IPv6 位址計數。
此為選用欄位。若有任何 NIC 需要 IPv6,可以將此欄位的值設定為 1。
如果未指定任何值,則每個 NIC 的預設值為 0。 |
privateIPAddress0
privateIPAddress1
privateIPAddress2 | privateIPAddress1= 172.31.7.222 |
EC2 DHCP 為 eth0、eth1 或 eth2 使用的選用固定 IP 位址。一般而言,此項雖非必要,但可用來設定靜態私人 IP 位址,而不是動態 IP 位址。 |
publicIPId0
publicIPId1
publicIPId2 |
publicIPId0=eipalloc-027afa45f34984c87
|
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 彈性公用 IP 位址識別碼。此設定對於每個 NIC 是選用的。 |
securityGroupId0
securityGroupId1
securityGroupId2 | securityGroupId0=sg-00877c33656609407 |
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 安全群組識別碼。同一個安全群組可以由多個 Unified Access Gateway 執行個體使用。
附註:此設定為選用。 如果未指定此設定,將使用預設 EC2 安全群組。 |
subnetId0
subnetId1
subnetId2 | subnetId1=subnet-5c980935 |
與 eth0、eth1 或 eth2 相關聯的 AWS EC2 子網路識別碼。
|
INI 檔案定義範例
[General]
name=uag-auto-deployment
uagName=uag-auto-deployment
deploymentOption=onenic
sshEnabled=true
sshKeyAccessEnabled=true
sshPasswordAccessEnabled=true
allowedHostHeaderValues=ws1uag.uagad.com,userws1.uagad.com,encrypted.uagad.com,unencrypted.uagad.com,adminsaml.uagad.com,uagsaml.uagad.com,104.211.224.216
source=C:\Users\User1\Downloads\ova\euc-unified-access-gateway-25.03.0.0-13143769531_OVF10.ova
vmdkExtractionDir=C:\Users\User1\Downloads\ova\vmdk
[AmazonEC2]
s3Bucket=uag-bucket
# authentication
credentialProfileName=profile1
# type, region and image
instanceType=c5.2xlarge
instanceType=c4.large
region=us-east-2
amiId=
# eth0 settings
ipv6AddressCount0=0
subnetId0=subnet-04dfec81f4eeb7722
securityGroupId0=sg-0fb1c6059c7e3e1f2
publicIPId0=eipalloc-07a5b07b13ced2a45
步驟 5:將 Unified Access Gateway 部署至 Amazon AWS EC2
-
在 Omnissa Customer Connect 上,移至 Unified Access Gateway (UAG) PowerShell 指令碼檔案,然後按一下立即下載。
系統會將壓縮檔uagdeploy-xx.xx.x.x-xxxxxxxx下載至您的本機電腦。 -
從壓縮檔中解壓縮這些檔案。確認下列 PowerShell 指令碼已可在您的機器上使用:
uagdeployec2.ps1和uagdeploy.psm1 -
開啟 PowerShell 視窗並執行該命令。
uagdeployec2.ps1 <file_name>.ini其中,
file_name是您的 INI 檔案名稱。
4. 輸入管理員密碼。
您現在可以使用公用 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"
此頁面對您有幫助嗎?