S3の用途
最終更新日:2026年8月10日
この記事でわかること
はじめに
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
AWSで大量データを保存する際はS3の使用は避けて通れません。なので今回S3の用途とS3の機能について今回学んだことを説明致します。
S3概要
S3の様々な活用方法についてのユースケースを説明したいと思います。まずその前にS3が何なのかをご説明いたします。
S3を構成しているAWSのストレージサービスについてのからの説明です。AWSはブロックストレージ、オブジェクトストレージ、ファイルストレージの3つの形式のストレージサービスを提供しています。ブロックストレージはEC2にアタッチして活用するディスクサービスです。ブロック形式でデータを保存し、高速・広帯域幅を持っています。オブジェクトストレージは安価の高い耐久性をもつオンラインストレージです。オブジェクト形式でデータを保存します。S3はこちらの形式を使用しています。ファイルストレージは複数のEC2インスタンスから同時にアタッチ可能な共有ストレージサービスで、ファイル形式でデータを保存します。
S3はSimple Storage Serviceの略称でユーザがデータを容量制限なく保存可能なマネージド型で提供されるオブジェクト型ストレージです。特徴として安価で高い耐久性と、スケーラブルで安定した性能(データは冗長化されて保存されデータ容量に依存しない性能がAWS側で保証されている)と様々な暗号化が使用可能です(具体的な料金はストレージクラスやデータ量、リクエスト回数によって変動し、改定されることもあるため、最新料金はAWS公式サイトでご確認ください)。オブジェクトの構成要素はKey、Value、バージョンID、メタデータ、サブリソースの5つの要素から成り立っています。まずKeyはオブジェクトの名前でValueはデータそのものです。なのでKeyとValueがデータを構成しています。残りの3つは管理区分用のデータとなっています。S3のデータ構造はバケット単位で保存スペースを区分し、オブジェクトでデータを格納しています。ストレージのタイプは複数用意されており、アクセス頻度や取り出し速度、コストのバランスに応じて選択します(詳細は下記【要注意】参照)。STANDARDがいつでもデータにアクセスできますが、値段がこの中では一番高いです。データの更新頻度が低いとか中長期のデータを保存する場合は他のタイプを選択します。
【要注意】ストレージクラスの構成が更新されています
本記事で以前挙げていたRRS(低冗長化ストレージ)は、現在AWSから新規利用が推奨されておらず実質的に廃止扱いとなっています。現在のS3の主なストレージクラスは、S3 Standard、S3 Intelligent-Tiering、S3 Standard-IA、S3 One Zone-IA、S3 Express One Zone、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archiveです。「Amazon Glacier」という単独サービス名は現在使われておらず、「Amazon S3 Glacier」としてS3のストレージクラス群に統合されています。用途に合わせて最適なクラスを選択し、最新の仕様・料金はAWS公式サイトでご確認ください。
次にS3の機能についてご説明していきます。
データの整合性モデル
S3のデータ整合性モデルは、以下の【要注意】のとおりアップデートされています。
【要注意】S3の整合性モデルは強い整合性に統一されています
以前のS3は、新規オブジェクトの作成は登録後すぐに反映される一方、既存オブジェクトの上書き更新や削除については「同時にアクセスした場合、最終的に整合すればよい」という結果整合性モデルが採用されていました。しかし2020年12月のアップデートにより、S3はすべてのリクエスト(新規作成・上書きPUT・削除)に対して追加コストなしで自動的に強い読み取り後書き込み整合性(Strong Read-After-Write Consistency)を提供するようになりました。そのため現在は、更新・削除の反映タイミングを気にした設計は不要で、直後の読み取りでも常に最新の状態を取得できます。
アクセス管理
いくつかの方法があるので用途に応じて方式を使い分けます。
・IAMユーザーポリシー
一番使用頻度が高い。IAMユーザに対してアクセス権限を設定。一元的にユーザー権限を管理。
・バケットポリシー
バケット/オブジェクトのアクセス権をJSONで設定。クロスアカウントでのアクセス権限管理を実施するケース向け
・ACL
バケットとオブジェクトへのアクセス権限をXMLで設定。簡易的に権限管理を実施
・署名付きURL
AWS SDKで生成した署名付きURLでS3のオブジェクトへの一定時間アクセスを許可
S3の暗号化
S3はデータ転送時と保存時に暗号化の技術を使用することができます。S3へのデータ保管時の暗号化形式は2つです。1つ目はサーバーサイド暗号化で、AWSのサーバーリソースを利用して格納データ自体を保存時に暗号化を実施します。暗号化タイプとしてはSSE-S3/SSE-KMS/SSE-Cを使うことができます。2つ目はクライアントサイド暗号化で、転送時に暗号化プロセスをユーザ側で管理するもので、暗号化タイプAWS KMSでカスタマーキーとマスターキーを使って暗号化します。
レプリケーション
リージョン間を跨ぐクロスリージョンレプリケーションにより耐障害性を高めることができます。AWSでリージョン間を跨ぐことはなかなかできませんがこれにより他のリージョンにデータを保存したりバックアップを保存するといったことがS3では可能です。このレプリケーションのトリガーはバケットに対するオブジェクト作成・更新・削除などで設定可能です。設定内容はバージョニング機能を有効にしてバージョン管理してバージョンに応じてレプリケーションを作成したり反映したりできます。バケットは各別リージョンを指定する必要があります。双方向レプリケーションも可能です(例えば東京リージョンと大阪リージョンを作成したら)。ただしデータ転送費用が発生してしまいます。
バージョン管理
ユーザーによる誤操作でデータ削除などが発生してもバージョン管理をしていれば復元が可能です。バケットをバージョン管理してそのバージョンによって復元したり削除したりなどの安全性が担保できます。ライフサイクル管理によって保存する期間の指定も可能です。
ライフサイクル管理
バケット内のオブジェクト単位でストレージクラスの変更や削除時期などを設定することで実行を自動化することができます。例えばあるデータを3か月後に自動で削除する、一定期間立ったデータは安価な保存場所に移動といった設定管理が可能です。
バックアップ
S3 Glacierを利用してバックアップと復元が実施可能
利用状況の確認
データのアクセスパターンの簡易可視化が可能
S3の用途
ではS3の用途について紹介していきます。大量データを長期保存するという観点から用途を検討していくと下記ような用途が代表的です。
①コンテンツ配信の保管
②ログ・バッチの保管場所
③バックアップ/ディザスタリカバリ
④WEBの静的ホスティング
⑤データレイク
①コンテンツの配信・保管
大量データを長期保存するという観点からCMSから画像等のコンテンツデータの保管先にS3を利用します。Amazon CloudFrontと連携してキャッシュを使ってアクセスを早くすることによって、コンテンツをクライアント側に素早く見せていくと同時に長期保存でシンプルで安く使用する方法です。
②ログ・バッチの保管場所
バッチ処理で使うデータを長期的に保存していくけれども、たまにしか使用しない場合にバッチをするたびにS3から取り出していく、またはログの保管場所として使用する方法です。
③バックアップ/ディザスタリカバリ
バックアップの中長期の保存場所としてS3を利用します。耐障害性を高めるために別リージョン、クロスリージョンで複製保持することによってより効果の高い保存が可能になります。
④WEBの静的ホスティング
S3のみで静的なWEBサイトをホスティングして構築することが可能です。ランディングページなどを見せるだけ、あとはURLで別な所に飛ばすといったことがあるのならばS3で作成することが可能です。バケット単位で指定することが可能です。
⑤データレイク
IoTといったビッグデータ処理などデータを大量に処理しなければならない時にデータレイク使用します。データレイクとはデータを整理せずそのままの状態で一元管理するところで使用する際はS3とS3 Glacierを組み合わせることがAWSで推奨されています。
押さえておきたいポイント
- S3は2020年12月のアップデート以降、新規作成・上書き・削除のすべてのリクエストで強い読み取り後書き込み整合性(Strong Read-After-Write Consistency)を追加コストなしで提供しており、以前のような結果整合性を意識した設計は不要になっている。
- ストレージクラスはS3 StandardからS3 Glacier Deep Archiveまで用途別に選択でき、S3 Intelligent-TieringやS3 Express One Zoneなど新しい選択肢も追加されている一方、RRSのように新規利用が推奨されなくなったクラスもあるため最新のクラス体系を確認して選ぶ必要がある。
- クロスリージョンレプリケーション・バージョニング・ライフサイクル管理を組み合わせることで、誤削除への備えと耐障害性の確保、保存コストの最適化を同時に実現できる。
よくある質問
S3の料金はどのくらいかかりますか?
ストレージクラスやデータ量、リクエスト回数、データ転送量によって料金が変動します。料金体系はAWS側で改定されることがあるため、具体的な金額は最新のAWS公式サイトの料金ページでご確認ください。
S3のデータは削除しても復元できますか?
バケットのバージョニング機能を有効にしておけば、誤って上書き・削除したオブジェクトも過去のバージョンから復元可能です。ライフサイクル管理と組み合わせて、不要になった古いバージョンを一定期間後に自動削除する設定も可能です。
S3だけでWebサイトを公開できますか?
HTML/CSS/JS・画像などで構成される静的なWebサイトであれば、S3の静的ウェブサイトホスティング機能のみで公開可能です。動的な処理が必要な場合はAmazon CloudFrontやAWS Lambdaなど、他のAWSサービスとの組み合わせを検討します。
まとめ
S3の用途について簡単に説明しました。S3は一瞬作成するだけなら無料でできるのでぜひお試しで作成してみてください。
▼ アクロビジョンについて


