共用方式為


Microsoft.Network frontDoors 2020-05-01

Bicep 資源定義

frontDoors 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Network/frontDoors 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.Network/frontDoors@2020-05-01' = {
  location: 'string'
  name: 'string'
  properties: {
    backendPools: [
      {
        id: 'string'
        name: 'string'
        properties: {
          backends: [
            {
              address: 'string'
              backendHostHeader: 'string'
              enabledState: 'string'
              httpPort: int
              httpsPort: int
              priority: int
              privateLinkAlias: 'string'
              privateLinkApprovalMessage: 'string'
              privateLinkLocation: 'string'
              privateLinkResourceId: 'string'
              weight: int
            }
          ]
          healthProbeSettings: {
            id: 'string'
          }
          loadBalancingSettings: {
            id: 'string'
          }
        }
      }
    ]
    backendPoolsSettings: {
      enforceCertificateNameCheck: 'string'
      sendRecvTimeoutSeconds: int
    }
    enabledState: 'string'
    friendlyName: 'string'
    frontendEndpoints: [
      {
        id: 'string'
        name: 'string'
        properties: {
          hostName: 'string'
          sessionAffinityEnabledState: 'string'
          sessionAffinityTtlSeconds: int
          webApplicationFirewallPolicyLink: {
            id: 'string'
          }
        }
      }
    ]
    healthProbeSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          enabledState: 'string'
          healthProbeMethod: 'string'
          intervalInSeconds: int
          path: 'string'
          protocol: 'string'
        }
      }
    ]
    loadBalancingSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          additionalLatencyMilliseconds: int
          sampleSize: int
          successfulSamplesRequired: int
        }
      }
    ]
    routingRules: [
      {
        id: 'string'
        name: 'string'
        properties: {
          acceptedProtocols: [
            'string'
          ]
          enabledState: 'string'
          frontendEndpoints: [
            {
              id: 'string'
            }
          ]
          patternsToMatch: [
            'string'
          ]
          routeConfiguration: {
            @odata.type: 'string'
            // For remaining properties, see RouteConfiguration objects
          }
          rulesEngine: {
            id: 'string'
          }
          webApplicationFirewallPolicyLink: {
            id: 'string'
          }
        }
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

RouteConfiguration 物件

設定 @odata.type 屬性,以指定對象的類型。

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,請使用:

{
  @odata.type: '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
  backendPool: {
    id: 'string'
  }
  cacheConfiguration: {
    cacheDuration: 'string'
    dynamicCompression: 'string'
    queryParameters: 'string'
    queryParameterStripDirective: 'string'
  }
  customForwardingPath: 'string'
  forwardingProtocol: 'string'
}

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,請使用:

{
  @odata.type: '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'
  customFragment: 'string'
  customHost: 'string'
  customPath: 'string'
  customQueryString: 'string'
  redirectProtocol: 'string'
  redirectType: 'string'
}

屬性值

後端

名字 描述 價值
位址 後端的位置(IP 位址或 FQDN) 字串
backendHostHeader 要作為傳送至後端之主機標頭的值。 如果空白或未指定,這會預設為傳入主機。 字串
enabledState 是否要啟用此後端的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
httpPort HTTP TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
httpsPort HTTPS TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
優先權 用於負載平衡的優先順序。 如果任何較低優先順序的後端狀況良好,則不會使用較高優先順序的優先順序來進行負載平衡。 int

約束:
最小值 = 1
最大值 = 5
privateLinkAlias Private Link 資源的別名。 填入此選擇性欄位表示此後端為「私人」 字串
privateLinkApprovalMessage 要包含在核准要求中以連線至 Private Link 的自定義訊息 字串
privateLinkLocation Private Link 資源的位置。 只有在填入 『privateLinkResourceId』 時才需要 字串
privateLinkResourceId Private Link 資源的資源標識碼。 填入此選擇性欄位表示此後端為「私人」 字串
重量 用於負載平衡之此端點的權數。 int

約束:
最小值 = 1
最大值 = 1000

BackendPool

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 後端集區的屬性 BackendPoolProperties

BackendPoolProperties

名字 描述 價值
後端 此集區的後端集合 後端[]
healthProbeSettings 後端集區的 L7 健康情況探查設定 SubResource
loadBalancingSettings 後端集區的負載平衡設定 SubResource

BackendPoolsSettings

名字 描述 價值
enforceCertificateNameCheck 是否對所有後端集區的 HTTPS 要求強制執行憑證名稱檢查。 對非 HTTPS 要求沒有任何影響。 'Disabled'
'Enabled'
sendRecvTimeoutSeconds 將要求轉送至後端時傳送和接收逾時。 達到逾時時時,要求會失敗並傳回。 int

約束:
最小值 = 16

CacheConfiguration

名字 描述 價值
cacheDuration 需要快取內容的持續時間。 允許的格式為 ISO 8601 格式 (http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求值不超過一年 字串
dynamicCompression 是否要針對快取的內容使用動態壓縮 'Disabled'
'Enabled'
queryParameters 要包含或排除的查詢參數(以逗號分隔)。 字串
queryParameterStripDirective 在形成快取索引鍵時處理 URL 查詢字詞。 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

ForwardingConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (必要)
backendPool 此規則路由傳送至的 BackendPool 參考。 SubResource
cacheConfiguration 與此規則相關聯的快取組態。 CacheConfiguration
customForwardingPath 用來重寫此規則所比對之資源路徑的自定義路徑。 保留空白以使用傳入路徑。 字串
forwardingProtocol 將流量轉送至後端時,會使用此規則的通訊協定。 'HttpOnly'
'HttpsOnly'
'MatchRequest'

FrontDoorProperties

名字 描述 價值
backendPools 可用於路由規則的後端集區。 BackendPool[]
backendPoolsSettings 所有 backendPools 的設定 BackendPoolsSettings
enabledState Front Door 負載平衡器的作業狀態。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
friendlyName frontDoor 的易記名稱 字串
frontendEndpoints 路由規則可用的前端端點。 FrontendEndpoint[]
healthProbeSettings 與此 Front Door 實例相關聯的健康情況探查設定。 HealthProbeSettingsModel[]
loadBalancingSettings 與此 Front Door 實例相關聯的負載平衡設定。 LoadBalancingSettingsModel[]
routingRules 與此 Front Door 相關聯的路由規則。 RoutingRule[]

FrontendEndpoint

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 前端端點的屬性 FrontendEndpointProperties

FrontendEndpointProperties

名字 描述 價值
hostName frontendEndpoint 的主機名。 必須是功能變數名稱。 字串
sessionAffinityEnabledState 是否要允許此主機上的會話親和性。 有效的選項為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
sessionAffinityTtlSeconds 閑置。 將會忽略此欄位。 如果適用,則為會話親和性以秒為單位使用的TTL。 int
webApplicationFirewallPolicyLink 定義每個主機的 Web 應用程式防火牆原則(如果適用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

HealthProbeSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 健康情況探查設定的屬性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 價值
enabledState 是否要針對在 backendPools 下定義的後端啟用健康情況探查。 只有在單一已啟用後端集區中有單一啟用後端時,才能停用健康情況探查。 'Disabled'
'Enabled'
healthProbeMethod 設定用來探查 backendPools 下定義的後端的 HTTP 方法。 'GET'
'HEAD'
intervalInSeconds 健康情況探查之間的秒數。 int
路徑 用於健康情況探查的路徑。 預設值為 / 字串
協定 要用於此探查的通訊協定配置 'Http'
'Https'

LoadBalancingSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 負載平衡設定的屬性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 價值
additionalLatencyMilliseconds 探查要落入最低延遲值區以毫秒為單位的額外延遲 int
sampleSize 要考慮進行負載平衡決策的範例數目 int
successfulSamplesRequired 必須成功之範例期間內的樣本數目 int

Microsoft.Network/frontDoors

名字 描述 價值
位置 資源位置。 字串
名字 資源名稱 字串

約束:
最小長度 = 5
最大長度 = 5
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必要)
性能 Front Door Load Balancer 的屬性 FrontDoorProperties
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤

RedirectConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)
customFragment 要新增至重新導向 URL 的片段。 片段是之後 URL 的一部分。 請勿包含 #。 字串
customHost 要重新導向的主機。 保留空白,以使用傳入主機作為目的地主機。 字串
customPath 要重新導向的完整路徑。 路徑不可以是空的,而且必須以 /開頭。 保留空白,以使用傳入路徑作為目的地路徑。 字串
customQueryString 要放在重新導向 URL 中的查詢字串集。 設定此值會取代任何現有的查詢字串;保留空白以保留傳入查詢字串。 查詢字串必須 <索引鍵>=<值> 格式。 第一個 ? 和 & 會自動新增,因此請勿將它們包含在前面,但會使用 &分隔多個查詢字串。 字串
redirectProtocol 將流量重新導向目的地的通訊協定 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType 重新導向類型,規則會在重新導向流量時使用。 'Found'
'Moved'
'PermanentRedirect'
'TemporaryRedirect'

ResourceTags

名字 描述 價值

RouteConfiguration

名字 描述 價值
@odata.type 針對 forwardingConfiguration 類型,設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'。 針對 RedirectConfiguration 類型設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
'#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)

RoutingRule

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 路由規則的屬性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 價值
acceptedProtocols 要符合此規則的通訊協定配置 包含任何的字串數組:
'Http'
'Https'
enabledState 是否要啟用此規則的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
frontendEndpoints 與此規則相關聯的前端端點 SubResource[]
patternsToMatch 規則的路由模式。 string[]
routeConfiguration 路由組態的參考。 RouteConfiguration
rulesEngine 要套用至此路由的特定規則引擎組態參考。 SubResource
webApplicationFirewallPolicyLink 定義每個路由規則的 Web 應用程式防火牆原則(如果適用) RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

SubResource

名字 描述 價值
id 資源標識碼。 字串

快速入門範例

下列快速入門範例會部署此資源類型。

Bicep 檔案 描述
使用 Front Door 新增自訂網域和自定義憑證 此範本會使用客戶管理的憑證將 Front Door 上線並保護自定義網域
使用 Front Door 新增自定義網域和受控憑證 此範本會使用 Front Door 將自訂網域上線並保護
在 Front Door 上控制後端的健康情況探查 此範本會更新 Front Door,藉由設定探查路徑,以及傳送探查的間隔來變更健康情況探查設定。
建立基本 Front Door 此範本會建立具有單一後端的基本 Front Door 設定。
使用 HTTP 至 HTTPS 重新導向建立 Front Door 此範本會建立 HTTP 至 HTTPS 重新導向的 Front Door 設定。

ARM 樣本資源定義

frontDoors 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Network/frontDoors 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.Network/frontDoors",
  "apiVersion": "2020-05-01",
  "name": "string",
  "location": "string",
  "properties": {
    "backendPools": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "backends": [
            {
              "address": "string",
              "backendHostHeader": "string",
              "enabledState": "string",
              "httpPort": "int",
              "httpsPort": "int",
              "priority": "int",
              "privateLinkAlias": "string",
              "privateLinkApprovalMessage": "string",
              "privateLinkLocation": "string",
              "privateLinkResourceId": "string",
              "weight": "int"
            }
          ],
          "healthProbeSettings": {
            "id": "string"
          },
          "loadBalancingSettings": {
            "id": "string"
          }
        }
      }
    ],
    "backendPoolsSettings": {
      "enforceCertificateNameCheck": "string",
      "sendRecvTimeoutSeconds": "int"
    },
    "enabledState": "string",
    "friendlyName": "string",
    "frontendEndpoints": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "hostName": "string",
          "sessionAffinityEnabledState": "string",
          "sessionAffinityTtlSeconds": "int",
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          }
        }
      }
    ],
    "healthProbeSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "enabledState": "string",
          "healthProbeMethod": "string",
          "intervalInSeconds": "int",
          "path": "string",
          "protocol": "string"
        }
      }
    ],
    "loadBalancingSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "additionalLatencyMilliseconds": "int",
          "sampleSize": "int",
          "successfulSamplesRequired": "int"
        }
      }
    ],
    "routingRules": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "acceptedProtocols": [ "string" ],
          "enabledState": "string",
          "frontendEndpoints": [
            {
              "id": "string"
            }
          ],
          "patternsToMatch": [ "string" ],
          "routeConfiguration": {
            "@odata.type": "string"
            // For remaining properties, see RouteConfiguration objects
          },
          "rulesEngine": {
            "id": "string"
          },
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          }
        }
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

