AWS S3の全体像と基本概念

AWSを学び始めると真っ先に名前が挙がる「Amazon S3」ですが、「結局何ができるの?」「Googleドライブとどう違うの?」とイメージしづらい部分もあるでしょう。S3の根本的な考え方と、データを保存する際の基本的なルールを整理していきます。

クラウド上の無限の物置としてのS3

Amazon S3(Simple Storage Service)は、名前に含まれる3つの「S」が示す通り、シンプルにデータを保存するためのクラウド上のストレージサービスです。写真、動画、テキスト、システムのログなど、あらゆるファイルをインターネット上に置いておくことができます。

一番身近な例えになるのは、GoogleドライブやDropboxのようなオンラインストレージです。ただし、S3は私たちが普段使うファイル共有ツールとは、いくつか決定的な違いがあります。

まず、対象となるユーザーが違います。Googleドライブは「人間がブラウザやアプリから操作すること」をメインに設計されていますが、S3は「プログラムからシステム的にアクセスすること」を前提に作られています。そのため、マウスでドラッグ&ドロップしてファイルを整理するよりも、APIと呼ばれる命令を使ってプログラムから大量のデータを一気に書き込んだり読み出したりするのが得意です。

次に、スケーラビリティ(拡張性)の高さです。自社でファイルサーバーを用意する場合、ハードディスクの容量が一杯になったら追加購入して設置し直すといった作業が必要になります。しかしS3では、数GBの小さなデータから、数PB(ペタバイト=1,024TB)という膨大なデータまで、事前に容量を決めることなく保存できます。保存量が増えても、ディスクの増設などを意識する必要は一切ありません。

この「容量を気にせず、プログラムから扱いやすい」という特性があるからこそ、AWSにおいて「とりあえずデータを置いておくなら、まずはS3」というのが最初の選択肢になります。画像の保管先としてはもちろん、システムのバックアップ先や、他のサービスにデータを渡すための受け渡し場所として、AWSの根幹を支える存在になっています。

バケットとオブジェクトの関係性

S3を使い始めるにあたって、最初に覚えておきたいのが「バケット」と「オブジェクト」という2つの言葉です。この2つの関係性を理解することが、S3の基本構造を掴む上で非常に重要です。

バケットは、データを入れるための「大きな入れ物」です。S3を利用する際は、まずこのバケットを作成します。一方、オブジェクトは、そのバケットの中に入れる「ファイルそのもの」です。画像ファイルでも、CSVファイルでも、すべてオブジェクトとして扱われます。

ここで一つ注意点があります。バケットには、全世界で一意の名前をつける必要があります。

Warning

バケット名は、あなたのAWSアカウント内だけでなく、世界中のすべてのAWSユーザーと重複してはいけません。たとえば「test」や「images」といった名前は既に使われている可能性が非常に高いため、自分のプロジェクト名や日付などを組み合わせて、誰も使っていない固有の名前をつける必要があります。

そして、S3のデータ構造で最も初心者をつまずかせやすいのが、フォルダの考え方です。

パソコンを使っていると、「ドキュメントフォルダの中に、仕事フォルダを作って、その中にファイルを入れる」というような階層構造(ツリー構造)を作るのが当たり前になっています。しかし、S3には物理的な「フォルダ」という概念がありません。S3の内部は、すべてのオブジェクトがバケットの直下にズラッと平置きされている「フラットな構造」になっています。

では、どうやってデータを整理するのかというと、オブジェクトの「名前(キーと呼びます)」に工夫をします。たとえば、images/profile/icon.pngという名前でオブジェクトを保存します。パソコンの画面上では「imagesというフォルダの中にprofileフォルダがあって、その中にicon.pngがある」ように見えますが、S3の中では単に「images/profile/icon.png」という長い名前のファイルが1つ、平置きされているだけなのです。

この「フォルダがあるわけではなく、名前にスラッシュ(/)が含まれているだけ」という考え方さえ頭に入れておけば、S3のデータ構造の混乱はぐっと減るはずです。

オブジェクトストレージとしての考え方と仕組み

S3は、私たちが普段使っているファイルシステムとは根本的に仕組みが異なります。S3を支える「オブジェクトストレージ」という考え方を、他のストレージと比較しながら紐解いていきましょう。

ファイルストレージやブロックストレージとの決定的な違い

