教學課程:使用 Azure 應用程式閘道 作為負載平衡器將WebLogic Server 叢集移轉至 Azure

本教學課程將逐步引導您完成使用 Azure 應用程式閘道 部署WebLogic Server (WLS) 的程式。 它涵蓋建立 金鑰保存庫、將 TLS/SSL 憑證儲存在 金鑰保存庫,以及使用該憑證進行 TLS/SSL 終止的特定步驟。 雖然所有這些元素都以自己的權利記錄良好,但本教學課程示範所有這些元素結合在一起的特定方式,為 Azure 上的 WLS 建立簡單但功能強大的負載平衡解決方案。

Diagram showing the relationship between WLS, App Gateway, and Key Vault.

負載平衡是將 Oracle WebLogic Server 叢集移轉至 Azure 不可或缺的一部分。 最簡單的解決方案是使用內建 Azure 應用程式閘道 支援。 應用程式閘道包含在 Azure 上的 WebLogic 叢集支援中。 如需 Azure 上 WebLogic 叢集支援的概觀,請參閱 什麼是 Azure 上的 Oracle WebLogic Server?

在本教學課程中,您會了解如何:

  • 選擇如何將 TLS/SSL 憑證提供給應用程式閘道
  • 使用 Azure 應用程式閘道 將 WebLogic Server 部署至 Azure
  • 驗證成功部署 WLS 和應用程式閘道

必要條件

移轉內容

以下是移轉內部部署 WLS 安裝和 Azure 應用程式閘道 的一些事項。 雖然本教學課程的步驟是在 Azure 上的 WebLogic Server 叢集前面架起負載平衡器的最簡單方式,但還有其他許多方法可以執行此動作。 此清單會顯示其他一些要考慮的事項。

使用 應用程式閘道 部署WebLogic Server 至 Azure

本節將說明如何使用自動建立 Azure 應用程式閘道 作為叢集節點的負載平衡器來布建 WLS 叢集。 應用程式閘道 會針對 TLS/SSL 終止使用提供的 TLS/SSL 憑證。 如需使用 應用程式閘道 的 TLS/SSL 終止的進階詳細數據,請參閱 TLS 終止概觀和具有 應用程式閘道 的端對端 TLS。

若要建立 WLS 叢集和 應用程式閘道,請使用下列步驟。

首先,如 Oracle 檔中所述,開始部署已設定或動態叢集的 WebLogic Server 程式,但當您到達 Azure 應用程式閘道 時,請回到此頁面,如下所示。

Azure portal screenshot showing the Azure Application Gateway.

選擇如何將 TLS/SSL 憑證提供給應用程式閘道

您有數個選項可將 TLS/SSL 憑證提供給應用程式閘道,但只能選擇一個。 本節說明每個選項,讓您可以選擇最適合部署的選項。

選項一:上傳 TLS/SSL 憑證

此選項適用於應用程式閘道面臨公用因特網的生產工作負載,或適用於需要 TLS/SSL 的內部網路工作負載。 藉由選擇此選項,會自動布建 Azure 金鑰保存庫,以包含應用程式閘道所使用的 TLS/SSL 憑證。

