Microsoft.Network frontDoors 2021-06-01
Bicep リソース定義
frontDoors リソースの種類は、次の対象にデプロイできます。
- リソース グループ - リソース グループのデプロイ コマンドを参照してください
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
リソース形式
Microsoft.Network/frontDoors リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Network/frontDoors@2021-06-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
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'
プロパティ値
frontDoors
名前 | 説明 | 値 |
---|---|---|
name | リソース名 | string (必須) 文字制限: 5 から 64 有効な文字: 英数字とハイフン。 先頭と末尾には英数字を使用します。 リソース名は、Azure 全体で一意である必要があります。 |
location | リソースの場所。 | string |
tags | リソース タグ。 | タグの名前と値のディクショナリ。 「テンプレート内のタグ」を参照してください |
properties | Front Door Load Balancerのプロパティ | FrontDoorProperties |
FrontDoorProperties
名前 | 説明 | 値 |
---|---|---|
backendPools | ルーティング規則で使用できるバックエンド プール。 | BackendPool[] |
backendPoolsSettings | すべての backendPools の設定 | BackendPoolsSettings |
enabledState | Front Door ロード バランサーの運用状態。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
friendlyName | frontDoor のフレンドリ名 | string |
frontendEndpoints | ルーティング規則で使用できるフロントエンド エンドポイント。 | FrontendEndpoint[] |
healthProbeSettings | この Front Door インスタンスに関連付けられている正常性プローブの設定。 | HealthProbeSettingsModel[] |
loadBalancingSettings | この Front Door インスタンスに関連付けられている負荷分散の設定。 | LoadBalancingSettingsModel[] |
routingRules | この Front Door に関連付けられているルーティング規則。 | RoutingRule[] |
BackendPool
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door バックエンド プールのプロパティ | BackendPoolProperties |
BackendPoolProperties
名前 | 説明 | 値 |
---|---|---|
バックエンド | このプールのバックエンドのセット | Backend[] |
healthProbeSettings | バックエンド プールの L7 正常性プローブ設定 | サブリソース |
loadBalancingSettings | バックエンド プールの負荷分散設定 | サブリソース |
バックエンド
名前 | 説明 | 値 |
---|---|---|
address | バックエンドの場所 (IP または FQDN)。 | string |
backendHostHeader | バックエンドに送信するホスト ヘッダーとして使用する値。 空白または指定されていない場合、これは既定で受信ホストに設定されます。 | string |
enabledState | このバックエンドの使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
httpPort | HTTP TCP のポート番号。 1 から 65535 の間である必要があります。 | INT |
httpsPort | HTTPS の TCP ポート番号。 1 から 65535 の間である必要があります。 | INT |
priority | 負荷分散の優先順位。 優先順位の低いバックエンドが正常な場合、より高い優先順位は負荷分散には使用されません。 | INT |
privateLinkAlias | Private Link リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
privateLinkApprovalMessage | Private Linkに接続するための承認要求に含めるカスタム メッセージ | string |
privateLinkLocation | Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必須 | string |
privateLinkResourceId | Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
weight | 負荷分散のためのこのエンドポイントの重み。 | INT |
サブリソース
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
BackendPoolsSettings
名前 | 説明 | 値 |
---|---|---|
enforceCertificateNameCheck | すべてのバックエンド プールに対して HTTPS 要求に証明書名チェックを適用するかどうか。 HTTPS 以外の要求には影響しません。 | 'Disabled' 'Enabled' |
sendRecvTimeoutSeconds | バックエンドへの要求の転送時にタイムアウトを送受信します。 タイムアウトに達すると、要求は失敗し、 が返されます。 | INT |
FrontendEndpoint
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | フロントエンド エンドポイントのプロパティ | FrontendEndpointProperties |
FrontendEndpointProperties
名前 | 説明 | 値 |
---|---|---|
hostName | frontendEndpoint のホスト名。 ドメイン名を指定してください。 | string |
sessionAffinityEnabledState | このホスト上のセッション アフィニティを許可するかどうか。 有効なオプションは 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
sessionAffinityTtlSeconds | 未使用。 このフィールドは無視されます。 セッション アフィニティで使用する TTL (秒) (該当する場合)。 | INT |
webApplicationFirewallPolicyLink | 各ホストのWeb Application Firewall ポリシーを定義します (該当する場合) | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
HealthProbeSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 正常性プローブ設定のプロパティ | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名前 | 説明 | 値 |
---|---|---|
enabledState | backendPools で定義されたバックエンドに対して正常性プローブを有効にするかどうか。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 | 'Disabled' 'Enabled' |
healthProbeMethod | backendPools で定義されているバックエンドをプローブするために使用する HTTP メソッドを構成します。 | 'GET' 'HEAD' |
intervalInSeconds | 正常性プローブ間の秒数。 | INT |
path | 正常性プローブに使用するパス。 既定は /。 | string |
protocol | このプローブに使用するプロトコル スキーム | 'Http' 'Https' |
LoadBalancingSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 負荷分散設定のプロパティ | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
名前 | 説明 | 値 |
---|---|---|
additionalLatencyMilliseconds | プローブが最も短い待機時間バケットに分類されるまでの追加の待機時間 (ミリ秒単位) | INT |
sampleSize | 負荷分散の決定に考慮するサンプルの数 | INT |
successfulSamplesRequired | 成功する必要があるサンプル期間内のサンプルの数 | INT |
RoutingRule
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door ルーティング規則のプロパティ | RoutingRuleProperties |
RoutingRuleProperties
名前 | 説明 | 値 |
---|---|---|
acceptedProtocols | この規則に一致するプロトコル スキーム | 次のいずれかを含む文字列配列: 'Http' 'Https' |
enabledState | この規則の使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
frontendEndpoints | このルールに関連付けられているフロントエンド エンドポイント | SubResource[] |
patternsToMatch | ルールのルート パターン。 | string[] |
routeConfiguration | ルーティング構成への参照。 | RouteConfiguration |
rulesEngine | このルートに適用する特定のルール エンジン構成への参照。 | サブリソース |
webApplicationFirewallPolicyLink | ルーティング規則ごとにWeb Application Firewall ポリシーを定義します (該当する場合) | RoutingRuleUpdateParametersWebApplicationFirewallPol... |
RouteConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | オブジェクトの種類を設定する | #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (必須) |
ForwardingConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (必須) | |
backendPool | この規則のルーティング先となる BackendPool への参照。 | サブリソース |
cacheConfiguration | この規則に関連付けられているキャッシュ構成。 | CacheConfiguration |
customForwardingPath | この規則に一致するリソース パスを書き換えるために使用されるカスタム パス。 受信パスを使用するには空のままにします。 | string |
forwardingProtocol | バックエンドにトラフィックを転送するときに、このルールが使用するプロトコル。 | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
CacheConfiguration
名前 | 説明 | 値 |
---|---|---|
cacheDuration | コンテンツをキャッシュする必要がある期間。 使用できる形式は ISO 8601 形式 (http://en.wikipedia.org/wiki/ISO_8601#Durations) です。 HTTP では、値は 1 年以下である必要があります | string |
dynamicCompression | キャッシュされたコンテンツに動的圧縮を使用するかどうか | 'Disabled' 'Enabled' |
queryParameters | を含めるか除外するクエリ パラメーター (コンマ区切り)。 | string |
queryParameterStripDirective | キャッシュ キーを形成するときの URL クエリ用語の処理。 | 'StripAll' 'StripAllExcept' 'StripNone' 'StripOnly' |
RedirectConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必須) | |
customFragment | リダイレクト URL に追加するフラグメント。 フラグメントは、#の後に来る URL の一部です。 #を含めないでください。 | string |
customHost | リダイレクトするホスト。 受信ホストを宛先ホストとして使用するには、空のままにします。 | string |
customPath | リダイレクトする完全なパス。 パスを空にすることはできず、/で始まる必要があります。 受信パスを宛先パスとして使用するには、空のままにします。 | string |
customQueryString | リダイレクト URL に配置するクエリ文字列のセット。 この値を設定すると、既存のクエリ文字列が置き換えられます。受信クエリ文字列を保持するには、空のままにします。 クエリ文字列は {key}={value} 形式である必要があります。 最初の ? と & は自動的に追加されるため、先頭に含めるのではなく、& を使用して複数のクエリ文字列を分離します。 | string |
redirectProtocol | トラフィックがリダイレクトされる宛先のプロトコル | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
redirectType | トラフィックのリダイレクト時にルールが使用するリダイレクトの種類。 | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' |
RoutingRuleUpdateParametersWebApplicationFirewallPol...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
Template | 説明 |
---|---|
Azure API Managementの前に Azure Front Door を作成する |
このサンプルでは、Azure Front Door を Azure API Managementの前でグローバル ロード バランサーとして使用する方法を示します。 |
基本的な Front Door の作成 |
このテンプレートは、1 つのバックエンドで基本的な 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": "2021-06-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",
"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"
プロパティ値
frontDoors
名前 | 説明 | 値 |
---|---|---|
type | リソースの種類 | 'Microsoft.Network/frontDoors' |
apiVersion | リソース API のバージョン | '2021-06-01' |
name | リソース名 | string (必須) 文字制限: 5 から 64 有効な文字: 英数字とハイフン。 先頭と末尾には英数字を使用します。 リソース名は、Azure 全体で一意である必要があります。 |
location | リソースの場所。 | string |
tags | リソース タグ。 | タグの名前と値のディクショナリ。 「テンプレート内のタグ」を参照してください |
properties | Front Door Load Balancerのプロパティ | FrontDoorProperties |
FrontDoorProperties
名前 | 説明 | 値 |
---|---|---|
backendPools | ルーティング規則で使用できるバックエンド プール。 | BackendPool[] |
backendPoolsSettings | すべての backendPools の設定 | BackendPoolsSettings |
enabledState | Front Door ロード バランサーの運用状態。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
friendlyName | frontDoor のフレンドリ名 | string |
frontendEndpoints | ルーティング規則で使用できるフロントエンド エンドポイント。 | FrontendEndpoint[] |
healthProbeSettings | この Front Door インスタンスに関連付けられている正常性プローブの設定。 | HealthProbeSettingsModel[] |
loadBalancingSettings | この Front Door インスタンスに関連付けられている負荷分散の設定。 | LoadBalancingSettingsModel[] |
routingRules | この Front Door に関連付けられているルーティング規則。 | RoutingRule[] |
BackendPool
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door バックエンド プールのプロパティ | BackendPoolProperties |
BackendPoolProperties
名前 | 説明 | 値 |
---|---|---|
バックエンド | このプールのバックエンドのセット | Backend[] |
healthProbeSettings | バックエンド プールの L7 正常性プローブ設定 | サブリソース |
loadBalancingSettings | バックエンド プールの負荷分散設定 | サブリソース |
バックエンド
名前 | 説明 | 値 |
---|---|---|
address | バックエンドの場所 (IP または FQDN)。 | string |
backendHostHeader | バックエンドに送信するホスト ヘッダーとして使用する値。 空白または指定されていない場合、これは既定で受信ホストに設定されます。 | string |
enabledState | このバックエンドの使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
httpPort | HTTP TCP のポート番号。 1 から 65535 の間である必要があります。 | INT |
httpsPort | HTTPS の TCP ポート番号。 1 から 65535 の間である必要があります。 | INT |
priority | 負荷分散の優先順位。 優先順位の低いバックエンドが正常な場合、より高い優先順位は負荷分散には使用されません。 | INT |
privateLinkAlias | Private Link リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
privateLinkApprovalMessage | Private Linkに接続するための承認要求に含めるカスタム メッセージ | string |
privateLinkLocation | Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必須 | string |
privateLinkResourceId | Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
weight | 負荷分散のためのこのエンドポイントの重み。 | INT |
サブリソース
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
BackendPoolsSettings
名前 | 説明 | 値 |
---|---|---|
enforceCertificateNameCheck | すべてのバックエンド プールに対して HTTPS 要求に証明書名チェックを適用するかどうか。 HTTPS 以外の要求には影響しません。 | 'Disabled' 'Enabled' |
sendRecvTimeoutSeconds | バックエンドへの要求の転送時にタイムアウトを送受信します。 タイムアウトに達すると、要求は失敗し、 が返されます。 | INT |
FrontendEndpoint
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | フロントエンド エンドポイントのプロパティ | FrontendEndpointProperties |
FrontendEndpointProperties
名前 | 説明 | 値 |
---|---|---|
hostName | frontendEndpoint のホスト名。 ドメイン名を指定してください。 | string |
sessionAffinityEnabledState | このホスト上のセッション アフィニティを許可するかどうか。 有効なオプションは 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
sessionAffinityTtlSeconds | 未使用。 このフィールドは無視されます。 セッション アフィニティで使用する TTL (秒) (該当する場合)。 | INT |
webApplicationFirewallPolicyLink | 各ホストのWeb Application Firewall ポリシーを定義します (該当する場合) | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
HealthProbeSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 正常性プローブ設定のプロパティ | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名前 | 説明 | 値 |
---|---|---|
enabledState | backendPools で定義されたバックエンドに対して正常性プローブを有効にするかどうか。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 | 'Disabled' 'Enabled' |
healthProbeMethod | backendPools で定義されているバックエンドをプローブするために使用する HTTP メソッドを構成します。 | 'GET' 'HEAD' |
intervalInSeconds | 正常性プローブ間の秒数。 | INT |
path | 正常性プローブに使用するパス。 既定は /。 | string |
protocol | このプローブに使用するプロトコル スキーム | 'Http' 'Https' |
LoadBalancingSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 負荷分散設定のプロパティ | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
名前 | 説明 | 値 |
---|---|---|
additionalLatencyMilliseconds | プローブが最も短い待機時間バケットに分類されるまでの追加の待機時間 (ミリ秒単位) | INT |
sampleSize | 負荷分散の決定に考慮するサンプルの数 | INT |
successfulSamplesRequired | 成功する必要があるサンプル期間内のサンプルの数 | INT |
RoutingRule
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door ルーティング規則のプロパティ | RoutingRuleProperties |
RoutingRuleProperties
名前 | 説明 | 値 |
---|---|---|
acceptedProtocols | この規則に一致するプロトコル スキーム | 次のいずれかを含む文字列配列: 'Http' 'Https' |
enabledState | この規則の使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | 'Disabled' 'Enabled' |
frontendEndpoints | このルールに関連付けられているフロントエンド エンドポイント | SubResource[] |
patternsToMatch | ルールのルート パターン。 | string[] |
routeConfiguration | ルーティング構成への参照。 | RouteConfiguration |
rulesEngine | このルートに適用する特定のルール エンジン構成への参照。 | サブリソース |
webApplicationFirewallPolicyLink | ルーティング規則ごとにWeb Application Firewall ポリシーを定義します (該当する場合) | RoutingRuleUpdateParametersWebApplicationFirewallPol... |
RouteConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | オブジェクトの種類を設定する | #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (必須) |
ForwardingConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (必須) | |
backendPool | この規則のルーティング先となる BackendPool への参照。 | サブリソース |
cacheConfiguration | この規則に関連付けられているキャッシュ構成。 | CacheConfiguration |
customForwardingPath | この規則に一致するリソース パスを書き換えるために使用されるカスタム パス。 受信パスを使用するには空のままにします。 | string |
forwardingProtocol | バックエンドにトラフィックを転送するときに、このルールが使用するプロトコル。 | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
CacheConfiguration
名前 | 説明 | 値 |
---|---|---|
cacheDuration | コンテンツをキャッシュする必要がある期間。 使用できる形式は ISO 8601 形式 (http://en.wikipedia.org/wiki/ISO_8601#Durations) です。 HTTP では、値は 1 年以下である必要があります | string |
dynamicCompression | キャッシュされたコンテンツに動的圧縮を使用するかどうか | 'Disabled' 'Enabled' |
queryParameters | を含めるか除外するクエリ パラメーター (コンマ区切り)。 | string |
queryParameterStripDirective | キャッシュ キーを形成するときの URL クエリ用語の処理。 | 'StripAll' 'StripAllExcept' 'StripNone' 'StripOnly' |
RedirectConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (必須) | |
customFragment | リダイレクト URL に追加するフラグメント。 フラグメントは、#の後に来る URL の一部です。 #を含めないでください。 | string |
customHost | リダイレクトするホスト。 受信ホストを宛先ホストとして使用するには、空のままにします。 | string |
customPath | リダイレクトする完全なパス。 パスを空にすることはできず、/で始まる必要があります。 受信パスを宛先パスとして使用するには、空のままにします。 | string |
customQueryString | リダイレクト URL に配置するクエリ文字列のセット。 この値を設定すると、既存のクエリ文字列が置き換えられます。受信クエリ文字列を保持するには、空のままにします。 クエリ文字列は {key}={value} 形式である必要があります。 最初の ? と & は自動的に追加されるため、先頭に含めるのではなく、& を使用して複数のクエリ文字列を分離します。 | string |
redirectProtocol | トラフィックがリダイレクトされる宛先のプロトコル | 'HttpOnly' 'HttpsOnly' 'MatchRequest' |
redirectType | トラフィックのリダイレクト時にルールが使用するリダイレクトの種類。 | 'Found' 'Moved' 'PermanentRedirect' 'TemporaryRedirect' |
RoutingRuleUpdateParametersWebApplicationFirewallPol...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
Template | 説明 |
---|---|
Azure API Managementの前に Azure Front Door を作成する |
このサンプルでは、Azure Front Door を Azure API Managementの前でグローバル ロード バランサーとして使用する方法を示します。 |
基本的な Front Door の作成 |
このテンプレートは、1 つのバックエンドで基本的な 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@2021-06-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
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"
プロパティ値
frontDoors
名前 | 説明 | 値 |
---|---|---|
type | リソースの種類 | "Microsoft.Network/frontDoors@2021-06-01" |
name | リソース名 | string (必須) 文字制限: 5 から 64 有効な文字: 英数字とハイフン。 先頭と末尾には英数字を使用します。 リソース名は、Azure 全体で一意である必要があります。 |
location | リソースの場所。 | string |
parent_id | リソース グループにデプロイするには、そのリソース グループの ID を使用します。 | string (必須) |
tags | リソース タグ。 | タグの名前と値のディクショナリ。 |
properties | Front Door Load Balancerのプロパティ | FrontDoorProperties |
FrontDoorProperties
名前 | 説明 | 値 |
---|---|---|
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
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door バックエンド プールのプロパティ | BackendPoolProperties |
BackendPoolProperties
名前 | 説明 | 値 |
---|---|---|
バックエンド | このプールのバックエンドのセット | Backend[] |
healthProbeSettings | バックエンド プールの L7 正常性プローブ設定 | サブリソース |
loadBalancingSettings | バックエンド プールの負荷分散設定 | サブリソース |
バックエンド
名前 | 説明 | 値 |
---|---|---|
address | バックエンドの場所 (IP または FQDN)。 | string |
backendHostHeader | バックエンドに送信するホスト ヘッダーとして使用する値。 空白または未指定の場合、これは既定で受信ホストに設定されます。 | string |
enabledState | このバックエンドの使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | "無効" "有効" |
httpPort | HTTP TCP のポート番号。 1 から 65535 の間である必要があります。 | INT |
httpsPort | HTTPS の TCP ポート番号。 1 から 65535 の間である必要があります。 | INT |
priority | 負荷分散の優先順位。 優先順位の低いバックエンドが正常な場合、負荷分散には優先度が高くなります。 | INT |
privateLinkAlias | Private Link リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
privateLinkApprovalMessage | Private Linkに接続するための承認要求に含めるカスタム メッセージ | string |
privateLinkLocation | Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必須 | string |
privateLinkResourceId | Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが "プライベート" であることを示します | string |
weight | 負荷分散のためのこのエンドポイントの重み。 | INT |
サブリソース
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
BackendPoolsSettings
名前 | 説明 | 値 |
---|---|---|
enforceCertificateNameCheck | すべてのバックエンド プールに対する HTTPS 要求に証明書名チェックを適用するかどうか。 HTTPS 以外の要求には影響しません。 | "無効" "有効" |
sendRecvTimeoutSeconds | バックエンドへの要求の転送時にタイムアウトを送受信します。 タイムアウトに達すると、要求は失敗し、返されます。 | INT |
FrontendEndpoint
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | フロントエンド エンドポイントのプロパティ | FrontendEndpointProperties |
FrontendEndpointProperties
名前 | 説明 | 値 |
---|---|---|
hostName | frontendEndpoint のホスト名。 ドメイン名を指定してください。 | string |
sessionAffinityEnabledState | このホスト上のセッション アフィニティを許可するかどうか。 有効なオプションは 、'Enabled' または 'Disabled' です | "無効" "有効" |
sessionAffinityTtlSeconds | 未使用。 このフィールドは無視されます。 セッション アフィニティで使用する TTL (秒) (該当する場合)。 | INT |
webApplicationFirewallPolicyLink | 各ホストのWeb Application Firewall ポリシーを定義します (該当する場合) | FrontendEndpointUpdateParametersWebApplicationFirewa... |
FrontendEndpointUpdateParametersWebApplicationFirewa...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
HealthProbeSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 正常性プローブ設定のプロパティ | HealthProbeSettingsProperties |
HealthProbeSettingsProperties
名前 | 説明 | 値 |
---|---|---|
enabledState | backendPools で定義されたバックエンドに対して正常性プローブを有効にするかどうか。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 | "無効" "有効" |
healthProbeMethod | backendPools で定義されているバックエンドをプローブするために使用する HTTP メソッドを構成します。 | "GET" "HEAD" |
intervalInSeconds | 正常性プローブ間の秒数。 | INT |
path | 正常性プローブに使用するパス。 既定は /。 | string |
protocol | このプローブに使用するプロトコル スキーム | "Http" "Https" |
LoadBalancingSettingsModel
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | 負荷分散設定のプロパティ | LoadBalancingSettingsProperties |
LoadBalancingSettingsProperties
名前 | 説明 | 値 |
---|---|---|
additionalLatencyMilliseconds | プローブが最も短い待機時間バケットに分類されるまでの追加の待機時間 (ミリ秒単位) | INT |
sampleSize | 負荷分散の決定に考慮するサンプルの数 | INT |
successfulSamplesRequired | 成功する必要があるサンプル期間内のサンプルの数 | INT |
RoutingRule
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |
name | リソース名。 | string |
properties | Front Door ルーティング規則のプロパティ | RoutingRuleProperties |
RoutingRuleProperties
名前 | 説明 | 値 |
---|---|---|
acceptedProtocols | この規則に一致するプロトコル スキーム | 次のいずれかを含む文字列配列: "Http" "Https" |
enabledState | この規則の使用を許可するかどうか。 許可される値は 'Enabled' または 'Disabled' です | "無効" "有効" |
frontendEndpoints | このルールに関連付けられているフロントエンド エンドポイント | SubResource[] |
patternsToMatch | ルールのルート パターン。 | string[] |
routeConfiguration | ルーティング構成への参照。 | RouteConfiguration |
rulesEngine | このルートに適用する特定のルール エンジン構成への参照。 | サブリソース |
webApplicationFirewallPolicyLink | ルーティング規則ごとにWeb Application Firewall ポリシーを定義します (該当する場合) | RoutingRuleUpdateParametersWebApplicationFirewallPol... |
RouteConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | オブジェクトの種類を設定する | #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (必須) |
ForwardingConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" (必須) | |
backendPool | この規則のルーティング先となる BackendPool への参照。 | サブリソース |
cacheConfiguration | この規則に関連付けられているキャッシュ構成。 | CacheConfiguration |
customForwardingPath | この規則に一致するリソース パスを書き換えるために使用されるカスタム パス。 受信パスを使用するには空のままにします。 | string |
forwardingProtocol | バックエンドにトラフィックを転送するときに、このルールが使用するプロトコル。 | "HttpOnly" "HttpsOnly" "MatchRequest" |
CacheConfiguration
名前 | 説明 | 値 |
---|---|---|
cacheDuration | コンテンツをキャッシュする必要がある期間。 使用できる形式は ISO 8601 形式 (http://en.wikipedia.org/wiki/ISO_8601#Durations) です。 HTTP では、値は 1 年以下である必要があります | string |
dynamicCompression | キャッシュされたコンテンツに動的圧縮を使用するかどうか | "無効" "有効" |
queryParameters | を含めるか除外するクエリ パラメーター (コンマ区切り)。 | string |
queryParameterStripDirective | キャッシュ キーを形成するときの URL クエリ用語の処理。 | "StripAll" "StripAllExcept" "StripNone" "StripOnly" |
RedirectConfiguration
名前 | 説明 | 値 |
---|---|---|
@odata.type | "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" (必須) | |
customFragment | リダイレクト URL に追加するフラグメント。 フラグメントは、#の後に来る URL の一部です。 #を含めないでください。 | string |
customHost | リダイレクトするホスト。 受信ホストを宛先ホストとして使用するには、空のままにします。 | string |
customPath | リダイレクトする完全なパス。 パスを空にすることはできず、/で始まる必要があります。 受信パスを宛先パスとして使用するには、空のままにします。 | string |
customQueryString | リダイレクト URL に配置するクエリ文字列のセット。 この値を設定すると、既存のクエリ文字列が置き換えられます。受信クエリ文字列を保持するには、空のままにします。 クエリ文字列は {key}={value} 形式である必要があります。 最初の ? と & は自動的に追加されるため、先頭に含めるのではなく、& を使用して複数のクエリ文字列を分離します。 | string |
redirectProtocol | トラフィックがリダイレクトされる宛先のプロトコル | "HttpOnly" "HttpsOnly" "MatchRequest" |
redirectType | トラフィックのリダイレクト時にルールが使用するリダイレクトの種類。 | "Found" "Moved" "PermanentRedirect" "TemporaryRedirect" |
RoutingRuleUpdateParametersWebApplicationFirewallPol...
名前 | 説明 | 値 |
---|---|---|
id | リソースの ID | string |