教學課程:使用 Azure 應用程式閘道 作為負載平衡器將WebLogic Server 叢集移轉至 Azure
本教學課程將逐步引導您完成使用 Azure 應用程式閘道 部署WebLogic Server (WLS) 的程式。 它涵蓋建立 金鑰保存庫、將 TLS/SSL 憑證儲存在 金鑰保存庫,以及使用該憑證進行 TLS/SSL 終止的特定步驟。 雖然所有這些元素都以自己的權利記錄良好,但本教學課程示範所有這些元素結合在一起的特定方式,為 Azure 上的 WLS 建立簡單但功能強大的負載平衡解決方案。
負載平衡是將 Oracle WebLogic Server 叢集移轉至 Azure 不可或缺的一部分。 最簡單的解決方案是使用內建 Azure 應用程式閘道 支援。 應用程式閘道包含在 Azure 上的 WebLogic 叢集支援中。 如需 Azure 上 WebLogic 叢集支援的概觀,請參閱 什麼是 Azure 上的 Oracle WebLogic Server?。
在本教學課程中,您會了解如何:
- 選擇如何將 TLS/SSL 憑證提供給應用程式閘道
- 使用 Azure 應用程式閘道 將 WebLogic Server 部署至 Azure
- 驗證成功部署 WLS 和應用程式閘道
必要條件
在執行類似 UNIX 命令行環境的電腦上 OpenSSL 。
雖然有其他工具可用於憑證管理,但本教學課程使用 OpenSSL。 您可以找到與許多 GNU/Linux 發行版配套的 OpenSSL,例如 Ubuntu。
啟用中的 Azure 訂用帳戶。
- 如果您沒有 Azure 訂閱,請建立免費帳戶。
能夠部署 Oracle WebLogic Server Azure 應用程式 中列出的其中一個 WLS Azure 應用程式。
移轉內容
以下是移轉內部部署 WLS 安裝和 Azure 應用程式閘道 的一些事項。 雖然本教學課程的步驟是在 Azure 上的 WebLogic Server 叢集前面架起負載平衡器的最簡單方式,但還有其他許多方法可以執行此動作。 此清單會顯示其他一些要考慮的事項。
- 如果您有現有的負載平衡解決方案,請確定其功能已符合或超過 Azure 應用程式閘道。 如需與其他 Azure 負載平衡解決方案相比 Azure 應用程式閘道 功能摘要,請參閱 Azure 中的負載平衡選項概觀。
- 如果您現有的負載平衡解決方案提供安全性保護,免於常見的惡意探索和弱點,則您涵蓋的 應用程式閘道。 應用程式閘道 的內建 Web 應用程式防火牆 (WAF) 會實作 OWASP (Open Web Application Security Project) 核心規則集。 如需 應用程式閘道 中 WAF 支援的詳細資訊,請參閱 Azure 應用程式閘道 功能的 Web 應用程式防火牆 一節。
- 如果您現有的負載平衡解決方案需要端對端 TLS/SSL 加密,您必須依照本指南中的步驟執行其他設定。 請參閱 TLS 終止概觀和端對端 TLS 的端對端 TLS 加密一節,其中包含 應用程式閘道,以及 Oracle Fusion 中間件中設定 SSL 的 Oracle 檔。
- 如果您要針對雲端進行優化,本指南會示範如何從頭開始使用 Azure 應用程式閘道和 WLS。
- 如需將 WebLogic Server 移轉至 Azure 虛擬機器 的完整調查,請參閱將 WebLogic Server 應用程式移轉至 Azure 虛擬機器。
使用 應用程式閘道 部署WebLogic Server 至 Azure
本節將說明如何使用自動建立 Azure 應用程式閘道 作為叢集節點的負載平衡器來布建 WLS 叢集。 應用程式閘道 會針對 TLS/SSL 終止使用提供的 TLS/SSL 憑證。 如需使用 應用程式閘道 的 TLS/SSL 終止的進階詳細數據,請參閱 TLS 終止概觀和具有 應用程式閘道 的端對端 TLS。
若要建立 WLS 叢集和 應用程式閘道,請使用下列步驟。
首先,如 Oracle 檔中所述,開始部署已設定或動態叢集的 WebLogic Server 程式,但當您到達 Azure 應用程式閘道 時,請回到此頁面,如下所示。
選擇如何將 TLS/SSL 憑證提供給應用程式閘道
您有數個選項可將 TLS/SSL 憑證提供給應用程式閘道,但只能選擇一個。 本節說明每個選項,讓您可以選擇最適合部署的選項。
選項一:上傳 TLS/SSL 憑證
此選項適用於應用程式閘道面臨公用因特網的生產工作負載,或適用於需要 TLS/SSL 的內部網路工作負載。 藉由選擇此選項,會自動布建 Azure 金鑰保存庫,以包含應用程式閘道所使用的 TLS/SSL 憑證。
若要上傳現有的、已簽署的 TLS/SSL 憑證,請使用下列步驟:
- 請遵循憑證簽發者中的步驟來建立受密碼保護的 TLS/SSL 憑證,並指定憑證的 DNS 名稱。 如何選擇通配符與單一名稱憑證超出本檔的範圍。 任一個都會在這裏運作。
- 使用 PFX 檔案格式從您的簽發者匯出憑證,並將其下載到本機計算機。 如果您的簽發者不支援匯出為 PFX,則工具會存在,可將許多憑證格式轉換成 PFX 格式。
- 選取 [Azure 應用程式閘道] 區段。
- 在 [連線 至 Azure 應用程式閘道 旁,選取 [是]。
- 選取 [ 上傳 SSL 憑證]。
- 選取欄位 SSL 憑證的檔案瀏覽器圖示。 流覽至下載的 PFX 格式憑證,然後選取 [ 開啟]。
- 在 [密碼] 和 [確認密碼] 方塊中輸入憑證的密碼。
- 選擇是否要直接拒絕公用流量到受控伺服器的節點。 選取 [是 ] 會讓它成為受控伺服器,因此只能透過應用程式網關存取。
選取 DNS 組態
TLS/SSL 憑證會在憑證簽發者發出時,與 DNS 功能變數名稱相關聯。 請遵循本節中的步驟,使用憑證的 DNS 名稱來設定部署。 您可以使用您已建立的 DNS 區域,或允許部署為您建立一個。 選取 [ DNS 組態 ] 區段以繼續。
使用現有的 Azure DNS 區域
若要搭配應用程式閘道使用現有的 Azure DNS 區域,請使用下列步驟:
- 在 [設定自定義 DNS 別名] 旁,選取 [是]。
- 在 [使用現有的 Azure DNS 區域 ] 旁,選取 [ 是]。
- 輸入 DNS 區域名稱旁 的 Azure DNS 區域名稱。
- 輸入包含上一個步驟中 Azure DNS 區域的資源群組。
允許部署建立新的 Azure DNS 區域
若要建立要與應用程式閘道搭配使用的 Azure DNS 區域,請使用下列步驟:
- 在 [設定自定義 DNS 別名] 旁,選取 [是]。
- 在 [使用現有的 Azure DNS 區域 ] 旁,選取 [ 否]。
- 輸入 DNS 區域名稱旁 的 Azure DNS 區域名稱。 新的 DNS 區域將會建立在與 WLS 相同的資源群組中。
最後,指定子 DNS 區域的名稱。 部署會建立兩個子 DNS 區域來搭配 WLS 使用:一個用於管理主控台,另一個用於應用程式閘道。 例如,如果您的 DNS 區域名稱是 「contoso.net」,您可以輸入 系統管理員 和 應用程式 作為值。 管理主控台可在 「admin.contoso.net」取得,而應用程式閘道可在 「app.contoso.net」取得。 別忘了設定 DNS 委派,如使用 Azure DNS 委派 DNS 區域中所述。
下列各節詳述提供 TLS/SSL 憑證給應用程式閘道的其他選項。 如果您滿意您選擇的選項,可以跳到繼續部署一節。
選項二:識別 Azure 金鑰保存庫
此選項適用於生產或非生產工作負載,視提供的 TLS/SSL 憑證而定。 如果您不想讓部署建立 Azure 金鑰保存庫,您可以識別現有的部署或自行建立一個。 此選項會要求您在 Azure 金鑰保存庫 中儲存憑證及其密碼,然後再繼續。 如果您有想要使用的現有 金鑰保存庫,請跳至建立 TLS/SSL 憑證一節。 否則,請繼續進行下一節。
建立 Azure Key Vault
本節說明如何使用 Azure 入口網站 來建立 Azure 金鑰保存庫。
- 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。
- 在 [搜尋] 方塊中輸入 Key Vault。
- 從結果清單選擇 [Key Vault]。
- 在 [Key Vault] 區段上選擇 [建立]。
- 在 [ 建立金鑰保存庫 ] 區段上,提供下列資訊:
- 訂閱:選擇訂閱。
- 在 [資源群組] 下,選擇 [新建],然後輸入資源組名。 記下金鑰保存庫名稱。 您稍後會在部署 WLS 時用到它。
- 金鑰保存庫 名稱:需要唯一的名稱。 記下金鑰保存庫名稱。 您稍後會在部署 WLS 時用到它。
注意
您可以針對 資源群組 和 金鑰保存庫名稱使用相同的名稱。
- 在 [位置] 下拉式功能表中,選擇位置。
- 將其他選項保留為其預設值。
- 選取 [ 下一步:存取原則]。
- 在 [啟用存取權] 下,選取 [Azure Resource Manager] 進行範本部署。
- 選取 [檢閱 + 建立] 。
- 選取 建立。
密鑰保存庫建立相當輕量,通常會在不到兩分鐘內完成。 部署完成時,請選取 [移至資源 ],然後繼續進行下一節。
建立 TLS/SSL 憑證
本節說明如何建立自我簽署的 TLS/SSL 憑證,其格式適用於部署於 Azure 上的 WebLogic Server 應用程式閘道。 憑證必須具有非空白密碼。 如果您已經有 .pfx 格式的有效非空白密碼 TLS/SSL 憑證,您可以略過本節並移至下一節。 如果您的現有、有效、非空白密碼 TLS/SSL 憑證不是 .pfx 格式,請先將它轉換成 .pfx 檔案,然後再略過至下一節。 否則,請開啟命令殼層,然後輸入下列命令。
注意
本節說明如何在 金鑰保存庫 中將憑證儲存為秘密之前,先將憑證編碼為基底 64。 建立 WebLogic Server 和 應用程式閘道 的基礎 Azure 部署需要此專案。
請遵循下列步驟來建立和基底 64 編碼憑證:
建立
RSA PRIVATE KEY
openssl genrsa 2048 > private.pem
建立對應的公鑰。
openssl req -x509 -new -key private.pem -out public.pem
當 OpenSSL 工具提示時,您必須回答數個問題。 這些值會包含在憑證中。 本教學課程使用自我簽署憑證,因此值無關緊要。 下列常值沒問題。
- 針對 [ 國家/地區名稱],輸入兩個字母代碼。
- 針對 [州/省名稱],輸入 WA。
- 針對 [ 組織名稱],輸入 Contoso。 針對 [組織單位名稱] 輸入計費。
- 針對 [ 一般名稱],輸入 Contoso。
- 針對 [ 電子郵件位址],輸入 billing@contoso.com。
將憑證導出為 .pfx 檔案
openssl pkcs12 -export -in public.pem -inkey private.pem -out mycert.pfx
輸入密碼兩次。 記下密碼。 您稍後會在部署 WLS 時用到它。
Base 64 編碼 mycert.pfx 檔案
base64 mycert.pfx > mycert.txt
既然您有 金鑰保存庫 且具有非空白密碼的有效 TLS/SSL 憑證,您可以將憑證儲存在 金鑰保存庫 中。
將 TLS/SSL 憑證儲存在 金鑰保存庫
本節說明如何將憑證及其密碼儲存在先前各節中建立的 金鑰保存庫。
若要儲存憑證,請遵循下列步驟:
- 從 Azure 入口網站,將游標放在頁面頂端的搜尋列中,並輸入您稍早在教學課程中建立的 金鑰保存庫 名稱。
- 您的 金鑰保存庫 應該會出現在 [資源] 標題底下。 選取該連結。
- 在 [設定] 區段中,選取 [秘密]。
- 選取產生/匯入。
- 在 [上傳選項] 下,保留預設值。
- 在 [名稱] 底下,輸入
myCertSecretData
或您想要的任何名稱。 - 在 [值] 底下,輸入 mycert.txt 檔案的內容。 值的長度,以及換行符的存在,不是文字欄位的問題。
- 保留其餘值的預設值,然後選取 [ 建立]。
若要儲存憑證的密碼,請遵循下列步驟:
- 您將返回 [秘密] 頁面。 選取產生/匯入。
- 在 [上傳選項] 下,保留預設值。
- 在 [名稱] 底下,輸入
myCertSecretPassword
或您想要的任何名稱。 - 在 [值] 底下,輸入憑證的密碼。
- 保留其餘值的預設值,然後選取 [ 建立]。
- 您將返回 [秘密] 頁面。
識別 金鑰保存庫
既然您已擁有已簽署 TLS/SSL 憑證及其密碼儲存為秘密的 金鑰保存庫,請返回 [Azure 應用程式閘道] 區段,以識別部署的 金鑰保存庫。
- 在包含 KeyVault 之目前訂用帳戶中的資源組名下,輸入包含您稍早建立之 金鑰保存庫 的資源群組名稱。
- 在 [包含 SSL 終止憑證秘密的 Azure KeyVault 名稱] 下,輸入 金鑰保存庫 的名稱。
- 在 指定 KeyVault 中,其值為 SSL 憑證數據、輸入
myCertSecretData
或您先前輸入的任何名稱的秘密名稱。 - 在 指定 KeyVault 中,其值為 SSL 憑證密碼的 [密碼] 底下,輸入
myCertSecretData
或您先前輸入的任何名稱。 - 選取 [檢閱 + 建立] 。
- 選取 建立。 這會執行驗證,憑證可以從 金鑰保存庫 取得,且其密碼符合您在 金鑰保存庫 中儲存的密碼值。 如果此驗證步驟失敗,請檢閱 金鑰保存庫的屬性,確定憑證已正確輸入,並確定密碼已正確輸入。
- 一旦您看到 驗證通過,請選取 [ 建立]。
這會開始建立 WLS 叢集及其前端 應用程式閘道 的程式,這可能需要大約 15 分鐘的時間。 部署完成時,選取 [移至資源群組]。 從資源群組中的資源清單中,選取 myAppGateway。
下一節將 TLS/SSL 憑證提供給應用程式閘道的最後一個選項詳述。 如果您滿意您選擇的選項,可以跳到繼續部署一節。
選項三:產生自我簽署憑證
此選項僅適用於測試和開發部署。 使用此選項時,會自動建立 Azure 金鑰保存庫 和自我簽署憑證,並將憑證提供給應用程式網關。
若要要求部署以執行這些動作,請使用下列步驟:
- 在 [Azure 應用程式閘道] 區段中,選取 [產生自我簽署憑證]。
- 選取使用者指派的受控識別。 這是允許部署建立 Azure 金鑰保存庫 和憑證的必要條件。
- 如果您還沒有使用者指派的受控識別,請選取 [新增 ] 以開始建立受控識別的程式。
- 若要建立使用者指派的受控識別,請遵循使用 Azure 入口網站 建立、列出、刪除或指派角色給使用者指派的受控識別一節中的步驟。 選取使用者指派的受控識別之後,請確定已核取使用者指派受控識別旁邊的複選框。
繼續部署
您現在可以繼續執行 WLS 部署的其他層面,如 Oracle 檔中所述。
驗證成功部署 WLS 和應用程式閘道
本節說明快速驗證 WLS 叢集部署成功並 應用程式閘道 的技術。
如果您已選取 [移至資源群組],然後在上一節結尾選取 myAppGateway,您將查看 應用程式閘道 的概觀頁面。 如果沒有,您可以在 Azure 入口網站 頂端的文字框中輸入 myAppGateway
,然後選取出現的正確頁面。 請務必選取您為 WLS 叢集建立的資源群組內的資源群組。 然後,完成下列步驟。
- 在 myAppGateway 概觀頁面的左窗格中,向下捲動至 [監視] 區段,然後選取 [後端健康情況]。
- 載入訊息消失之後,您應該會在畫面中間看到一個數據表,其中顯示您設定為後端集區中節點的叢集節點。
- 確認每個節點的狀態顯示 [ 狀況良好 ]。
清除資源
如果您不打算繼續使用 WLS 叢集,請使用下列步驟刪除 金鑰保存庫 和 WLS 叢集:
- 請流覽 myAppGateway 的概觀頁面,如上一節所示。
- 在頁面頂端的 [資源群組] 文字底下,選取資源群組。
- 選取 [刪除資源群組]。
- 輸入焦點會設定為標示 為 [輸入資源組名] 的欄位。 依要求輸入資源組名。
- 這會導致 [刪除] 按鈕啟用。 選取刪除按鈕。 這項作業需要一些時間,但您可以在刪除正在處理時繼續下一個步驟。
- 依照在 金鑰保存庫 中儲存 TLS/SSL 憑證一節的第一個步驟,找出 金鑰保存庫。
- 選取刪除。
- 在出現的窗格中選取 [ 刪除 ]。
下一步
繼續探索在 Azure 上執行 WLS 的選項。