PowerShell 命令可用於將 Unified Access Gateway 2103 或更新版本部署至 Google Cloud Platform 中的 Compute Engine。
程序
- 準備用戶端機器
- 準備 Google Cloud Platform 環境
- 將 Unified Access Gateway 映像上傳至 Google Cloud Platform
- 準備用於部署至 Google Cloud Platform 的
.ini檔案 - 部署至 Compute Engine
步驟 1:為 PowerShell 部署準備用戶端機器
在用戶端機器上安裝 Google Cloud 公用程式。
-
安裝
gsutil。如需在 Windows 和 Ubuntu 上安裝gsutil工具的相關指示,請參閱 Google Cloud 說明文件中的*〈將 gsutil 安裝為 Google Cloud CLI 的一部分〉*。 -
對於 Windows 機器,請執行以下具有管理權限的 PowerShell 命令。
Install-Package 7Zip4PowerShell
執行 PowerShell 部署指令碼的建議作業系統
下表列出可用來執行以 PowerShell 為基礎之 Unified Access Gateway 部署至 Google Cloud Platform 的作業系統。這裡指的不是 Unified Access Gateway 應用裝置本身的作業系統。
| 作業系統 | 建議的作業系統版本 | PowerShell 版本 |
|---|---|---|
| Windows | 10 和 11 | 5 和 7 |
| Ubuntu | 20.04、22.04、24.04 | 7 |
步驟 2:準備 Google Cloud Platform 環境
使用 Google Cloud 專案。此專案必須設定 VPC 網路、對應的子網路,以及防火牆規則。如需詳細資訊,請參閱 Google Cloud 說明文件。
先決條件
- 確保您瞭解 Google Cloud Platform 概念。
- 確保您具有在 Google Cloud 專案中建立或修改資源 (例如映像、VPC 網路、子網路、防火牆規則等) 所需的權限。
- 必須啟用 Compute Engine API。
程序
-
使用 Google Cloud 專案。
選項 動作 新增專案 - 在 Google Cloud Console 中,導覽至專案選取器頁面。
- 建立 Google Cloud 專案。
現有專案 如果已有專案可用且為作用中,則可以使用該現有專案。 -
為每個 NIC 建立 Virtual Private Cloud (VPC) 網路。
Unified Access Gateway 上的每個 NIC 都使用唯一的 VPC 網路和該網路內的子網路。
如果您選擇不建立 VPC 網路,則只能部署單一 NIC Unified Access Gateway。當 Unified Access Gateway 應用裝置部署在 Compute Engine 中時,它將使用 Google Cloud Platform 中提供的預設 VPC 網路。
例如,在下圖中,在 Google Cloud Console 中建立了兩個 VPC 網路:
uag-front-vpc和uag-back-vpc。這兩個 VPC 網路分別以uag-front-network和uag-back-network作為子網路。此時可以部署一個具有兩個 NIC 的 Unified Access Gateway 應用裝置,使用這兩個子網路來處理面向前端的網際網路連線,並為後端連線設定一個獨立的子網路。
**附註:**您也可以將 Unified Access Gateway 設定為使用共用 VPC 網路。在這種情況下,部署在服務專案上的 Unified Access Gateway 執行個體將連線至在主機專案上建立並管理的共用 VPC 網路。Unified Access Gateway 上的每個網路介面 (NIC) 都可以獨立設定,使用共用 VPC 網路或本機 VPC 網路。如需詳細資訊,請參閱 Google Cloud 說明文件上的設定共用 VPC。
-
記下已建立的子網路名稱。
在使用 PowerShell 部署 Unified Access Gateway 時,VPC 網路內的子網路名稱會用於
.ini檔案中。 -
若要允許對位於可透過網際網路存取的 VPC 中的 Unified Access Gateway 應用裝置進行 TCP 和 UDP 連接埠存取,請建立所需數量的防火牆項目。
**重要:**必須在防火牆上謹慎限制來自網際網路的 TCP 連接埠 22 上透過 SSH 對 Unified Access Gateway 的遠端存取。如果需要透過 SSH 存取,防火牆規則必須僅允許從特定的來源 IP 位址或從雲端中可以控制存取的 jump box 虛擬機器,來進行這項存取。
例如,在以下的 Google Cloud Console 影像中,已在面向網際網路的 VPC 網路
uag-front-vpc中建立了一個名為uag-horizon-protocols的防火牆規則。此防火牆規則適用於連線至uag-front-vpc網路的所有執行個體,並允許指定連接埠上來自公用網際網路的輸入 TCP 和 UDP 流量。
步驟 3:將 Unified Access Gateway 映像上傳至 Google Cloud Platform
若要將 Unified Access Gateway 執行個體部署至 Compute Engine,必須將 Unified Access Gateway 應用裝置的磁碟映像上傳至 Google Cloud Platform。
-
在 Omnissa Customer Connect 上,移至 Unified Access Gateway (UAG) for vSphere、AWS 和 Google Cloud 檔案,然後按一下立即下載。
系統會將壓縮檔euc-unified-access-gateway-x.x.x.xxxxxxxxx.ova下載至您的本機電腦。 -
開啟 PowerShell 命令視窗,並執行以下命令,以從先前下載的
.ova檔案中解壓縮.vmdk檔案。- ova-filename 是從 Customer Connect 下載的
.ova映像檔。 - target-location 是指
.vmdk檔案解壓縮後的目標位置。
Windows Ubuntu
例如,expand-7zip ova-filename target-locationeuc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova是下載的檔案,其中22-12為版本號碼,42741890為組建編號。 若要將.vmdk檔案解壓縮至C:\temp,請執行下列命令:expand-7zip C:\temp\euc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova C:\temp\
例如,tar -xvf ova-filenametar -xvf euc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova - ova-filename 是從 Customer Connect 下載的
-
設定以下變數。
- $gcImageFile 是步驟 2 中解壓縮的
.vmdk檔案名稱。 - $gcImageFolder 是
.vmdk檔案的資料夾路徑。 例如:
$gcImageFolder="C:\temp" $gcImageFile="euc-unified-access-gateway-22.12.0.0-42741890-system.vmdk" $gcBucket="uag-appliance-images" $gcImageName=$gcImageFile.Replace("-system.vmdk","").Replace(".", "-") gcloud auth login gcloud config set project "my-project" - $gcImageFile 是步驟 2 中解壓縮的
-
建立一個 Google Cloud 儲存區值區。
**附註:**您也可以將 Unified Access Gateway 部署至另一個 Google Cloud 專案中託管的計算映像。在這種情況下,請在部署 Unified Access Gateway 時指定計算映像名稱 ($gcImageName) 和託管專案識別碼。
執行以下命令,在相同專案中建立儲存區值區。
gsutil mb -l us-east1 gs://$gcBucket執行以下命令,在不同專案中建立儲存區值區。
gsutil mb -l us-east1 gs://$gcBucket -p my-image-hosting-project -
使用以下命令,將
.vmdk映像上傳至 Google Cloud 儲存區值區:gsutil cp $gcImageFolder\$gcImageFile gs://$gcBucket -
從上傳的
.vmdk檔案在 Compute Engine 中建立應用裝置映像。執行以下命令,在相同專案中匯入映像。
gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk執行以下命令,在不同專案中匯入映像。
gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk --project my-image-hosting-project**附註:**當您匯入計算映像時,可以指定用於匯入工具所建立的臨時虛擬機器的子網路。按以下範例所示,使用
--subnet旗標。gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk --subnet default如需這些命令的詳細資訊,請參閱 Google Cloud SDK 說明文件。
就上述步驟中提到的範例而言,在 Compute Engine 中建立的應用裝置映像是
euc-unified-access-gateway-22-12-0-0-42741890,其中,22-12是版本號碼,42741890是組建編號。
步驟 4:準備用於部署至 Google Cloud Platform 的 .ini 檔案
適用於 Unified Access Gateway 的 Compute Engine PowerShell 部署指令碼會從 .ini 組態檔中讀取所有組態設定。本節說明 .ini 檔案的格式,並顯示可用於部署的設定範例。
.ini 檔案的大多數區段與其他所有 Hypervisor 部署所支援的 Unified Access Gateway 標準 .ini 設定相同。如需有關 .ini 檔案的詳細資訊,請參閱使用 PowerShell 部署 Unified Access Gateway 應用裝置一節。
-
在 [一般] 區段中設定所需的設定。請參閱 PowerShell 部署參數。
**附註:**針對 Google Cloud Platform 部署,[一般] 區段中的以下設定不會使用:
diskModedsfoldernetInternetnetManagementNetworknetmask0、netmask1、netmask2netBackendNetworksourcetargetip0、defaultGateway、netmask0、ipmode0v6ip0、v6ipprefix0、v6DefaultGateway
-
在
.ini檔案中,新增群組 [GoogleCloud],並加入適用於 Google Cloud Platform 的必要設定。
下表列出在部署至 Google Cloud Platform 時所需的設定項目 (值名稱)。
| 群組 | 值名稱 | 範例 | 說明 | 必要/選用 |
|---|---|---|---|---|
| [GoogleCloud] | projectId | projectId=my-project | 用於建立新 Google Cloud Platform 執行個體的 Unified Access Gateway 專案識別碼。 如果未提供專案識別碼,則會使用 Cloud SDK 的作用中組態中的專案。 | 選用 |
| imageName | imageName=euc-unified-access-gateway-22-12-0-0-42741890 | 在 Compute Engine 中用於建立新執行個體的已匯入應用裝置映像的名稱。 | 必要 | |
| imageProjectId | imageProjectId= (image-host-project) | 託管計算映像 imageName 的專案。如果未指定,則會使用預設 projectId 來查詢計算映像。 | 選用 | |
| machineType | machineType=e2-standard-4 | 指出 Compute Engine 機器類型。
machineType 的預設值為 e2-standard-4。
附註:請確保所指定的 machineType 適用於所需的 Unified Access Gateway NIC 數量。
例如:e2-standard-2 支援一個 NIC 或兩個 NIC 部署,但不支援三個 NIC 部署。如需詳細資訊,請參閱 Google Cloud 說明文件上的 [最大網路介面數]。 | 選用 | |
| zone | zone=us-central1-a | 建立新 Unified Access Gateway 執行個體所使用的 Compute Engine 區域。 若未提供 zone 值,則會使用 Cloud SDK 中的作用中組態所指定的區域。 | 選用 | |
| subnet0 subnet1 subnet2 | subnet0=custom-subnet | Unified Access Gateway 的 eth0、eth1 和 eth2 NIC 所需建立的子網路。
以下列出各項 deploymentOption 的設定值及其對應使用的子網路:
| 在兩個 NIC 或三個 NIC 部署中,只能有一個子網路值是選用的。 | |
| vpcHostProjectId | vpcHostProjectId= (shared-vpc-host-project) | 當 Unified Access Gateway 的任一 NIC 使用共用 VPC 進行設定時,作為主機專案的專案。若要在共用 VPC 上設定特定子網路,請將 sharedVpcForSubnet<n> 旗標設為 true,其中 n 為 NIC 的編號。 | 選用 | |
| sharedVpcForSubnet0 sharedVpcForSubnet1 sharedVpcForSubnet2 | | 如果已指定 vpcHostProjectId,則此旗標用於指出特定子網路是否建立於共用 VPC 中。若未指定 vpcHostProjectIdis,則會忽略此欄位。預設值是 false。 | 選用 | |
| privateIPAddress0 privateIPAddress1 privateIPAddress2 | privateIPAddress0=10.30.11.213 | 用於 NIC 的內部 IP 位址。
此設定可用於將 Unified Access Gateway 的 eth0、eth1 和 eth2 連結至 Google Cloud VPC 網路中的靜態內部 IP 位址。
若未提供 privateIPAddress 的值,Compute Engine 會將對應的 NIC 連接至一個動態內部 IP 位址。
例如:假設部署中有兩個 NIC
| 選用 | |
| publicIPAddress0 publicIPAddress1 publicIPAddress2 |
publicIPAddress0=eipalloc-027afa45f34984c87
publicIPAddress1=no-address | NIC 的外部 IP 位址
此設定可用於將 Unified Access Gateway 的 eth0、eth1 和 eth2 連結至 Google Cloud VPC 網路中保留的外部 IP 位址。
若未提供 publicIPAddress 的值,Compute Engine 會將對應的 NIC 連結至一個動態外部 IP 位址。
若要阻止 NIC 連結到外部 IP 位址,請使用 no-address 作為此值。
在此範例中,假設部署中有三個 NIC:
| 選用 | |
| labels | labels=label0=value0,label1=value1 | 與 Unified Access Gateway 執行個體相關聯的標籤。
依預設,PowerShell 指令碼會將 name=$uagName 標籤與 Unified Access Gateway 執行個體建立關聯。 | 選用 | |
| tags | tags=tag0,tag1 | 與 Unified Access Gateway 執行個體相關聯的標籤。
依預設,PowerShell 指令碼會將 https-server 標籤與 Unified Access Gateway 執行個體建立關聯。 | 選用 | |
| serviceAccount | serviceAccount=51841023978-compute@prod.gserviceaccount.com | 服務帳戶是連結至 Unified Access Gateway 執行個體的身分識別。 服務帳戶的存取權杖可透過 Unified Access Gateway 執行個體的中繼資料伺服器來存取,並用於驗證該執行個體上的應用程式。此帳戶可以使用對應至所需服務帳戶的電子郵件地址來設定。 如果未指定服務帳戶,Unified Access Gateway 執行個體將使用專案的預設服務帳戶。 | 選用 |
範例 1:用於將 Unified Access Gateway 部署至 Google Cloud Platform 的 INI 檔案定義
[General]
name=uag1
deploymentOption=onenic
sshEnabled=true
[GoogleCloud]
projectId=my-project
imageName=euc-unified-access-gateway-22-12-0-0-42741890
zone=us-central1-a
subnet0=uag-front-network
[Horizon]
proxyDestinationUrl=https://myhorizon.example.com
範例 2:用於將 Unified Access Gateway 部署至 Google Cloud Platform 的 INI 檔案定義
[General]
name=uag2
deploymentOption=twonic
sshEnabled=true
routes1=10.20.0.0/16 10.2.0.1
[GoogleCloud]
projectId=my-project
imageName=euc-unified-access-gateway-22-12-0-0-42741890
imageProjectId=my-image-hosting-project
zone=us-central1-a
vpcHostProjectId=my-sharedvpc-host-project
subnet0=uag-front-network
sharedVpcForSubnet0=true
subnet1=uag-back-network
sharedVpcForSubnet1=false
[Horizon]
proxyDestinationUrl=https://myhorizon.example.com
步驟 5:部署至 Compute Engine
您可以使用 uagdeploygce.ps1 PowerShell 命令,將 Unified Access Gateway 部署至 Compute Engine。此命令會從 .ini 檔案中讀取所有組態設定,並部署一個 Unified Access Gateway 執行個體。
如果 Compute Engine 中已有與 .ini 檔案的 [一般] 區段中指定名稱相同的現有執行個體,PowerShell 指令碼會在部署過程中移除該現有執行個體,並建立一個具有相同名稱的新 Unified Access Gateway 執行個體。這種取代方式有助於升級 Unified Access Gateway 應用裝置,或以更新的設定重新部署該應用裝置。
-
在 Omnissa Customer Connect 上,移至 Unified Access Gateway (UAG) PowerShell 指令碼檔案,然後按一下立即下載。
系統會將壓縮檔uagdeploy-xx.xx.x.x-xxxxxxxx下載至您的本機電腦。 -
從壓縮檔中解壓縮這些檔案。確認下列 PowerShell 指令碼已可在您的機器上使用:
Windows 機器上的uagdeploygce.ps1和uagdeploy.psm1。 -
啟動 PowerShell 命令視窗,並將目錄變更為含有所下載的指令碼的資料夾。
-
若要將 Unified Access Gateway 部署至 Compute Engine,請執行下列動作:
-
如果您要升級至新版 Unified Access Gateway,請編輯
.ini檔案,將imageName設定更新為上述其中一項工作中上傳至 Compute Engine 的新映像檔名稱。.ini檔案中的其他所有組態參數必須保持不變。 -
根據您選擇互動模式或非互動模式,執行下列其中一個命令:
模式 命令 互動
<ini-filename> 是先前工作中所準備的.\uagdeploygce.ps1 <ini-filename>.ini.ini檔案名稱。 例如:.\uagdeploygce.ps1 uag1.ini其中uag1.ini是先前工作中使用的檔案名稱。非互動 .\uagdeploygce.ps1 <ini-filename> <root-pwd> <admin-pwd> <ceip-yes-no>
.\uagdeploygce.ps1 <ini-filename> <secret> <admin-pwd> yes- <ini-filename> 是先前工作中所準備的
.ini檔案名稱。 - 如果如命令中所示在命令列上指定了密碼,部署完成 Unified Access Gateway 後,請使用
Clear-HistoryPowerShell 命令來清除歷程記錄。 - 如果密碼強度不足,部署將會失敗。密碼中必須包含下列其中一個字元:! @ # $ % * ( )。
如果你再次執行
uagdeploygce.ps1命令,先前的 Unified Access Gateway 執行個體及其相關資源將會被刪除,並以相同名稱取代為新的執行個體。新的.ini檔案必須包含所有必要的組態參數,讓 Unified Access Gateway 應用裝置在初次開機時即可進入生產環境就緒狀態。 - <ini-filename> 是先前工作中所準備的
-
如需 root 使用者與管理員密碼需求的詳細資訊,請參閱密碼需求。
下一步
將 Unified Access Gateway 部署至 Compute Engine 並套用所有設定後,必須移除用於在 Google Cloud 套用 Unified Access Gateway 應用裝置組態設定的中繼資料。若要移除中繼資料,請使用以下範例中所示的命令:
$uagName=uag1
$zone=us-central1-a
$projectId=my-project
gcloud compute instances remove-metadata $uagName --zone=$zone --project $projectId --keys "user-data"
此頁面對您有幫助嗎?