Azure Fundamentals(AZ-900)：Azure の基礎: Azure のアーキテクチャとサービスについて説明する「Azure ストレージサービス」

Microsoft Learnを用いたMicrosoft Azure Fundamentals(AZ-900)の試験内容をまとめる投稿です。
この投稿ではMicrosoft Learnで学ぶ内容をできるだけ簡潔にまとめております。
Azureの勉強を一から始める方の参考になれば幸いです。

## 今回の学習内容
**◆「Azure ストレージサービス」**
◇対応するMicrosoft Learn ラーニングパス
[Azure の基礎: Azure のアーキテクチャとサービスについて説明する](https://learn.microsoft.com/ja-jp/training/paths/azure-fundamentals-describe-azure-architecture-services/)
◇対応するモジュール
[Azure ストレージ サービスについて説明する](https://learn.microsoft.com/ja-jp/training/modules/describe-azure-storage-services/4-describe-azure-storage-services)

※前回の投稿は下記から確認できます。
[Azure Fundamentals(AZ-900)：Azure の基礎: Azure のアーキテクチャとサービスについて説明する「Azure ストレージの冗長性」](https://qiita.com/fsd-jume/items/9fe212829d6378d79955)

## Azure ストレージサービス
### 利点
**◆接続性と高可用性**
・冗長性により、ハードウェア障害/データセンター障害/リージョン障害においても高可用性を維持

**◆セキュリティ保護**
・書き込まれたすべてのデータが暗号化
・データにアクセスできるユーザを細かく制御可能

**◆スケーラブル**
・日々向上するニーズを満たすための高度にスケーラブルな設計を採用

**◆管理されている**
・利用者に代わり、Azureがハードウェアのメンテナンス、更新プログラム、重大な問題への対処を実施

**◆アクセス可能**
・世界中のどこからでもHTTP/HTTPS経由で、Storage内のデータにアクセス可能
・様々な言語のライブラリと成熟したREST APIを提供
・Azure PowerShellやAzure CLIによるスクリプトの実行をサポート
・Azure PortalとAzure Storage Explorerにより、データ操作が視覚的に可能

### Azure BLOB Storage
**クラウド向けのオブジェクトストレージソリューション**
⇒ディレクトリ構造(パス)ではなくオブジェクトIDと呼ばれる識別子で保存場所を管理

**◆BLOB(Binary Large Object)
データベースで用いられるデータ型の一つで、非構造化データを格納するときに使用**
⇒BLOB Storageは大量の非構造化データを格納できるように最適化
※非構造化データ：テキストデータやバイナリデータなどの、特定のデータモデルや定義に従っていないデータ
例)科学機器からストリーミングされたギガバイト単位のバイナリデータ
例)別のアプリケーションに対する暗号化されたメッセージ
例)開発中のアプリ向けのカスタム形式のデータ

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

**◆BLOB Storageへのアクセス**
・ストレージ内のオブジェクトには、世界中のどこからでもHTTP/HTTPS経由でアクセス可能
・ユーザ/アプリはURL、Azure Storage REST API、Azure PowerShell、Azure CLI、Azure Storageクライアントライブラリを介してアクセス可能
・ライブラリは様々な言語で利用可能

**◆BLOB Storage アクセス層**
・クラウド内へのデータ格納コストの管理のためにアクセス頻度と保持期間に基づいてデータを整理する方法が有効
⇒最もコスト効率の高い方法でBLOBデータを保存できるように複数のアクセス層を用意
・各層はアップロード中/アップロード後にBLOBレベルで設定可能
・アーカイブアクセス層に保存しているデータの読み取り/ダウンロードには、オンライン層への変更が必要(最大15時間)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2851723/7273aac7-7acb-b997-f0d5-a373c81f111d.png)

### Azure Files
**SMB/NFSプロトコルを介してアクセスできるファイル共有をクラウド上で提供**
・SMB(Server Message Block)：主にWindows PC間でファイル共有をする際に用いられる
・NFS(Network File System)：主にサーバ間でファイル共有をする際に用いられる

**◆SMB Azureファイル共有**
・Windows、Linux、macOSクライアントからアクセス可能
・Azure File Syncを使用して、データが使用されている場所の近くのWindowsサーバにキャッシュし、高速アクセス可能

**◆NFS Azureファイル共有**
・ Linux、macOSクライアントからアクセス可能

**◆主な利点**
**・共有アクセス**
アプリケーションの互換性を意識せず、オンプレミスのファイル共有をAzureファイル共有に置き換え可能
**・フルマネージド**
サーバOSの更新やハードウェアの交換など、ハードウェアやOSを管理せずAzureファイル共有を作成可能
**・スクリプトとツール**
CLIやGUIを用いて、Azureファイル共有を作成、管理可能
**・回復性**
常に使用できることを目的として構築されているため、夜間における物理トラブルへの対応が不要
**・プログラミングのしやすさ**
既存のコードとスキルを活用して、既存のアプリを移行可能

### Azure Queue Storage
**多数のメッセージを格納するためのサービス**
⇒アプリにおける構成要素間の非同期通信用のメッセージを格納
⇒通常は、作業のバックログを作成するために使用

・HTTP/HTTPSを使用し、認証された呼び出しを介してどこからでもメッセージにアクセス可能
⇒Azure Functionsなどと組み合わせると、メッセージを受信(格納)したときに指定したアクションを実行できる
例)顧客がWebサイトに情報を入力後、「送信」ボタンを押下
　→「送信」ボタン押下をトリガーにQueue Storageにメッセージを格納
　→メッセージの受信(格納)をトリガーにAzure Functionsでアクションを実行
・ストレージアカウントの容量で保持できるもの(数百万通)と同じ数のメッセージを格納可能
・各メッセージの許容最大サイズは64KB

### Azure Disk Storage(Azure マネージドディスク)
**Azure VMで使用するためにAzureによって管理されるブロックストレージ**
※ブロックストレージ：記憶領域をボリュームという単位に分割し、ボリュームの内部をさらにブロックという単位で分割して管理するストレージ
・概念的には物理ディスクと同じだが仮想化されている
・物理ディスクよりも高い回復性と可用性を提供
・ディスクを準備するだけで、あとの管理はAzureが実行する

## 次の学習内容
**◆Azureのデータ移行オプション**

https://qiita.com/fsd-jume/items/a470401648d1863e81f2

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

https://qiita.com/fsd-jume/items/e4ec76959adb547ac5e8