データを保存する仕組みには、大きく分けて3つの種類があります。「ファイルストレージ」「ブロックストレージ」、そしてS3が採用している「オブジェクトストレージ」です。

パソコンの「ドキュメント」フォルダや、社内のファイルサーバーはファイルストレージに分類されます。これは「フォルダの中にファイルがある」という階層構造でデータを管理する仕組みです。一方、データベースやパソコンの内部で使われるのがブロックストレージです。これはデータを細かく分割した「ブロック」という単位で管理し、OS(WindowsやMacの基本ソフトウェア)がそのブロックを組み立ててファイルとして認識します。どちらも「特定のOSやシステムと強く結びついている」のが特徴です。

では、オブジェクトストレージはどうでしょうか。

オブジェクトストレージの最大の特徴は、データそのものと、そのデータに関する情報(メタデータ)をひとまとめにして「オブジェクト」として管理する点です。

例えるなら、ファイルストレージが「引き出し(フォルダ)に書類(ファイル)をしまって、棚のどこにあるかで管理する」仕組みだとしたら、オブジェクトストレージは「書類に『作成日・作成者・種類』などの付箋(メタデータ)を貼って、巨大な倉庫に平置きする」ようなイメージです。

この仕組みによって、2つの大きなメリットが生まれます。

1つ目は、メタデータを使った高い検索性です。付箋の情報を元に、「2024年1月に作成された画像だけを一気に探す」といったことが容易にできます。 2つ目は、OSへの依存性が低いことです。Windows用のフォーマット(NTFSなど)をしていないため、どのようなOSやデバイスからでも同じようにデータの読み書きができます。何千台というサーバーでデータを共有するような大規模な環境でも、OSの違いを気にする必要がありません。

Note

「フラット構造」と聞くと「フォルダ分けできないの?」と不安になるかもしれませんが、S3ではキー(名前)に「/(スラッシュ)」を含めることで、私たちが普段見ているようなフォルダ階層と同じような見た目で管理・表示できます。システムの裏側はフラットでも、使う人は違和なく使えるよう工夫されています。

REST API(HTTP/HTTPS)によるアクセス思想

オブジェクトストレージのもう一つの大きな特徴が、データへのアクセス方法です。

従来のファイルサーバーを使う場合、Windowsなら「ネットワークドライブの割り当て」をしたり、Macなら「サーバーへ接続」をしたりと、OS特有の機能を使ってアクセスするのが一般的でした。しかし、S3は全く違うアプローチをとっています。それは「Webサイトと同じように、URLを使ってデータにアクセスする」という思想です。

S3はREST APIという仕組みを採用しており、データの保存(PUT)や取得(GET)、削除(DELETE)といった操作をすべてHTTP/HTTPSのリクエストで行えます。

例えば、あなたのバケット名が「my-app-images」で、その中に「dog.jpg」というオブジェクトを保存したとします。この画像は、以下のようなURLでアクセスできるようになります。

https://my-app-images.s3.ap-northeast-1.amazonaws.com/dog.jpg

この「URLで直接アクセスできる」という性質は、実用的な場面で非常に強力に働きます。

Webサイトの画像配信を例にしてみましょう。Webサイトを表示する際、HTMLの中に上記のようなS3のURLを直接書き込んでおけば、ユーザーのブラウザはS3から直接画像をダウンロードして表示します。わざわざ自社のWebサーバーを経由して画像を送る必要がないため、Webサーバーの負荷を大幅に減らすことができます。

また、プログラムからのアクセスも非常にシンプルです。AWSが提供するSDK(開発用のツールキット)を使えば、たった数行のコードでS3にデータをアップロードしたりダウンロードしたりできます。「サーバーの設定ファイルを直接いじる」といった面倒な作業が不要になるため、開発者にとっては非常に扱いやすい仕組みです。

さらに、HTMLやCSS、JavaScriptといったファイルをS3に置くだけでWebサイトを公開できる「静的ウェブホスティング」という機能も、このURLアクセスの思想があるからこそ実現しています。

Tip

S3のURLには「バケット名.リージョン名.amazonaws.com」という形式のほかに、「s3.リージョン名.amazonaws.com/バケット名」という古い形式(パススタイル)も存在します。現在はセキュリティやパフォーマンスの観点から、バケット名をドメインの一部にする「仮想ホスト型スタイル」が推奨されています。