若要上傳現有的、已簽署的 TLS/SSL 憑證,請使用下列步驟:

  1. 請遵循憑證簽發者中的步驟來建立受密碼保護的 TLS/SSL 憑證,並指定憑證的 DNS 名稱。 如何選擇通配符與單一名稱憑證超出本檔的範圍。 任一個都會在這裏運作。
  2. 使用 PFX 檔案格式從您的簽發者匯出憑證,並將其下載到本機計算機。 如果您的簽發者不支援匯出為 PFX,則工具會存在,可將許多憑證格式轉換成 PFX 格式。
  3. 選取 [Azure 應用程式閘道] 區段。
  4. [連線 至 Azure 應用程式閘道 旁,選取 []。
  5. 選取 [ 上傳 SSL 憑證]。
  6. 選取欄位 SSL 憑證的檔案瀏覽器圖示。 流覽至下載的 PFX 格式憑證,然後選取 [ 開啟]。
  7. 在 [密碼] 和 [確認密碼] 方塊中輸入憑證的密碼
  8. 選擇是否要直接拒絕公用流量到受控伺服器的節點。 選取 [是 ] 會讓它成為受控伺服器,因此只能透過應用程式網關存取。

選取 DNS 組態

TLS/SSL 憑證會在憑證簽發者發出時,與 DNS 功能變數名稱相關聯。 請遵循本節中的步驟,使用憑證的 DNS 名稱來設定部署。 您可以使用您已建立的 DNS 區域,或允許部署為您建立一個。 選取 [ DNS 組態 ] 區段以繼續。

使用現有的 Azure DNS 區域

若要搭配應用程式閘道使用現有的 Azure DNS 區域,請使用下列步驟:

  1. 在 [設定自定義 DNS 別名],選取 []。
  2. [使用現有的 Azure DNS 區域 ] 旁,選取 [ ]。
  3. 輸入 DNS 區域名稱旁 的 Azure DNS 區域名稱
  4. 輸入包含上一個步驟中 Azure DNS 區域的資源群組。

允許部署建立新的 Azure DNS 區域

若要建立要與應用程式閘道搭配使用的 Azure DNS 區域,請使用下列步驟:

  1. 在 [設定自定義 DNS 別名],選取 []。
  2. [使用現有的 Azure DNS 區域 ] 旁,選取 [ ]。
  3. 輸入 DNS 區域名稱旁 的 Azure DNS 區域名稱。 新的 DNS 區域將會建立在與 WLS 相同的資源群組中。

最後,指定子 DNS 區域的名稱。 部署會建立兩個子 DNS 區域來搭配 WLS 使用:一個用於管理主控台,另一個用於應用程式閘道。 例如,如果您的 DNS 區域名稱是 「contoso.net」,您可以輸入 系統管理員應用程式 作為值。 管理主控台可在 「admin.contoso.net」取得,而應用程式閘道可在 「app.contoso.net」取得。 別忘了設定 DNS 委派,如使用 Azure DNS 委派 DNS 區域中所述

Azure portal screenshot showing fields for child DNS zones.

下列各節詳述提供 TLS/SSL 憑證給應用程式閘道的其他選項。 如果您滿意您選擇的選項,可以跳到繼續部署一節

選項二:識別 Azure 金鑰保存庫

此選項適用於生產或非生產工作負載,視提供的 TLS/SSL 憑證而定。 如果您不想讓部署建立 Azure 金鑰保存庫,您可以識別現有的部署或自行建立一個。 此選項會要求您在 Azure 金鑰保存庫 中儲存憑證及其密碼,然後再繼續。 如果您有想要使用的現有 金鑰保存庫,請跳至建立 TLS/SSL 憑證一節。 否則,請繼續進行下一節。

建立 Azure Key Vault

本節說明如何使用 Azure 入口網站 來建立 Azure 金鑰保存庫。

  1. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]
  2. 在 [搜尋] 方塊中輸入 Key Vault
  3. 從結果清單選擇 [Key Vault]。
  4. 在 [Key Vault] 區段上選擇 [建立]。
  5. 在 [ 建立金鑰保存庫 ] 區段上,提供下列資訊:
    • 訂閱:選擇訂閱。
    • 在 [資源群組] 下,選擇 [新建],然後輸入資源組名。 記下金鑰保存庫名稱。 您稍後會在部署 WLS 時用到它。
    • 金鑰保存庫 名稱:需要唯一的名稱。 記下金鑰保存庫名稱。 您稍後會在部署 WLS 時用到它。

    注意

    您可以針對 資源群組金鑰保存庫名稱使用相同的名稱

    • 在 [位置] 下拉式功能表中,選擇位置。
    • 將其他選項保留為其預設值。
  6. 選取 [ 下一步:存取原則]。
  7. 在 [啟用存取權] 下,選取 [Azure Resource Manager] 進行範本部署
  8. 選取 [檢閱 + 建立] 。
  9. 選取 建立

密鑰保存庫建立相當輕量,通常會在不到兩分鐘內完成。 部署完成時,請選取 [移至資源 ],然後繼續進行下一節。

