________________________________________________________________
◆ストレージとは
ストレージとはデータを長期保存するための記録装置です。
皆さんが利用しているスマートフォンやPC、タブレットにもストレージが存在します。
主にHDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)、USBメモリーといった物理的なストレージ以外にもGoogle DriveやAppleのICloudもストレージサービスの1種です。
これらのストレージはデータの保存方法が異なり、大きく分けて3種類に分けられます。
それぞれ見ていきましょう。
①ファイルストレージ
ファイルストレージとはそのままの意味でデータを「ファイル」として、階層構造の「フォルダ」に保存するストレージです。ネットワーク経由でファイル共有を行うこともできるため利便性が高い一方で、アクセス速度は後述するブロックストレージと比較して高くないため、高速アクセスが必要な場合には不向きである場合があります。また、データ容量が多い場合はデータの取り出しに時間がかかります。

②ブロックストレージ
ブロックストレージはデータを「ブロック」という単位で分割して管理するストレージです。PCに取り付けられているHDDやSSDはブロックストレージに該当します。
ブロックストレージに保存されるデータは固定の大きさのブロックに分割されて、ブロック一つ一つに一意のIDが割り当てられます。そのIDを用いてデータへアクセスする「ブロックアクセス」方式を用いています。
ブロックストレージはデータアクセスに必要な処理のオーバーヘッドが少ないことから高速なデータアクセスを行うことができます。そのため、OSの保存場所やデータベースなどへの高速アクセスが求められるケースに利用されることが多いです。

③オブジェクトストレージ
オブジェクトストレージとは、画像・動画・音声データなど一つ一つのデータをオブジェクトという単位で管理するストレージです。各データには固有のURI(Uniform Resource Identifier:インターネット上に存在するあらゆるファイルを識別する総称)とメタデータ(データを説明するためのデータ)を付与して、オブジェクトとしてストレージに保存します。データを利用する際にはURIを指定してHTTP通信を行うことでデータの読み書きを行うことができます。

◆Amazon S3/S3 Glacier
Amazon S3及びAmazon S3 GlacierはAWSおけるオブジェクトストレージを提供するサービスです。
次の項目で特徴からそれぞれ見ていきましょう。
■S3の特徴
・容量無制限
S3はオブジェクトストレージとクラウドサービスの特徴を掛け合わせ、容量無制限のストレージを提供しています。データを保存する入れ物は「バケット」と呼ばれ、そこへオブジェクトを保存します。利用者は上限を気にすることなく保存することができ、保存しているデータの分だけ課金される仕組みとなっています。
・可用性と耐久性
S3は99.999999999%(ナインイレブン)の耐久性を実現しており、ほぼデータを損失することはありません。また常に複数のAZに複数された上で保存されるため、特定のAZで障害が発生したとしてもデータの損失を防ぐことができます。
・安価
S3はAWSのストレージサービスの中で最も安価なサービスです。上記で記述した特徴とも組み合わせることで大容量のデータ保管の他にバックアップの保管用ストレージとしても利用することができます。
・インターネット経由でのアクセス
S3へはHTTPやHTTPSを用いたアクセスでデータへアクセスすることができるため、インターネット環境があればすぐに利用することができます。また、アクセス制限にはACLとバケットポリシーの2つを用いることができ、バケット単位、オブジェクト単位でのアクセス制限を行うことができます。
・暗号化
S3はデータを保存する際にサーバーサイド暗号化(SSE-S3、SSE-KMS、SSE-C)で暗号化することができます。またデータを送信する際にはクライアントサイド暗号化(CSE-KMS、CSE-C)で暗号化することができます。
■S3のストレージクラス
S3には複数のストレージクラスが存在しており、用途によって使い分けることができます。それぞれで利用料金も決まっているため、適切なクラスを利用することが重要です。
特にS3 Glacierに関してはデータアーカイブとしての利用を想定されているため、低コストで大容量のデータを保存できますが、取り出すのには時間が掛かるため注意が必要です。

