Microsoft.Network frontDoors

Bicep リソース定義

frontDoors リソースの種類は、次をターゲットとする操作と共にデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Network/frontDoors リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.Network/frontDoors@2021-06-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 リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
privateLinkApprovalMessage Private Link に接続するための承認要求に含めるカスタム メッセージ
privateLinkLocation Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必要です
privateLinkResourceId Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
重量 負荷分散を目的としたこのエンドポイントの重み。 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 では、値が 1 年以下である必要があります
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 で定義されているバックエンドに対して正常性プローブを有効にするかどうかを指定します。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 '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 を作成する このテンプレートでは、1 つのバックエンドで基本的な Front Door 構成を作成します。
HTTP から HTTPS へのリダイレクトを使用して Front Door を作成 このテンプレートは、HTTP から HTTPS へのリダイレクト用の Front Door 構成を作成します。

ARM テンプレート リソース定義

frontDoors リソースの種類は、次をターゲットとする操作と共にデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Network/frontDoors リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.Network/frontDoors",
  "apiVersion": "2021-06-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 リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
privateLinkApprovalMessage Private Link に接続するための承認要求に含めるカスタム メッセージ
privateLinkLocation Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必要です
privateLinkResourceId Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
重量 負荷分散を目的としたこのエンドポイントの重み。 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 では、値が 1 年以下である必要があります
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 で定義されているバックエンドに対して正常性プローブを有効にするかどうかを指定します。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 '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 のバージョン '2021-06-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
にデプロイする
このテンプレートでは、1 つのバックエンドで基本的な Front Door 構成を作成します。
HTTP から HTTPS へのリダイレクトを使用して Front Door を作成

Azure にデプロイする
このテンプレートは、HTTP から HTTPS へのリダイレクト用の Front Door 構成を作成します。
複数のバックエンドとバックエンド プールを含む Front Door を作成する

Azure にデプロイする
このテンプレートでは、バックエンド プール内の複数のバックエンド用に構成された負荷分散と、URL パスに基づくバックエンド プール間で負荷分散が構成された Front Door が作成されます。
Azure API Management の前に Azure Front Door を作成する

Azure
にデプロイする
このサンプルでは、Azure API Management の前でグローバル ロード バランサーとして Azure Front Door を使用する方法を示します。
構成 を使用して Front Door Active-Standby 作成する

Azure にデプロイする
このテンプレートは、Active-Standby アプリケーション トポロジの優先順位ベースのルーティングを示す Front Door を作成します。
特定のルートに対してキャッシュを有効にして Front Door を作成

Azure にデプロイする
このテンプレートは、定義されたルーティング構成に対してキャッシュが有効になっている 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"
  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"
            }
          }
        }
      ]
    }
  })
  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 リソースのエイリアス。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
privateLinkApprovalMessage Private Link に接続するための承認要求に含めるカスタム メッセージ
privateLinkLocation Private Link リソースの場所。 'privateLinkResourceId' が設定されている場合にのみ必要です
privateLinkResourceId Private Link リソースのリソース ID。 この省略可能なフィールドに値を設定すると、このバックエンドが 'Private' であることを示します
重量 負荷分散を目的としたこのエンドポイントの重み。 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 では、値が 1 年以下である必要があります
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 で定義されているバックエンドに対して正常性プローブを有効にするかどうかを指定します。 正常性プローブを無効にできるのは、1 つの有効なバックエンド プールに 1 つの有効なバックエンドがある場合のみです。 '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@2021-06-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。