このように、S3は単なる「データの保管庫」としてではなく、「インターネットに直接つながるデータの拠点」として設計されています。この思想を理解しておくと、後ほど出てくるCDN(CloudFront)との連携や、静的サイトの公開などの仕組みも、すっと頭に入ってくるはずです。

AWS S3を支える高い耐久性とデータ保護の考え方

S3が多くのエンジニアに愛されてきた最大の理由の一つが、人間のうっかりミスやシステム障害を吸収してくれる「圧倒的なデータ保護力」です。S3がどうやってデータを守っているのか、その背後にある考え方を見ていきましょう。

99.999999999%(イレブンナイン)の耐久性を実現する仕組み

S3のスペック表を見ると、「99.999999999%の耐久性」という少し奇妙な数字が目に入ります。これを「イレブンナイン」と呼びます。小数点以下の9が11個も並んでいますが、これが具体的にどういうことかというと、「100億個のオブジェクトをS3に保存して1年間放置しても、消えるのはたった1個だけ」という確率です。

一般的な外付けハードディスクやNAS(ネットワーク接続型ストレージ)を自前で用意した場合、常に「ディスクが壊れたらどうしよう」「雷电に打たれたらどうしよう」と気にしながら運用しなければなりません。RAIDという複数台のディスクにデータを分散して書き込む技術を使っても、故障時の復旧作業はエンジニアの手間になります。

しかしS3では、あなたがファイルをアップロードした瞬間、AWS側で自動的にそのデータを複製し、物理的に離れた複数の施設(アベイラビリティゾーンと呼ばれる独立したデータセンター群)に分散して保存してくれます。もし一部のハードディスクが壊れたり、あるデータセンターで火災や停電が起きたりしても、別の場所にあるコピーが生きているため、ユーザー側で何も意識することなくデータは守られ続けます。

私たちがやるべきことは、ただファイルを置くだけ。面倒な複製設定や故障時の対応は、すべてAWSに任せてしまえるのがクラウドストレージの大きな安心感につながっています。

Note

「耐久性(データが消えないこと)」が高いからといって、「可用性(いつでもすぐにアクセスできること)」も同じように保証されているわけではありません。S3は極めて高い可用性も誇りますが、耐久性はあくまで「データの紛失防止」にフォーカスした指標であることを理解しておくと、いざという時に慌てずに済みます。

バージョニングと意図しない削除からの保護

データが物理的に消えないことはわかりました。では、「間違えて同じ名前のファイルを上書きしてしまった」「不要なファイルと一緒に大事なファイルを削除してしまった」というような、私たちの操作ミスに対してはどうでしょうか。

これを防ぐためのS3の考え方が「バージョニング」です。

バージョニングを有効にすると、バケットの中のファイルは上書きされてもすぐに消えることはありません。例えば「report.pdf」というファイルを更新してアップロードした場合、古い「report.pdf」は過去のバージョンとして履歴に残り、新しい「report.pdf」が最新版として追加されるイメージです。誤って上書きしてしまっても、過去の任意のタイミングのファイルにいつでも戻すことができます。削除についても同じで、ファイルを削除したように見えても、実は「削除マーク」がついただけで、データ自体は履歴から復元可能な状態で残り続けます。

さらに、重要なデータを守るためのワンランク上のアプローチとして「MFA Delete(多要素認証による削除)」という機能もあります。これは、バージョニングの状態変更(有効化や一時停止)や、過去のバージョンの完全削除を行う際に、スマートフォンの認証アプリなどで生成されるワンタイムパスワードの入力を必須にする仕組みです。なお、最新バージョンの通常の上書きや、単に削除マーカーを追加するだけの操作にはMFAは要求されません。

例えば、削除権限を持っているアカウントが乗っ取られたような状況を想像してみてください。通常であれば攻撃者はデータをすべて削除できてしまいますが、MFA Deleteが設定されていれば、物理的にスマホを持っている管理者の操作なしには過去バージョンの完全消去やバージョニングの停止は実行できません。

Warning

バージョニングを有効にすると、上書きや削除を行うたびに過去のバージョンが裏側で保存され続けます。そのため、「うっかり削除した」という事故は防げますが、放置していると全く気づかないうちにストレージ容量(=料金)が膨れ上がってしまうことがあります。古いバージョンを一定期間で自動的に削除する「ライフサイクルルール」の設定を、バージョニングの有効化とセットで行うのが実務でのセオリーです。

ユースケースから紐解くS3の多角的な活用アプローチ