RouteConfiguration 物件

設定 @odata.type 屬性,以指定對象的類型。

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,請使用:

{
  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
  "backendPool": {
    "id": "string"
  },
  "cacheConfiguration": {
    "cacheDuration": "string",
    "dynamicCompression": "string",
    "queryParameters": "string",
    "queryParameterStripDirective": "string"
  },
  "customForwardingPath": "string",
  "forwardingProtocol": "string"
}

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,請使用:

{
  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
  "customFragment": "string",
  "customHost": "string",
  "customPath": "string",
  "customQueryString": "string",
  "redirectProtocol": "string",
  "redirectType": "string"
}

屬性值

後端

名字 描述 價值
位址 後端的位置(IP 位址或 FQDN) 字串
backendHostHeader 要作為傳送至後端之主機標頭的值。 如果空白或未指定,這會預設為傳入主機。 字串
enabledState 是否要啟用此後端的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
httpPort HTTP TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
httpsPort HTTPS TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
優先權 用於負載平衡的優先順序。 如果任何較低優先順序的後端狀況良好,則不會使用較高優先順序的優先順序來進行負載平衡。 int

約束:
最小值 = 1
最大值 = 5
privateLinkAlias Private Link 資源的別名。 填入此選擇性欄位表示此後端為「私人」 字串
privateLinkApprovalMessage 要包含在核准要求中以連線至 Private Link 的自定義訊息 字串
privateLinkLocation Private Link 資源的位置。 只有在填入 『privateLinkResourceId』 時才需要 字串
privateLinkResourceId Private Link 資源的資源標識碼。 填入此選擇性欄位表示此後端為「私人」 字串
重量 用於負載平衡之此端點的權數。 int