建立 TLS/SSL 憑證

本節說明如何建立自我簽署的 TLS/SSL 憑證,其格式適用於部署於 Azure 上的 WebLogic Server 應用程式閘道。 憑證必須具有非空白密碼。 如果您已經有 .pfx 格式的有效非空白密碼 TLS/SSL 憑證,您可以略過本節並移至下一節。 如果您的現有、有效、非空白密碼 TLS/SSL 憑證不是 .pfx 格式,請先將它轉換成 .pfx 檔案,然後再略過至下一節。 否則,請開啟命令殼層,然後輸入下列命令。

注意

本節說明如何在 金鑰保存庫 中將憑證儲存為秘密之前,先將憑證編碼為基底 64。 建立 WebLogic Server 和 應用程式閘道 的基礎 Azure 部署需要此專案。

請遵循下列步驟來建立和基底 64 編碼憑證:

  1. 建立 RSA PRIVATE KEY

    openssl genrsa 2048 > private.pem
    
  2. 建立對應的公鑰。

    openssl req -x509 -new -key private.pem -out public.pem
    

    當 OpenSSL 工具提示時,您必須回答數個問題。 這些值會包含在憑證中。 本教學課程使用自我簽署憑證,因此值無關緊要。 下列常值沒問題。

    1. 針對 [ 國家/地區名稱],輸入兩個字母代碼。
    2. 針對 [州/省名稱],輸入 WA。
    3. 針對 [ 組織名稱],輸入 Contoso。 針對 [組織單位名稱] 輸入計費。
    4. 針對 [ 一般名稱],輸入 Contoso。
    5. 針對 [ 電子郵件位址],輸入 billing@contoso.com。
  3. 將憑證導出為 .pfx 檔案

    openssl pkcs12 -export -in public.pem -inkey private.pem -out mycert.pfx
    

    輸入密碼兩次。 記下密碼。 您稍後會在部署 WLS 時用到它。

  4. Base 64 編碼 mycert.pfx 檔案

    base64 mycert.pfx > mycert.txt
    

既然您有 金鑰保存庫 且具有非空白密碼的有效 TLS/SSL 憑證,您可以將憑證儲存在 金鑰保存庫 中。

將 TLS/SSL 憑證儲存在 金鑰保存庫

本節說明如何將憑證及其密碼儲存在先前各節中建立的 金鑰保存庫。

若要儲存憑證,請遵循下列步驟:

  1. 從 Azure 入口網站,將游標放在頁面頂端的搜尋列中,並輸入您稍早在教學課程中建立的 金鑰保存庫 名稱。
  2. 您的 金鑰保存庫 應該會出現在 [資源] 標題底下。 選取該連結。
  3. [設定] 區段中,選取 [秘密]。
  4. 選取產生/匯入
  5. 在 [上傳選項] 下,保留預設值。
  6. 在 [名稱] 底下,輸入 myCertSecretData或您想要的任何名稱。
  7. [值] 底下,輸入 mycert.txt 檔案的內容。 值的長度,以及換行符的存在,不是文字欄位的問題。
  8. 保留其餘值的預設值,然後選取 [ 建立]。

若要儲存憑證的密碼,請遵循下列步驟:

  1. 您將返回 [秘密] 頁面。 選取產生/匯入
  2. 在 [上傳選項] 下,保留預設值。
  3. 在 [名稱] 底下,輸入 myCertSecretPassword或您想要的任何名稱。
  4. 在 [值]下,輸入憑證的密碼。
  5. 保留其餘值的預設值,然後選取 [ 建立]。
  6. 您將返回 [秘密] 頁面。

識別 金鑰保存庫

既然您已擁有已簽署 TLS/SSL 憑證及其密碼儲存為秘密的 金鑰保存庫,請返回 [Azure 應用程式閘道] 區段,以識別部署的 金鑰保存庫。

