🌟

[AWS認定][SAA]S3の基本用語、ストレージクラス

2022/09/05に公開

はじめに

みなさん、こんにちは。ひよこインフラエンジニアです。普段はAWSを中心に、既存システムの保守運用や新規システムの構築・テストなどのお仕事をしています。
AWS Certified Solutions Architect -Associate(SAA-C02)に何とか合格できましたので、自分用勉強メモを残しておこうと思います。今回はAmazon Simple Storage Service (Amazon S3)です。なお、正確な情報、最新情報についてはAWSの公式ドキュメント[1]をご覧いただければと存じます。

EC2とは

AWSの公式サイト「よくある質問」の冒頭には、EC2とは何かという説明が記載されています。

「Amazon Elastic Compute Cloud (Amazon EC2) は、クラウド内で規模の変更が可能なコンピューティング性能を利用できるウェブサービスです。また、ウェブスケールのコンピューティングをデベロッパーが簡単に利用できるよう設計されています。」(AWS 「よくある質問-Amazon ec2」より引用)
https://aws.amazon.com/jp/ec2/faqs/

EC2は、必要な数だけ、必要な性能を利用できる仮想サーバのサービスです。私が初めて業務で触れたAWSサービスがEC2でした。以降に、EC2の勉強を通して調べたことを羅列していきます。

インスタンスタイプ

EC2では、インスタンスタイプという形でvCPUやメモリといったスペックを選択します。具体的なインスタンスタイプには、「t2.micro」「m5.xlarge」といった種類があり、料金も異なります。

  • インスタンスファミリー:

S3 ストレージクラス

  • バケット:オブジェクトを保存するための領域。AWS内で一意にする必要がある。
  • オブジェクト:S3に格納されるデータそのもの。1つのオブジェクトサイズは最大5TBまで
  • メタデータ:オブジェクトを管理するための情報。オブジェクトの作成日時などのシステム定義メタデータに加えて、必要な情報をユーザー定義メタデータとして保持できる。

S3 Glacierストレージクラス

  • ボールト:アーカイブを保存するための領域で、S3のバケットに相当。
  • アーカイブ:S3 Glacierに格納されるデータそのもの。S3のオブジェクトに相当。
  • インベントリ:各ボールトに保存されているアーカイブの情報を収集したもの。具体的には、サイズ、作成日、アップロード時に設定したアーカイブの説明など。
  • ジョブ:アーカイブやインベントリに対する検索要求や、データをダウンロードするといった要求に対して処理を実行すること。また、処理の状況を管理する。

ファイルストレージとの違い

大きな違いとしては、下記が挙げられます[2]

  • ディレクトリ構造(階層構造)を持たない構成であること
    →マネジメントコンソールから確認するとフォルダがあるように見えるが、
    オブジェクトのグループ化の方法として、フォルダの概念をサポートしているだけ。
  • ユーザがデータに対して、メタデータという情報を独自に付与できること
    →ただし、オブジェクトのアップロード後にはメタデータを直接変更できない。

ストレージクラス

S3には、データアクセスの頻度、復元力、コスト要件に応じて選択できる様々な種類があり、この種類のことをストレージクラスと呼びます。上記の「よくある質問」には8種類ものストレージクラスが掲載されています[3]が、この記事では下記の7つを取り上げます。なお、ご紹介する特徴や性能は、2022年9月現在のものとなります。ご了承ください。

S3 ストレージクラス

  • S3 Standard
  • S3 Standard-Infrequent Access (Standard-IA)
  • S3 One Zone-Infrequent Access (One Zone-IA)
  • S3 Intelligient-Tiering

S3 Glacierストレージクラス

  • S3 Glacier Flexible Retrieval (旧S3 Glacier)
  • S3 Glacier Instant Retrieval
  • S3 Glacier Deep Archive

① S3 Standard

耐久性:99.999999999%(イレブンナイン)、可用性:99.99%
・複数のAZにまたがってデータが保存されるため、高耐久
・デフォルトのストレージクラスであり、低レイテンシー、高スループット
・頻繁に利用するデータを大量に保存するのに向いている

② S3 Standard-Infrequent Access (Standard-IA)

耐久性:99.999999999%(イレブンナイン)、可用性:99.9%
・S3 Standardと比較して安価
・低頻度アクセスデータ(IA)用のストレージであり、読み出し容量に応じて従量課金
・複数のAZにまたがってデータが保存されるため、AZ障害時においてもデータが失われない
・後述するOne Zone-IAと比較して、重要なデータを保存するのに向いている

③ S3 One Zone-Infrequent Access (One Zone-IA)

耐久性:99.999999999%(イレブンナイン)、可用性:99.5%
・単一AZのみでデータを複製するため、AZ障害時はデータが失われる
・アクセス頻度は低いものの、必要に応じてすぐに取り出したいときに利用
・バックアップのコピーや再作成可能なデータ、ログファイルなど「消えてもいい」データ向け
・S3クロスリージョンレプリケーションを使用して、別のAWSリージョンから複製されたデータを保存したいが、コスト最適を求めたいとき

④ S3 Intelligient-Tiering

耐久性:99.999999999%(イレブンナイン)、可用性:99.9%
・高頻度(Standard)と低頻度(Standard-IA)という2つのアクセス階層があり、30日以上アクセスされないデータは自動的にStandard-IAに移される
・90日間アクセスがなければ、アーカイブインスタントアクセス階層に移動する。
・どの程度データにアクセスするか分からない場合に利用

⑤ S3 Glacier Flexible Retrieval (旧S3 Glacier)

耐久性:99.999999999%(イレブンナイン)、可用性:99.99%
・1年に1~2回アクセスされ、非同期で取り出されるようなアーカイブデータ向け
・ライフサイクル管理でこのクラスを指定でき、ボールトロックによるデータ保護が可能
・デフォルトで、SSLで暗号化された状態でデータ転送ができる
・安価だが、S3 Glacier Deep Archiveの方がより安価である
・データ取り出しの種類と所要時間は、下記の通り
  - 迅速(高速、Expedited):1~5分
  - 標準(Standard):3~5時間、デフォルトでは標準になる
  - バルク(一括検索、大容量、Bulk):5~12時間

⑥ S3 Glacier Instant Retrieval

耐久性:99.999999999%(イレブンナイン)、可用性:99.9%
・四半期に一度程度のアクセス、ミリ秒単位の取り出しが必要な長期間有効なデータ向け
・直接このクラスにオブジェクトをアップロードするか、ライフサイクル管理で指定する
・S3 Standard及びS3 Standard -IAと同等のスループット、ミリ秒でアーカイブデータにアクセスできる
・医療画像、ニュースメディアアセット、ユーザー生成コンテンツアーカイブなどに使用

⑦ S3 Glacier Deep Archive

耐久性:99.999999999%(イレブンナイン)、可用性:99.99%
・1年に1~2回アクセスされるようなデータを対象に、7~10年以上の長期保存やデジタル保存をサポート
・3つ以上のAZにデータがレプリケート・保存される
・磁気テープの代替案として費用効率が高く、管理が簡単
・取り出し時間は標準で12時間以内、大容量取り出しで48時間以内

脚注
  1. https://docs.aws.amazon.com/ja_jp/s3/?id=docs_gateway ↩︎

  2. 佐々木 拓郎、林 晋一郎、金澤 圭『AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版』SBクリエイティブ株式会社、2021年 を参照 ↩︎

  3. https://aws.amazon.com/jp/s3/storage-classes/ ↩︎

Discussion