この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
いわさです。
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構成の場合でもうまく接続出来るのか気になったので試してみましたが、問題なく接続することが出来ました。