Azure Static Web Apps でのプライベート エンドポイントの構成

プライベート エンドポイント (プライベート リンクとも呼びます) を使用して、静的 Web アプリへのアクセスを制限し、プライベート ネットワーク以外からのアクセスを禁止することができます。

しくみ

Azure Virtual Network (VNet) は、従来のデータ センターにあるものと同様のネットワークですが、VNet 内のリソースは、Microsoft のバックボーン ネットワーク上で互いに安全に通信します。

Static Web Apps にプライベート エンドポイントを構成すると、VNet のプライベート IP アドレスを使用できるようになります。 このリンクが作成されると、静的 Web アプリが VNet に統合されます。 その結果、静的 Web アプリはパブリック インターネットから利用できなくなり、Azure VNet 内のマシンからのアクセスのみが可能になります。

Note

プライベート エンドポイントの背後に配置されたアプリケーションは、VNet が位置しているリージョンでしか利用できません。 その結果、複数のポイント オブ プレゼンスでアプリケーションを利用することはできなくなります。

アプリでプライベート エンドポイントが有効になっているとき、要求元の IP アドレスがパブリックの場合、サーバーから 403 ステータス コードが返されます。 この動作は実稼働環境とあらゆるステージング環境の両方に適用されます。 アプリにアクセスする唯一の方法は VNet 内にデプロイされているプライベート エンドポイントを使用することです。

静的 Web アプリの既定の DNS 解決方法は引き続き存在し、パブリック IP アドレスにルーティングされます。 プライベート エンドポイントからは VNet 内で 2 つの IP アドレスが公開されます。1 つは実稼働環境用、もう 1 つはステージング環境用です。 クライアントがアプリに正しくアクセスできるよう、クライアントでアプリのホスト名をプライベート エンドポイントの該当 IP アドレスに解決されることを確認してください。 これは、既定のホスト名と、静的 Web アプリに構成されているカスタム ドメインに必要です。 プライベート エンドポイントの作成時にプライベート DNS ゾーンを選択した場合 (下の例を参照)、この解決方法は自動的に行われます。推奨される解決方法です。

オンプレミスから接続する場合、あるいはプライベート DNS ゾーンを試用しない場合、要求がプライベート エンドポイントの該当 IP アドレスにルーティングされるよう、アプリケーションの DNS レコードを手動で構成します。 プライベート エンドポイント DNS 解決に関する詳細はこちらにあります。

前提条件

プライベート エンドポイントの作成

ここでは、静的 Web アプリのプライベート エンドポイントを作成します。

重要

プライベート エンドポイントを使用するには、Standard ホスティング プランで静的 Web アプリをデプロイする必要があります。 ホスティング プランは、サイド メニューの [ホスティング プラン] オプションから変更できます。

  1. ポータルで静的 Web アプリを開きます。

  2. サイド メニューから [プライベート エンドポイント] オプションを選択します。

  3. [追加] をクリックします。

  4. [Add Private Endpoint] (プライベート エンドポイントの追加) ダイアログで、次の情報を入力します。

    設定
    名前 myPrivateEndpoint」と入力します。
    サブスクリプション サブスクリプションを選択します。
    Virtual Network 仮想ネットワークを選択します。
    Subnet サブネットを選択します。
    プライベート DNS ゾーンとの統合 既定値の [はい] のままにします。

    ./media/create-private-link-dialog.png

  5. [OK] を選択します。

プライベート エンドポイントのテスト

アプリケーションは非公開になり、仮想ネットワークの内部からしかアクセスできなくなりました。 テストするには、仮想ネットワーク内に仮想マシンをセットアップし、サイトにアクセスします。

次のステップ