iPhone(iOS 13)からAzure Filesを利用してプライベートクラウドストレージを気軽に利用する

2019年11月14日

はじめに

iOS 13及びiPadOS 13から、「ファイル」アプリケーションからSMBマウントができるようになりました。
そこで、Azure上で共有したストレージをiOS及びWindows 10からマウントしてプライベートストレージとして利用しました。

接続条件

iOS 13の「ファイル」もAzure Filesも、SMB 3.0で通信を行うため接続元クライアントはインターネット向けのOutbound TCP/445が空いている必要があります。

4G回線などで直接インターネットにつながっている場合は大抵大丈夫ですが、社内や家庭内のルーター経由でWi-Fi接続している場合には、大抵のルーターがTCP/445は閉じたままですので必要に応じて空ける必要があります。(詳細は割愛します)

Azure側の準備

Azureポータルにログインして、「+リソースの追加」で「ストレージアカウント」を選びます。

  • リソースグループ:適当な名称
  • ストレージアカウント名:24文字以内で他の人と被らない名称
  • 場所:アクセス元に近い地域を選択
  • パフォーマンス:課金を抑えるならStandard、性能重視ならPremium
  • アカウントの種類:StorageV2
  • レプリケーション:通常はLRSで良いと思います

必要な項目を入力したら、「確認及び作成」をクリックします。

最終確認画面が出ますので「作成」をクリックします。

出来上がったストレージアカウントの概要画面から「ファイル共有」をクリックします。

新しい共有を作成しましょう。
「+ファイル共有」をクリックします。

ファイル共有に必要な情報を入力します。

  • 名前:適当な共有名(例: cloudshare)
  • クオータ:ストレージの最大サイズ、GB単位で指定

入力が完了したら、最後に「作成」をクリックします。

作成が完了すると、ファイル共有一覧に共有名が表示されるので、それをクリックします。

「接続」をクリックすると、各種OSからファイル共有を行うためのコマンドが表示されます。
とりあえず、Windows 10での共有を行いますので、画面にある部分のコマンド一式をコピーします。

Windows 10

Windows 10からAzure Filesのマウント

先にコピーしたコマンド列をWindows 10のPowerShellで実行しました。

・・・が、このPowerShellのセッション内ではZドライブがAzure Filesにマウントされてアクセスできそうなのですが、他のエクスプローラーなどからZドライブが見えなくてうまく利用できませんでしたが、そういうものらしいです。(参考:Windows PowerShell ドライブの管理)

代替方法として、コマンドプロンプトから「NET USE」コマンドを使ってマウントしました。

コマンドラインイメージは以下の通りです。

net use Z: \\ktkrcloudst.file.core.windows.net\cloudshare /u:AZURE\ktkrcloudst *****(password)**** 

こちらをコマンドプロンプトから実行して、一時的にZドライブにマウントできました。

マウントされたZドライブに、とりあえずWindows 10上にあった壁紙コレクションをコピーしました。

Azureポータル上でもちゃんとコピーしたフォルダが見えました。

iPhone(iOS 13)

iPhoneからAzure Filesのマウント

まずはAzure Filesへの接続に必要な情報をテキストで作成して、iPhoneにメールで送るなりしておきましょう。パスワードとか手打ちはとても無理な長さなので。

smb://ktkrcloudst.file.core.windows.net/cloudshare
AZURE\ktkrcloudst    
*****(password)**** 

1行目は接続するサーバです。「smb://サーバ名/共有名」の書式になります。
2行目は接続するユーザ名です。「AZURE\リソース名」の書式です。
3行目は接続パスワードです。パスワードの最後にある「==」も必ずコピペしてください。

iPhoneから「ファイル」アプリケーションを開きます。

ブラウズ画面の右上にある「…」をタップ後、下に表示されるメニューから「サーバへ接続」をタップします。

サーバには先に準備したAzure Filesのサーバ名(smb://…..)を入力して、「接続」をタップします。

「登録ユーザ」を選択後、名前とパスワードに先に準備したAzure Filesのユーザ名とパスワードを入力して、「次へ」をタップします。

無事Azure Filesに接続ができると、共有名が表示されるのでそれをタップします。

ちゃんと壁紙フォルダができていて、中を見るとWindows 10で先にコピーした画像が格納されています。

ちゃんとjpegファイルの閲覧も「ファイル」アプリケーションでできました。

フォルダの新規作成

壁紙があったフォルダと同じ階層に戻って、検索バー下の「…」をタップ後、メニューから「新規フォルダ」をタップします。

新しく作成するフォルタ名を入力後、「完了」をタップします。

無事新しいフォルダが出来上がりました。

写真のアップロード

「写真」アプリからAzure Filesへアップロードしたい写真を選びます(複数選択もOK)。その後左下の??をタップします。

表示されたメニューから「"ファイル"に保存」をタップします。

保存先フォルダの指定で、先程作成したフォルダを選び「保存」をタップします。

Azureポータルで確認すると、無事iPhoneからアップロードした画像がAzure Filesに保存されました。

無論、Windows 10からもアクセスできるので、iPhone⇔Windows 10のファイル交換にも利用できますね。

おわりに

Azure Filesの料金はデータ転送量にもよるのですが、100GB使っても月に1,000円いかないくらいです。

他のクラウドストレージのサービスに比べて高いか安いかはコメントしませんが、自分専用のクラウドストレージを使って色々な使い方は出来そうですね。