唐突ですけどAzure Storageのアカウント種類に汎用v2が増えました。
汎用v2(General Purpose v2、以下GPv2)は簡単に言えば今までの汎用ストレージ(General Purpose、以下GPv1)のBlobにHot/Cool/Archiveのアクセス層(Access Tier)とストレージイベントなどを追加したものになります。
価格帯や特性を考えるとBlob StorageにPage BlobとTable/Queue/Filesを付けたもの、という表現のほうが合ってるかも。
詳しいことはこちらを参照ください。
さて特性は上に挙げた通りBlobに限って言えばPage Blobも使えるしQueue/Files/Tableも使えるということで今後Blob Storageをわざわざ選ばなくてもGPv2でいいかもしれませんね。とはいってもGPv1をGPv2にすればいいやとは簡単にはいきません。
Blob部分に関して言えば価格体系がBlob Storageアカウントになるので使い方によっては費用が跳ね上がりますので注意。Blobに保存する容量(GBあたり)はだいたいGPv2のほうが安いけどトランザクションはGPv2のほうがGPv1に比べて10倍や100倍ぐらい高いです。この辺りどっちを使ったらいいかの指針はこれまでのGPv1(汎用)とBlob Storageとの違いと同じなのでそちらを参考に。(価格表よく見てね)
※VMで使うディスクなどはManaged Disksが今後主流なのを考えるとGPv2の位置付けが結構悩ましいな。。(GPv1を単純にGPv2にすればいいとは現状言いにくい)
アクセス層
GPv2ではBlob Storageアカウントと同じようにHot/Cool/Archiveが使えてBlob単位で切り替えられます。
Storageアカウント単位で既定値をHot/Coolどちらかにできて何も指定しなければ各Blobは既定値のアクセス層に保存されます。この辺りだいたい同じですね。
移行
GPv1からGPv2への移行はポータルから簡単に行えます。Configuration(構成)でアカウント種別のところでUpgradeするだけです。
※価格帯が変わることなどについて了承+対象のストレージアカウント名を入力する必要があります。
変更はすぐで、完了後はStorageV2(General purpose v2)表記に代わります。
※変更に関してFAQ的にはダウンタイムの発生やAPIの変更、データ移動などは行われないようです。またGPv2→GPv1へのダウングレードはできません。
※Blob StorageアカウントからGPv2なStorageアカウントへの変更もCLIなどではサポートされているようですが現時点ではポータルからはできなさそうでした。
アップグレードは簡単にできるけど、GPv2のほうがワークロードにあっているかどうかは慎重に検討したほうがよいでしょう。
価格
Blob以外はGPv1とGPv2は同じです。Blob関連はBlob Storageアカウントの価格体系とだいたい同じになります。
Archive時の計算も早期削除期間とかが別にあったりするおかげでややこしい…あとCool → HotとHot → Coolにするときでも異なります。
Hot → Cool のときは書き込み操作に対してのみ課金されます。(GPv2だけ。Blob Storageのときはかからない ※今だけかもしれないが何とも言えない)
Cool → Hot のときは1万あたりのBlobとGBあたりのデータ取得の両方の読み取り操作で課金されます。100GBのデータになる1万個のBlobをCoolからHotにすると10,000 x (¥1.02/10,000) + 100 × ¥1.02 = ¥102 かかるという感じのようです。
Archiveに放り込んだデータは直接読めなくなるのでいったんHotかCoolに戻します。費用的にはデータ読み取り+Hot/Coolへの再水和(Rehydrate )+早期削除期間(Early Deletion Period)の費用+Hot/Coolからの読み取り費用がかる感じ。
※早期削除期間は2018年2月1日から適用
早期削除期間はHotで180日、Coolで30日で、例えばArchiveしてから30日後にHotに戻すと180日-30日の150日分の費用が掛かります。
この辺も参考に。 https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-blob-storage-tiers
アクセス方法
基本的に普通のStorageアカウントと同じです。ただBlobについてはAPIバージョンが2014-02-14以降である必要があります。
まとめにならないまとめ
Microsoft的にはBlob Sstorageアカウントよりは今後はGPv2のほうが推奨のようです。
GPv1とGPv2とどちらのほうがいいかはワークロード次第です。(価格を無視すればGPv2でもいいんでしょうけど)
主にGPv1とGPv2/Blob Storageアカウントとの比較ですが、大量の更新や読み書き・トランザクションが発生するような使い方はGPv1のほうが費用が安くなる可能性が高いです。
GPv2/Blob StorageはBlobを保存/書き込みしっぱなし・追加しっぱなしで長期保存する場合などに向いてるかも。GPv1(のBlob)に比べGBあたりの価格がCoolで半分近く、Archiveで1/10近くになったりする可能性があります。
なのでクライアントに配信するような画像やコンテンツをGPv2にすると思ったよりトランザクション費用が高くて後で後悔したりするかもしれませんのでご注意ください。
所感はこんな感じです。