【AWS】S3とは?概要、主な機能、料金体系、バケットなどについて

AWS

「AWSのS3とは?概要、主な機能、料金体系、バケットなどについて知りたい。」

このような疑問に対して、筆者が業務で使用するためにAWS S3について調べた内容メモをご紹介いたします。メモベースですので、分かりにくい箇所があるかも知れません。ご容赦ください。

この記事で分かること

  • S3の概要
  • S3の主な機能
  • S3の種類
  • S3の料金
  • バケットについて
  • S3のその他機能

参考情報

>> 【公式】AWS ドキュメント S3

Amazon Simple Storage Service(Amazon S3)の概要

  • インターネット用のストレージ
  • Amazon S3 を使用すると、データの大きさにかかわらず、ウェブ上のどんな場所からでもいつでも保存、取得することが可能
  • シンプルかつ直感的なウェブインターフェイスの AWS マネジメントコンソール を用いて、これらのタスクを実行することが可能
  • データをオブジェクトとしてバケットに保存
  • オブジェクトは、ファイルと、そのファイルを記述する任意のメタデータ
  • Amazon S3 にファイルをに保存するには、バケットにファイルをアップロード
  • ファイルをオブジェクトとしてアップロードする際に、オブジェクトと任意のメタデータにアクセス権限を設定することが可能
  • バケットは、オブジェクトのコンテナ
  • 1 つまたは複数のバケットを持つことが可能
  • バケットごとにアクセスを制御し、バケット内のオブジェクトを作成、削除、リスト化できるユーザーを決定することが可能
  • Amazon S3 がバケットとそのコンテンツを保存する地理的リージョンを選択し、バケットとそのオブジェクトのアクセスログを表示することも可

S3の主な機能

  • バケット:データの保存場所(バケット)の作成。データのアップロード、バージョニング、ログ記録、暗号化、ライフサイクル、レプリケーション等様々なバケットに対する設定が可能
  • バッチオペレーション:オブジェクトに対してのアクションを設定
  • S3アクセスアナライザー:S3に対しての外部からのアクセスを分析
  • ブロックパブリックアクセス:バケットに対してのインターネットからのアクセスを拒否・許可

S3の種類

S3 標準 ・アクセス頻度の高いデータ向けのストレージ
・可用性:99.99%
・最低3つのAZにデータが保管される
S3 Intelligent
– Tiering
・高頻度と低頻度アクセス用に最適化された階層に
データを振り分けて保存するコスト効率の高いストレージ
・30日以上使用していないデータを低頻度アクセス層に振り分ける
・可用性は99.9%
・最低3つのAZにデータが保管される
S3 標準 ・アクセス頻度は低いが、
必要に応じてすぐに取り出すことが必要なデータ向け
・可用性は99.9%
・最低3つのAZにデータが保管される
S3 1 ゾーン
(One Zone-IA)
・アクセス頻度は低いが、
必要に応じてすぐに取り出すことが必要なデータ向け
・1つのAZにデータを保存する事でコストを20%削減
・可用性:99.5%
S3 Glacier ・データアーカイブに適した低コストストレージ
・データの取り出し速度に3種類のオプションがあり
高速で取り出すと高額になるため
アクセス頻度の高いデータを保存するのには向いない
・可用性:99.99%
・最低3つのAZにデータが保管される
S3 Glacier Deep Archive ・データアーカイブに適した低コストストレージ
・Glacierよりも安価で7〜10年保持されるようなデータで
年に1〜2回ほどしかアクセスしないデータを保管するのに適している
・データの取り出しが12時間以内と遅い
・可用性:99.99%
・最低3つのAZにデータが保管される

S3の料金