約束:
最小值 = 1
最大值 = 1000

BackendPool

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 後端集區的屬性 BackendPoolProperties

BackendPoolProperties

名字 描述 價值
後端 此集區的後端集合 後端[]
healthProbeSettings 後端集區的 L7 健康情況探查設定 SubResource
loadBalancingSettings 後端集區的負載平衡設定 SubResource

BackendPoolsSettings

名字 描述 價值
enforceCertificateNameCheck 是否對所有後端集區的 HTTPS 要求強制執行憑證名稱檢查。 對非 HTTPS 要求沒有任何影響。 'Disabled'
'Enabled'
sendRecvTimeoutSeconds 將要求轉送至後端時傳送和接收逾時。 達到逾時時時,要求會失敗並傳回。 int

約束:
最小值 = 16

CacheConfiguration

名字 描述 價值
cacheDuration 需要快取內容的持續時間。 允許的格式為 ISO 8601 格式 (http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求值不超過一年 字串
dynamicCompression 是否要針對快取的內容使用動態壓縮 'Disabled'
'Enabled'
queryParameters 要包含或排除的查詢參數(以逗號分隔)。 字串
queryParameterStripDirective 在形成快取索引鍵時處理 URL 查詢字詞。 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

ForwardingConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (必要)
backendPool 此規則路由傳送至的 BackendPool 參考。 SubResource
cacheConfiguration 與此規則相關聯的快取組態。 CacheConfiguration
customForwardingPath 用來重寫此規則所比對之資源路徑的自定義路徑。 保留空白以使用傳入路徑。 字串
forwardingProtocol 將流量轉送至後端時,會使用此規則的通訊協定。 'HttpOnly'
'HttpsOnly'
'MatchRequest'

FrontDoorProperties

名字 描述 價值
backendPools 可用於路由規則的後端集區。 BackendPool[]
backendPoolsSettings 所有 backendPools 的設定 BackendPoolsSettings
enabledState Front Door 負載平衡器的作業狀態。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
friendlyName frontDoor 的易記名稱 字串
frontendEndpoints 路由規則可用的前端端點。 FrontendEndpoint[]
healthProbeSettings 與此 Front Door 實例相關聯的健康情況探查設定。 HealthProbeSettingsModel[]
loadBalancingSettings 與此 Front Door 實例相關聯的負載平衡設定。 LoadBalancingSettingsModel[]
routingRules 與此 Front Door 相關聯的路由規則。 RoutingRule[]

FrontendEndpoint

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 前端端點的屬性 FrontendEndpointProperties

FrontendEndpointProperties

名字 描述 價值
hostName frontendEndpoint 的主機名。 必須是功能變數名稱。 字串
sessionAffinityEnabledState 是否要允許此主機上的會話親和性。 有效的選項為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
sessionAffinityTtlSeconds 閑置。 將會忽略此欄位。 如果適用,則為會話親和性以秒為單位使用的TTL。 int
webApplicationFirewallPolicyLink 定義每個主機的 Web 應用程式防火牆原則(如果適用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

HealthProbeSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 健康情況探查設定的屬性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 價值
enabledState 是否要針對在 backendPools 下定義的後端啟用健康情況探查。 只有在單一已啟用後端集區中有單一啟用後端時,才能停用健康情況探查。 'Disabled'
'Enabled'
healthProbeMethod 設定用來探查 backendPools 下定義的後端的 HTTP 方法。 'GET'
'HEAD'
intervalInSeconds 健康情況探查之間的秒數。 int
路徑 用於健康情況探查的路徑。 預設值為 / 字串
協定 要用於此探查的通訊協定配置 'Http'
'Https'

LoadBalancingSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 負載平衡設定的屬性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 價值
additionalLatencyMilliseconds 探查要落入最低延遲值區以毫秒為單位的額外延遲 int
sampleSize 要考慮進行負載平衡決策的範例數目 int
successfulSamplesRequired 必須成功之範例期間內的樣本數目 int

Microsoft.Network/frontDoors

名字 描述 價值
apiVersion API 版本 '2020-05-01'
位置 資源位置。 字串
名字 資源名稱 字串

約束:
最小長度 = 5
最大長度 = 5
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必要)
性能 Front Door Load Balancer 的屬性 FrontDoorProperties
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤
類型 資源類型 'Microsoft.Network/frontDoors'

RedirectConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)
customFragment 要新增至重新導向 URL 的片段。 片段是之後 URL 的一部分。 請勿包含 #。 字串
customHost 要重新導向的主機。 保留空白,以使用傳入主機作為目的地主機。 字串
customPath 要重新導向的完整路徑。 路徑不可以是空的,而且必須以 /開頭。 保留空白,以使用傳入路徑作為目的地路徑。 字串
customQueryString 要放在重新導向 URL 中的查詢字串集。 設定此值會取代任何現有的查詢字串;保留空白以保留傳入查詢字串。 查詢字串必須 <索引鍵>=<值> 格式。 第一個 ? 和 & 會自動新增,因此請勿將它們包含在前面,但會使用 &分隔多個查詢字串。 字串
redirectProtocol 將流量重新導向目的地的通訊協定 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType 重新導向類型,規則會在重新導向流量時使用。 'Found'
'Moved'
'PermanentRedirect'
'TemporaryRedirect'

