S3とは
耐久性と可用性に非常に高くデータの中長期保存に最適なオブジェクトストレージサービスです。
バケット単位で保存スペースを区分して、オブジェクトでデータを格納する。
オブジェクトストレージの特徴
- 安価かつ高い耐久性をもつオンラインストレージ
- オブジェクト形式でデータを保存
- デフォルトで複数AZに冗長化されるためデータの耐久性へ可用性が非常に高いものになっている
耐久性(Durability)
- データ持続性
- データを失わない確率
可用性(Availability)
- 稼働率(稼働時間)
- 「システムやサービスが利用できる時間の割合」
- 使いたい時に使える確率
冗長性(Redundancy)
- コンピューターやシステムに障害が発生した場合に備えて、冗長な(=無駄な)予備装置を普段から配置、運用すること
- 複数あれば、それは冗長性があると言える
- 単にバックアップと言った場合は、自動的に短時間で復旧する(切り替わる)場合のみ、冗長性があると言える
バケット
- バケットは一つのストレージの単位
- オブジェクトを格納する場所のこと
- バケット名は一意の名前でなければならない(世界で1つの名前でなければならない)
- バケットはリージョンに設定してするため、AZやVPCの範囲外
オブジェクト
- オブジェクトという名前だがファイルのようなもの
- htmlやmp3などのさまざまなファイル形式のデータをオブジェクト単一出なければならない
バージョン管理
ユーザーが間違ってデータを削除してしまってもバージョン管理していれば復元することができる。
- デフォルトでは無効化されているため設定する必要がある
- ライフサイクルルールによってバージョンが保存される期間が設定できる
- オブジェクトのバージョンIDでバージョン管理ができる
ストレージクラス
S3には複数のストレージクラスがあるため用途に応じて変える必要がある
タイプ | 特徴 | 性能 | 料金 |
---|---|---|---|
STANDARD | ・複数のAZにデータを複製するため耐久性が高い。頻繁に使用するデータを大量に保存するのに向いている。 | ・耐久性 99.999999999% ・可用性 99.99% |
・最低利用料金 なし ・データ取得料 なし |
STANDARD-IA | ・低頻度アクセスデータストレージ。ONEZONE-IAより重要なマスターデータ向けでデータの取得は早い ・STANDARDとONEZONE-IAの間のもの |
・耐久性 99.999999999% ・可用性 99.9% |
・最低利用料金 30日 ・データ取得料 なし |
ONEZONE-IA | ・低頻度アクセスデータストレージですがマルチAZでないため可用性が低く、重要ではないデータ向け | ・耐久性 99.999999999% ・可用性 99.5% = 1AZ |
・最低利用料金 30日分 ・データ取得料 GB当たりの所得料 |
S3 Intelligent Tiering | ・高頻度にアクセスするデータと低頻度のデータを自動で移動してくれる アクセスパターンがわからない時に使用する |
・耐久性 99.999999999% ・可用性 99.9% |
・最低利用料金 30日 ・データ取得料 なし |
Glacier
タイプ | 特徴 | 性能 | 料金 |
---|---|---|---|
S3 Glacier Flexible Retrievel |
・1年に1,2回アクセスされるアーカイブデータ向け。 ・複数のデータ検索がある 1. 標準取り出し 3~5時間 2. 迅速取り出し 2~5分 3.一括取り出し 5~12時間 ボールトロック機能でデータを保持 |
・耐久性 99.999999999% ・可用性 99.99% |
・最低利用料金 90日 ・データ取得料 GB当たりの所得料 |
S3 Glacier Instant Retrievel |
・アクセスされることがほとんどなく、ミリ秒単位の取り出しが必要な長期間有効なデータ向け(医療画像やニュースメディアなど) |
・耐久性 99.999999999% ・可用性 99.9% |
・最低利用料金 90日 ・データ取得料 GB当たりの所得料 |
S3 Glacier Deep Archive | ・最安のアーカイブ用ストレージ ・7~10年間保持しなくてはいけないが滅多にアクセスしないデータ向け |
・耐久性 99.999999999% ・可用性 99.99% |
・最低利用料金 180日 ・データ取得料 GB当たりの所得料 |
S3の暗号化
S3へのデータ保管時の暗号化形式には下記の4種類ある
暗号化方式 | 特徴 |
---|---|
SSE-S3 | ・S3の標準暗号化方式 ・作成、管理をS3側で自動で実施してくれる |
SSE-KMS | ・AWS KMSに設定したキーを利用した暗号化 ・ユーザー側でAWS KMSを利用して暗号化マネージドキーを作成、管理する |
SSE-C | ・ユーザーが指定した暗号化用のマネージドキーをデータとともに送付して、サーバーサイド暗号化を実施する ・管理はユーザーでやるので少しめんどくさい |
CSE | ・S3に送信する前にデータを暗号化する方式 ・アプリケーションに保存したマスターキーを使用 |
オブジェクトロック
アップロードされたデータを更新、削除をできないするようにする機能でデータが変更されないことを保証する。
まとめ
S3について簡単にですがまとめてみました。
間違った記述をしている場合もあるかと思いますが指摘していただけると幸いです。