2023年 4月現在の情報です。
AWS SAA試験対策の個人的まとめです。
S3が関わってくる問題はテストで確実に出る範囲なので、一旦まとめておきます。
サービスの内容も結構ちょくちょく変わるのですが、例えば S3のデータ整合性について、結果整合性から強い一貫性に変わっている ので、以前合格した方も見ておいて損はないかもしれません。
S3とは
99.999999999%(以降11 9s)の耐久性を誇り、拡張性も非常に高いストレージサービスです。
SAAは勿論CPを受験される方もご存じかと思います。
用語
厳密には違うでしょうが、イメージ的にはこんな感じでよさそう。
windows | S3 | S3 Glacier |
---|---|---|
フォルダ | バケット | ボールト |
ファイル | オブジェクト | アーカイブ |
オブジェクト
S3の基本単位、ファイルと大体同じ。
アーカイブ
S3 Glacierの基本単位、ファイルと大体同じ。
バケット(bucket)
オブジェクト用のコンテナ、ディレクトリと大体同じ。
ボールト(vault)
アーカイブを格納するコンテナ、ディレクトリと大体同じ。
ライフサイクル
「最初の3カ月は頻繁にアクセスされますが、それ以降はほぼアクセスされません。」
「このファイルは5年間保存されなければなりません。」
という設問を見たことがあると思います。見たことない人はこれから見ます。
「3カ月後にS3 Glacier Deep Archiveに移行する」「5年後に削除」と言ったようなコスト効率を上げるための設定。
S3の特徴
キーバリューストア
一意のキー値を利用して保存できるオブジェクトストアです。
Management Consoleから見るとあたかもフォルダ構造になっているように見えますが、実態は キーバリューストア なので、キーを指定してオブジェクトを取得します。
オブジェクト当たりの容量
AWS SDK / REST API / AWS CLIからのPUTオペレーションでは 最大5GB のオブジェクトをアップロードできます。
S3 コンソールからのオペレーションでは 最大160GB のオブジェクトをアップロードできます。
AWS SDK / REST API / AWS CLIからのマルチパートアップロードAPIを利用したアップロードでは 最大5TB のオブジェクトをアップロードできます。100MBを超える場合、ネットワークエラーがしばしば起こる環境、安定したネットワークでの複数スレッドを利用できる環境でのアップロードに関してはマルチアップロードを利用することが推奨されています。
リソースはデフォルトでプライベート
他のユーザーがアクセスするには署名付きURL、セキュリティ証明書、(ダウンロード用に)期限付きの許可が必要。
ストレージ管理方法色々
「誤ってデータを削除されないようにする必要があるが、ソリューションアーキテクトとしてできる対策はどれか。」
という設問を見たことがあると思います。見たことない人はこれから見ます。
1つ目は S3バージョニング を使用したバージョン管理です。削除されても復旧が可能になります。
2つ目は MFA Delete を有効にすることです。MFA(多要素認証)の削除を有効にすることで、削除する前にMFA認証が必要になるため、誤操作による削除を防ぐことができます。
3つ目は オブジェクトロック を使うことです。一定期間または無期限に削除や上書きを防止できます。
ただしいくつか注意点がありますのでセットで覚えておきましょう。
- オブジェクトレベル及びバケットレベルで設定する必要がある
- 新しいバケットに対してのみ 有効化できる(バケット作成後の有効化はできない)
- オブジェクトロックが有効化されたバケットを作成すると、 自動でバージョニングも有効化 される
ストレージクラス
正しい用途で利用した場合の保存コストはS3標準が一番高く、順に安くなっていきS3 Glacier Deep Archiveが最安値となります。
S3 標準
最も一般的なクラスです。
アクセス頻度:高い
レイテンシ:低い
取り出しまでの時間:即時
取り出し料金:無料
耐久性:11 9s
可用性:99.99%
AZ:3カ所以上
S3 Intelligent-Tiering
アクセス頻度がよく分からないデータにお勧め。
いい感じにデータを移動してくれます。
アクセス頻度:不明
レイテンシ:低い
取り出しまでの時間:即時
取り出し料金:無料
耐久性:11 9s
可用性:99.9%
AZ:3カ所以上
備考:
・モニタリングとオートメーションに月額料金あり
・30日連続アクセスがないとIA階層に移動
・90日連続アクセスがないとArchive Instant階層に移動
・移動したオブジェクトにアクセスすると高頻度アクセス階層に戻る
S3 標準 – IA(低頻度アクセス)
アクセス頻度:低い
レイテンシ:低い
取り出しまでの時間:即時
取り出し料金: 有料
耐久性:11 9s
可用性:99.9%
AZ:3カ所以上
S3 1 ゾーン – IA
アクセス頻度:低い
レイテンシ:低い
取り出しまでの時間:即時
取り出し料金: 有料
耐久性:11 9s
可用性: 99.5%
AZ:1カ所
ここからはデータアーカイブ用ストレージクラスこと S3 Glacier(氷河) です。
S3 Glacier Instant Retrieval
アクセス頻度:四半期に1回くらい
レイテンシ:低い
取り出しまでの時間:即時
取り出し料金: 有料
耐久性:11 9s
可用性:99.9%
AZ:3カ所以上
S3 Glacier Flexible Retrieval(旧S3 Glacier)
アクセス頻度:1年に1~2回くらい
レイテンシ:分または時間
取り出しまでの時間:数分から数時間
取り出し料金: 有料
耐久性:11 9s
可用性:99.99%
AZ:3カ所以上
迅速取り出し
1~5分で取り出し可能 1
標準取り出し
3~5時間で取り出し可能
大容量取り出し
5~12時間で取り出し可能
S3 Glacier Deep Archive
アクセス頻度:1年に1~2回くらい
レイテンシ:時間
取り出しまでの時間:12時間以内
取り出し料金: 有料
耐久性:11 9s
可用性:99.99%
AZ:3カ所以上
備考:
・7~10年以上保持されるデータ用に設計されている
・AWS Strage Gatewayの仮想テープライブラリ機能であるTape Gatewayと統合された
標準取り出し
12時間以内に取り出し可能
大容量取り出し
ペタバイト単位を含む大容量のデータを48時間以内に取り出し可能
Amazon S3 on Outposts(AWS Outposts)
他のストレージクラスとは毛色が違いますが、簡単に書きます。
自分もよく分かっていないので・・・・・・。
outpost:前哨基地:休止する部隊が敵状探索、奇襲防止などのため、その前面に配置する基地。
「オンプレで実行できるフルマネージド型のインフラストラクチャ」「お客様のサイトにデプロイされる AWS のコンピューティングおよびストレージキャパシティーのプール」だそうです。
要は物理サーバー・ラックのレンタルサービスですね。
リソースタイプがEC2, ECSクラスタ, EKSノード
ストレージがEBS, S3
分析とデータベースがEMR, ElastiCache, RDS DB
ネットワークがVPC, ALB, Sagemaker
などを組み合わせたラックやサーバーをレンタルできるサービス。
Outpost サブネット内のインスタンスは、プライベート IP アドレスを使用して、AWS リージョン内の他のインスタンスと通信します。
これらはすべて同じ VPC 内にあります。
データをオンプレで保持するという企業コンプライアンスを守りつつAWS環境を使う運用ができそうですね。
参考
他にも見たページはありますが、全て公式ドキュメントを参考にしています。
-
250MB未満に限る ↩