ResourceTags

名字 描述 價值

RouteConfiguration

名字 描述 價值
@odata.type 針對 forwardingConfiguration 類型,設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'。 針對 RedirectConfiguration 類型設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
'#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)

RoutingRule

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 路由規則的屬性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 價值
acceptedProtocols 要符合此規則的通訊協定配置 包含任何的字串數組:
'Http'
'Https'
enabledState 是否要啟用此規則的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
frontendEndpoints 與此規則相關聯的前端端點 SubResource[]
patternsToMatch 規則的路由模式。 string[]
routeConfiguration 路由組態的參考。 RouteConfiguration
rulesEngine 要套用至此路由的特定規則引擎組態參考。 SubResource
webApplicationFirewallPolicyLink 定義每個路由規則的 Web 應用程式防火牆原則(如果適用) RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

SubResource

名字 描述 價值
id 資源標識碼。 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用 Front Door 新增自訂網域和自定義憑證

部署至 Azure
此範本會使用客戶管理的憑證將 Front Door 上線並保護自定義網域
使用 Front Door 新增自定義網域和受控憑證

部署至 Azure
此範本會使用 Front Door 將自訂網域上線並保護
為 Front Door 主機名設定會話親和性

部署至 Azure
此範本會更新 Front Door,以啟用前端主機的會話親和性,藉此將來自相同用戶會話的後續流量傳送至相同的後端。
在 Front Door 上控制後端的健康情況探查

