Share via


使用 Azure Front Door 保護 Azure Red Hat OpenShift 的存取

本文說明如何使用 Azure Front Door 進階版來保護 Azure Red Hat OpenShift 的存取。

必要條件

需要下列必要條件:

  • 您有現有的 Azure Red Hat OpenShift 叢集。 請遵循本指南來 建立私人 Azure Red Hat OpenShift 叢集

  • 叢集是使用私人輸入可見度來設定。

  • 會使用自訂功能變數名稱,例如:

    example.com

注意

初始狀態未設定 DNS。 不會從 Azure Red Hat OpenShift 叢集外部公開任何應用程式。

本節說明如何建立 Azure Private Link 服務。 Azure Private Link 服務是 Azure Private Link 所提供自有服務的參考。

您可以在 Azure Standard Load Balancer 後方執行的服務啟用 Private Link 存取,讓服務取用者可以從自己的 VNet 私下存取它。 您的客戶可以在其 VNet 內建立私人端點,並將其對應到此服務。

如需 Azure Private Link 服務及其使用方式的詳細資訊,請參閱 Azure Private Link 服務

建立 AzurePrivateLinkSubnet 。 此子網包含一個淨遮罩,可讓子網可見度到 Azure 叢集的控制平面和背景工作節點。 請勿將此新子網委派給任何服務,或設定任何服務端點。

例如,如果虛擬網路是 10.10.0.0/16,則為:

  • 現有的 Azure Red Hat OpenShift 控制平面子網 = 10.10.0.0/24
  • 現有的 Azure Red Hat OpenShift 背景工作子網 = 10.10.1.0/24
  • 新的 AzurePrivateLinkSubnet = 10.10.2.0/24

在 Azure Private Link 服務 建立 新的 Private Link,如下列步驟所述:

  1. 在 [ 基本] 索引 標籤上,設定下列選項:

    • 專案詳細資料
      • 選取 Azure 訂閱。
      • 選取部署 Azure Red Hat OpenShift 叢集的資源群組。
    • 執行個體詳細資料
      • 輸入 Azure Private Link 服務的 [名稱 ],如下列範例所示: example-com-private-link
      • 選取 Private Link 的區域
  2. 在 [ 輸出設定] 索引卷 標上:

    • Load Balancer 設定為您 啟用外部存取之叢集的 -internal 負載平衡器。 這些選項會在下拉式清單中填入。

    • Load Balancer 前端 IP 位址設定為 Azure Red Hat OpenShift 輸入控制器的 IP 位址 ,通常以 .254 結尾。 如果您不確定,請使用下列命令。

      az aro show -n <cluster-name> -g <resource-group> -o tsv --query ingressProfiles[].ip
      
    • 來源 NAT 子網 應該是您建立的 AzurePrivateLinkSubnet

    • 輸出設定 中不應變更 任何專案。

  3. 在 [ 存取安全性] 索引標籤上,不需要變更。

    • 神秘可以要求存取您的服務嗎? 提示字元中,選取 [任何人具有您的別名 ]。
    • 請勿新增任何訂閱以進行自動核准。
  4. 在 [ 標籤] 索引標籤 上,選取 [ 檢閱 + 建立 ]。

  5. 選取 [建立 ] 以建立 Azure Private Link 服務,然後等候程式完成。

  6. 部署完成時,請選取 [後續步驟 ] 底下的 [移至資源群組 ]。

在Azure 入口網站中,輸入已部署的 Azure Private Link 服務。 保留為 Azure Private Link 服務產生的別名 。 稍後會使用它。

在 Azure DNS 中註冊網域

本節說明如何在 Azure DNS 中註冊網域。

  1. 建立 example.com 的全域 Azure DNS 區域。

  2. 建立 apps.example.com 的全域 Azure DNS 區域。

  3. 請注意 Azure DNS 中存在的四個名稱伺服器,apps.example.com。

  4. 在 example.com 區域中建立新的 NS 記錄集,指向 應用程式 ,並指定建立應用程式 區域時 存在的四個名稱伺服器。

建立新的 Azure Front Door 進階版服務

若要建立新的 Azure Front Door 進階版服務:

  1. 在 [Microsoft Azure 比較供應專案] 上 ,選取 [Azure Front Door],然後選取 [ 繼續] 以建立 Front Door

  2. 在訂用帳戶資源群組 的 > [ 建立前端設定檔 ] 頁面上,選取已部署 Azure Red Hat OpenShift 叢集的資源群組,以存放 Azure Front Door 進階版資源。

  3. 適當地為您的 Azure Front Door 進階版服務命名。 例如,在 [ 名稱] 欄位中,輸入下列名稱:

    example-com-frontdoor

  4. 選取進階版 層。 進階版層是支援 Azure Private Link 的唯一選擇。

  5. 針對 [端點名稱 ],選擇適用于 Azure Front Door 的端點名稱。

    針對已部署的每個應用程式,將會在 Azure DNS 中建立 CNAME,以指向此主機名稱。 因此,請務必選擇與應用程式無關的名稱。 基於安全性,名稱不應該建議您已部署的應用程式或架構,例如 example01

    您選擇的名稱會加上 .z01.azurefd.net 網域。

  6. 針對 [ 原始類型 ],選取 [ 自訂 ]。

  7. 針對 [ 原始主機名稱 ],輸入下列預留位置:

    changeme.com

    稍後將會刪除此預留位置。

    在這個階段,請勿啟用 Azure Private Link 服務、快取或Web 應用程式防火牆 (WAF) 原則。

  8. 選取 [檢閱 + 建立 ] 以建立 Azure Front Door 進階版資源,然後等待程式完成。

