VNET統合したAzure StorageをAzure App Serviceへマウントしてみる
いわさです。
Azure App Service on Linux へAzureストレージをマウント出来るようになったので先日ためしました。
手持ちのストレージアカウントの中で、プライベートエンドポイントを設定しファイアウォールでVNETを制限したストレージアカウントがあったので、同じようにストレージマウントを使うことが出来るのか気になったので試してみました。
プライベートエンドポイント未設定ストレージをマウント
まずは先日の記事と同様にファイル共有ストレージをマウントします。
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X Documentation: http://aka.ms/webapp-linux PHP quickstart: https://aka.ms/php-qs PHP version : 8.0.3 Note: Any data outside '/home' is not persisted root@f4e61f555773:/home# df -h Filesystem Size Used Avail Use% Mounted on none 48G 29G 18G 63% / tmpfs 64M 0 64M 0% /dev tmpfs 962M 0 962M 0% /sys/fs/cgroup shm 62M 0 62M 0% /dev/shm //10.0.160.13/volume-21-default/0f8fe6f23edb9b23a3f4/18434a78ccb34dbf9debba5f346d1de8 1000G 16G 985G 2% /home /dev/sda1 62G 40G 23G 64% /var/ssl //iwasastorage20210908.file.core.windows.net/iwasafiles 5.0T 0 5.0T 0% /hogemnt /dev/loop0p1 48G 29G 18G 63% /etc/hosts udev 944M 0 944M 0% /dev/tty tmpfs 962M 0 962M 0% /proc/acpi tmpfs 962M 0 962M 0% /proc/scsi tmpfs 962M 0 962M 0% /sys/firmware root@f4e61f555773:/home#
マウント後、試しにファイルを作成してみましょう。
root@f4e61f555773:/home# cd /hogemnt/ root@f4e61f555773:/hogemnt# touch hoge.txt
作成されていますね。
ストレージにプライベートエンドポイントを設定する
では、作成されたストレージにプライベートエンドポイントの設定をしていきたいと思います。
まずは、事前にVNETを作成しておきましょう。
プライベートエンドポイントで作成したVNETを設定します。
ファイアウォールで作成したVNETを選択しておきます。
確認してみましょう。
Last login: Wed Sep 8 14:51:35 2021 from 172.16.0.3 _____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X Documentation: http://aka.ms/webapp-linux PHP quickstart: https://aka.ms/php-qs PHP version : 8.0.3 Note: Any data outside '/home' is not persisted root@f4e61f555773:/home# df -h Filesystem Size Used Avail Use% Mounted on none 48G 29G 18G 63% / tmpfs 64M 0 64M 0% /dev tmpfs 962M 0 962M 0% /sys/fs/cgroup shm 62M 0 62M 0% /dev/shm //10.0.160.13/volume-21-default/0f8fe6f23edb9b23a3f4/18434a78ccb34dbf9debba5f346d1de8 1000G 16G 985G 2% /home /dev/sda1 62G 40G 23G 64% /var/ssl /dev/loop0p1 48G 29G 18G 63% /etc/hosts udev 944M 0 944M 0% /dev/tty tmpfs 962M 0 962M 0% /proc/acpi tmpfs 962M 0 962M 0% /proc/scsi tmpfs 962M 0 962M 0% /sys/firmware root@f4e61f555773:/home# cd /hogemnt root@f4e61f555773:/hogemnt# ls ls: reading directory '.': Host is down
見えなくなりました!
App ServiceをVNET統合させる
App Serviceを先程作成したVNETへ接続します。
App Serviceのサブネットをストレージ側のファイアウォールに追加します。
もう一度マウント状況を確認してみます。
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X Documentation: http://aka.ms/webapp-linux PHP quickstart: https://aka.ms/php-qs PHP version : 8.0.3 Note: Any data outside '/home' is not persisted root@eb0482ef40b3:/home# df -h Filesystem Size Used Avail Use% Mounted on none 48G 29G 18G 63% / tmpfs 64M 0 64M 0% /dev tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup shm 62M 0 62M 0% /dev/shm /dev/sda1 62G 40G 23G 64% /var/ssl //iwasastorage20210908.file.core.windows.net/iwasafiles 5.0T 0 5.0T 0% /iwasafiles //10.0.160.13/volume-21-default/0f8fe6f23edb9b23a3f4/9346e322652d4b37aa2faeea5317c539 1000G 16G 985G 2% /home /dev/loop0p1 48G 29G 18G 63% /etc/hosts udev 1.7G 0 1.7G 0% /dev/tty tmpfs 1.7G 0 1.7G 0% /proc/acpi tmpfs 1.7G 0 1.7G 0% /proc/scsi tmpfs 1.7G 0 1.7G 0% /sys/firmware root@eb0482ef40b3:/home# nslookup iwasastorage20210908.file.core.windows.net Server: 127.0.0.11 Address: 127.0.0.11#53 Non-authoritative answer: iwasastorage20210908.file.core.windows.net canonical name = iwasastorage20210908.privatelink.file.core.windows.net. Name: iwasastorage20210908.privatelink.file.core.windows.net Address: 10.0.0.4 root@eb0482ef40b3:/home# cd /iwasafiles/ root@eb0482ef40b3:/iwasafiles# ls hoge.txt root@eb0482ef40b3:/iwasafiles# touch hoge2.txt root@eb0482ef40b3:/iwasafiles#
プライベートIPアドレスで名前解決出来ています。
プライベートエンドポイントを経由してストレージへ接続出来ていそうですね。
まとめ
ストレージマウント機能について、VNET構成の場合でもうまく接続出来るのか気になったので試してみましたが、問題なく接続することが出来ました。