部署至 Azure
此範本會更新 Front Door,藉由設定探查路徑,以及傳送探查的間隔來變更健康情況探查設定。
建立基本 Front Door

部署至 Azure
此範本會建立具有單一後端的基本 Front Door 設定。
使用 HTTP 至 HTTPS 重新導向建立 Front Door

部署至 Azure
此範本會建立 HTTP 至 HTTPS 重新導向的 Front Door 設定。
建立具有多個後端和後端集區的 Front Door

部署至 Azure
此範本會建立 Front Door,並在後端集區中針對多個後端設定負載平衡,以及根據 URL 路徑跨後端集區。
在 Azure API 管理 前建立 Azure Front Door

部署至 Azure
此範例示範如何在 Azure API 管理前使用 Azure Front Door 作為全域負載平衡器。
使用 Active-Standby 組態建立 Front Door

部署至 Azure
此範本會建立 Front Door,示範 Active-Standby 應用程式拓撲的優先順序型路由。
為特定路由啟用快取的建立 Front Door

部署至 Azure
此範本會建立 Front Door,並針對已定義的路由組態啟用快取,因此會快取工作負載的任何靜態資產。

Terraform (AzAPI 提供者) 資源定義

frontDoors 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Network/frontDoors 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/frontDoors@2020-05-01"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      backendPools = [
        {
          id = "string"
          name = "string"
          properties = {
            backends = [
              {
                address = "string"
                backendHostHeader = "string"
                enabledState = "string"
                httpPort = int
                httpsPort = int
                priority = int
                privateLinkAlias = "string"
                privateLinkApprovalMessage = "string"
                privateLinkLocation = "string"
                privateLinkResourceId = "string"
                weight = int
              }
            ]
            healthProbeSettings = {
              id = "string"
            }
            loadBalancingSettings = {
              id = "string"
            }
          }
        }
      ]
      backendPoolsSettings = {
        enforceCertificateNameCheck = "string"
        sendRecvTimeoutSeconds = int
      }
      enabledState = "string"
      friendlyName = "string"
      frontendEndpoints = [
        {
          id = "string"
          name = "string"
          properties = {
            hostName = "string"
            sessionAffinityEnabledState = "string"
            sessionAffinityTtlSeconds = int
            webApplicationFirewallPolicyLink = {
              id = "string"
            }
          }
        }
      ]
      healthProbeSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            enabledState = "string"
            healthProbeMethod = "string"
            intervalInSeconds = int
            path = "string"
            protocol = "string"
          }
        }
      ]
      loadBalancingSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            additionalLatencyMilliseconds = int
            sampleSize = int
            successfulSamplesRequired = int
          }
        }
      ]
      routingRules = [
        {
          id = "string"
          name = "string"
          properties = {
            acceptedProtocols = [
              "string"
            ]
            enabledState = "string"
            frontendEndpoints = [
              {
                id = "string"
              }
            ]
            patternsToMatch = [
              "string"
            ]
            routeConfiguration = {
              @odata.type = "string"
              // For remaining properties, see RouteConfiguration objects
            }
            rulesEngine = {
              id = "string"
            }
            webApplicationFirewallPolicyLink = {
              id = "string"
            }
          }
        }
      ]
    }
  })
}

