はじめに
今回はS3編です。
あいかわらず用語が多いですが、なるべく分かりやすい解説をしてみようと思います。
Amazon S3とは
公式ドキュメントによると、
Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。あらゆる規模や業種のお客様が、データレイク、クラウドネイティブアプリケーション、モバイルアプリケーションなど、事実上あらゆるユースケースで、あらゆる量のデータを保存、保護することができます。コストパフォーマンスに優れたストレージクラスと使いやすい管理機能により、コストの最適化、データの整理、特定のビジネス、組織、コンプライアンスの要件を満たすきめ細かなアクセスコントロールの設定を行うことができます。
Amazon S3(以下、S3)はAWSが提供するオンラインストレージサービスです。
まずオンラインストレージとはなにかですが、様々なデータをインターネット経由で保存することができるサービスのことです。
その中でもS3は、オブジェクトストレージと呼ばれ、データをファイル単位ではなくオブジェクト単位(バケット)で扱います。
また、ファイルストレージのような階層構造(ディレクトリ)ではなく、
フラット構造で固有のオブジェクトIDを持ちます。
S3とはAWSが提供するオブジェクトストレージサービスである。
様々なデータをインターネット経由で保存することができる。
S3の特徴
拡張性(Scalability)
S3は利用する容量に制限がないので、データ容量を気にする必要がありません。
(一応、保存するオブジェクトは1ファイルにつき5TBまでの制限はある)
事前に余分なリソースを確保しておく必要もなく、利用するストレージリソースを自由にスケールアップ・ダウンすることができます。
S3は容量無制限でいくらでも利用できる。
耐久性(Durability)
耐久性とはデータを失わないことを保証する度合いのことで、
現在、S3のすべてのストレージクラスにおいて耐久性は年間で99.999999999%とされています。
S3の耐久性は、99.999999999%(11 9s イレブンナイン)と呼ばれ、
非常に優れた耐久性を実現できるよう設計されている。
可用性(Availability)
可用性はシステムが稼働し続けることを保証する度合いのことで、
S3 Standardの可用性は年間で99.99%とされています。(ストレージクラスによって異なります)
S3は、膨大なデータを取り扱う場合でも安全に継続的に使える。
ストレージクラス
Amazon S3 は、ワークロードのデータアクセス、復元力、およびコスト要件に基づいて選択できるさまざまなストレージクラスを提供しています。S3 ストレージクラスは、さまざまなアクセスパターンに最低コストのストレージを提供できるように設計されています。S3 ストレージクラスは、要求の厳しいパフォーマンスニーズ、データ常駐要件、不明または変更されたアクセスパターン、アーカイブストレージなど、事実上すべてのユースケースに最適です。
S3には、その用途によって選択できる複数のストレージクラスが存在します。
ちなみにストレージクラスとは、ストレージの種類のことです。
・Amazon S3 Standard (標準)
S3 Standardはアクセス頻度が高いデータ向けに高い耐久性、可用性および性能を備えた汎用的なオブジェクトストレージです。
・Amazon S3 Intelligent-Tiering
Intelligent-Tieringはアクセスパターンが変化したり、まれにしかアクセスされないデータ向けのオブジェクトストレージです。
運営のオーバーヘッドなしで、最も費用効果的なアクセス層にデータを自動で移動して費用を最適化できます。
・Amazon S3 Standard – IA
頻繁にアクセスはしないデータ向け。
S3 Standardの優れた耐久性、高い処理量及び短い遅延時間を安価なGB当たりのストレージ料金とGB当たりの検索料金で提供されるオブジェクトストレージです。
・Amazon S3 One Zone – IA
頻繁にアクセスはしないデータ向け。
S3 Standard-IAとの違いは、最低3つの可用領域(AZ)にデータを保存する他のストレージクラスとは異なり、S3 One Zone - IAは1つのAZにデータを保存されます。
そのため、そこまで重要でないデータ向けとなり、費用もS3 Standard - IAより20%少ないです。
・Amazon S3 Glacier Instant Retrieval
ほとんどアクセスされない、長期間保存のデータ向けのアーカイブストレージクラスです。
S3 Standard と同じパフォーマンスのミリ秒単位でのデータの取り出しが行えます。
S3 Standard-IAと比較すると、ストレージコストを最大68%節約できます。
・Amazon S3 Glacier Flexible Retrieval (旧 S3 Glacier)
年に1~2回程度のアクセスで非同期で取り出されるデータ向けのアーカイブストレージクラスです。
バックアップや災害対策のユースケースなど、すぐにアクセスする必要はないものの、取得時間が数分から5~12時間許容される大量のデータを無料で取り出せる柔軟性が必要なアーカイブデータに適しています。
S3 Glacier Instant Retrievalよりも最大 10%低いコストのストレージが提供されます。
・Amazon S3 Glacier Deep Archive
S3 Glacier Flexible Retrievalと同じく、バックアップや災害対策のユースケースなど、すぐにアクセスする必要はないもので、こちらは取得時間が12~48時間許容され最も低コストです。
7~10年間保持されるデータ向けで、長期保存用に設計された低コストのアーカイブストレージクラスです。
公式で磁気テープライブラリの理想的な代替策と謳っています。
・Amazon S3 on Outposts
オンプレ環境であるAWS Outpostsでのオブジェクトストレージです。
S3 APIを使用して、通常のAWSリージョンでのデータアクセスとデータ利用が行えます。
チャートにしてみるとこんな感じです。
S3には用途にあわせて複数のストレージクラス(ストレージの種類)が存在するので、
利用する際は最適なものを選択しましょう。
料金
実際に使用した分だけお支払いいただきます。最低料金の設定はありません。データを保存および管理する際に検討すべき Amazon S3 のコスト要素は 6 つあります。ストレージの料金、リクエストとデータ取り出しの料金、データ転送と転送高速化の料金、データ管理機能および分析機能の料金、レプリケーションの料金および S3 Object Lambda でデータを処理するための料金です。
ざっくりまとめると、
・ストレージ保存容量
・リクエスト数
・データ転送(S3へのデータ転送受信は無料)
・バケットで有効になっているストレージ管理機能と分析
・レプリケーション(リアルタイムデータ複製)
・S3 Object Lambda(S3から取得するデータに対して変更や処理をかけられるサービス)の利用
これらに料金がかかります。
またリージョンによって料金は変動します。
まとめ
S3は、ストレージクラスがやや複雑ですが、
ストレージサービスとして非常に高い耐久性と可用性をもっており、
実際に多くの企業でも採用されています。
ローカルからクラウド上でデータ管理を検討する場合など、
S3はオススメできると思います。
少しでも参考になれば幸いです。
参考
こちらもどうぞ