AWS初心者による、SAA取得に向けた学習の記録⑤

※記事について著作権等で問題がありましたら、お手数ですがコメントいただけると幸いです。<br>早急に修正か、必要に応じて記事を削除いたします。

[AWS初心者による、SAA取得に向けた学習の記録④](https://qiita.com/t17_hr/items/f35cb0e313fd7863afb6) の続きです。

関連記事はこちらからどうぞ。

* [AWS初心者による、SAA取得に向けた学習の記録①](https://qiita.com/t17_hr/items/106838afc10a54eea3f0)
* [AWS初心者による、SAA取得に向けた学習の記録②](https://qiita.com/t17_hr/items/e8d6d6e97b8b7487a5a4)
* [AWS初心者による、SAA取得に向けた学習の記録③](https://qiita.com/t17_hr/items/5b85d13db5fb4044c01d)
* [AWS初心者による、SAA取得に向けた学習の記録④](https://qiita.com/t17_hr/items/f35cb0e313fd7863afb6)
* AWS初心者による、SAA取得に向けた学習の記録⑤
* [AWS初心者による、SAA取得に向けた学習の記録⑥](https://qiita.com/t17_hr/items/cbdc5c053a7bf63fa2a6)

※参考書籍
[AWS認定資格試験テキスト AWS認定ソリューションアーキテクト・アソシエイト 改訂版第2段](https://www.amazon.co.jp/dp/B08MVXRFFN?
tag=maftracking339397-22&linkCode=ure&creative=6339) 

今回は

* EBS
* EFS
* S3
* Storage Gateway
* FSx

についての内容となります。

まずは前提知識として以下の説明をします。

* ブロックストレージ
* ファイルストレージ
* オブジェクトストレージ

### ブロックストレージ

データを物理的なディスクにブロック単位で管理するストレージ。更新頻度が高い場合や高速アクセスが必要な場合に使用される。
AWSではEBSがブロックストレージに該当。

### ファイルストレージ

ブロックストレージ上にファイルシステムを構成し、ファイル単位でデータを管理するストレージ。
複数クライアントによるデータ共有や、まとまった過去データの保存が主な用途となる。
AWSではEFSが該当。

### オブジェクトストレージ

ファイルにメタデータを付与してオブジェクトとして管理するストレージ。
ストレージ内でファイルを直接操作することはできないが、HTTP経由で操作が可能。
更新頻度の低いデータや大容量のデータの保存が主な用途となる。
AWSではS3とS3 Glacierが該当。

# EBS（Elastic Block Store）

**EBS** は、AWSが提供するブロックストレージサービス。

### 機能概要

* EC2のOS領域として使用
* 追加で複数のEBSをEC2にアタッチが可能
* RDSのデータ保存が可能
* マルチアタッチ機能により複数EC2から同時にアタッチすることも可能だが、制約が多く用途が限定的
* 作成時にAZを指定する
 * 別のAZのEC2にアタッチする場合はEBSのスナップショットを作成し、<br>そのスナップショットを使用して別AZでEBSボリュームを生成する
 * バックアップも同様の手順でスナップショットから新規EBSボリュームを作成し、EC2にアタッチすることで実現

![AWS構成パターン（EBSデータ領域バックアップ）-768x451.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1021235/b6e7ec11-6536-bdac-482a-cd76ce34a5b3.png)

画像引用元：[AWS構成パターン（EBSデータ領域バックアップ）](http://chuu-information.com/cloud/post-831/)

### EBSのボリュームタイプ

IOPS：性能の指標。1秒あたりに処理できるI/Oアクセス数

* 汎用SSD（gp2）：最も一般的なSSDベースのボリュームタイプ。
* プロビジョンドIOPS SSD（io1）：最も高性能なSSDベースのボリュームタイプ。<br>DBサーバーを構成する場合など、高いIOPS性能が必要な場合に使用。
* スループット最適化HDD（st1）：HDDベースのスループット重視のボリュームタイプ。<br>ログデータへの処理やバッチ処理の入力ファイルなど、大容量ファイルを高速に読み取る場合に使用。
* Cold HDD（sc1）：性能よりも低コストを重視したボリュームタイプ。<br>利用頻度が低く、低アクセスなデータをシーケンシャルにアクセスする場合やアーカイブとしての用途で使用。

プロビジョンドIOPS以外には、IOPS容量に応じてEBS利用時間の99%を満たすよう設計されている **ベースライン性能** と、1TB未満のボリュームには一時的なIOPSの上昇に対応するための **バースト機能** がある。

EBSのボリュームは必要に応じてディスクサイズ（最大16TB）の変更が可能だが、拡張後はEC2条でOSに応じたファイルシステムの拡張作業を行い、OS側で認識させる必要がある。
しかしサイズを縮小することは不可能なため、一時的なデータの増加の場合には新規EBSとしてEC2にアタッチする。

また、ボリュームタイプの変更は自由にできる。

### 暗号化

EBSは、暗号化オプションを有効にしストレージ自体を暗号化することで、ボリュームが暗号化され、そこから取得したスナップショットも併せて暗号化される。

### EBSマルチアタッチ

複数のEC2インスタンスから同一のEBSをアタッチ可能。
別AZからはアタッチが不可能。
また、プロビジョンドIOPS SSDボリュームのみ利用可能。

# EFS（Elastic File System）

**EFS** は、容量無制限で複数EC2からアクセス可能なファイルストレージサービス。

### 機能概要

* クライアントからEFSへの接続は、NFSクライアントを用意することで実現できる
* amazon-efs-utils ツールには、EFSへのマウント推奨オプションやトラブルシューティングに役立つログの記録機能がある
* パフォーマンスモードとスループットモードがある

### EFSの構成要素

* ファイルシステム
* マウントターゲット
* セキュリティグループ

EFSは、ファイルが作成されると自動で **3か所以上のAZに保存される分散ファイルシステムを構成** する。
このファイルシステムにアクセスするために、AZごとでサブネットを指定し **マウントターゲット** を作成する。

マウントターゲットにはセキュリティグループを指定できる。

![efs-ec2-how-it-works-Regional.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1021235/8515088d-e6aa-8514-826c-a94fdfc77953.png)

画像引用元：[マウント・ターゲットの作成と管理](https://docs.aws.amazon.com/ja_jp/efs/latest/ug/accessing-fs.html)

### パフォーマンスモード

* 汎用パフォーマンスモード：最も汎用的なモード
* 最大I/Oパフォーマンスモード：EFSへの数百～数千の同時アクセス（ビッグデータ解析アプリの並列処理に使用するデータの参照など）
 * こちらを選択した場合、スループットを最大化する代わりにファイル操作のレイテンシーが微妙に高くなる

モードの選択を見分ける指標にはCloudWatchの **PercentIOLimit** を使用する。

※パフォーマンスモードは後から変更が不可能。

### スループットモード

* バーストスループットモード：EFSのデータ容量に応じてベースラインとなるスループットが設定されている
* プロビジョニングスループットモード：バーストで指定されているベースラインスループットを上回るスループットが必要な場合に、任意のスループット値を指定可能

モードの選択を見分ける指標にはCloudWatchの **BurstCreditBalance** を使用する。

※プロビジョニングスループットで指定するスループット値は増減が可能。また、プロビジョニングスループットでのスループット値の削減やモードの変更は、前回の作業から24時間開ける必要がある

# S3（Simple Storage Service）

**S3** は優れた耐久性を持つ、容量無制限のオブジェクトストレージサービス。
「大容量」「長期保存」「重要」に当てはまるデータの保管に最適。

保存されたデータは複数のAZとAZ内の複数の物理ストレージに複製される。

### 機能概要

* オブジェクトの参照にはHTTPベースのWeb APIを使用
* 利用者のデータ保存
* EBSスナップショットの保存
* データのバックアップ
* ビッグデータ解析用のデータレイク
* EC2やコンテナからのログ保存先
* 静的コンテンツのホスティング
* 簡易的なKey-Value型のDB

### 構成要素

* バケット：オブジェクトを保存する領域。バケット名はAWS内で一意である必要がある
* オブジェクト：S3に格納されるデータ。キー（オブジェクト名）が付与され、<br>「バケット名＋キー名＋バージョンID」で必ず一意になるURLが作成される。サイズは最大5TB
* メタデータ：オブジェクトを管理する情報を任意に定義できる

### ストレージクラス

* S3標準：デフォルトのストレージクラス
* S3標準-低頻度アクセス：上記に比べてコストが安価
* S3 1ゾーン：単一のAZのみでデータを複製するストレージクラス
* S3 Intelligent-Tiering：参照頻度を判断できないデータを扱う場合に使用。<br>上記のS3標準とS3標準-低頻度アクセスの2層構成
* S3 Glacier：ほとんど参照されないアーカイブ用のデータ保管に使用。<br>オブジェクトの新規作成時に指定はできないが、ライフサイクル管理機能で指定することで利用可能
* S3 Glacier Deep Archive：アーカイブ用途のストレージ。Glacierより更にアクセス頻度が低いデータを保管し、安価に利用が可能

オブジェクトの利用頻度に応じてライフサイクル管理を設定することができる

* 移行アクション：データの利用頻度に応じてストレージクラスを変更するアクション
* 有効期限アクション：期限を越えたオブジェクトをS3から削除するアクション

また、その他にバージョニング機能でオブジェクトを差分管理したり、静的コンテンツに限りWebサイトとしてホスティングしたりすることが可能。

# Storage Gateway

**Storage Gateway** は、オンプレミスにあるデータをクラウドに対して連携するためのインターフェースを提供するサービス。

データの保存先にはS3やS3 Glacierが、キャッシュストレージとしてはEBSが利用される。

![reinvent-stg-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1021235/29f7464b-cc39-251e-2718-16844a41f14a.png)

画像引用元：[(レポート) STG311: AWS Storage Gatewayによるセキュアでコスト効率のよりバックアップ #reinvent](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1021235/f2f1eba7-b49e-3aa2-4384-49f4b992b6e5.png)

### Storage Gatewayのタイプ

* ファイルゲートウェイ：S3をクライアントサーバーからNFSマウントして、ファイルシステムのように使用する
* ボリュームゲートウェイ：各ファイルをオブジェクトとしてではなく、S3のデータ保存領域全体を一つのボリュームとして管理する。ボリュームからスナップショットを取得することができる。
 * キャッシュ型ボリューム：頻繁に使用するデータはStorage Gateway内のキャッシュディスク（オンプレ）に保存し、全てのデータを保存するストレージ（プライマリストレージ）としてS3を利用する
 * 保管型ボリューム：全てのデータを保存するストレージ（プライマリストレージ）としてローカルストレージを使用し、データをスナップショット形式で定期的にS3へ転送する。このスナップショットはEBSとしてリストア可能。
* テープゲートウェイ：テープデバイスの代替としてS3やS3 Glacierにデータをバックアップする

# FSx

**FSx** はフルマネージドなファイルストレージ。

* Amazon FSx for Windows：Windows向けでビジネスアプリで利用される
* Amazon FSx for Lustre：ハイパフォーマンス向け
 * ファイルシステム作成時にS3のバケットと関連付けされ、自前のファイルように管理することが可能。
 * 機械学習やビッグデータ処理に使用
 * Linux用のサービスで、専用のクライアントソフトが必要
 * インストール後は通常のNASのようにマウントして利用可能



# 終わりに

最後まで読んでいただきありがとうございました。

関連記事はこちらからどうぞ。

* [AWS初心者による、SAA取得に向けた学習の記録①](https://qiita.com/t17_hr/items/106838afc10a54eea3f0)
* [AWS初心者による、SAA取得に向けた学習の記録②](https://qiita.com/t17_hr/items/e8d6d6e97b8b7487a5a4)
* [AWS初心者による、SAA取得に向けた学習の記録③](https://qiita.com/t17_hr/items/5b85d13db5fb4044c01d)
* [AWS初心者による、SAA取得に向けた学習の記録④](https://qiita.com/t17_hr/items/f35cb0e313fd7863afb6)
* AWS初心者による、SAA取得に向けた学習の記録⑤
* [AWS初心者による、SAA取得に向けた学習の記録⑥](https://qiita.com/t17_hr/items/cbdc5c053a7bf63fa2a6)

※参考書籍
[AWS認定資格試験テキスト AWS認定ソリューションアーキテクト・アソシエイト 改訂版第2段](https://www.amazon.co.jp/dp/B08MVXRFFN?
tag=maftracking339397-22&linkCode=ure&creative=6339)