Azure Front Door 進階版的初始設定

若要設定 Azure Front Door 進階版:

  1. 在Azure 入口網站中,輸入已部署的 Azure Front Door 進階版 服務。

  2. 在 [ 端點管理員] 視窗中,選取 [編輯端點] 來修改端點

  3. 刪除預設路由,此路由已建立為 預設路由

  4. 關閉 [ 端點管理員] 視窗。

  5. 在 [ 原始群組 ] 視窗中,刪除名為 default-origin-group 的預設原始來源群組

在 Azure Red Hat OpenShift 中公開應用程式路由

Azure Red Hat OpenShift 必須設定為應用程式提供與 Azure Front Door 在外部公開相同的主機名稱(*.apps.example.com)。 在我們的範例中,我們將公開具有下列主機名稱的 Reservations 應用程式:

reservations.apps.example.com

此外,在 Azure Red Hat OpenShift 中建立安全路由,以公開主機名稱。

設定 Azure DNS

若要設定 Azure DNS:

  1. 輸入先前建立的公用 應用程式 DNS 區域。

  2. 建立名為 reservation 的新 CNAME 記錄集。 此 CNAME 記錄集是我們範例 Azure Front Door 端點的別名:

    example01.z01.azurefd.net

設定 Azure Front Door 進階版

下列步驟說明如何設定 Azure Front Door 進階版。

  1. 在Azure 入口網站中,輸入您先前建立的 Azure Front Door 進階版服務:

    example-com-frontdoor

在 [網域] 視窗中

  1. 由於所有 DNS 伺服器都裝載在 Azure 上,因此請將 DNS 管理 設定為 Azure 受控 DNS

  2. 選取範例網域:

    apps.example.com

  3. 在我們的範例中選取 CNAME:

    reservations.apps.example.com

  4. 使用 HTTPS 最低 TLS 版本的 預設值

  5. 選取新增

  6. 當 [ 驗證統計資料 ] 變更為 [擱置 ] 時,請選取 [ 擱置 ]。

  7. 若要驗證 DNS 區域的擁有權,請在 [DNS 記錄狀態 ] 中選取 [ 新增 ]。

  8. 選取 [關閉]

  9. 繼續選取 [重新 整理],直到 網域的 [驗證] 狀態 變更為 [已 核准], 且 [端點關聯 ] 變更為 [未關聯]。

在 [原始群組] 視窗中

  1. 選取新增

  2. 為您的原始群組 提供適當的名稱,例如 Reservations-App

  3. 選取 [ 新增來源 ]。

  4. 輸入來源的名稱,例如 ARO-Cluster-1

  5. 選擇 [自訂 ] 的 [ 原點類型 ]。

  6. 輸入 Azure Red Hat OpenShift 叢集中公開的完整功能變數名稱 (FQDN) 主機名稱,例如:

    reservations.apps.example.com

  7. 啟用 Private Link 服務。

  8. 輸入從 Azure Private Link 服務取得的別名

  9. 選取 [新增 ] 以返回來源群組建立視窗。

  10. 選取 [新增 ] 以新增來源群組,並返回Azure 入口網站。

若要將核准授與 example-com-private-link ,這是您先前建立的 Azure Private Link 服務,請完成下列步驟。

  1. 在 [ 私人端點連線 ] 索引標籤上,從 AFD 所述的 資源中選取現在存在的核取方塊。

  2. 選取 [ 核准 ],然後選取 [ ] 以確認核准。

完成 Azure Front Door 進階版設定

下列步驟說明如何完成 Azure Front Door 進階版的設定。

  1. 在Azure 入口網站中,輸入您先前建立的 Azure Front Door 進階版服務:

    example-com-frontdoor

  2. 在 [ 端點管理員] 視窗中,選取 [編輯端點 ] 以修改端點。

  3. 選取 [路由 ] 底下的 [+新增 ]。

  4. 為您的路由指定適當的名稱,例如 Reservations-App-Route-Config

  5. [網域] 下,然後在 [可用的已驗證網域 ] 下 ,選取完整功能變數名稱,例如:

    reservations.apps.example.com

  6. 若要將 HTTP 流量重新導向至使用 HTTPS,請保留 [ 重新導向 ] 核取方塊。

  7. 在 [來源群組 ] 底下 ,選取 [ Reservations-App ],這是您先前建立的來源群組。

  8. 如有需要,您可以啟用快取。

  9. 選取 [ 新增 ] 以建立路由。 設定路由之後,端點管理員 會將 為此應用程式建立的其他元素填 入 [網域 ] 和 [原始群組 ] 窗格。

因為 Azure Front Door 是全域服務,因此應用程式最多可能需要 30 分鐘的時間才能部署。 在此期間,您可以選擇為您的應用程式建立 WAF。 當您的應用程式上線時,可以使用此範例中使用的 URL 來存取它:

https://reservations.apps.example.com

下一步

使用Azure 入口網站在 Azure Front Door 上建立 Azure Web 應用程式防火牆: