Microsoft.Network frontDoors

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 にデプロイする
このサンプルでは、Azure Front Door を Azure API Managementの前でグローバル ロード バランサーとして使用する方法を示します。
基本的な Front Door の作成

Azure にデプロイする
このテンプレートは、1 つのバックエンドで基本的な Front Door 構成を作成します。
特定のルートのキャッシュを有効にした Front Door の作成

Azure にデプロイする
このテンプレートでは、定義されたルーティング構成に対してキャッシュが有効になっている Front Door が作成されるため、ワークロードの静的資産がキャッシュされます。
複数のバックエンドとバックエンド プールを含む Front Door を作成する

Azure にデプロイする
このテンプレートは、バックエンド プール内の複数のバックエンドと、URL パスに基づいてバックエンド プール間で負荷分散が構成された Front Door を作成します。
HTTP から HTTPS へのリダイレクトを使用して Front Door を作成する

Azure にデプロイする
このテンプレートでは、HTTP から HTTPS へのリダイレクト用の Front Door 構成が作成されます。
Front Door を使用してカスタム ドメインとマネージド証明書を追加する

Azure にデプロイする
このテンプレートは、Front Door を使用してカスタム ドメインをオンボードしてセキュリティで保護します
Front Door を使用してカスタム ドメインとカスタム証明書を追加する

Azure にデプロイする
このテンプレートは、カスタマー マネージド証明書を使用して Front Door を使用してカスタム ドメインをオンボードしてセキュリティで保護します
Front Door のバックエンドの正常性プローブのコントロール

Azure にデプロイする
このテンプレートは、Front Door を更新して、プローブ パスとプローブの送信間隔を設定して正常性プローブの設定を変更します。
Active-Standby 構成を使用して Front Door を作成する

Azure にデプロイする
このテンプレートは、Active-Standby アプリケーション トポロジの優先順位ベースのルーティングを示す Front Door を作成します。
Front Door のホスト名のセッション アフィニティの構成

Azure にデプロイする
このテンプレートは、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 Front Door を Azure API Managementの前に作成する

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

Azure にデプロイする
このテンプレートでは、1 つのバックエンドで基本的な Front Door 構成を作成します。
特定のルートのキャッシュを有効にした Front Door の作成

Azure にデプロイする
このテンプレートでは、定義されたルーティング構成に対してキャッシュが有効になっている Front Door が作成されるため、ワークロードの静的資産がキャッシュされます。
複数のバックエンドとバックエンド プールを使用して Front Door を作成する

Azure にデプロイする
このテンプレートでは、バックエンド プール内の複数のバックエンドと、URL パスに基づいてバックエンド プール間で負荷分散が構成された Front Door が作成されます。
HTTP から HTTPS へのリダイレクトを使用して Front Door を作成する

Azure にデプロイする
このテンプレートは、HTTP から HTTPS へのリダイレクト用の Front Door 構成を作成します。
Front Door を使用してカスタム ドメインとマネージド証明書を追加する

Azure にデプロイする
このテンプレートは、Front Door を使用してカスタム ドメインをオンボードしてセキュリティで保護します
Front Door を使用してカスタム ドメインとカスタム証明書を追加する

Azure にデプロイする
このテンプレートは、カスタマー マネージド証明書を使用して Front Door を使用してカスタム ドメインをオンボードし、セキュリティで保護します
Front Door のバックエンドの正常性プローブのコントロール

Azure にデプロイする
このテンプレートは、プローブ パスとプローブの送信間隔を設定することで、Front Door を更新して正常性プローブの設定を変更します。
Active-Standby 構成を使用して Front Door を作成する

Azure にデプロイする
このテンプレートでは、アプリケーション トポロジの優先順位ベースのルーティングを示す Front Door Active-Standby 作成します。
Front Door のホスト名のセッション アフィニティの構成

Azure にデプロイする
このテンプレートは、Front Door を更新してフロントエンド ホストのセッション アフィニティを有効にし、同じユーザー セッションから同じバックエンドに後続のトラフィックを送信します。

Terraform (AzAPI プロバイダー) リソース定義

frontDoors リソースの種類は、次の場合にデプロイできます。

  • リソース グループ

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

リソース形式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/frontDoors@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