S3は単なるファイル置き場ではなく、システム全体のアーキテクチャを支える重要な役割を担っています。具体的なユースケースを通して、S3の多角的な活用アプローチを見ていきましょう。

データレイクとしての基盤とログ集約の役割

S3の最も強力な活用法の一つが「データレイク」の基盤としての役割です。データレイクとは、構造化されたデータ(データベースのような表形式のデータ)だけでなく、JSONやCSV、ログファイルのような非構造化データを、事前にフォーマットを整えることなくそのまま大量に蓄積できるシステムのことです。川の水が湖に流れ込み蓄えられるように、あらゆるデータをS3という巨大な湖に集めるイメージを持つとわかりやすいと思います。

たとえば、Webサイトへのアクセスログや、スマホアプリの行動ログを想像してみてください。1日に数GB、大規模なサービスになれば数TB単位のログが毎日生成されます。これを従来のデータベースにそのまま保存しようとすると、容量やコストの面で現実的ではありません。そこでS3の出番です。S3は容量の上限が事実上なく、1GBあたり数円程度の低コストで保存できるため、膨大なログを気軽に蓄積できます。

さらに、S3に溜め込んだデータは「AWS Athena」という分析ツールと組み合わせることで、その真価を発揮します。Athenaを使うと、S3に置かれたログファイルに対して直接SQLクエリを実行でき、データを別のデータベースに移し替える手間がかかりません。「先月のアクセス数が最も多かったページはどこか」「特定のエラーが発生している時間帯はいつか」といった分析を、インフラを構築することなくすぐに始められるのが大きな魅力です。

Athenaは「スキャンしたデータ量」に対して課金されます。数十TBのログ全体を検索すると高額な費用が発生するため、分析時は日付やディレクトリで対象範囲を絞り込むのが現場での基本テクニックです。

静的ウェブホスティングとコンテンツ配信

もう一つ、初心者の方にぜひ知っておいていただきたいのが「静的ウェブホスティング」の機能です。

Webサイトには、大きく分けて「動的サイト」と「静的サイト」の2種類があります。動的サイトはユーザーごとに表示内容を変える仕組み(ECサイトのカート機能やSNSのタイムラインなど)で、裏側でプログラムが動いています。一方、静的サイトは、あらかじめ用意されたHTMLやCSS、画像ファイルをそのまま表示するだけのサイトです。コーポレートサイトの会社案内ページや、ポートフォリオサイトなどがこれに該当します。

実は、この静的サイトであれば、EC2のようなサーバーをわざわざ立てる必要がありません。S3のバケットにファイルをアップロードし、設定を一つ変えるだけで、世界中に向けてWebサイトを公開できます。

この方法の最大のメリットは「サーバー管理が完全に不要になること」です。OSのアップデートや、Webサーバーソフト(ApacheやNginxなど)のメンテナンス、障害対応といった面倒な作業から解放されます。また、S3は複数の拠点にデータを自動で複製しているため、サーバーが1台故障してサイトが止まるというリスクも極めて低いです。

ただし、S3はあくまでデータの保存場所であるため、ユーザーから見た「表示スピード」には物理的な距離が影響します。たとえば、バケットを東京リージョンに置いた場合、ヨーロッパのユーザーがアクセスすると、地球を半周してデータを取りに行くため、少し表示に時間がかかってしまいます。

そこで活躍するのが「Amazon CloudFront」というCDN(コンテンツデリバリーネットワーク)です。CloudFrontは、世界に点在するキャッシュサーバーにS3のデータをコピーしておく仕組みです。ヨーロッパのユーザーがアクセスしたときは、東京のS3ではなく、一番近いヨーロッパのキャッシュサーバーからデータを渡すため、数百ミリ秒単位で表示速度を向上させることができます。

ポートフォリオやコーポレートサイトなどをS3で公開する際は、最初からCloudFrontを組み合わせて構築するのがおすすめです。後から「表示が遅い」となって追加するよりも、設計段階で組み込んでおく方が構成がシンプルになります。

このように、S3はただファイルを置いておくだけでなく、分析基盤の要としても、Web公開の最前線としても機能する、非常に柔軟性の高いサービスなんです。

コスト最適化を実現するストレージクラスの考え方

S3は従量課金制であるため、データを放っておくと気づかないうちに請求額が膨らんでしまいます。そこで大切なのが、データの「性格」に合わせて「ストレージクラス」を使い分けることです。