S3 標準 ・ストレージ保管料金:
-初めの50TB/月:0.025USD/GB
-次の450TB/月(50〜500TB):0.024(USD/GB)
-500TB月以上:0.023(USD/GB)
※多く利用するほど安くなる
・PUT、COPY、POST、LIST リクエスト:0.0047(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.00037(USD/1000リクエスト)
S3 Intelligent – Tiering ・ストレージ保管料金(高頻度アクセス):
-初めの50TB/月:0.025USD/GB、
-次の450TB/月(50〜500TB):0.024(USD/GB)
-500TB月以上:0.023(USD/GB)
※多く利用するほど安くなる
・ストレージ保管料金(低頻度アクセス):0.019USD/GB
・PUT、COPY、POST、LIST リクエスト:0.0047(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.00037(USD/1000リクエスト)
・ライフサイクル移行リクエスト:0.01(USD/1000リクエスト)
S3 標準 – 低頻度アクセス ・ストレージ保管料金:0.019(USD/GB)
・PUT、COPY、POST、LIST リクエスト:0.01(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.001(USD/1000リクエスト)
・ライフサイクル移行リクエスト:0.01(USD/1000リクエスト)
・データ取り出し:0.01(USD/GB)
S3 1 ゾーン – 低頻度アクセス ・ストレージ保管料金:0.0152(USD/GB)
・PUT、COPY、POST、LIST リクエスト:0.01(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.001(USD/1000リクエスト)
・ライフサイクル移行リクエスト:0.01(USD/1000リクエスト)
・データ取り出し:0.01(USD/GB)
S3 Glacier ・ストレージ保管料金:0.005(USD/GB)
・PUT、COPY、POST、LIST リクエスト:0.0571(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.00037(USD/1000リクエスト)
・ライフサイクル移行リクエスト:0.0571(USD/1000リクエスト)
・データ取り出しリクエスト:迅速:11.00(USD/1000リクエスト)、
標準:0.0571(USD/1000リクエスト)、大容量:0.0275(USD/1000リクエスト)
・データ取り出し:迅速:0.033(USD/GB)、標準:0.011(USD/GB)、
大容量:0.00275(USD/GB)、
プロビジョニングされた容量単位:ユニットあたり 110.00(USD/GB)
S3 Glacier Deep Archive ・ストレージ保管料金:0.002(USD/GB)
・PUT、COPY、POST、LIST リクエスト:0.065(USD/1000リクエスト)
・GET、SELECT、他のすべてのリクエスト:0.00037(USD/1000リクエスト)
・ライフサイクル移行リクエスト:0.065(USD/1000リクエスト)
・データ取り出しリクエスト:標準:0.1142(USD/1000リクエスト)、
大容量:0.025(USD/1000リクエスト)
・データ取り出し:標準:0.022(USD/GB)、大容量:0.005(USD/GB)

バケット

データの共有 ・アプリケーションとS3間でデータ共有する際にはAccess Pointsの設定をし、
データアクセスの管理をする。
・S3にAccess Pointsを作成し、
共有したいアプリケーションに対してアクセス許可をする事で
データ共有が可能
バージョニング ・S3バケットに格納されたオブジェクトのバージョンを記録可能
・記録された状態を保持する事が可能なため、
間違ってデータ削除してしまった際や変更してしまった際の
回復手段に使用する事が可能
暗号化 ・通信中のデータはHTTPS プロトコルを使用して、SSL暗号化通信が可能
・サーバー側のデータも暗号化 (SSE) オプションを使用して暗号化可能
ライフサイクル ・ライフサイクルルールを設定する事で、
長期間利用していないデータをS3標準ストレージから
低頻度アクセスのストレージやGlacierなどに移行したり、
削除する事で、データ保存にかかるコストの効率化や
データ整理をする事が可能
レプリケーション ・Amazon S3 バケット間でオブジェクトを
自動で非同期的にコピーできる機能
・レプリケーション用に設定されたバケットは
別のアカウントでも所有する事が可能で、
オブジェクトは異なるリージョンにコピーする事が可能
(クロスリージョンレプリケーション )

S3その他の機能

バッチオペレーション ・オブジェクトのコピーやタグ付け、
アクセスコントロールリストの更新などの
ストレージアクションを自動実行可能
・繰り返し処理が必要な操作を大規模に自動化するための機能で、
1度のリクエストで数10億のオブジェクトと
PB規模のデータにまたがるアクションを実行可能
S3アクセスアナライザー ・アクセスポリシーを監視し、
リソースへの意図しないアクセスの可能性があるバケットを
検出する機能。例えば、インターネット上の全てのユーザへ
アクセス許可されているバケットや、他のAWSアカウントと
共有されているバケットがある場合に警告する
ブロックパブリックアクセス ・不正アクセスからデータを保護する機能
・有効化する事で、現在のS3パケット全てのデータと
これから作成されるデータ全てに対しての
パブリックアクセスをブロックできる

S3の設置先

  • リージョンを指定してリージョン内に設置される

・オブジェクト型ストレージ

  • 静的データに適したストレージシステム
  • アジリティやフラット構造という特性
  • 膨大なデータ量を安価に高い耐久性を要して保存するのに向いています
  • オブジェクトには、アプリケーションがデータを迅速に検出するための十分な情報
  • 構造化されていないデータの保存に適している

・バージョニング

  • 同じバケット内でオブジェクトの複数のバリアントを保持する手段
  • バージョニングを使用して、Amazon S3 バケットに格納されたあらゆるオブジェクトのあらゆるバージョンを、格納、取得、復元することが可能

・S3マネージメントコンソールのプロパティにある機能

  • バージョン管理
  • 静的ホスティング
  • オブジェクトレベルのログ管理

・S3を利用した静的ホスティング

  • バケットポリシーを設定して、インターネットからアクセスできるようにする必要がある

S3のサーバーサイドのデータ暗号化において利用できる暗号化方式

  • SSE-S3
  • SSE-KMS
  • SSE-C

※CSE:クライアントサイドの暗号化方式の略称
【参考】
>> Amazon S3 クライアント側の暗号化

ユーザー側で用意した暗号キーを利用するサーバーサイド暗号化形式

  • SSE-C
  • 独自の暗号化キーを設定
  • リクエストの一部として用意された暗号化キーで、Amazon S3 は、ディスクに書き込む際の暗号化とオブジェクトにアクセスする際の復号の両方を管理
  • したがって、データの暗号化と復号を実行するコードをユーザー側で管理する必要はない
  • 必要なことはユーザーが用意する暗号化キーを管理することだけ

参考にさせていただいたページ

>> 【公式】AWS ドキュメント
>> AWSチャンネル
>> Acrovision > 技術記事 >AWS
>> これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)

>> TOPにもどる

まとめ

本記事では「AWSのS3とは?概要、主な機能、料金体系、バケットなどについて知りたい。」という疑問に対し、筆者や調べた内容メモをご紹介しました。

この記事でご紹介した内容

  • S3の概要
  • S3の主な機能
  • S3の種類
  • S3の料金
  • バケットについて
  • S3のその他機能

なお、筆者がAWSソリューションアーキテクト アソシエイトの試験対策についてまとめた記事がありますので、ご紹介します。
【AWS SAA関連記事】
>> 【第1回】AWSソリューションアーキテクトアソシエイト勉強法/初心者が最短合格するための学習方法
>> 【第2回】AWSソリューションアーキテクトアソシエイト勉強法/主な学習トピックとポイント

本記事がお役に立てば幸いです。