Azure Storage Explorerを使ってみる

Azure StorageをGUIで利用できる"Azure Storage Explorer"を利用する方法をまとめておきます。

- Azure Filesはネットワーク共有フォルダとして利用できそうだが、ルータの445ポートを開けたり面倒
 
# Azure Storageの準備
すでにアカウント、リソースグループは用意出来ているものとします。
Storageリソースを作成します。
<img width="512" alt="storageAzure.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/15e3f5da-653c-9849-e3a7-1d7e533144dd.png">

ストレージアカウントを作成します。
レプリケーションは取り敢えずリーズナブルなLRSで。
<img width="512" alt="storageaccount.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/efc4fb30-8c17-6477-167e-7d8fb151ee62.png">

費用は下記のリンクから確認出来ますが、LRSが一番安価です。
https://azure.microsoft.com/ja-jp/pricing/details/storage/blobs/

## Azure Files
作ったAzure Storageアカウントに、ファイルスペースを作成します。試しにデータを投げ込んでおきます。

<img width="512" alt="fileAzure.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/6f238930-77d9-f287-7080-c77a3f49cbb2.png">

<img width="512" alt="fileupload.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/f831b29f-b75c-70f6-6d56-0a97d368b4b1.png">

真ん中ら辺のconnectをクリックすると、マウントの仕方が色々と出てきます。
<img width="512" alt="connect.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/e6e6b26a-8fbc-7380-de93-428db51f44b0.png">



## Azure Blob Storage
どちらかというと、こちらが本命？でしょうか。
blobって何？という方はこちら。
https://search.yahoo.co.jp/search?p=blob


# Azure Storage Explorerのインストール

以下のMicrosoftのサイトからダウンロードします。
https://azure.microsoft.com/ja-jp/features/storage-explorer/
<img width="512" alt="ASE.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/d5f225cd-4e67-f8a9-367d-811c98fa54d7.png">

同意してインストールします。
<img width="512" alt="ASE2.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/32e1eadc-8147-87c8-0dae-3f54fe2c39ac.png">

"NEXT"
<img width="512" alt="ASE3.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/13c112c2-a2cf-4a8b-8948-01e95eb9f2d8.png">

"NEXT"
<img width="512" alt="ASE4.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/76afd653-b5fb-b530-2064-452a13d990ab.png">

インストール出来たら"NEXT"。立ち上げてみます。
<img width="512" alt="ASE5.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/e71947ad-a333-5f4d-cd76-a537a4f0af81.png">

# Azure Storage Explorerの設定
## Shared access signature(制限付き鍵)を利用する場合

この制限付きの鍵はAzure PortalからGUIで生成できます。
<img width="512" alt="sas.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/3bb9b3d9-efe7-f6ff-c0d8-4aa2b26dbeda.png">

- UTCを**UTC +09:00** (日本時間)にします。
- Storageにアクセス可能なIPを制限することにより、セキュリティを向上できます
- 期限を設定することにより、キーの棚卸しを定期的に強制発動させセキュリティを向上できます

「Generate SAS」ボタンを押すと"SAS token"といくつかの"service SAS URL"が生成されるのですが、
Azure Storage Explorer側で連結コピーすることになります。

- まずラジオボタンで〜Shared access signature〜をチェックしてNEXT
<img width="512" alt="sasset.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/7af32f61-8a25-90db-ba8e-6464cc90d268.png">  　
　　
  
  
- "Use a SAS URI"をチェック (SAS= **S**hared **A**ccess **S**ignature)
<img width="512" alt="sasset2.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/6dd1aae4-3838-42c3-7d27-ba4525c4ef38.png">  
　　


-  Azure Portalで生成したSAS tokenとURLが連結するようにコピペ。NEXTを押して→"Connect"
<img width="512" alt="storageConnect.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/a944a316-b8de-e038-f60b-13fcb5beb4f6.png">

- Azure上のStorageに接続できました。
<img width="512" alt="ASE.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/ce3eec0b-601b-134f-9818-e6af9aa9ecfe.png">

# スループットの確認
どのくらい速度が出るのか、読み込み／書き込みがどうとかあるが、取り敢えず計測。

## ダウンロードしてみる
- まずはNetflixのやつでダウンロードスピード確認  
https://fast.com/ で調べます。

<img width="256" alt="スクリーンショット 2017-11-07 18.24.27.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/4b8dee4b-3762-45cf-231b-2f2cdd421812.png">

- Azure Storage Explorerで確認  
**12.48MB**とあるが、体感はもっと早い。600MBの動画ファイルが10秒ぐらいで落とせてるので、もしかして60MBくらい出てるんじゃないかと思う。  

<img width="512" src="https://qiita-image-store.s3.amazonaws.com/0/147747/a696548f-83a4-4e7f-b35c-af3da42c5edd.jpeg">

公式ドキュメントにスループットは"Up to 60 MiB per second"とあるので、大体仕様の範囲？
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets

## アップロードしてみる
Data factoryを利用して、東京リージョンのGCPインスタンスからAzure blob storageにコピーさせてみる。

**41.76MB/s**と出た。
<img width="512" alt="factory1.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/d491bce1-7b8d-600f-07d8-fe05ddcaa8d8.png">

違うファイルでもう一回。
<img width="512" alt="factory2.png" src="https://qiita-image-store.s3.amazonaws.com/0/147747/c3de7eea-fdfe-6776-c0d6-fe1c34918d0f.png">

**49.69MB/s**出てますね。

環境次第で、ダウンロードもアップロードも50MB/sぐらい出るんじゃないかなーと。