你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Network frontDoors 2019-04-01
Bicep 资源定义
可以使用目标操作部署 frontDoors 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Network/frontDoors 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Network/frontDoors@2019-04-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
weight: int
}
]
healthProbeSettings: {
id: 'string'
}
loadBalancingSettings: {
id: 'string'
}
}
}
]
backendPoolsSettings: {
enforceCertificateNameCheck: 'string'
}
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: {
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
}
}
}
]
}
tags: {
{customized property}: 'string'
}
}
RouteConfiguration 对象
设置 @odata.type 属性以指定对象的类型。
对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:
{
@odata.type: '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
backendPool: {
id: 'string'
}
cacheConfiguration: {
dynamicCompression: '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 |
重量 | 此终结点的权重用于负载均衡。 | int 约束: 最小值 = 1 最大值 = 1000 |
BackendPool
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 后端池的属性 | BackendPoolProperties |
BackendPoolProperties
名字 | 描述 | 价值 |
---|---|---|
后端 | 此池的后端集 | 后端[] |
healthProbeSettings | 后端池的 L7 运行状况探测设置 | SubResource |
loadBalancingSettings | 后端池的负载均衡设置 | SubResource |
BackendPoolsSettings
名字 | 描述 | 价值 |
---|---|---|
enforceCertificateNameCheck | 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 | “Disabled” “Enabled” |
CacheConfiguration
名字 | 描述 | 价值 |
---|---|---|
dynamicCompression | 是否对缓存内容使用动态压缩 | “Disabled” “Enabled” |
queryParameterStripDirective | 在形成缓存密钥时处理 URL 查询词。 | “StripAll” “StripNone” |
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 | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 前端终结点的属性 | FrontendEndpointProperties |
FrontendEndpointProperties
名字 | 描述 | 价值 |
---|---|---|
hostName | frontendEndpoint 的主机名。 必须是域名。 | 字符串 |
sessionAffinityEnabledState | 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” | “Disabled” “Enabled” |
sessionAffinityTtlSeconds | 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 | int |
webApplicationFirewallPolicyLink | 为每个主机定义 Web 应用程序防火墙策略(如果适用) | FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink |
FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
HealthProbeSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 运行状况探测设置的属性 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名字 | 描述 | 价值 |
---|---|---|
intervalInSeconds | 运行状况探测之间的秒数。 | int |
路径 | 用于运行状况探测的路径。 默认值为 / | 字符串 |
协议 | 用于此探测的协议方案 | “Http” “Https” |
LoadBalancingSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 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 负载均衡器的属性 | FrontDoorProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
RedirectConfiguration
名字 | 描述 | 价值 |
---|---|---|
@odata.type | “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需) | |
customFragment | 要添加到重定向 URL 的片段。 片段是 #之后 URL 的一部分。 请勿包含 #。 | 字符串 |
customHost | 要重定向的主机。 将传入主机保留为空,以将传入主机用作目标主机。 | 字符串 |
customPath | 要重定向的完整路径。 路径不能为空,必须以 /开头。 将传入路径保留为空,以用作目标路径。 | 字符串 |
customQueryString | 要放置在重定向 URL 中的查询字符串集。 设置此值将替换任何现有查询字符串;保留空以保留传入的查询字符串。 查询字符串必须采用 <键>=<值> 格式。 第一个? 并且会自动添加 &,因此不要在前面包含它们,但使用 &分隔多个查询字符串。 | 字符串 |
redirectProtocol | 将流量重定向到的目标的协议 | “HttpOnly” “HttpsOnly” “MatchRequest” |
redirectType | 重定向流量时规则将使用的重定向类型。 | “Found” “已移动” “PermanentRedirect” “TemporaryRedirect” |
ResourceTags
名字 | 描述 | 价值 |
---|
RouteConfiguration
名字 | 描述 | 价值 |
---|---|---|
@odata.type | 对于 forwardingConfiguration |
'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需) |
RoutingRule
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 路由规则的属性 | RoutingRuleProperties |
RoutingRuleProperties
名字 | 描述 | 价值 |
---|---|---|
acceptedProtocols | 要与此规则匹配的协议方案 | 包含任一项的字符串数组: “Http” “Https” |
enabledState | 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” | “Disabled” “Enabled” |
frontendEndpoints | 与此规则关联的前端终结点 | SubResource[] |
patternsToMatch | 规则的路由模式。 | string[] |
routeConfiguration | 对路由配置的引用。 | RouteConfiguration |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 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": "2019-04-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",
"weight": "int"
}
],
"healthProbeSettings": {
"id": "string"
},
"loadBalancingSettings": {
"id": "string"
}
}
}
],
"backendPoolsSettings": {
"enforceCertificateNameCheck": "string"
},
"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": {
"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
}
}
}
]
},
"tags": {
"{customized property}": "string"
}
}
RouteConfiguration 对象
设置 @odata.type 属性以指定对象的类型。
对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:
{
"@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
"backendPool": {
"id": "string"
},
"cacheConfiguration": {
"dynamicCompression": "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 |
重量 | 此终结点的权重用于负载均衡。 | int 约束: 最小值 = 1 最大值 = 1000 |
BackendPool
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 后端池的属性 | BackendPoolProperties |
BackendPoolProperties
名字 | 描述 | 价值 |
---|---|---|
后端 | 此池的后端集 | 后端[] |
healthProbeSettings | 后端池的 L7 运行状况探测设置 | SubResource |
loadBalancingSettings | 后端池的负载均衡设置 | SubResource |
BackendPoolsSettings
名字 | 描述 | 价值 |
---|---|---|
enforceCertificateNameCheck | 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 | “Disabled” “Enabled” |
CacheConfiguration
名字 | 描述 | 价值 |
---|---|---|
dynamicCompression | 是否对缓存内容使用动态压缩 | “Disabled” “Enabled” |
queryParameterStripDirective | 在形成缓存密钥时处理 URL 查询词。 | “StripAll” “StripNone” |
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 | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 前端终结点的属性 | FrontendEndpointProperties |
FrontendEndpointProperties
名字 | 描述 | 价值 |
---|---|---|
hostName | frontendEndpoint 的主机名。 必须是域名。 | 字符串 |
sessionAffinityEnabledState | 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” | “Disabled” “Enabled” |
sessionAffinityTtlSeconds | 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 | int |
webApplicationFirewallPolicyLink | 为每个主机定义 Web 应用程序防火墙策略(如果适用) | FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink |
FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
HealthProbeSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 运行状况探测设置的属性 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名字 | 描述 | 价值 |
---|---|---|
intervalInSeconds | 运行状况探测之间的秒数。 | int |
路径 | 用于运行状况探测的路径。 默认值为 / | 字符串 |
协议 | 用于此探测的协议方案 | “Http” “Https” |
LoadBalancingSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 负载均衡设置的属性 | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
名字 | 描述 | 价值 |
---|---|---|
additionalLatencyMilliseconds | 探测下降到最低延迟存储桶的额外延迟(以毫秒为单位) | int |
sampleSize | 要考虑的负载均衡决策的示例数 | int |
successfulSamplesRequired | 样本周期内必须成功的示例数 | int |
Microsoft.Network/frontDoors
名字 | 描述 | 价值 |
---|---|---|
apiVersion | API 版本 | '2019-04-01' |
位置 | 资源位置。 | 字符串 |
名字 | 资源名称 | 字符串 约束: 最小长度 = 5 最大长度 = 5 模式 = ^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$ (必需) |
性能 | Front Door 负载均衡器的属性 | 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” “已移动” “PermanentRedirect” “TemporaryRedirect” |
ResourceTags
名字 | 描述 | 价值 |
---|
RouteConfiguration
名字 | 描述 | 价值 |
---|---|---|
@odata.type | 对于 forwardingConfiguration |
'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需) |
RoutingRule
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 路由规则的属性 | RoutingRuleProperties |
RoutingRuleProperties
名字 | 描述 | 价值 |
---|---|---|
acceptedProtocols | 要与此规则匹配的协议方案 | 包含任一项的字符串数组: “Http” “Https” |
enabledState | 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” | “Disabled” “Enabled” |
frontendEndpoints | 与此规则关联的前端终结点 | SubResource[] |
patternsToMatch | 规则的路由模式。 | string[] |
routeConfiguration | 对路由配置的引用。 | RouteConfiguration |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用 Front Door |
此模板使用客户管理的证书载入并保护具有 Front Door 的自定义域 |
使用 Front Door 添加自定义域和托管证书 |
此模板使用 Front Door 载入并保护自定义域 |
为 Front Door 主机名配置会话相关性 |
此模板更新 Front Door 以启用前端主机的会话相关性,从而将来自同一用户会话的后续流量发送到同一后端。 |
Front Door 上控制后端的运行状况探测 |
此模板通过设置探测路径以及将发送探测的间隔来更新 Front Door 以更改运行状况探测设置。 |
创建基本的 Front Door |
此模板使用单个后端创建基本的 Front Door 配置。 |
使用 HTTP 到 HTTPS 重定向创建 Front Door |
此模板创建用于 HTTP 到 HTTPS 重定向的 Front Door 配置。 |
创建具有多个后端和后端池的 Front Door |
此模板创建一个 Front Door,其中为后端池中的多个后端以及基于 URL 路径的后端池配置了负载均衡。 |
在 Azure API 管理 前创建 Azure Front Door |
此示例演示如何在 Azure API 管理之前将 Azure Front Door 用作全局负载均衡器。 |
使用 Active-Standby 配置创建 Front Door |
此模板创建一个 Front Door,用于演示 Active-Standby 应用程序拓扑的基于优先级的路由。 |
为某些路由启用了缓存的 Front Door |
此模板创建一个 Front Door,其中为定义的路由配置启用了缓存,从而缓存工作负荷的任何静态资产。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 frontDoors 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Network/frontDoors 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/frontDoors@2019-04-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
weight = int
}
]
healthProbeSettings = {
id = "string"
}
loadBalancingSettings = {
id = "string"
}
}
}
]
backendPoolsSettings = {
enforceCertificateNameCheck = "string"
}
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 = {
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
}
}
}
]
}
})
}
RouteConfiguration 对象
设置 @odata.type 属性以指定对象的类型。
对于 #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration,请使用:
{
@odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
backendPool = {
id = "string"
}
cacheConfiguration = {
dynamicCompression = "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 |
重量 | 此终结点的权重用于负载均衡。 | int 约束: 最小值 = 1 最大值 = 1000 |
BackendPool
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 后端池的属性 | BackendPoolProperties |
BackendPoolProperties
名字 | 描述 | 价值 |
---|---|---|
后端 | 此池的后端集 | 后端[] |
healthProbeSettings | 后端池的 L7 运行状况探测设置 | SubResource |
loadBalancingSettings | 后端池的负载均衡设置 | SubResource |
BackendPoolsSettings
名字 | 描述 | 价值 |
---|---|---|
enforceCertificateNameCheck | 是否对所有后端池的 HTTPS 请求强制实施证书名称检查。 对非 HTTPS 请求没有影响。 | “Disabled” “Enabled” |
CacheConfiguration
名字 | 描述 | 价值 |
---|---|---|
dynamicCompression | 是否对缓存内容使用动态压缩 | “Disabled” “Enabled” |
queryParameterStripDirective | 在形成缓存密钥时处理 URL 查询词。 | “StripAll” “StripNone” |
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 | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 前端终结点的属性 | FrontendEndpointProperties |
FrontendEndpointProperties
名字 | 描述 | 价值 |
---|---|---|
hostName | frontendEndpoint 的主机名。 必须是域名。 | 字符串 |
sessionAffinityEnabledState | 是否允许在此主机上进行会话关联。 有效选项为“Enabled”或“Disabled” | “Disabled” “Enabled” |
sessionAffinityTtlSeconds | 闲置。 此字段将被忽略。 要以秒为单位用于会话相关性的 TTL(如果适用)。 | int |
webApplicationFirewallPolicyLink | 为每个主机定义 Web 应用程序防火墙策略(如果适用) | FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink |
FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
HealthProbeSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | 运行状况探测设置的属性 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名字 | 描述 | 价值 |
---|---|---|
intervalInSeconds | 运行状况探测之间的秒数。 | int |
路径 | 用于运行状况探测的路径。 默认值为 / | 字符串 |
协议 | 用于此探测的协议方案 | “Http” “Https” |
LoadBalancingSettingsModel
名字 | 描述 | 价值 |
---|---|---|
id | 资源 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 负载均衡器的属性 | FrontDoorProperties |
标签 | 资源标记 | 标记名称和值的字典。 |
类型 | 资源类型 | “Microsoft.Network/frontDoors@2019-04-01” |
RedirectConfiguration
名字 | 描述 | 价值 |
---|---|---|
@odata.type | “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需) | |
customFragment | 要添加到重定向 URL 的片段。 片段是 #之后 URL 的一部分。 请勿包含 #。 | 字符串 |
customHost | 要重定向的主机。 将传入主机保留为空,以将传入主机用作目标主机。 | 字符串 |
customPath | 要重定向的完整路径。 路径不能为空,必须以 /开头。 将传入路径保留为空,以用作目标路径。 | 字符串 |
customQueryString | 要放置在重定向 URL 中的查询字符串集。 设置此值将替换任何现有查询字符串;保留空以保留传入的查询字符串。 查询字符串必须采用 <键>=<值> 格式。 第一个? 并且会自动添加 &,因此不要在前面包含它们,但使用 &分隔多个查询字符串。 | 字符串 |
redirectProtocol | 将流量重定向到的目标的协议 | “HttpOnly” “HttpsOnly” “MatchRequest” |
redirectType | 重定向流量时规则将使用的重定向类型。 | “Found” “已移动” “PermanentRedirect” “TemporaryRedirect” |
ResourceTags
名字 | 描述 | 价值 |
---|
RouteConfiguration
名字 | 描述 | 价值 |
---|---|---|
@odata.type | 对于 forwardingConfiguration |
'#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' “#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration”(必需) |
RoutingRule
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |
名字 | 资源名称。 | 字符串 |
性能 | Front Door 路由规则的属性 | RoutingRuleProperties |
RoutingRuleProperties
名字 | 描述 | 价值 |
---|---|---|
acceptedProtocols | 要与此规则匹配的协议方案 | 包含任一项的字符串数组: “Http” “Https” |
enabledState | 是否启用此规则的使用。 允许的值为“Enabled”或“Disabled” | “Disabled” “Enabled” |
frontendEndpoints | 与此规则关联的前端终结点 | SubResource[] |
patternsToMatch | 规则的路由模式。 | string[] |
routeConfiguration | 对路由配置的引用。 | RouteConfiguration |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID。 | 字符串 |