データのアクセス頻度に応じたクラス使い分け

S3には、データがどれくらいの頻度で読み書きされるかに応じていくつかのストレージクラスが用意されています。ここでの選択を誤ると、無駄なコストが発生したり、必要なときにデータが取り出せなかったりするため、ユースケースに合わせた明確な基準を持つことが重要です。

代表的なクラスは、大きく3つのアクセス頻度に分けられます。

1. 頻繁にアクセスするデータ(S3 Standard) Webサイトの画像や、アプリで常に読み書きされるデータ向けの標準クラスです。最も保存料が高くなりますが、データの読み込み速度や耐障害性は最も高い状態で保たれます。

2. たまにアクセスするデータ(S3 Standard-IA) 「IA」はInfrequent Access(低頻度アクセス)の略です。数ヶ月に1回見るかどうかといったデータに向いています。Standardよりも保存料は安くなりますが、データを取り出す際に少しだけ追加料金がかかります。そのため、毎日アクセスするようなデータに使うとかえって高くついてしまいます。

3. ほとんどアクセスしないデータ(S3 Glacier) 法令遵守のための長期バックアップや、数年に1回見るかどうかのアーカイブデータ向けです。さらに細かく3つの種類に分かれており、安さと取り出し速度のトレードオフが設定されています。

  • Glacier Instant Retrieval:ミリ秒で取り出せる。数ヶ月に1回程度見るアーカイブ向け。
  • Glacier Flexible Retrieval:取り出しに数分〜数時間かかる分、さらに安い。
  • Glacier Deep Archive:取り出しに12時間〜48時間かかるが、S3中最安のクラス。

さらに、「アクセス頻度がまったく読めない」というデータにはS3 Intelligent-Tieringというクラスも用意されています。これはAWS側がデータへのアクセス頻度を自動で監視し、頻度が下がれば勝手に安いクラスへ移動してくれるという優秀な仕組みです。

Warning

アーカイブ向けのGlacierクラスは保存料が極めて安い反面、データの取り出しに時間がかかるうえ、取り出し時の単価も高く設定されています。システム障害から数分で復旧させたいような緊急用のバックアップには絶対に使わないように注意してください。

ライフサイクルルールによる自動的なコスト管理

ストレージクラスを使い分けるにあたり、「最初はStandardで保存して、3ヶ月後にIAに移動する」といった運用を人力で行うのは現実的ではありません。この問題を解決してくれるのが「ライフサイクルルール」です。

ライフサイクルルールとは、バケットに対して「オブジェクトが作られてから〇日経過したら、このストレージクラスに移動する」「〇日経過したら削除する」というルールを事前に設定しておく機能です。

例えば、システムのログデータに対して以下のようなルールを設定します。

  • 作成から30日経過:S3 Standard-IA へ移行
  • 作成から90日経過:S3 Glacier Flexible Retrieval へ移行
  • 作成から365日経過:完全に削除

このルールを一度設定しておけば、毎日大量に生成されるログファイルは、自動的に安いクラスへ移行し、1年後には自動で消去されます。運用担当者が月末に「古いログを安いクラスに移そう」と作業をする必要がなくなり、ヒューマンエラーも防ぐことができます。

「設定しておけばほったらかしでコストが最適化される」というのは、手動管理が前提だった物理サーバー時代にはない、クラウドならではの大きなメリットです。

Tip

データのアクセス頻度が変動するか分からない場合は、最初から「S3 Intelligent-Tiering」を使っておくのも一つの手です。監視機能による追加料金も現在は無料化されているため、ライフサイクルルールを細かく設計する手間を省きつつ、手軽にコスト最適化を始められます。

セキュリティとアクセス管理のベストプラクティス

いくら便利でもデータが漏洩してしまっては意味がありません。S3は設定を間違えると世界中にデータを公開してしまうリスクを孕んでいます。安心して利用するための、アクセス管理とデータ保護の考え方を解説します。

最小権限の原則とアクセスコントロール(ACLの無効化)

セキュリティの世界に「最小権限の原則」という言葉があります。これは、「必要な人に、必要な操作だけを許可する」という考え方です。例えば、会社の事務所でも、 everyoneが社長室の鍵を持っているとトラブルの原因になりますよね。それと同じで、S3でも「読み取りしかしないアプリには読み取り権限だけを与える」「削除は特定の管理者しかできないようにする」といった細かなコントロールが求められます。

