Azure Storageについての基本的なこと

# 概要
Azure Storageについてあまり知らないので、調査した結果をまとめます。

## 調査の観点
 - 冗長化/レプリケーションの方式について。  
 - バージョニングについて。  
 - データ保存期間について。  

## 参考サイト
 - Azure Storage の価格の概要  
    https://azure.microsoft.com/ja-jp/pricing/details/storage/  
 - ストレージ アカウントがレプリケートされる方法を変更する  
    https://docs.microsoft.com/ja-jp/azure/storage/common/redundancy-migration?tabs=portal  
 - Azureストレージのレプリケーション方式  
    http://chuu-information.com/cloud/post-122/  



# 基本的なことの確認
参考サイト: https://azure-recipe.kc-cloud.jp/2017/12/storage_2017adcal/

![スクリーンショット 2020-06-04 17.40.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/74623020-2907-5fe6-50b7-a82f3073889e.png)

![スクリーンショット 2020-06-04 17.41.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/7267ff65-b4e6-602e-b933-2ba2ab1d4dde.png)

![スクリーンショット 2020-06-04 17.41.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/c05ddc11-a6d1-84a4-f274-cf810c07846c.png)

![スクリーンショット 2020-06-04 17.41.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/199f1434-5327-c4ff-c790-e7706729efda.png)

![スクリーンショット 2020-06-04 17.33.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/e275000d-985c-f455-1b37-feef77931f0e.png)

![スクリーンショット 2020-06-04 17.42.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/a54fab45-b40e-9a75-8413-8051d9d0aca0.png)



# Azure Storage V2について
参考サイト: https://www.slideshare.net/kogesaka/azure-177587267

![スクリーンショット 2020-06-04 17.35.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/71721a23-9a07-6fff-a78e-e2305f60b170.png)

![スクリーンショット 2020-06-04 17.33.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/883794f8-c8c0-b812-f099-bad968c1d0ec.png)

![スクリーンショット 2020-06-04 17.34.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/617b63fd-2d6c-c1b3-4864-8ac74089b1c0.png)


## V1からV2へのアップグレード時の懸念点
 - V1からV2変換時にダウンタイムなどあるのか？ => 一切心配無いようです。いつでもアップグレードしてもよさそうです。  

```
汎用 v1 または BLOB ストレージ アカウントから汎用 v2 ストレージ アカウントへのアップグレードは簡単です
Azure portal、PowerShell、または Azure CLI を使用してアップグレードできます。
汎用 v2 ストレージ アカウントへのアップグレードに伴うダウンタイムやデータ損失のリスクはありません。 
アカウントのアップグレードは、アカウントの種類を変更する、Azure Resource Manager の単純な操作によって行われます。
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-account-upgrade?tabs=azure-portal
```


# 気になる機能

## 注意事項
 - Azureのリージョンは国単位ではない。東日本と西日本は別リージョン。  
    AWSではap-northeast-1アジアパシフィック(東京)のように、日本で１つだけなので紛らわしい。  
 - GEO冗長化はフェールオーバーモデル。Storageアカウント内でフェールオーバーする。  
    S3クロスリージョンレプリケーションはバケット間レプリケーション。  

## ライフサイクル管理
 - Azure Blob Storage: ホット、クール、アーカイブ ストレージ層  
    https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-blob-storage-tiers?tabs=azure-portal  
    既存V1でのライフサイクルの説明。  
 - V2でしか使用できない。  
    V1からV2にはAzureポータルからでもアップグレードできる。  
    https://docs.microsoft.com/ja-jp/azure/storage/common/storage-account-upgrade?tabs=azure-portal  

V2の場合、ライフサイクル管理で最終変更日によって各アクセス層への振り分けを実現できる。
Azureストレージのアクセス層を参照。

![スクリーンショット 2020-06-05 9.56.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/51c1ee2e-2f7b-6497-d7ae-b900169a6725.png)

## ライフサイクル設定時のコスト変化
参考サイト: https://azure.microsoft.com/ja-jp/pricing/details/storage/

 - Standardの場合、デフォルトは `ホット` 。

| |  ホット | クール | アーカイブ |
| :---- | :---- | :---- | :---- |
| 料金 | ¥2.24/GB | ¥1.68/GB | ¥0.224/GB |
| 比率 | 1 | 0.75 | 0.1 |
| 百分率 | 100% | 75% | 10% |

![スクリーンショット 2020-06-05 14.44.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/1f70e395-2f09-6455-f9fe-571e21c2fab1.png)

## リージョン冗長化について
 - 冗長性によって価格が違う。  
 - LRSとGRSでは価格が２倍違う。ホット/クール/アーカイブの比率は同じ。  

### LRS(ローカル)
![スクリーンショット 2020-06-05 15.31.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/88383963-6945-a37f-5730-b17fdd610c31.png)

### ZRS(ゾーン間)
![スクリーンショット 2020-06-05 15.31.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/e78f2656-4cad-e999-f113-e03a4ea2d0bf.png)

### GRS(リージョン間)
![スクリーンショット 2020-06-05 15.32.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459855/c24ac80b-6cc9-2a70-a4a0-9f0eb861e6cb.png)

## データ保護
いくつか種類があってその関係や料金がわかりにくい。

### BLOBのバージョン管理(2020年5月時点でプレビュー)
https://docs.microsoft.com/ja-jp/azure/storage/blobs/versioning-overview?tabs=powershell

 - 「ストレージ アカウントに対して有効になり、ストレージ アカウント内のすべての BLOB に適用されます。」  
 - 「ストレージ アカウントやコンテナーが誤って削除された場合、BLOB のバージョン管理はその復旧には役立ちません。 ストレージ アカウントが誤って削除されないようにするには、ストレージ アカウント リソースに対して CannotDelete ロックを構成します。」  
 - バージョン管理とスナップショットは関係ないらしい。  

### BLOBストレージの論理的な削除
https://docs.microsoft.com/ja-jp/azure/storage/blobs/soft-delete-overview

 - 「ストレージ アカウントで論理的な削除が有効になっている場合は、オブジェクトが削除された後、指定したデータ保持期間内にそれを復旧することができます。」  
 - 「論理的な削除は、新規と既存の両方の汎用 v2、汎用 v1、BLOB ストレージ アカウントで使用できます。 Standard と Premium の両方の種類のアカウントがサポートされています。 論理的な削除は、ホット、クール、アーカイブを含むすべてのストレージ層で使用できます。 」  
 - 内部でスナップショットで実装されているみたいなので、価格はスナップショット課金  
    次項参照。  

### BLOBのスナップショット
https://docs.microsoft.com/ja-jp/azure/storage/blobs/snapshots-overview

 - 「スナップショットは、ある時点で作成された読み取り専用の BLOB です。」  
 - 「スナップショットはベース BLOB よりも長く存続できません。 ベース BLOB に関連付けられたスナップショットを列挙して、現在のスナップショットを追跡できます。」  
 - 「スナップショット (BLOB の読み取り専用コピー) を作成すると、別途データ ストレージ料金がアカウントに課金される場合があります。」  
 - 結構複雑な課金方法なので、よく分からない。  

### ブロックBLOBのポイントインタイム リストア(2020年5月時点でプレビュー)
プレビューなので詳細は省略。