適用対象: ✔️ Front Door Premium
この記事では、Azure Private Link サービスを使用してストレージ アカウントの配信元にプライベートに接続するように Azure Front Door Premium を構成する手順について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
プライベート リンク。 詳細については、「配信元 Web サーバー の Private Link サービスを作成 する」を参照してください。
Azure アカウントで Azure Portal にサインインします。
プライベート リンク。 詳細については、「配信元 Web サーバー の Private Link サービスを作成 する」を参照してください。
Azure Cloud Shell または Azure CLI。
この記事の手順では、Azure Cloud Shell で Azure CLI コマンドを対話型で実行します。 Cloud Shell でコマンドを実行するには、コード ブロックの右上隅にある [Cloud Shell を開く] を選択します。 [コピー] を選択してコードをコピーし、Cloud Shell に貼り付けて実行します。 Azure portal 内から Cloud Shell を実行することもできます。
また、Azure CLI をローカルにインストールしてコマンドを実行することもできます。 Azure CLI をローカルで実行する場合は、az login コマンドを使用して Azure にサインインします。
注
プライベート エンドポイントでは、ストレージ アカウントが特定の要件を満たす必要があります。 詳細については、Azure Storage でのプライベート エンドポイントの使用に関する記事を参照してください。
Azure Front Door でストレージ アカウントへのプライベート リンクを有効にする
このセクションでは、Private Link サービスを、Azure Front Door のプライベート ネットワークに作成されたプライベート エンドポイントにマップします。
Azure Front Door Premium プロファイル内の [設定] で、 [配信元グループ] を選択します。
Private Link を有効にするストレージ アカウントの配信元が含まれている配信元グループを選択します。
[+ Add an origin](+ 配信元の追加) を選択して新しいストレージ アカウントの配信元を追加するか、以前に作成したストレージ アカウントの配信元を一覧から選択します。
Azure Front Door Premium でプライベートに接続するストレージ BLOB を構成するには、次の値を選択または入力します。
設定 値 名前 このストレージ BLOB の配信元を識別する名前を入力します。 配信元の種類 Storage (Azure BLOB) ホスト名 配信元として使用するホストをドロップダウンから選択します。 配信元のホスト ヘッダー 配信元のホスト ヘッダーは、カスタマイズすることも既定値のままにすることもできます。 HTTP ポート 80 (既定値) HTTPS ポート 443 (既定) 優先順位 配信元によって、プライマリ、セカンダリ、バックアップの配信元を提供する優先順位が異なる場合があります。 重量 1000 (既定値)。 トラフィックを分散させる場合は、別の配信元に重み付けを割り当てます。 リージョン 配信元と同じか最も近いリージョンを選択します。 ターゲット サブリソース プライベート エンドポイントからアクセスできる、以前に選択したリソースのサブリソースの種類。 blob または web を選択できます。 要求メッセージ プライベート エンドポイントの承認中に表示されるカスタム メッセージ。 [ 追加] を選択して構成を保存します。
[ 更新] を選択して、配信元グループの設定を保存します。
注
ファイル要求を取得できるように、ルーティング規則の配信元のパスがストレージ コンテナー ファイル パスで正しく構成されていることを確認します。
az afd origin create コマンドを使用して、新しい Azure Front Door の配信元を作成します。
private-link-location
値は使用可能なリージョンから取得する必要があり、private-link-sub-resource-type
の値は BLOB である必要があります。
az afd origin create --enabled-state Enabled \
--resource-group 'myResourceGroup' \
--origin-group-name 'og1' \
--origin-name 'mystorageorigin' \
--profile-name 'contosoAFD' \
--host-name 'mystorage.blob.core.windows.net' \
--origin-host-header 'mystorage.blob.core.windows.net' \
--http-port 80 \
--https-port 443 \
--priority 1 \
--weight 500 \
--enable-private-link true \
--private-link-location 'EastUS' \
--private-link-request-message 'AFD storage origin Private Link request.' \
--private-link-resource '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorage' \
--private-link-sub-resource-type blob
ストレージ アカウントからの Front Door プライベート エンドポイント接続を承認する
az network private-endpoint-connection list コマンドを使用して、ストレージ アカウントのプライベート エンドポイント接続を一覧表示します。 出力のプライベート エンドポイント接続の
Resource ID
をメモしておきます。az network private-endpoint-connection list --name 'mystorage' --resource-group 'myResourceGroup' --type 'Microsoft.Storage/storageAccounts'
az network private-endpoint-connection approve コマンドを使用して、プライベート エンドポイント接続を承認します。
az network private-endpoint-connection approve --id '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mystorage/privateEndpointConnections/mystorage.aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e'
承認後に接続が完全に確立されるまで数分かかります。 確立されると、Azure Front Door Premium 経由でストレージ アカウントにプライベートにアクセスできます。 プライベート エンドポイントが有効になると、ストレージ アカウントへのパブリック インターネット アクセスは無効になります。
注
ストレージ アカウント内の BLOB またはコンテナーで匿名アクセスが許可されていない場合は、BLOB/コンテナーに対して行われた要求を承認する必要があります。 要求を承認する 1 つのオプションは、 共有アクセス署名を使用することです。
回避するべき一般的なミス
Azure Private Link を有効にして配信元を構成するときの一般的な間違いを次に示します。
- パブリック配信元を含む既存の配信元グループに対して、Azure Private Link が有効になっている配信元を追加します。 Azure Front Door では、同じ配信元グループにパブリック オリジンとプライベート オリジンを混在させることはできません。
- 匿名アクセスを許可しないストレージ アカウントへの接続中に SAS トークンを使用しない。