RouteConfiguration 物件

設定 @odata.type 屬性,以指定對象的類型。

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,請使用:

{
  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
  backendPool = {
    id = "string"
  }
  cacheConfiguration = {
    cacheDuration = "string"
    dynamicCompression = "string"
    queryParameters = "string"
    queryParameterStripDirective = "string"
  }
  customForwardingPath = "string"
  forwardingProtocol = "string"
}

針對 #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration,請使用:

{
  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"
  customFragment = "string"
  customHost = "string"
  customPath = "string"
  customQueryString = "string"
  redirectProtocol = "string"
  redirectType = "string"
}

屬性值

後端

名字 描述 價值
位址 後端的位置(IP 位址或 FQDN) 字串
backendHostHeader 要作為傳送至後端之主機標頭的值。 如果空白或未指定,這會預設為傳入主機。 字串
enabledState 是否要啟用此後端的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
httpPort HTTP TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
httpsPort HTTPS TCP 連接埠號碼。 必須介於 1 到 65535 之間。 int

約束:
最小值 = 1
最大值 = 65535
優先權 用於負載平衡的優先順序。 如果任何較低優先順序的後端狀況良好,則不會使用較高優先順序的優先順序來進行負載平衡。 int

約束:
最小值 = 1
最大值 = 5
privateLinkAlias Private Link 資源的別名。 填入此選擇性欄位表示此後端為「私人」 字串
privateLinkApprovalMessage 要包含在核准要求中以連線至 Private Link 的自定義訊息 字串
privateLinkLocation Private Link 資源的位置。 只有在填入 『privateLinkResourceId』 時才需要 字串
privateLinkResourceId Private Link 資源的資源標識碼。 填入此選擇性欄位表示此後端為「私人」 字串
重量 用於負載平衡之此端點的權數。 int

