本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
AWSのストレージサービス
AWSにはS3やEBSといった代表的な物を始め、たくさんのストレージサービスがあります。
そんなたくさんのストレージサービスを学習したので書き留めたいと思います。
S3
まずは有名なS3からです。S3は高耐久で大容量なオブジェクトストレージサービス。
データをオブジェクトとして扱いIDとメタデータによって管理します。
S3つぎはS3の機能を見ていみましょう。
耐久性
S3のデータの耐久性は99.999999999%という高耐久性を誇っています。また、保存されたデータは同一リージョン内の3箇所のAZへ自動で複製されます。
容量
S3は容量に制限というものはありません。しかし1ファイルに対する容量の制限はあります。
利用した容量の分だけ料金が発生します。
バージョニング
オブジェクトの世代管理をしてくれる機能。S3は通常同名のオブジェクトをアップロードすると上書きされます。上書きされても前のオブジェクトのバージョンを管理してくれます。また誤って更新や削除をしてしまっても前のバージョンに戻す事ができます。
静的WEBサイトホスティング
S3はデータストレージとしての機能だけではなく、Webサイトのホスティング機能もあります。静的なコンテンツを配信するサイトであれば、新たにサーバーを構築せずともWebサイトを公開できます。
アクセス制御
S3はアクセス制御が可能で以下3つの制御の方法があります。
1. IAMポリシーを用いた制御
2. バケットポリシーを用いた制御
3. ACLを用いた制御
暗号化
S3はサーバーサイドの暗号化機能があり、AES-256の方式で暗号化します。
※AES-256 : AESという暗号化方式で暗号化鍵に256ビット長を用いる方式。
ストレージクラス
S3にはストレージクラスと呼ばれる利用形態がいくつかあり、選択する事ができます。
1. スタンダード
デフォルトのクラスになります。公式で推奨されているクラスです。
2. 低冗長化ストレージ (RRS)
通常3つのAZでレプリケーションされるところを2箇所にする事で、冗長性は下がるがコストを抑える事ができます。
3. スタンダード-IA
スタンダードと同じ耐久性があり、低コストで利用可能です。正しデータ読み取り時に料金が発生することと、オブジェクトが123KB以下でも123KB相当の請求がされます。
4. One Zone-IA
スタンダード-IAよりも耐久性は落ちるが、その分スタンダード-IAよりも低コストで利用できる。(AZは1箇所にみに保管)
5. Glacier
アーカイブを目的としたストレージクラス。たくさんのデータを安価で保管できますが、データの取り出しに時間がかかります。
6. Intelligent-Tiering
データをコスト効率の良いアクセス階層に自動的に移動させて、ストレージコストを最小限に抑えてくれます。
公式のページにストレージクラスの比較表がありますので気になる方はご覧ください。(見づらいですが...)
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/storage-class-intro.html
ライクサイクル
ライフサイクルを設定することで設定した期間が経過したらオブジェクトを削除したり、他の安価なストレージにオブジェクト移動できたりします。
ログ保管
オブジェクトに対するログを保管する機能です。
マルチパートアップロード
大容量のオブジェクトを複数のパートに分割してアップロードする仕組みです。効率よくアップロードできます。
分割されたオブジェクトはS3で再構築されます。
クロスリージョンレプリケーション
通常S3に保存したオブジェクトは同一リージョン内の3箇所のAZに保管されますが、クロスリージョンレプリケーションを使用すれば異なるリージョンS3バケットに自動的に複製してくれます。
また、複製先には別のAWSアカウントも指定できるみたいです。
EBS
EBSは主にEC2インスタンスにアタッチすることで利用できる永続的なブロックストレージです。
ブロックストレージとはデータをブロックという細かい単位で保管する方式です。
以下、EBSの機能をまとめていきます。
ストレージタイプ
EBSにはいくつかのストレージタイプがあり、選択する事ができます。
-
凡用SSD(gp2)
gp2はSSDを安価に利用できるデフォルトのサービスです。容量に応じてIOPSが設定されているようです。 -
プロビジョンドIOPS SSD (io1)
io1は高パフォーマンスなストレージタイプでユーザーが自由にIOPSを設定できます。設定したIOPSに対しても課金対象となるのでコストは高めです。 -
スループット最適化 HDD (st1)
HDDタイプのストレージタイプです。大容量のストレージを安価で利用でき、アクセス頻度が高いシステムに適しています。 -
Cold HDD (sc1)
st1と同じくHDDタイプの低コストなストレージタイプです。バックアップなどのアクセス頻度は少ないけど大容量なデータを保管するのに適しています。
EC2インスタンスのブートボリュームには使用できないみたいです。
高可用性
EBSは99.999%の高い可用性を維持するよう設計されているみたいです。また、S3の時は3箇所のAZに自動的にに複製をしていましたが、EBSはAZ内で自動的に複製されます。
バックアップ
EBSはスナップショットを用いてバックアップを取得する事ができます。スナップショットは自動的にS3に保存されるので高い耐久性があります。
初回はフルバックアップを行うが、そのあとは都度増えた分だけ取得します。
##インスタンスストア
EC2のインスタンスに利用できるブロックレベルの一時ストレージを提供するサービスです。
揮発性のためインスタンスを停止すると、データは消失してしまうので重要なデータを扱うには向いていません。(エフェメラルディスクと呼ばれることもあります)
EFS
EFSはファイルストレージタイプのストレージです。保存されるファイルのサイズによって伸縮するので、予めストレージ容量を決める必要がありません。
EC2インスタンス以外にもオンプレミスサーバーからも利用できます。
Storage Gateway (SGW)
SGWはオンプレミスと連携したバックアップストレージサービスです。オンプレミスのストレージとS3のストレージを連携させて高可用性で堅牢なストレージを構築可能。
S3へNFS,SMB,iSCSIといった標準プロトコルでアクセスできます。
SGWには以下の種類があります。
-
キャッシュ型ボリュームゲートウェイ
基本S3へデータを格納しますが、アクセス頻度の高いデータはローカルにキャッシュすることでアクセスの高速化を実現できます。
キャッシュからデータを探して、無ければS3に探しに行く流れです。 -
保管型ボリュームゲートウェイ
データをスナップショットとして非同期的にS3へ格納します。 -
テープゲートウェイ
物理テープ装置の代替としてS3、Glacierに格納できます。 -
ファイルゲートウェイ
オブジェクトを直接S3に格納できるサービス。
AWS Import/Export Snowball
ペタバイト規模の大容量データをAWSのストレージへ転送できるサービスです。
まとめ
後半は駆け足気味となってしまいましたが、まとめてみました。
AWSはストレージサービスだけでたくさんの種類がありますね。詳細を書いていくとキリがなさそうです...
今後はストレージサービスと連携して使用するサービスについてもまとめていきたいと思います。