Azure portal screenshot showing Azure Key Vault fields.

  1. 包含 KeyVault 之目前訂用帳戶中的資源組名下,輸入包含您稍早建立之 金鑰保存庫 的資源群組名稱。
  2. [包含 SSL 終止憑證秘密的 Azure KeyVault 名稱] 下,輸入 金鑰保存庫 的名稱。
  3. 指定 KeyVault 中,其值為 SSL 憑證數據、輸入 myCertSecretData或您先前輸入的任何名稱的秘密名稱。
  4. 指定 KeyVault 中,其值為 SSL 憑證密碼的 [密碼] 底下,輸入 myCertSecretData或您先前輸入的任何名稱。
  5. 選取 [檢閱 + 建立] 。
  6. 選取 建立。 這會執行驗證,憑證可以從 金鑰保存庫 取得,且其密碼符合您在 金鑰保存庫 中儲存的密碼值。 如果此驗證步驟失敗,請檢閱 金鑰保存庫的屬性,確定憑證已正確輸入,並確定密碼已正確輸入。
  7. 一旦您看到 驗證通過,請選取 [ 建立]。

這會開始建立 WLS 叢集及其前端 應用程式閘道 的程式,這可能需要大約 15 分鐘的時間。 部署完成時,選取 [移至資源群組]。 從資源群組中的資源清單中,選取 myAppGateway

下一節將 TLS/SSL 憑證提供給應用程式閘道的最後一個選項詳述。 如果您滿意您選擇的選項,可以跳到繼續部署一節

選項三:產生自我簽署憑證

此選項僅適用於測試和開發部署。 使用此選項時,會自動建立 Azure 金鑰保存庫 和自我簽署憑證,並將憑證提供給應用程式網關。

若要要求部署以執行這些動作,請使用下列步驟:

  1. [Azure 應用程式閘道] 區段中,選取 [產生自我簽署憑證]。
  2. 選取使用者指派的受控識別。 這是允許部署建立 Azure 金鑰保存庫 和憑證的必要條件。
  3. 如果您還沒有使用者指派的受控識別,請選取 [新增 ] 以開始建立受控識別的程式。
  4. 若要建立使用者指派的受控識別,請遵循使用 Azure 入口網站 建立、列出、刪除或指派角色給使用者指派的受控識別一節中的步驟。 選取使用者指派的受控識別之後,請確定已核取使用者指派受控識別旁邊的複選框。

Azure portal screenshot showing fields for generating a self-signed certificate.

繼續部署

您現在可以繼續執行 WLS 部署的其他層面,如 Oracle 檔中所述

驗證成功部署 WLS 和應用程式閘道

本節說明快速驗證 WLS 叢集部署成功並 應用程式閘道 的技術。

如果您已選取 [移至資源群組],然後在上一節結尾選取 myAppGateway,您將查看 應用程式閘道 的概觀頁面。 如果沒有,您可以在 Azure 入口網站 頂端的文字框中輸入 myAppGateway ,然後選取出現的正確頁面。 請務必選取您為 WLS 叢集建立的資源群組內的資源群組。 然後,完成下列步驟。

  1. 在 myAppGateway 概觀頁面的左窗格中,向下捲動至 [監視] 區段,然後選取 [後端健康情況]。
  2. 載入訊息消失之後,您應該會在畫面中間看到一個數據表,其中顯示您設定為後端集區中節點的叢集節點。
  3. 確認每個節點的狀態顯示 [ 狀況良好 ]。

清除資源

如果您不打算繼續使用 WLS 叢集,請使用下列步驟刪除 金鑰保存庫 和 WLS 叢集:

  1. 請流覽 myAppGateway 的概觀頁面,如上一節所示。
  2. 在頁面頂端的 [資源群組] 文字底下,選取資源群組。
  3. 選取 [刪除資源群組]
  4. 輸入焦點會設定為標示 為 [輸入資源組名] 的欄位。 依要求輸入資源組名。
  5. 這會導致 [刪除] 按鈕啟用。 選取刪除按鈕。 這項作業需要一些時間,但您可以在刪除正在處理時繼續下一個步驟。
  6. 依照在 金鑰保存庫 中儲存 TLS/SSL 憑證一節的第一個步驟,找出 金鑰保存庫
  7. 選取刪除
  8. 在出現的窗格中選取 [ 刪除 ]。

下一步

繼續探索在 Azure 上執行 WLS 的選項。