約束:
最小值 = 1
最大值 = 1000

BackendPool

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 後端集區的屬性 BackendPoolProperties

BackendPoolProperties

名字 描述 價值
後端 此集區的後端集合 後端[]
healthProbeSettings 後端集區的 L7 健康情況探查設定 SubResource
loadBalancingSettings 後端集區的負載平衡設定 SubResource

BackendPoolsSettings

名字 描述 價值
enforceCertificateNameCheck 是否對所有後端集區的 HTTPS 要求強制執行憑證名稱檢查。 對非 HTTPS 要求沒有任何影響。 'Disabled'
'Enabled'
sendRecvTimeoutSeconds 將要求轉送至後端時傳送和接收逾時。 達到逾時時時,要求會失敗並傳回。 int

約束:
最小值 = 16

CacheConfiguration

名字 描述 價值
cacheDuration 需要快取內容的持續時間。 允許的格式為 ISO 8601 格式 (http://en.wikipedia.org/wiki/ISO_8601#Durations)。 HTTP 要求值不超過一年 字串
dynamicCompression 是否要針對快取的內容使用動態壓縮 'Disabled'
'Enabled'
queryParameters 要包含或排除的查詢參數(以逗號分隔)。 字串
queryParameterStripDirective 在形成快取索引鍵時處理 URL 查詢字詞。 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

ForwardingConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (必要)
backendPool 此規則路由傳送至的 BackendPool 參考。 SubResource
cacheConfiguration 與此規則相關聯的快取組態。 CacheConfiguration
customForwardingPath 用來重寫此規則所比對之資源路徑的自定義路徑。 保留空白以使用傳入路徑。 字串
forwardingProtocol 將流量轉送至後端時,會使用此規則的通訊協定。 'HttpOnly'
'HttpsOnly'
'MatchRequest'

FrontDoorProperties

名字 描述 價值
backendPools 可用於路由規則的後端集區。 BackendPool[]
backendPoolsSettings 所有 backendPools 的設定 BackendPoolsSettings
enabledState Front Door 負載平衡器的作業狀態。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
friendlyName frontDoor 的易記名稱 字串
frontendEndpoints 路由規則可用的前端端點。 FrontendEndpoint[]
healthProbeSettings 與此 Front Door 實例相關聯的健康情況探查設定。 HealthProbeSettingsModel[]
loadBalancingSettings 與此 Front Door 實例相關聯的負載平衡設定。 LoadBalancingSettingsModel[]
routingRules 與此 Front Door 相關聯的路由規則。 RoutingRule[]

FrontendEndpoint

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 前端端點的屬性 FrontendEndpointProperties

FrontendEndpointProperties

名字 描述 價值
hostName frontendEndpoint 的主機名。 必須是功能變數名稱。 字串
sessionAffinityEnabledState 是否要允許此主機上的會話親和性。 有效的選項為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
sessionAffinityTtlSeconds 閑置。 將會忽略此欄位。 如果適用,則為會話親和性以秒為單位使用的TTL。 int
webApplicationFirewallPolicyLink 定義每個主機的 Web 應用程式防火牆原則(如果適用) FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

HealthProbeSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 健康情況探查設定的屬性 HealthProbeSettingsProperties

HealthProbeSettingsProperties

名字 描述 價值
enabledState 是否要針對在 backendPools 下定義的後端啟用健康情況探查。 只有在單一已啟用後端集區中有單一啟用後端時,才能停用健康情況探查。 'Disabled'
'Enabled'
healthProbeMethod 設定用來探查 backendPools 下定義的後端的 HTTP 方法。 'GET'
'HEAD'
intervalInSeconds 健康情況探查之間的秒數。 int
路徑 用於健康情況探查的路徑。 預設值為 / 字串
協定 要用於此探查的通訊協定配置 'Http'
'Https'

LoadBalancingSettingsModel

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 負載平衡設定的屬性 LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

名字 描述 價值
additionalLatencyMilliseconds 探查要落入最低延遲值區以毫秒為單位的額外延遲 int
sampleSize 要考慮進行負載平衡決策的範例數目 int
successfulSamplesRequired 必須成功之範例期間內的樣本數目 int

Microsoft.Network/frontDoors

名字 描述 價值
位置 資源位置。 字串
名字 資源名稱 字串

約束:
最小長度 = 5
最大長度 = 5
模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必要)
性能 Front Door Load Balancer 的屬性 FrontDoorProperties
標籤 資源標籤 標記名稱和值的字典。
類型 資源類型 “Microsoft.Network/frontDoors@2020-05-01”

