【AWS】S3のストレージクラスについてまとめる

## はじめに
業務の中でAWSのS3のストレージクラスについて考える機会があったので、理解を深めるために記事にしたいと思います。

## ストレージクラスの種類

### S3 Standard
- アクセス頻度の高いデータ向けのストレージクラス
- 高い耐久性、可用性、パフォーマンスを備えている
- 低レイテンシーかつ高スループットなパフォーマンスを持っている

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  |  ・クラウドアプリケーション<br>・動的なウェブサイト<br>・コンテンツ配信<br>等  |
|  耐久性  |  99.999999999%  |
|  可用性  |  99.9%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  該当なし  |
|  最小ストレージ期間  | 該当なし |


### S3 Intelligent-Tiering
- オブジェクトのサイズや保存期間に関係なく、アクセスパターンが予測できないデータ向けのストレージクラス
- アクセスパターンが変化した場合、最も費用対効果の高いアクセス層にデータを自動的に移動される仕組み

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  | ・データ分析<br>・アクセスパターンが予測できないコンテンツ配信   |
|  耐久性  |  99.999999999%  |
|  可用性  |  99%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  該当なし  |
|  最小ストレージ期間  |  該当なし  |

### S3 Standard-IA
- アクセス頻度が低いが、必要に応じてすぐに取り出すことができるデータに適しているストレージクラス
- S3 Standard より安価な値段で利用することが可能

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  | ・長期保存<br>・バックアップ<br>・災害対策ファイルのデータストア |
|  耐久性  |  99.999999999%  |
|  可用性  |  99.9%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  128KB  |
|  最小ストレージ期間  |  30日  |

### S3 One Zone-IA
- アクセス頻度が低いが、必要に応じてすぐに取り出すことができるデータに適しているストレージクラス
- S3 Standard-IA と比較して、20%のコストの削減を実現することが可能
- 1つのAZにデータが保存される仕様
    - AZに障害が起きると、データが失われる
    - アクセス頻度が低く、重要度が低いデータ向け

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  | ・バックアップのコピー<br>・再作成可能なデータサマリー |
|  耐久性  |  99.999999999%  |
|  可用性  |  99.5%  |
|  Availability Zones |  1  |
|  最小オブジェクトサイズ  |  128KB  |
|  最小ストレージ期間  |  30日  |

### Amazon S3 Glacier Instant Retrieval
- アクセスされることがほとんどなく、ミリ秒単位の取り出しが必要な、長期間有効なデータ用に最低コストのストレージを提供するストレージクラス
- S3 Standard と同じパフォーマンスでミリ秒単位のデータ取得が可能
- 四半期に1回アクセスする場合、 S3 Standard と比較してストレージコストを 最大68% 節約することが可能

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  | ・メディアアーカイブ<br>・医療画像   |
|  耐久性  |  99.999999999%  |
|  可用性  |  99.9%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  128KB  |
|  最小ストレージ期間  |  90日  |

### Amazon S3 Glacier Flexible Retrieval(旧S3 Glacier)
- 1年に 1〜2 回アクセスされ、非同期で取り出されるアーカイブデータ向け
- S3 Glacier Instant Retrieval よりも 最大10% 低いコストのストレージを提供する
- すぐにアクセスする必要はないものの、大量のデータを無料で取り出せる柔軟性が必要なアーカイブデータ向け

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  |  ・バックアップ<br>・災害対策 |
|  耐久性  |  99.999999999%  |
|  可用性  |  99%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  40KB  |
|  最小ストレージ期間  |  90日  |

### Amazon S3 Glacier Deep Archive
- Amazon S3 の最も低コストのストレージクラス
- 1年のうち1回か2回しかアクセスされないようなデータを対象
- 長期保存やデジタル保存をサポートしているストレージクラス
- 7～10 年以上データセットを保管するように設計
    - 金融サービス、ヘルスケアなどの規制が厳しい業界が対象

|  項目  |  内容  |
| ---- | ---- |
|  ユースケース  | ・コンプライアンスアーカイブの保存<br>・デジタルメディアの保存 |
|  耐久性  |  99.999999999%  |
|  可用性  |  99%  |
|  Availability Zones |  ≥3  |
|  最小オブジェクトサイズ  |  40KB  |
|  最小ストレージ期間  |  180日  |

## 参考
- [Amazon S3 ストレージクラス](https://aws.amazon.com/jp/s3/storage-classes/)
- [[アップデート] Amazon S3 Intelligent-Tiering がより使いやすくなりました（最小ストレージ期間 / 小さなオブジェクトの監視・オートメーションコストの撤廃）](https://dev.classmethod.jp/articles/amazon-s3-intelligent-tiering-further-automating-cost-savings-for-short-lived-and-small-objects/)
- [6つのS3ストレージクラスの選択に迷った時みるチャートをつくってみた](https://dev.classmethod.jp/articles/should_i_choice_s3_storage_class/)
- [新しい Amazon S3 ストレージクラス、S3 1 ゾーン – 低頻度アクセスを発表](https://aws.amazon.com/jp/about-aws/whats-new/2018/04/announcing-s3-one-zone-infrequent-access-a-new-amazon-s3-storage-class/)
- [Amazon S3 Glacier はデータをアーカイブするのに最適 – S3 Glacier Instant Retrieval ストレージクラスのご紹介](https://aws.amazon.com/jp/blogs/news/amazon-s3-glacier-is-the-best-place-to-archive-your-data-introducing-the-s3-glacier-instant-retrieval-storage-class/)