Microsoft.Network frontDoors 2019-04-01
Bicep 리소스 정의
frontDoors 리소스 종류는 다음으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그를 참조하세요.
리소스 형식
Microsoft.Network/frontDoors 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.Network/frontDoors@2019-04-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
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'
속성 값
frontDoors
Name | Description | 값 |
---|---|---|
name | 리소스 이름 | string(필수) 문자 제한: 5-64 유효한 문자: 영숫자 및 하이픈 영숫자로 시작하고 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치. | string |
tags | 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿의 태그를 참조하세요. |
properties | Front Door Load Balancer 속성 | FrontDoorProperties |
FrontDoorProperties
Name | Description | 값 |
---|---|---|
backendPools | 라우팅 규칙에 사용할 수 있는 백 엔드 풀입니다. | BackendPool[] |
backendPoolsSettings | 모든 backendPools에 대한 설정 | BackendPoolsSettings |
enabledState | Front Door 부하 분산 장치의 선택적 상태입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | '사용 안 함' '사용' |
friendlyName | frontDoor의 이름 | 문자열 |
frontendEndpoints | 라우팅 규칙에 사용할 수 있는 프런트 엔드 엔드포인트입니다. | FrontendEndpoint[] |
healthProbeSettings | 이 Front Door 인스턴스와 연결된 상태 프로브 설정입니다. | HealthProbeSettingsModel[] |
loadBalancingSettings | 이 Front Door 인스턴스와 연결된 부하 분산 설정입니다. | LoadBalancingSettingsModel[] |
routingRules | 이 Front Door와 연결된 라우팅 규칙입니다. | RoutingRule[] |
BackendPool
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 백 엔드 풀의 속성 | BackendPoolProperties |
BackendPoolProperties
Name | Description | 값 |
---|---|---|
백엔드 | 이 풀의 백 엔드 집합 | 백 엔드[] |
healthProbeSettings | 백 엔드 풀에 대한 L7 상태 프로브 설정 | SubResource |
loadBalancingSettings | 백 엔드 풀에 대한 부하 분산 설정 | SubResource |
백 엔드
Name | Description | 값 |
---|---|---|
address | 백 엔드의 위치(IP 주소 또는 FQDN) | 문자열 |
backendHostHeader | 백 엔드에 전송되는 호스트 헤더로 사용할 값입니다. 비어 있거나 지정되지 않은 경우 기본적으로 들어오는 호스트로 설정됩니다. | string |
enabledState | 이 백 엔드의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | '사용 안 함' '사용' |
httpPort | HTTP TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
httpsPort | HTTPS TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
priority | 부하 분산에 사용할 우선 순위입니다. 우선 순위가 낮은 백 엔드가 정상인 경우 더 높은 우선 순위는 부하 분산에 사용되지 않습니다. | int |
체중 | 부하 분산을 위한 이 엔드포인트의 가중치입니다. | int |
SubResource
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | string |
BackendPoolsSettings
Name | Description | 값 |
---|---|---|
enforceCertificateNameCheck | 모든 백 엔드 풀에 HTTPS 요청에 인증서 이름 검사 적용할지 여부입니다. HTTPS가 아닌 요청에는 영향을 주지 않습니다. | '사용 안 함' '사용' |
FrontendEndpoint
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 프런트 엔드 엔드포인트의 속성 | FrontendEndpointProperties |
FrontendEndpointProperties
Name | Description | 값 |
---|---|---|
hostName | frontendEndpoint의 호스트 이름입니다. 도메인 이름이어야 합니다. | 문자열 |
sessionAffinityEnabledState | 이 호스트에서 세션 선호도를 허용할지 여부입니다. 유효한 옵션은 '사용' 또는 '사용 안 함'입니다. | '사용 안 함' '사용' |
sessionAffinityTtlSeconds | 하지 않는. 이 필드를 무시합니다. 해당하는 경우 세션 선호도에 사용할 TTL(초 단위)입니다. | int |
webApplicationFirewallPolicyLink | 각 호스트에 대한 Web Application Firewall 정책을 정의합니다(해당하는 경우). | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | string |
HealthProbeSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 상태 프로브 설정의 속성 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
Name | Description | 값 |
---|---|---|
intervalInSeconds | 상태 프로브 간격(초)입니다. | int |
path | 상태 프로브에 사용할 경로입니다. 기본값은 /입니다. | string |
protocol | 이 프로브에 사용할 프로토콜 체계 | 'Http' 'Https' |
LoadBalancingSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 부하 분산 설정의 속성 | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
Name | Description | 값 |
---|---|---|
additionalLatencyMilliseconds | 프로브가 가장 낮은 대기 시간 버킷에 속하는 추가 대기 시간(밀리초) | int |
sampleSize | 부하 분산 결정에 고려할 샘플 수 | int |
successfulSamplesRequired | 성공해야 하는 샘플 기간 내의 샘플 수 | int |
RoutingRule
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 라우팅 규칙의 속성 | RoutingRuleProperties |
RoutingRuleProperties
Name | Description | 값 |
---|---|---|
acceptedProtocols | 이 규칙과 일치하는 프로토콜 체계 | 다음 중 어느 것을 포함하는 문자열 배열: 'Http' 'Https' |
enabledState | 이 규칙의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | '사용 안 함' '사용' |
frontendEndpoints | 이 규칙과 연결된 프런트 엔드 엔드포인트 | SubResource[] |
patternsToMatch | 규칙의 경로 패턴입니다. | string[] |
routeConfiguration | 라우팅 구성에 대한 참조입니다. | RouteConfiguration |
RouteConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | 개체 형식 설정 |
#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (필수) |
ForwardingConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'(필수) | |
backendPool | 이 규칙이 라우팅하는 BackendPool에 대한 참조입니다. | SubResource |
cacheConfiguration | 이 규칙과 연결된 캐싱 구성입니다. | CacheConfiguration |
customForwardingPath | 이 규칙과 일치하는 리소스 경로를 다시 작성하는 데 사용되는 사용자 지정 경로입니다. 들어오는 경로를 사용하려면 비워 둡니다. | 문자열 |
forwardingProtocol | 이 규칙이 트래픽을 백 엔드로 전달할 때 사용하는 프로토콜입니다. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
CacheConfiguration
Name | Description | 값 |
---|---|---|
dynamicCompression | 캐시된 콘텐츠에 동적 압축을 사용할지 여부 | 'Disabled' 'Enabled' |
queryParameterStripDirective | 캐시 키를 구성할 때 URL 쿼리 용어 처리 | 'StripAll' 'StripNone' |
RedirectConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'(필수) | |
customFragment | 리디렉션 URL에 추가할 조각입니다. 조각은 #다음에 오는 URL의 일부입니다. #을 포함하지 마세요. | 문자열 |
customHost | 리디렉션할 호스트입니다. 들어오는 호스트를 대상 호스트로 사용하려면 비워 둡니다. | string |
customPath | 리디렉션할 전체 경로입니다. 경로는 비워 둘 수 없으며 /로 시작해야 합니다. 들어오는 경로를 대상 경로로 사용하려면 비워 둡니다. | string |
customQueryString | 리디렉션 URL에 배치할 쿼리 문자열 집합입니다. 이 값을 설정하면 기존 쿼리 문자열이 대체됩니다. 들어오는 쿼리 문자열을 유지하려면 비워 둡니다. 쿼리 문자열은 {key}={value} 형식이어야 합니다. 첫 번째 ? 및 & 자동으로 추가되므로 앞에 포함하지 않고 여러 쿼리 문자열을 & 구분합니다. | string |
redirectProtocol | 트래픽이 리디렉션되는 대상의 프로토콜입니다. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
redirectType | 트래픽을 리디렉션할 때 규칙이 사용할 리디렉션 유형입니다. | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 종류를 배포합니다.
템플릿 | Description |
---|---|
Azure API Management 앞에서 Azure Front Door 만들기 |
이 샘플에서는 Azure API Management 앞에서 Azure Front Door를 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
기본 Front Door 만들기 |
이 템플릿은 단일 백 엔드를 사용하여 기본 Front Door 구성을 만듭니다. |
특정 경로에 대해 캐싱이 사용되도록 설정된 Front Door 만들기 |
이 템플릿은 정의된 라우팅 구성에 대해 캐싱을 사용하도록 설정된 Front Door를 만들어 워크로드에 대한 정적 자산을 캐싱합니다. |
여러 백 엔드 및 백 엔드 풀이 있는 Front Door 만들기 |
이 템플릿은 백 엔드 풀의 여러 백 엔드 및 URL 경로에 따라 백 엔드 풀 간에 부하 분산이 구성된 Front Door를 만듭니다. |
HTTP에서 HTTPS로 리디렉션을 사용하여 Front Door 만들기 |
이 템플릿은 HTTP에서 HTTPS로 리디렉션하기 위한 Front Door 구성을 만듭니다. |
Front Door를 사용하여 사용자 지정 도메인 및 관리되는 인증서 추가 |
이 템플릿은 Front Door를 사용하여 사용자 지정 도메인을 온보딩하고 보호합니다. |
Front Door를 사용하여 사용자 지정 도메인 및 사용자 지정 인증서 추가 |
이 템플릿은 고객 관리형 인증서를 사용하여 Front Door를 사용하여 사용자 지정 도메인을 온보딩하고 보호합니다. |
Front Door에서 백 엔드에 대한 상태 프로브 제어 |
이 템플릿은 프로브 경로 및 프로브가 전송되는 간격을 설정하여 상태 프로브 설정을 변경하도록 Front Door를 업데이트합니다. |
Active-Standby 구성을 사용하여 Front Door 만들기 |
이 템플릿은 Active-Standby 애플리케이션 토폴로지의 우선 순위 기반 라우팅을 보여 주는 Front Door를 만듭니다. |
Front Door 호스트 이름에 대한 세션 선호도 구성 |
이 템플릿은 Front Door를 업데이트하여 프런트 엔드 호스트에 대한 세션 선호도를 사용하도록 설정하여 동일한 사용자 세션에서 동일한 백 엔드로 후속 트래픽을 보냅니다. |
ARM 템플릿 리소스 정의
frontDoors 리소스 종류는 다음을 위해 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령을 참조하세요.
각 API 버전에서 변경된 속성 목록은 변경 로그를 참조하세요.
리소스 형식
Microsoft.Network/frontDoors 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.Network/frontDoors",
"apiVersion": "2019-04-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"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"
속성 값
frontDoors
Name | Description | 값 |
---|---|---|
형식 | 리소스 종류 | 'Microsoft.Network/frontDoors' |
apiVersion | 리소스 api 버전 | '2019-04-01' |
name | 리소스 이름 | string(필수) 문자 제한: 5-64 유효한 문자: 영숫자 및 하이픈 영숫자로 시작하고 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치. | 문자열 |
tags | 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿의 태그를 참조하세요. |
properties | Front Door Load Balancer 속성 | FrontDoorProperties |
FrontDoorProperties
Name | Description | 값 |
---|---|---|
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[] |
BackendPool
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 백 엔드 풀의 속성 | BackendPoolProperties |
BackendPoolProperties
Name | Description | 값 |
---|---|---|
백엔드 | 이 풀의 백 엔드 집합 | 백 엔드[] |
healthProbeSettings | 백 엔드 풀에 대한 L7 상태 프로브 설정 | SubResource |
loadBalancingSettings | 백 엔드 풀에 대한 부하 분산 설정 | SubResource |
백 엔드
Name | Description | 값 |
---|---|---|
address | 백 엔드의 위치(IP 주소 또는 FQDN) | 문자열 |
backendHostHeader | 백 엔드에 전송되는 호스트 헤더로 사용할 값입니다. 비어 있거나 지정되지 않은 경우 이 기본값은 들어오는 호스트로 설정됩니다. | string |
enabledState | 이 백 엔드의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | 'Disabled' 'Enabled' |
httpPort | HTTP TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
httpsPort | HTTPS TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
priority | 부하 분산에 사용할 우선 순위입니다. 우선 순위가 낮은 백 엔드가 정상인 경우 더 높은 우선 순위는 부하 분산에 사용되지 않습니다. | int |
체중 | 부하 분산을 위한 이 엔드포인트의 가중치입니다. | int |
SubResource
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
BackendPoolsSettings
Name | Description | 값 |
---|---|---|
enforceCertificateNameCheck | 모든 백 엔드 풀에 HTTPS 요청에 인증서 이름 검사 적용할지 여부입니다. HTTPS가 아닌 요청에는 영향을 주지 않습니다. | '사용 안 함' '사용' |
FrontendEndpoint
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 프런트 엔드 엔드포인트의 속성 | FrontendEndpointProperties |
FrontendEndpointProperties
Name | Description | 값 |
---|---|---|
hostName | frontendEndpoint의 호스트 이름입니다. 도메인 이름이어야 합니다. | 문자열 |
sessionAffinityEnabledState | 이 호스트에서 세션 선호도를 허용할지 여부입니다. 유효한 옵션은 '사용' 또는 '사용 안 함'입니다. | '사용 안 함' '사용' |
sessionAffinityTtlSeconds | 하지 않는. 이 필드를 무시합니다. 해당하는 경우 세션 선호도에 사용할 TTL(초 단위)입니다. | int |
webApplicationFirewallPolicyLink | 각 호스트에 대한 Web Application Firewall 정책을 정의합니다(해당하는 경우). | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
HealthProbeSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 상태 프로브 설정의 속성 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
Name | Description | 값 |
---|---|---|
intervalInSeconds | 상태 프로브 간격(초)입니다. | int |
path | 상태 프로브에 사용할 경로입니다. 기본값은 /입니다. | string |
protocol | 이 프로브에 사용할 프로토콜 체계 | 'Http' 'Https' |
LoadBalancingSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 부하 분산 설정의 속성 | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
Name | Description | 값 |
---|---|---|
additionalLatencyMilliseconds | 프로브가 가장 낮은 대기 시간 버킷에 속하는 추가 대기 시간(밀리초) | int |
sampleSize | 부하 분산 결정에 고려할 샘플 수 | int |
successfulSamplesRequired | 성공해야 하는 샘플 기간 내의 샘플 수 | int |
RoutingRule
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 라우팅 규칙의 속성 | RoutingRuleProperties |
RoutingRuleProperties
Name | Description | 값 |
---|---|---|
acceptedProtocols | 이 규칙과 일치하는 프로토콜 체계 | 다음 중 어느 것을 포함하는 문자열 배열: 'Http' 'Https' |
enabledState | 이 규칙의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | '사용 안 함' '사용' |
frontendEndpoints | 이 규칙과 연결된 프런트 엔드 엔드포인트 | SubResource[] |
patternsToMatch | 규칙의 경로 패턴입니다. | string[] |
routeConfiguration | 라우팅 구성에 대한 참조입니다. | RouteConfiguration |
RouteConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | 개체 형식 설정 |
#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (필수) |
ForwardingConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'(필수) | |
backendPool | 이 규칙이 라우팅하는 BackendPool에 대한 참조입니다. | SubResource |
cacheConfiguration | 이 규칙과 연결된 캐싱 구성입니다. | CacheConfiguration |
customForwardingPath | 이 규칙과 일치하는 리소스 경로를 다시 작성하는 데 사용되는 사용자 지정 경로입니다. 들어오는 경로를 사용하려면 비워 둡니다. | 문자열 |
forwardingProtocol | 이 규칙이 트래픽을 백 엔드로 전달할 때 사용하는 프로토콜입니다. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
CacheConfiguration
Name | Description | 값 |
---|---|---|
dynamicCompression | 캐시된 콘텐츠에 동적 압축을 사용할지 여부 | '사용 안 함' '사용' |
queryParameterStripDirective | 캐시 키를 구성할 때 URL 쿼리 용어 처리 | 'StripAll' 'StripNone' |
RedirectConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'(필수) | |
customFragment | 리디렉션 URL에 추가할 조각입니다. 조각은 #다음에 오는 URL의 일부입니다. #을 포함하지 마세요. | 문자열 |
customHost | 리디렉션할 호스트입니다. 들어오는 호스트를 대상 호스트로 사용하려면 비워 둡니다. | 문자열 |
customPath | 리디렉션할 전체 경로입니다. 경로는 비어 있을 수 없으며 /로 시작해야 합니다. 들어오는 경로를 대상 경로로 사용하려면 비워 둡니다. | string |
customQueryString | 리디렉션 URL에 배치할 쿼리 문자열 집합입니다. 이 값을 설정하면 기존 쿼리 문자열이 대체됩니다. 들어오는 쿼리 문자열을 유지하려면 비워 둡니다. 쿼리 문자열은 {key}={value} 형식이어야 합니다. 첫 번째 ? 및 & 자동으로 추가되므로 앞에 포함하지 말고 여러 쿼리 문자열을 & 구분합니다. | 문자열 |
redirectProtocol | 트래픽이 리디렉션되는 대상의 프로토콜입니다. | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
redirectType | 트래픽을 리디렉션할 때 규칙이 사용할 리디렉션 유형입니다. | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플릿 | Description |
---|---|
Azure API Management 앞에서 Azure Front Door 만들기 |
이 샘플에서는 Azure Front Door를 Azure API Management 앞에서 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
기본 Front Door 만들기 |
이 템플릿은 단일 백 엔드를 사용하여 기본 Front Door 구성을 만듭니다. |
특정 경로에 대해 캐싱이 사용되도록 설정된 Front Door 만들기 |
이 템플릿은 정의된 라우팅 구성에 대해 캐싱을 사용하도록 설정된 Front Door를 만들어 워크로드에 대한 정적 자산을 캐싱합니다. |
여러 백 엔드 및 백 엔드 풀이 있는 Front Door 만들기 |
이 템플릿은 백 엔드 풀의 여러 백 엔드 및 URL 경로에 따라 백 엔드 풀 간에 부하 분산이 구성된 Front Door를 만듭니다. |
HTTP에서 HTTPS로 리디렉션을 사용하여 Front Door 만들기 |
이 템플릿은 HTTP에서 HTTPS로 리디렉션을 위한 Front Door 구성을 만듭니다. |
Front Door를 사용하여 사용자 지정 도메인 및 관리되는 인증서 추가 |
이 템플릿은 Front Door를 사용하여 사용자 지정 도메인을 온보딩하고 보호합니다. |
Front Door를 사용하여 사용자 지정 도메인 및 사용자 지정 인증서 추가 |
이 템플릿은 고객 관리 인증서를 사용하여 Front Door를 사용하여 사용자 지정 도메인을 온보딩하고 보호합니다. |
Front Door에서 백 엔드에 대한 상태 프로브 제어 |
이 템플릿은 프로브 경로 및 프로브가 전송되는 간격을 설정하여 상태 프로브 설정을 변경하도록 Front Door를 업데이트합니다. |
Active-Standby 구성을 사용하여 Front Door 만들기 |
이 템플릿은 Active-Standby 애플리케이션 토폴로지의 우선 순위 기반 라우팅을 보여 주는 Front Door를 만듭니다. |
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"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
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"
속성 값
frontDoors
Name | Description | 값 |
---|---|---|
형식 | 리소스 종류 | "Microsoft.Network/frontDoors@2019-04-01" |
name | 리소스 이름 | string(필수) 문자 제한: 5-64 유효한 문자: 영숫자 및 하이픈 영숫자로 시작하고 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치. | 문자열 |
parent_id | 리소스 그룹에 배포하려면 해당 리소스 그룹의 ID를 사용합니다. | string(필수) |
tags | 리소스 태그. | 태그 이름 및 값의 사전입니다. |
properties | Front Door Load Balancer 속성 | FrontDoorProperties |
FrontDoorProperties
Name | Description | 값 |
---|---|---|
backendPools | 라우팅 규칙에 사용할 수 있는 백 엔드 풀입니다. | BackendPool[] |
backendPoolsSettings | 모든 backendPools에 대한 설정 | BackendPoolsSettings |
enabledState | Front Door 부하 분산 장치의 선택적 상태입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | "사용 안 함" "사용" |
friendlyName | frontDoor의 이름 | string |
frontendEndpoints | 라우팅 규칙에 사용할 수 있는 프런트 엔드 엔드포인트입니다. | FrontendEndpoint[] |
healthProbeSettings | 이 Front Door 인스턴스와 연결된 상태 프로브 설정입니다. | HealthProbeSettingsModel[] |
loadBalancingSettings | 이 Front Door 인스턴스와 연결된 부하 분산 설정입니다. | LoadBalancingSettingsModel[] |
routingRules | 이 Front Door와 연결된 라우팅 규칙입니다. | RoutingRule[] |
BackendPool
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 백 엔드 풀의 속성 | BackendPoolProperties |
BackendPoolProperties
Name | Description | 값 |
---|---|---|
백엔드 | 이 풀의 백 엔드 집합 | 백 엔드[] |
healthProbeSettings | 백 엔드 풀에 대한 L7 상태 프로브 설정 | SubResource |
loadBalancingSettings | 백 엔드 풀에 대한 부하 분산 설정 | SubResource |
백 엔드
Name | Description | 값 |
---|---|---|
address | 백 엔드의 위치(IP 주소 또는 FQDN) | 문자열 |
backendHostHeader | 백 엔드에 전송되는 호스트 헤더로 사용할 값입니다. 비어 있거나 지정되지 않은 경우 이 기본값은 들어오는 호스트로 설정됩니다. | string |
enabledState | 이 백 엔드의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | "사용 안 함" "사용" |
httpPort | HTTP TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
httpsPort | HTTPS TCP 포트 번호입니다. 1~65535 사이여야 합니다. | int |
priority | 부하 분산에 사용할 우선 순위입니다. 우선 순위가 낮은 백 엔드가 정상인 경우 더 높은 우선 순위는 부하 분산에 사용되지 않습니다. | int |
체중 | 부하 분산을 위한 이 엔드포인트의 가중치입니다. | int |
SubResource
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | string |
BackendPoolsSettings
Name | Description | 값 |
---|---|---|
enforceCertificateNameCheck | 모든 백 엔드 풀에 HTTPS 요청에 인증서 이름 검사 적용할지 여부입니다. HTTPS가 아닌 요청에는 영향을 주지 않습니다. | "사용 안 함" "사용" |
FrontendEndpoint
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 프런트 엔드 엔드포인트의 속성 | FrontendEndpointProperties |
FrontendEndpointProperties
Name | Description | 값 |
---|---|---|
hostName | frontendEndpoint의 호스트 이름입니다. 도메인 이름이어야 합니다. | 문자열 |
sessionAffinityEnabledState | 이 호스트에서 세션 선호도를 허용할지 여부입니다. 유효한 옵션은 '사용' 또는 '사용 안 함'입니다. | "사용 안 함" "사용" |
sessionAffinityTtlSeconds | 하지 않는. 이 필드를 무시합니다. 해당하는 경우 세션 선호도에 사용할 TTL(초 단위)입니다. | int |
webApplicationFirewallPolicyLink | 각 호스트에 대한 Web Application Firewall 정책을 정의합니다(해당하는 경우). | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | string |
HealthProbeSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 상태 프로브 설정의 속성 | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
Name | Description | 값 |
---|---|---|
intervalInSeconds | 상태 프로브 간격(초)입니다. | int |
path | 상태 프로브에 사용할 경로입니다. 기본값은 /입니다. | string |
protocol | 이 프로브에 사용할 프로토콜 체계 | "Http" "Https" |
LoadBalancingSettingsModel
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | 부하 분산 설정의 속성 | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
Name | Description | 값 |
---|---|---|
additionalLatencyMilliseconds | 프로브가 가장 낮은 대기 시간 버킷에 속하는 추가 대기 시간(밀리초) | int |
sampleSize | 부하 분산 결정에 고려할 샘플 수 | int |
successfulSamplesRequired | 성공해야 하는 샘플 기간 내의 샘플 수 | int |
RoutingRule
Name | Description | 값 |
---|---|---|
id | 리소스 ID입니다. | 문자열 |
name | 리소스 이름입니다. | 문자열 |
properties | Front Door 라우팅 규칙의 속성 | RoutingRuleProperties |
RoutingRuleProperties
Name | Description | 값 |
---|---|---|
acceptedProtocols | 이 규칙과 일치하는 프로토콜 체계 | 다음 중 어느 것을 포함하는 문자열 배열: "Http" "Https" |
enabledState | 이 규칙의 사용을 활성화할지 여부입니다. 허용되는 값은 'Enabled' 또는 'Disabled'입니다. | "사용 안 함" "사용" |
frontendEndpoints | 이 규칙과 연결된 프런트 엔드 엔드포인트 | SubResource[] |
patternsToMatch | 규칙의 경로 패턴입니다. | string[] |
routeConfiguration | 라우팅 구성에 대한 참조입니다. | RouteConfiguration |
RouteConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | 개체 형식 설정 |
#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (필수) |
ForwardingConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"(필수) | |
backendPool | 이 규칙이 라우팅하는 BackendPool에 대한 참조입니다. | SubResource |
cacheConfiguration | 이 규칙과 연결된 캐싱 구성입니다. | CacheConfiguration |
customForwardingPath | 이 규칙과 일치하는 리소스 경로를 다시 작성하는 데 사용되는 사용자 지정 경로입니다. 들어오는 경로를 사용하려면 비워 둡니다. | string |
forwardingProtocol | 이 규칙이 트래픽을 백 엔드로 전달할 때 사용하는 프로토콜입니다. | "HttpOnly" "HttpsOnly" "MatchRequest" |
CacheConfiguration
Name | Description | 값 |
---|---|---|
dynamicCompression | 캐시된 콘텐츠에 동적 압축을 사용할지 여부 | "사용 안 함" "사용" |
queryParameterStripDirective | 캐시 키를 구성할 때 URL 쿼리 용어 처리 | "StripAll" "StripNone" |
RedirectConfiguration
Name | Description | 값 |
---|---|---|
@odata.type | "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"(필수) | |
customFragment | 리디렉션 URL에 추가할 조각입니다. 조각은 #다음에 오는 URL의 일부입니다. #을 포함하지 마세요. | string |
customHost | 리디렉션할 호스트입니다. 들어오는 호스트를 대상 호스트로 사용하려면 비워 둡니다. | 문자열 |
customPath | 리디렉션할 전체 경로입니다. 경로는 비어 있을 수 없으며 /로 시작해야 합니다. 들어오는 경로를 대상 경로로 사용하려면 비워 둡니다. | 문자열 |
customQueryString | 리디렉션 URL에 배치할 쿼리 문자열 집합입니다. 이 값을 설정하면 기존 쿼리 문자열이 대체됩니다. 들어오는 쿼리 문자열을 유지하려면 비워 둡니다. 쿼리 문자열은 {key}={value} 형식이어야 합니다. 첫 번째 ? 및 & 자동으로 추가되므로 앞에 포함하지 말고 여러 쿼리 문자열을 & 구분합니다. | 문자열 |
redirectProtocol | 트래픽이 리디렉션되는 대상의 프로토콜입니다. | "HttpOnly" "HttpsOnly" "MatchRequest" |
redirectType | 트래픽을 리디렉션할 때 규칙이 사용할 리디렉션 유형입니다. | "찾을 수 있습니다." "이동됨" "PermanentRedirect" "TemporaryRedirect" |