Azure Static Web Apps で プライベートエンドポイントを使う

2021.08.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

先日、Azure Static Web Appsのプライベートエンドポイントがパブリックプレビューで登場しました。

元々、AzureではストレージのBlobコンテナーから静的コンテンツを配信する機能がありました。
しかし数ヶ月前にStatic Web Appsという静的コンテンツの配信に特化したサービスが一般提供されるようになりました。

そのStatic Web Appsにプライベートエンドポイント機能が追加されています。
パブリックプレビューになったので使ってみました。

プランはStandard以上を選ぶ必要がある

Static Web Apps作成後に、メニューから「プライベートエンドポイント(プレビュー)」を選択し、エンドポイントの追加を行う必要があります。
プライベートエンドポイントは現時点でStandardプランが前提となっており、Freeプランでは利用できません。(選択出来ない)

Standardにプランを変更しプライベートエンドポイントを追加してみましょう。
VNETは事前に作成しておく必要があります。

なお、プラン価格は以下を参考にしてください。

プライベートエンドポイントを追加した瞬間に、VNET外からは閲覧できなく(403)なりました。

一方、VNET内の仮想マシンからは閲覧出来ます。
プライベートエンドポイント用のURLではなく、既に発行済みのURLがそのまま使えています。

プライベートDNSゾーンと統合しないと閲覧出来ない

閲覧出来る場合は同一プライベートエンドポイントへの名前解決が出来ており、プライベートIPアドレスを取得しています。

PS C:\Users\iwasa> nslookup blue-stone-07b5d5710.azurestaticapps.net
Server:  UnKnown
Address:  111.111.111.111

Non-authoritative answer:
Name:    blue-stone-07b5d5710.privatelink.azurestaticapps.net
Address:  10.0.0.4
Aliases:  blue-stone-07b5d5710.azurestaticapps.net

なので、プライベートDNSゾーンと統合せずにプライベートエンドポイントを有効にするとVNET内から元のURLで閲覧出来なくなります。

まとめ

  • 有効化するとパブリックなエンドポイントからのアクセスは制限される
  • プランはStandard以上を選ぶ必要がある
  • プライベートDNSゾーンと統合する

参考

Azure Static Web Apps adds public preview support for Private Endpoints | Azure updates | Microsoft Azure