このアクセス制御を実現するために、S3にはいくつかの仕組みが用意されています。一つは「IAMポリシー」で、これは「特定のユーザーやロール(人やプログラムの身分証)に対して、何を許可するか」を定義します。もう一つは「バケットポリシー」で、こちらは「バケット側から見て、どの身元(IPアドレスや特定のアカウント)からのアクセスを許可または拒否するか」を定義します。

昔は、これらに加えて「ACL(アクセスコントロールリスト)」という、ファイル(オブジェクト)ごとに個別にアクセス権を設定する仕組みがよく使われていました。しかし、ファイルが数万個にもなると「どのファイルが誰に見られているか」の把握が極めて困難になり、意図しない公開につながるミスが多発しました。

そこで現在では、ACLは「無効化」することがAWSから強く推奨されています。

Tip

新しいバケットを作成する際は、デフォルトで「ACLを無効化」する設定(バケット所有者強制)を選びましょう。これにより、すべてのアクセス権をIAMポリシーとバケットポリシーの2つのルールブックに一元管理できるようになり、権限の見通しが劇的に良くなります。

データの暗号化とパブリックアクセスの遮断

アクセス権限を正しく設定しても、人間はミスをするものです。「バケットポリシーの記述を間違えて、誤って全員に公開許可を出してしまった」という事故は、過去に何度もニュースになっています。

このような人為的ミスによる悲惨な情報漏洩を防ぐための最後の砦が、「Amazon S3 ブロックパブリックアクセス」という機能です。これは、アカウント全体やバケット単位で「インターネット上の誰もがアクセスできる状態(パブリックアクセス)」を、AWSのシステムレベルで強制的にブロックしてくれる安全装置です。ポリシーで「全員許可」と書いてしまっても、この機能がオンになっていれば実際には公開されません。

Important

セキュリティインシデントを未然に防ぐため、S3バケットを作成したら必ず「ブロックパブリックアクセス」をすべてオンにしてください。Webサイトの公開などでどうしてもパブリックアクセスが必要なケース以外は、これを外す理由はほぼありません。

また、データそのものを守る考え方として「暗号化」も欠かせません。S3では「サーバー側暗号化(SSE)」という仕組みを使い、データを保存する時に自動的に暗号化し、読み出す時に復号する処理をAWS側で行ってくれます。

代表的なものとして、AWSが管理する鍵を使う「SSE-S3」や、自分で鍵の管理や監査ログの記録ができる「SSE-KMS」などがあります。ユーザーは特別なことをしなくても、設定画面でチェックを入れるだけで、保存される画像やログデータが自動的に暗号化されます。

なお、お客様自身で鍵を持ってくる「SSE-C」という方式もありますが、鍵の管理手間や紛失リスクが高まることから、2026年4月からは新規作成するバケットではこのSSE-Cがデフォルトで無効化されるようAWS側で仕様変更が予定されています。特別な要件がない限りは、手間がかからず安全なSSE-S3やSSE-KMSを選んでおくのが無難です。

S3を使う上でのセキュリティは、「権限を最小限に絞る」「迷わずパブリックアクセスをブロックする」「暗号化をデフォルトにする」というこの3点をセットで行うのが鉄則です。最初からこのベストプラクティスを意識しておくことで、後から「見慣れないファイルが外部からダウンロードされていた」といった冷や汗をかく事態を避けられるはずです。

まとめ

本記事では、AWS S3の全体像から、データ保護、ユースケース、コスト最適化、セキュリティに至るまで幅広く解説しました。

  • 基本概念:S3は「バケット」に「オブジェクト」を保存するフラットな構造のオブジェクトストレージであり、REST APIを通じてアクセスします。
  • データ保護:イレブンナインという圧倒的な耐久性を誇り、バージョニング機能によって人為的な操作ミスからの復元を可能にします。
  • ユースケース:データレイクの基盤や、静的ウェブホスティングなど、単なるファイル置き場を超えた多角的な活用ができます。
  • コスト最適化:データのアクセス頻度に応じてストレージクラスを使い分け、ライフサイクルルールで自動的にコストを管理します。
  • セキュリティ:最小権限の原則に基づき、ACLの無効化、ブロックパブリックアクセスの有効化、データの暗号化を徹底します。

S3はAWSを支える基盤となるサービスです。ここで学んだ基本概念とベストプラクティスを押さえておけば、実務でも安心して活用できるはずです。