現在、お客様は重要なワークロードを Application Gateway の背後に安全にデプロイし、レイヤー 7 の負荷分散機能の柔軟性を活用することができます。 バックエンド ワークロードへのアクセスは、次の 2 つの方法で可能です。
- パブリック IP アドレス - ワークロードにインターネット経由でアクセスできます。
- プライベート IP アドレス - ワークロードには、仮想ネットワークまたは接続されたネットワークを介してプライベートでアクセスできます
Application Gateway の Private Link では、VNet とサブスクリプションにまたがるプライベート接続経由でワークロードを接続できます。 構成すると、定義された仮想ネットワークのサブネットにプライベート エンドポイントが配置され、ゲートウェイと通信しようとしているクライアントのためのプライベート IP アドレスが提供されます。 Private Link 機能をサポートする他の PaaS サービスの一覧については、「Azure Private Link とは」を参照してください。
特徴と機能
Private Link では、プライベート エンドポイントを経由して、プライベート接続を Application Gateway へと拡張できます。対応するシナリオは次のとおりです。
- Application Gateway と同じまたは異なるリージョン内の VNet
- Application Gateway と同じまたは異なるサブスクリプション内の VNet
- Application Gateway と同じまたは異なるサブスクリプション内で、同じまたは異なる Microsoft Entra テナント内の VNet
なお、Application Gateway への受信パブリック (インターネット) アクセスをブロックし、プライベート エンドポイント経由でのみアクセスを許可することもできます。 その場合も、受信管理トラフィックはアプリケーション ゲートウェイに対して許可される必要があります。 詳細については、「Application Gateway インフラストラクチャの構成」を参照してください
Application Gateway でサポートされるすべての機能は、プライベート エンドポイントを介してアクセスする場合にもサポートされます (AGIC のサポートを含む)。
注
Application GatewayのPrivate Link構成は、アイドルタイムアウトが約5分(300秒)です。 非活動による接続停止を防ぐため、プライベートエンドポイント経由でアプリケーションゲートウェイに接続するアプリケーションは、 300秒未満のTCPキーパライブ間隔を用いるべきです。 クライアントがTCPキーパリブを開始できない場合は、Application Gatewayで必要なキーパライブ動作の有効化を依頼する サポートチケットを提出 してください。
プライベートエンドポイントからのトラフィックを識別する
注
プライベートエンドポイントを通じてトラフィックがアプリケーションゲートウェイに到達すると、Private Linkはクライアントの送信元IPアドレスと送信元ポートを保持します。 アプリケーションゲートウェイアクセスログは、これらの値を clientIP および clientPort フィールドに記録します。 HTTP および HTTPS リクエストの場合、Application Gateway が X-Forwarded-For ヘッダーに追加するエントリは、IP:port 形式で同じ値を反映します。 別のプロキシがプライベートエンドポイントにリクエストを送信した場合、これらの値はそのプロキシを即時クライアントとして識別します。
消費者仮想ネットワークは重複するIPアドレス空間を利用するため、クライアントのIPアドレスだけでは送信元の消費者を識別できないことがあります。 Azure Private Linkは各プライベートエンドポイント接続に、LINKIDとも呼ばれるlinkIdentifierを割り当てます。 HTTPおよびHTTPSリクエストの場合、アプリケーションゲートウェイは以下の場所で十進識別子を公開します。
| 場所 | 名前 | Description |
|---|---|---|
| バックエンドへのリクエスト転送 | X-Azure-PrivateEndpoint-ID |
Application Gatewayはリクエストを転送する前にこのヘッダーを追加します。 その値は、例えば 123456の10進数プライベートエンドポイントリンク識別子です。 |
| アプリケーションゲートウェイアクセスログ | LinkId |
文字列値と同じ10進リンク識別子を含みます。 詳細は アクセスログのカテゴリをご覧ください。 |
例えば、バックエンドはプライベートエンドポイントを通じて届いたリクエストに対して以下のヘッダーを受け取っています:
X-Azure-PrivateEndpoint-ID: 123456
注
名前に反して、X-Azure-PrivateEndpoint-IDにはプライベートエンドポイントのAzureリソースIDは含まれていません。 これはプライベートエンドポイント接続の linkIdentifier プロパティの小数点値を含みます。
X-Azure-PrivateEndpoint-ID HTTPヘッダーはレイヤー7のHTTPおよびHTTPSトラフィックに適用されます。 レイヤー4のTCP/TLSプロキシトラフィックには追加されません。
Azure Resource Managerの対応するプライベートエンドポイント接続のlinkIdentifierプロパティと、どちらかの値を比較してください。 この比較により、バックエンドのリクエストやアクセスログレコードを特定のプライベートエンドポイント接続に関連付け、監査やアクセス制御の意思決定が可能になります。
Application Gatewayは、プライベートエンドポイントを通じて受信されたリクエストに対してのみヘッダーとアクセスログプロパティを埋め込みます。 アプリケーションゲートウェイのパブリックまたはプライベートフロントエンドIPアドレスに直接送信されたリクエストの場合、アプリケーションゲートウェイは X-Azure-PrivateEndpoint-ID や LinkIdを埋め込みません。 この動作は、Private Link構成がパブリックまたはプライベートのApplication Gatewayフロントエンドに関連付けられている場合に適用されます。
LINKIDのAzure Private Link定義とlinkIdentifierとの関係については、「TCP Proxy v2を使った接続情報取得」を参照してください。
Private Link コンポーネント
Application Gateway を使用して Private Link を実装するには、次の 4 つのコンポーネントが必要です。
Application Gateway Private Link 構成
プライベート リンク構成は、Application Gateway フロントエンド IP アドレスに関連付けることができます。これは、プライベート エンドポイントを使用した接続を確立するために使用されます。 Application Gateway フロントエンド IP アドレスに関連付けられていない場合、Private Link 機能は有効になりません。
Application Gateway フロントエンド IP アドレス
Private Link 機能を有効にするために、Application Gateway Private Link 構成を関連付ける必要があるパブリックまたはプライベート IP アドレス。
プライベート エンドポイント
VNet アドレス空間にプライベート IP アドレスを割り当てる Azure ネットワーク リソース。 これは、プライベート リンク アクセスを提供する他の多くの Azure サービス (Storage、KeyVault など) と同様、プライベート IP アドレスを介して Application Gateway に接続するために使用されます。
プライベート エンドポイント接続
プライベート エンドポイントによって生成された Application Gateway 上の接続。 接続を自動承認、手動で承認、または拒否して、アクセスを許可または拒否することができます。
Pricing
| コンポーネント | サービス プロバイダー/Private Link (Application Gateway リソース所有者) | コンシューマー/プライベート エンドポイント |
|---|---|---|
| プライベート リンク サービス | 料金なし | 適用なし |
| プライベート エンドポイント | 適用なし | プライベート リンクに従って課金される |
| データ処理 (双方向) | 料金なし | プライベート リンクに従って課金される |
| データ転送 | 帯域幅に従って課金される | 帯域幅に従って課金される |
制限事項
- Private Link 構成を構成するには、API バージョン 2020-03-01 以降を使用する必要があります。
- Private Link 構成オブジェクトでの静的 IP 割り当て方法はサポートされていません。
- PrivateLinkConfiguration に使用されるサブネットは、Application Gateway サブネットと同じにすることはできません。
- Application Gateway のプライベート リンク構成では、"Alias" プロパティは公開されません。リソース URI を介して参照する必要があります。
- プライベート エンドポイントの作成時には、*.privatelink DNS レコードやゾーンは作成されません。 すべての DNS レコードは、Application Gateway に使用されている既存のゾーンに入力する必要があります。
- Application GatewayのPrivate Link構成は、アイドルタイムアウトが約5分(300秒)です。 非活動による接続停止を防ぐため、プライベートエンドポイント経由でアプリケーションゲートウェイに接続するアプリケーションは、TCPキーパライブ間隔を 300秒未満に設定する必要があります。 クライアントがTCPキーパリブを開始できない場合は、Application Gatewayで必要なキーパライブ動作の有効化を依頼する サポートチケットを提出 してください。