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