■その他の機能
S3には他にも様々な機能があるためご紹介します。
・静的Webサイトホスティング機能
S3には静的Webサイトホスティングという設定があり、有効化することでS3バケットをWebサーバーとして利用することができ、HTML等でWebサイトを作成することができます。
・署名付きURL
S3では署名付きURLという機能があります。この機能は一時的にオブジェクトへアクセスできるURLを発行できるサービスです。URL自体に有効期限を設けることができるため、セキュリティの観点からも有効な機能です。
・バージョニング
バージョニングはオブジェクトの更新をバージョンとして管理する方法です。基本的に各オブジェクトは一度更新や削除してしまうと元に戻すことはできません。しかし、バージョニングを有効化することで更新または削除アクションごとに1つのバージョンとして管理されるようになり、操作ミスなどで意図しない操作をしてしまった場合や、悪意のある利用者からの攻撃で暗号化されてしまった場合でも前のデータから復元が可能になります。
ただし、バージョニングは各バージョンがそれぞれ保管されることからその分の課金もされるため、どれだけ前のバージョンを保存し続けるかも重要になります。特定の日数を経過した場合に削除してもよいという要件であるならば、次にご紹介する機能を利用することをおすすめします。
・ライフサイクル
ライフサイクル機能は指定した日数経過したバケット内のオブジェクトを削除したり、別のストレージクラスへ変更することができる機能です。数日や数週間、数か月後にアクセス頻度がほぼ無くなるが削除できないデータなどはS3 Glacierへ変更したり、不必要になるデータは削除することができます。
◆Amazon Elastic Block Store (Amazon EBS)
Amazon EBSはEC2インスタンス向けに用意されているブロックストレージサービスです。EBSで作成したストレージは「EBSボリューム」と呼ばれ、基本的にEC2にアタッチ(関連付け)することでプライマリストレージとして利用します。
■EBSの特徴
・EBSボリュームの提供
上記で記述した通り、EC2向けのEBSボリュームを提供します。EC2インスタンスを作成する際に新規で作成することができるほかに、事前に作成しておくこともできます。その際はAZを指定して作成する必要があり、同じAZに存在するEC2インスタンスへのみアタッチすることができます。
・複数のボリュームパターン
EBSには複数の種類があります。それぞれ違いを把握しておきましょう。

また、EBSボリュームの種類・容量はアタッチした状態でも可能です。さらにEBSのバックアップをスナップショットとして取得してS3へ保存しておくことも可能です。
そのため、スナップショットを使って別のAZやリージョンへEC2を複製することも可能です。
◆Amazon Elastic File System(Amazon EFS)
Amazon EFSはAWS上でファイルストレージを提供するサービスです。Amazon EFSはVPC内に作成し、AZ内に作成されるマウントターゲットと呼ばれる仮想ネットワークインターフェイスのIPアドレスを使ってEC2等を接続させます。
Amazon EFSはEC2だけではなく、後述するコンテナサービスであるFargate等でも利用が可能です。
またEFSも容量無制限の拡張性や柔軟性を備えつつ、複数のAZに保存される可能性も備えつつ、ファイルロック機能と呼ばれる編集中のデータをロックする機能もあるので、データを共有しつつ競合を防ぐことができます。
さらに、EFSにもストレージクラスが存在するので覚えておきましょう。

◆Amazon FSx
Amazon FSxはAmazon EFSと同様にAWSで提供されているファイルストレージサービスです。ただし、EFSとは異なる点もいくつか存在します。その違いを正しく理解しましょう。
まずはFSxが対応しているファイルシステムは以下の通りです。
・Amazon FSx for Windows File Server
Windowsサーバー上でフルマネージドな共有ストレージを提供します。
・Amazon FSx for NetApp ONTAP
AWSクラウドでフルマネージドNetApp ONTAPファイルシステムを起動して実行できるようにするストレージサービスです。
・Amazon FSx for OpenZFS
AWSでフルマネージドOpenZFSファイルシステムを起動、実行、およびスケールできるストレージサービスです。
・Amazon FSx for Lustre
Lustre(ラスター)と呼ばれるハイパフォーマンスファイルシステムを搭載したストレージサービスで、レイテンシーがミリ秒未満の共有ストレージ、1 秒間に最大でテラバイトのスループット、百万単位の IOPS を提供します。
EFSとの使い分けとしては、EFSは基本的にLinux系サーバーのみに対応しているため、Linuxサーバーかつそれほどの性能を求めないのであればEFSが適切です。しかし、Windowsサーバーや高スループットが求められる場合にはFSxを利用した方が良いシーンが多いです。
各ストレージサービスの違いについては理解できましたか。試験では使い分けるシチュエーションや各ストレージクラスについて問われることが多いので、今のうちに理解しておきましょう。
最後に小テストをご用意しましたので、チャレンジしてみましょうhttps://forms.gle/n3Efe8vpa2Vecs9v8