RedirectConfiguration

名字 描述 價值
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)
customFragment 要新增至重新導向 URL 的片段。 片段是之後 URL 的一部分。 請勿包含 #。 字串
customHost 要重新導向的主機。 保留空白,以使用傳入主機作為目的地主機。 字串
customPath 要重新導向的完整路徑。 路徑不可以是空的,而且必須以 /開頭。 保留空白,以使用傳入路徑作為目的地路徑。 字串
customQueryString 要放在重新導向 URL 中的查詢字串集。 設定此值會取代任何現有的查詢字串;保留空白以保留傳入查詢字串。 查詢字串必須 <索引鍵>=<值> 格式。 第一個 ? 和 & 會自動新增,因此請勿將它們包含在前面,但會使用 &分隔多個查詢字串。 字串
redirectProtocol 將流量重新導向目的地的通訊協定 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType 重新導向類型,規則會在重新導向流量時使用。 'Found'
'Moved'
'PermanentRedirect'
'TemporaryRedirect'

ResourceTags

名字 描述 價值

RouteConfiguration

名字 描述 價值
@odata.type 針對 forwardingConfiguration 類型,設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'。 針對 RedirectConfiguration 類型設定為 '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration', '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
'#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必要)

RoutingRule

名字 描述 價值
id 資源標識碼。 字串
名字 資源名稱。 字串
性能 Front Door 路由規則的屬性 RoutingRuleProperties

RoutingRuleProperties

名字 描述 價值
acceptedProtocols 要符合此規則的通訊協定配置 包含任何的字串數組:
'Http'
'Https'
enabledState 是否要啟用此規則的使用。 允許的值為 'Enabled' 或 'Disabled' 'Disabled'
'Enabled'
frontendEndpoints 與此規則相關聯的前端端點 SubResource[]
patternsToMatch 規則的路由模式。 string[]
routeConfiguration 路由組態的參考。 RouteConfiguration
rulesEngine 要套用至此路由的特定規則引擎組態參考。 SubResource
webApplicationFirewallPolicyLink 定義每個路由規則的 Web 應用程式防火牆原則(如果適用) RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink
名字 描述 價值
id 資源標識碼。 字串

SubResource

名字 描述 價值
id 資源標識碼。 字串