Amazon S3(Simple Storage Service)って何?
- AWSのオブジェクトストレージサービス
- 取り出し速度、取り出し頻度、料金等が異なる細分化された複数のS3関連サービスが提供されている。
- ストレージという特性上、単体ではなく、他サービスと組み合わせて出題される。
参考・リンクまとめ
出題傾向
S3は最頻出事項の一つとして、必ず、正確に理解した上で、試験に臨みましょう。
S3自体が多くの機能を持っている事に加えて、さらに、別のサービスとも組み合わせて利用される為、様々な文脈でS3は問題文に登場します。
S3ファミリーの中に、いくつかの種類が存在しますが、各種類の特徴を理解するだけでなく、各々の差異を確りと意識しながら、学んでいく必要があります。実際の問題では、単体のサービスを引き合いに出して、「このサービスはどのようなサービスでしょう?」とは出題されず、似たようなものの中から、どれが適切かを選択する問題ばかりだからです。
確りと、S3ファミリーの各サービスについて、その特徴、キーワードを理解し判別できるようになること、また、S3が持っている複数の機能や、ほかサービスとの組み合わせについて確りと理解します。
出題ポイント
S3の種類
このあたりが問われます!!
S3ファミリーの各サービスを学ぶ上で、理解するべき軸は下記の2つです。これについては、確りと暗記する必要があります。
- 取り出し速度
- アクセス頻度
絶対暗記!!
- 下記のS3ファミリーの表をしっかりと覚えましょう。
名称 取り出し時間 アクセス頻度 可用性
※4S3 標準 即時 高 99.99% S3 Intelligent-Tiering 即時 自動判断
※399.9% S3 標準 – IA
※1即時 中 99.9% S3 1 ゾーン – IA
※1即時 中 99.5% S3 Glacier 数分~数時間
※2
低(長期アーカイブ) 99.99% S3 Glacier Deep Archive 12 時間以内 低(長期アーカイブ) 99.99%
※上記いずれも、耐久性は99.999999999%(いわゆる、イレブンナイン)。耐久性と可用性は別物であることも認識しておく必要があります。 - ※1:「S3 標準-IA」と「S3 1ゾーンIA」はいずれも、低頻度のアクセス(「IA」、つまり「Infrequent Access(低頻度のアクセス)」)で、その点においては変わりません。その両者の差を問う問題の場合、見分け方はデータの重要度です。前者は複数のAZ(アベイラビリティーゾーン)に保管されるのに対して、後者は単一のAZに保管されるので、そのAZが破壊されると、データは失われます。従い、重要度は高くないものの、とっておきたいログデータ等が後者に該当します。
- ※2:Amazon S3 Glacierは、通常は3~5時間の取り出し速度ですが、「高速取得(高速取り出し)」を選択すれば、1~5分で取り出すことも可能です。SAAで頻出です。
- ※3:S3 Intelligent-Tieringは、アクセス頻度に応じて、オブジェクトの保存先を「S3 標準」 or 「S3 標準-IA」に自動的に割り振ってくれます。実際のアクセス頻度を確認した上で、長期間アクセスされていない場合には「S3 標準-IA」へオブジェクトが移動されます。また、一旦「S3 標準-IA」に移動したオブジェクトにアクセスが発生した場合は、「S3 標準」にオブジェクトを戻します。
署名付きURL(Presigned URL)
- 特定のURLからのみS3にアクセスできるようにする機能。(URLを知っている人だけがアクセスできるようにする機能)
- 一時的に不特定多数に対してS3へのアクセス権限を付与する場合、AWSユーザーアカウントを持っていない人へのS3に対するアクセス権限を付与する場合等に用いられる。
このあたりが問われます!!
前述のとおり不特定多数のユーザーや、AWSユーザーアカウントを持たないユーザーにS3へのアクセス権限を一時的に付与する場合、という前提でよく出題されます。
※ちなみにCloudFrontにも「署名付きURL」という全く同じ名前の機能と、「署名付きCookie」という似た名前の機能があります。「署名付きURL」は日本語では全く同じですが、英語では下記のように若干異なります。(この名前の差が試験に出ることはありません。)
- S3:署名付きURL:Presigned URL
- CloudFront:署名付きURL:Signed URL
ライフサイクル機能
- S3上で一定期間経過したオブジェクトを、自動的に、削除したり標準IAやGlacierに移行する機能
参考・リンクまとめ
このあたりが問われます!!
例えば、ライフサイクル機能を使って、移動させる先が標準-IAになるのか?Glacierになるのか?という問題がよくでます。従って、ライフサイクル機能の意味自体を問うてくることは少ないですが、問題を解く上で、機能の意味は理解しておく必要があります。
バージョニング
- 有効にすると、S3内のオブジェクトのあらゆるバージョンを取得することができる。
- 例えば、意図しないオブジェクトの削除を行った場合も復元することができる。
このあたりが問われます!!
バージョニングが問題文に登場する場合、上記のように、「意図しないオブジェクトの削除に対する対策」という形で触れられる事が多いです。また、「意図しないオブジェクトの削除に対する対策」としては、「MFA削除(MFA delete)の有効」(削除時にMFA認証が必要)も挙げられます。
アクセス制御
- S3上のファイルへのアクセスはIAMポリシー、バケットポリシー、バケットACLで制御
参考・リンクまとめ
絶対暗記!!
以下のアクセス制御方法は覚えておきましょう!
種類 | 用途 | 書式 |
---|---|---|
IAMポリシー | IAMポリシーを作成し、IAMユーザ、IAMロール、IAMグループ単位でアクセス制御を行う | JSON |
バケットポリシー | S3バケット、オブジェクトに対し、特定のIPアドレスやAWSアカウントレベルでからのアクセスを制御することができる | JSON |
バケットACL | S3バケット、オブジェクトに対し、読み取りや書き込みの制御を行うことができる。 | XML |
静的Webサイトホスティング
- htmlファイルや画像ファイルなどをS3に置いて、クライアントからのリクエストに応じてそのまま表示すること
このあたりが問われます!!
EC2を使って、静的なコンテンツを配信している場合に、よりコスト最適を達成したいとの話から、S3での静的Webサイトホスティングが回答となる場合があります。
また、S3単体で静的Webサイトホスティングを構成することも可能ですが、試験問題の中では、CloudFrontと組み合わせた静的Webサイトホスティングの前提もよく出題されます。
暗号化
- S3では、4つの暗号化を選択可能です。
参考・リンクまとめ
- AWS公式:サーバー側の暗号化を使用したデータの保護
このあたりが問われます!!
問われるのは、下記の3つの観点です。いずれにも対応できるように確り覚えましょう。
- 暗号化する場所はサーバー側 or クライアント側?
- 鍵の管理場所はサーバー側 or クライアント側?
- ユーザーの手間がかからない or 手間がかかるのはどれ?
絶対暗記!!
- 4つの暗号化タイプ:
名称 暗号化場所 鍵の管理場所 手間 SSE-S3 サーバ側 S3
(AWS上)少(楽) SSE-KMS サーバ側 KMS※1
(AWS上)中
SSE-C サーバ側 ユーザ
※2多(手間がかかる) CSE クライアント側 ユーザ 多(手間がかかる) - ※1:KMSはAWS Key Management Serviceのこと。なお、「CMK(カスタマーマスターキー)」はKMSで暗号化に使用される暗号化キーのこと。
- ※2:ユーザ側がS3に鍵をアップロードする方式。S3が暗号化を行いますが、鍵の管理はユーザー側。
- 「SSE」は「Server Side Encryption」の略称。「CSE」は「Client Side Encryption」の略称。これで、暗号化が行われる場所はわかりますね。
- 「SSE-S3」は「AES-256(256ビットのAdvanced Encryption Standard)」を使って暗号化している。
その他機能
- S3 Transfer Accelerationは”グローバル環境(長距離)”でのファイル転送を高速に行う機能
- S3 マルチパートアップロードは”大容量”のファイルを分割して転送する機能
- CORSは、特定のドメインにロードされたクライアントウェブアプリケーションが異なるドメイン内のリソースと通信する方法
- S3 Selectは、1つのファイルの中身に対してクエリを行える機能
- S3に格納された複数のファイルに対してクエリを行う場合はAthenaやRedshift Spectrumが利用可能
参考・リンクまとめ
このあたりが問われます!!
上記機能は、いずれも頻出機能ではないものの、出題される可能性のあるものですので、どのような機能であるかは覚えましょう。