🍳
AppServiceから静的WebホストしたAzure Blob Storageにアクセスする
ちょっと検証用で、静的Webサイトを建てる必要があり、めんどうなのでAzure Blob Storageでホストさせたら、AppServiceからのアクセスの許容の仕方がなかなかの力業での解決方法だったので、メモとして残しておきます。
VNetとかプライベートエンドポイントを作るのがセオリーですが、ちょっと試したいだけの環境なので、どちらも使わないIPでの制限で済ませたいです💰
前提
- Azure Blob StorageはIPによるアクセス制限
- AppServiceはVNetやプライベートエンドポイント接続は使わない
解決策
ここにもあるように、サービスタグが使えればもっと楽できるんですが、残念ながらないのでIPをファイアウォールに追加します。
ですが、AppServiceのIPは多いので、AzureCLIを使って一発で登録させます。
1. AppService の送信トラフィックの送信アドレスをコピー
カンマ区切りで入ってるので、エディタとかでカンマをスペースに変換しておきます。
2. Azure CLI で登録
基本コマンド
az storage account network-rule add -g myRg --account-name mystorageaccount --ip-address 23.45.1.0/24
オプションを見ると、--ip-addressは複数指定できるので、以下のようなコマンドになります。
az storage account network-rule add --resource-group "リソースグループ名" --account-name "ストレージアカウント名" --ip-address 20.xx.xx.xx1 20.xx.xx.xx2 20.xx.xx.xx3 ...
コマンドの結果で、以下のようにずらずらと登録したIPがAllowで表示されればOKです。
本番環境でやる場合はちゃんとVnetなりプライベートエンドポイントなり使いましょうね
Discussion