Azure Administrator(AZ-104)：Azure でのストレージの実装と管理「Azure Storageの各サービス」

Microsoft Learnを用いたMicrosoft Azure Administrator(AZ-104)の試験内容をまとめる投稿です。
この投稿ではMicrosoft Learnで学ぶ内容をできるだけ簡潔にまとめております。
Azureの勉強を一から始め、AZ-900取得後の資格としてAZ-104取得を目指している方の参考になれば幸いです。
※AZ-900の内容は本投稿では省略しております。再度復習したい方は下記をご参照ください。
[Azure Fundamentals(AZ-900)：試験合格に向けた学習内容のまとめ](https://qiita.com/fsd-jume/items/e4ec76959adb547ac5e8)

## 今回の学習内容
**◆「Azure Storageの各サービス」**
◇対応するMicrosoft Learn ラーニングパス
[AZ-104:Azure でのストレージの実装と管理](https://learn.microsoft.com/ja-jp/training/paths/az-104-manage-storage/)
◇対応するモジュール
[Azure ストレージ サービスについて](https://learn.microsoft.com/ja-jp/training/modules/configure-storage-accounts/3-explore-azure-storage-services)

※前回の投稿は下記から確認できます。
[Azure Administrator(AZ-104)：Azure でのストレージの実装と管理「Azure Storage」](https://qiita.com/drafts/14d57b24da9b11fc2a16/edit)

## Azure Storageの各サービス
AZ-900の学習まとめでも扱っておりますので、復習したい方は下記をご参照ください。
[Azure Fundamentals(AZ-900)：Azure の基礎: Azure のアーキテクチャとサービスについて説明する「Azure ストレージサービス」](https://qiita.com/fsd-jume/items/f809c7c05932af38fe19)
### Azure Blob Storage
・Microsoftクラウド用のオブジェクトストレージソリューション
・大量の非構造化データ/非リレーショナルデータを格納できるように最適化
・Storage内のオブジェクトには世界中どこからでもHTTP/HTTPS経由でアクセス可能
・SFTPでBlob Storageに安全にアクセスし、NFS3.0でBlob Storageコンテナをマウント可能
※SFTP：SSHファイル転送プロトコル
※NFSプロトコル：ネットワークファイルシステムプロトコル

**◆Azure Blob Storageに最適な目的**
・ 画像/ドキュメントをブラウザに直接配信
・分散アクセス用にファイルを格納
・ビデオ/オーディオをストリーミング配信
・バックアップ/復元/DR/アーカイブのためのデータを格納
・オンプレミス/Azureホステッドサービスで分析するデータの格納

**◆ユーザ/クライアントアプリケーションのBlobへのアクセス方法**
・URL
・Azure Storage REST API
・Azure PowerShell
・Azure CLI
・Azure Storageクライアントライブラリ

**◆クライアントライブラリの対応言語例**
・.NET / Java / Node.js / Python / Go / PHP / Ruby

### Azure Files
・可用性の高いフルマネージドのファイル共有
・複数のVMが読み取り/書き込みアクセス権の両方を使用して同じファイルを共有可能
・ファイル共有へのアクセス認証にはストレージアカウントの資格情報を使用
⇒ユーザがファイル共有への完全な読み取り/書き込みアクセス権を持っている必要あり
・Azure File Syncを使うと高速アクセスが可能
⇒データ使用場所の近くのWindowsサーバにSMB Azureファイル共有をキャッシュ

**◆ファイル共有へのアクセス**
・SMB Azure File共有：Windows/Linux/macOSクライアント用
※SMBプロトコル：サーバメッセージブロックプロトコル
・NFS Azure File共有：Linuxクライアント用
・Azure File REST API
・Azure Storageクライアントライブラリ

**◆Azure Filesの一般的なシナリオ例**
・アプリケーションのクラウドへの簡単なリフトアンドシフト
　-オンプレミスのアプリと同じドライブ文字にファイル共有をマウント
　⇒ファイル共有にアクセスするアプリ部分は最小限の変更で動作
・構成ファイルをファイル共有に格納し、複数のVMからアクセス
　-グループ内の複数の開発者が同じバージョンのツールなどを使用可能
・ファイル共有への書き込み後で処理/分析できるデータ例
　-診断ログ
　-メトリック
　-クラッシュダンプ　

### Azure Queue Storage
・メッセージの格納/取得に使用
・HTTP/HTTPSを使用した認証された呼び出しを介して世界中からアクセス可能

**◆キュー**
・非同期的に処理するメッセージ一覧を格納するために使用
・キューに許容されるメッセージサイズ：最大64KB
・1つのキューに格納可能なメッセージ：数百万件
※ストレージアカウントの総容量上限以内

**◆シナリオ例**
・Azure Functionsをキューから取得したメッセージをトリガーとして動作させる

### Azure Cosmos DB (Azure Table Storage)
※Azure Table Storageは現在Azure Cosmos DBの一部
・最新のアプリ開発のためのフルマネージドのNoSQLデータベースサービス
・自動管理/更新/修正機能により、ユーザによるデータベース管理は不要
・コスト効果の高いサーバレス/自動スケーリングオプション
⇒アプリのニーズに対応して需要に容量を一致させることが可能

**◆Azure Table Storage**
・構造化データ/リレーショナルデータを格納する場合に最適

**◆Azure Cosmos DB for TableのTable用API**
・既存のAzure Table Storageサービスに加えて下記を提供
　-テーブルごとの専用の予約済みスループット
　-リージョンのグローバル分散
　-自動セカンダリインデックス

### Azure Storageサービス選択の考慮事項
・Azure Storageの種類ごとの特徴
・自分のアプリのニーズをサポートするオプション

**◆各ストレージに対する検討**
・大量のデータ用：Azure Blob Storage
・高可用性：Azure Files
・メッセージ用：Azure Queue Storage
・構造化データ用：Azure Table Storage

## 次の学習内容
**◆ストレージへのアクセス**

https://qiita.com/fsd-jume/items/52c732918a8393f37c2d

## 学習内容をまとめたページの一覧

https://qiita.com/fsd-jume/items/6eda24728c9c03c36bc3