ストレージアカウントのファイアウォールの罠

仮想マシンと同じリージョンにストレージアカウントを作り、Azure Filesでマウントしようとした。

このようなケースはよくあることだが、仮想マシンとストレージアカウントの通信を知らなかったがためにドツボにハマった話。

図にするとこんな感じ。

ストレージアカウント側は、マウントする仮想マシンとだけつながるようにネットワークの設定で制限をかけるのが一般的。

ストレージアカウントにはパブリックIPでアクセスするものと思っていて、仮想マシンにパブリックIPアドレスを割り当て、そのIPアドレスをストレージアカウントのネットワーク設定でホワイトリストに登録した。

が、仮想マシンからマウントできない。なんで??

実は同じリージョンにある仮想マシンとストレージアカウントは「プライベート」で通信している。

以下マイクロソフトのドキュメントにも書かれている。

https://learn.microsoft.com/ja-jp/azure/storage/common/storage-network-security-limitations#restrictions-for-ip-network-rules

つまり仮想マシンからストレージアカウントにアクセスするとき、仮想マシンのパブリックIPアドレスは使われておらず、Azure内のプライベートIPアドレスが使われているので、仮想マシンのパブリックIPアドレスを許可したところで意味がないということ。

この場合、ストレージアカウントのネットワーク設定では、仮想マシンが配置されている仮想ネットワークとサブネットを許可するのが正解。すなわち「サービスエンドポイント」。具体的には以下のネットワーク画面で設定する。

\ 最新情報をチェック /