プライベート エンドポイントAzure使用すると、プライベート ネットワーク内にあるクライアントは、Azure Private Linkを介してAzure Container Apps環境に安全に接続できます。 プライベート リンク接続を使うと、パブリック インターネットへの露出がなくなります。 プライベート エンドポイントは、Azure仮想ネットワーク アドレス空間でプライベート IP アドレスを使用し、通常はプライベート DNS ゾーンで構成されます。
プライベート エンドポイントは、ワークロード プロファイル環境の従量課金プランと専用プランの両方でサポートされます。
Billing
プライベート エンドポイントには追加料金が発生します。 Azure Container Appsでプライベート エンドポイントを有効にすると、次の料金が発生します。
- Azure Private Link - Azure Private Link リソース自体の課金。
- Azure Container Apps - Azure Container Apps の専用プライベート エンドポイント インフラストラクチャの課金は、"専用プラン管理" として別途表示され、従量課金プランと専用プランの両方に適用されます。
チュートリアル
- Azure Container Appsでプライベート エンドポイントを構成する方法の詳細については、「プライベート エンドポイントをAzure Container Apps環境で使用するチュートリアルを参照してください。
- Azure Container Appsでは、Azure Front Doorとのプライベート リンク接続がサポートされています。 詳細については、「Azure Front Door を使用してプライベート リンクを作成する」を参照してください。
考慮事項
- プライベート エンドポイントを使用するには、 パブリック ネットワーク アクセスを無効にする必要があります。 既定では、パブリック ネットワーク アクセスが有効になっており、プライベート エンドポイントは無効になっています。
- カスタム ドメインでプライベート エンドポイントを使用し、"ホスト名レコードの種類" が "Apex ドメイン" の場合は、パブリック DNS と同じ名前でプライベート DNS ゾーンを構成する必要があります。 レコード セットで、コンテナー アプリ環境の IP アドレスではなく、プライベート エンドポイントのプライベート IP アドレスを構成します。 CNAME を使用してカスタム ドメインを構成していると、セットアップは変更されません。 詳細については、「既存の証明書を使用してカスタム ドメインを設定する」を参照してください。
- プライベート エンドポイントの VNet は、コンテナー アプリと統合された VNet とは別にすることができます。
- 新規と既存どちらのワークロード プロファイル環境にでも、プライベート エンドポイントを追加できます。
プライベート エンドポイントを介してコンテナー アプリに接続するには、プライベート DNS ゾーンを構成する必要があります。
| サービス | サブリソース | プライベート DNS ゾーン名 |
|---|---|---|
| Azure Container Apps (Microsoft.App/ManagedEnvironments) | 管理された環境 | privatelink.{regionName}.azurecontainerapps.io |
Application Gateway の代わりに、 Azure Front Door へのプライベート接続でプライベート エンドポイントを使用することもできます。
DNS
Azure Container Apps環境の仮想ネットワークでの DNS の構成は、次の理由で重要です。
DNS を使用すると、コンテナー アプリでドメイン名を IP アドレスに解決できます。 これにより、仮想ネットワークの内外のサービスを検出して通信できます。 これには、Azure Application Gateway、ネットワーク セキュリティ グループ、プライベート エンドポイントなどのサービスが含まれます。
カスタム DNS 設定では、コンテナー アプリによって行われた DNS クエリを制御および監視できるため、セキュリティが強化されます。 これにより、コンテナー アプリが信頼されたドメインとのみ通信できるようにすることで、潜在的なセキュリティ上の脅威を特定して軽減できます。
[カスタム DNS]
VNet が既定のAzure指定の DNS サーバーではなくカスタム DNS サーバーを使用する場合は、未解決の DNS クエリを 168.63.129.16 に転送するように DNS サーバーを構成します。
Azure再帰リゾルバーはこの IP アドレスを使用して要求を解決します。
ネットワーク セキュリティ グループ (NSG) またはファイアウォールを構成する場合、DNS 要件はワークロード プロファイルの種類によって異なります。
従量課金プラン:
AzurePlatformDNSサービス タグ (168.63.129.16を含む) へのトラフィックを許可する必要があります。 このサービス タグをブロックすると、カスタム DNS サーバーが構成されている場合でも、Container Apps 環境が正しく機能できなくなります。Dedicated ワークロード プロファイル: 必要に応じて、
AzurePlatformDNSサービス タグをブロックできます。専用のワークロード プロファイルでは、基本的な機能のために Azure Platform DNS にアクセスする必要はありません。
Important
厳密な DNS セキュリティ要件 (銀行や医療など) を持つ組織の場合、専用ワークロード プロファイルでは、プラットフォーム DNS アクセスを必要とせずに、カスタム DNS サーバー経由の DNS トラフィック フローを完全に制御Azureオプションが提供されます。
Important
プライベート DNS ゾーンのユーザーは、
VNet スコープのイングレス
内部環境で VNet スコープの イングレス を使用する場合は、次のいずれかの方法でドメインを構成します。
非カスタム ドメイン: カスタム ドメインを使わない場合は、Container Apps 環境の既定のドメインを Container Apps 環境の静的 IP アドレスに解決するプライベート DNS ゾーンを作成します。 Azure Private DNSまたは独自の DNS サーバーを使用できます。 Azure Private DNSを使用する場合は、
<UNIQUE_IDENTIFIER>.<REGION_NAME>.azurecontainerapps.ioレコードを使用して、Container App 環境の既定のドメイン (A) として名前付けされたprivate DNS ゾーンを作成します。Aレコードには、Container Apps 環境の名前*<DNS Suffix>と静的 IP アドレスが含まれています。 詳細については、「Azure Private DNS ゾーンの作成と構成を参照してください。カスタム ドメイン: カスタム ドメインを使う予定で、外部 Container Apps 環境を使用している場合、パブリックに解決可能なドメインを使って、コンテナー アプリにカスタム ドメインと証明書を追加します。 内部 Container Apps 環境を使用している場合、クラスターは仮想ネットワーク内からのみ使用できるようになるため、DNS バインディングの検証はありません。 さらに、Apex ドメインを Container Apps 環境の静的 IP アドレスに解決するプライベート DNS ゾーンを作成します。 Azure Private DNSまたは独自の DNS サーバーを使用できます。 Azure Private DNSを使用する場合は、Container Apps 環境の静的 IP アドレスを指す
Aレコードを使用して、頂点ドメインとして名前付けされたPrivate DNS ゾーンを作成します。
Container Apps 環境の静的 IP アドレスは、コンテナー アプリ ページの Custom DNS サフィックスのAzure ポータルで、または Azure CLI az containerapp env list コマンドを使用して使用できます。