AWSの薄い本7 S3の深淵を知るためにAmazonの奥地に行った
Physical (worldwide shipping)
- 【物理本+ダウンロード版】Mailbin OKPhysical (via warehouse)1,500 JPY
Physical (ship to Japan)/ Digital Download
- 【物理本+ダウンロード版】Mailbin OKPhysical (via warehouse)1,500 JPY
- 【ダウンロード版】Digital1,500 JPY






私が初めて技術同人誌『AWSの薄い本 IAMのマニアックな話』を執筆したのは、2019年9月のことでした。それから6年以上が経ち、シリーズとして6冊を重ねてきました。2025年には『IAMのマニアックな話 2025』を刊行し、アクセス制御の進化と組織的な管理のあり方を中心にまとめました。多くの方に手に取っていただき、改めてAWSという巨大な仕組みを「理解して使う」ことの大切さを実感しています。 そして今回取り上げるテーマは、Amazon S3(Amazon Simple Storage Service)です。 S3は、AWSの名を冠した最初のサービスであり、2006年3月に登場しました。つまり、EC2よりも前に存在していたのです。 このS3こそが、いま私たちが知る「AWSの始まり」であり、クラウドの基礎を築いたサービスと言っても過言ではありません。 S3を使いこなすことは、AWSを使いこなすことでもあります。 データの保存、配信、分析、バックアップ──どの用途においてもS3は中心的な役割を果たしています。しかし、その仕組みや経路、コスト構造、セキュリティ設定の本質を理解せずに利用してしまうと、思わぬ落とし穴にはまりかねません。 本書では、S3の構造や動作原理、アクセス経路、コスト、パフォーマンス、セキュリティなど、利用者が必ず押さえておくべき要点を、背景となる仕組みやAWSの設計思想とともに整理しています。 「なぜそのような仕様になっているのか?」 ──その問いに答えながら、S3の奥深さと魅力を、Amazonの奥地を探検するように掘り下げていきます。 この1冊が、あなたのAWS設計をより確かなものにする一助となれば幸いです。 その全貌は、ぜひ本書にてご確認ください。
対象読者
* AWS上でシステムを構築・運用しているエンジニア * S3を安全かつ効率的に活用したいアーキテクト・設計者 * コストやパフォーマンスの観点からAWSを最適化したい人 * AWSの基礎を理解し、インフラ設計力を高めたい人
本書で得られるこ
* S3の構造や動作原理、耐久性の仕組みが理解できる * 接続経路・アクセス制御・コスト・パフォーマンスといった実務上の要点を体系的に把握できる * 安全なバケット設計やデータ保護、KMSによる暗号化の考え方を学べる * S3探求者の称号
本書のスタイル
本書では、S3とその関連するサービスについて、その背景となる理論や、ユースケースなどを解説します。具体的な設定方法については、本書では解説しません。これは、設定画面や利用するツールなどの変化は頻繁であり、実施事項が確定した段階では、それの設定方法をブログや生成AIで調べる方が確実だからです。
免責事項
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。 これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
目次
第1章 S3を構造から理解する 1.1 S3とは何か? 1.1.1 オブジェクトストレージとは 1.1.2 「Simple」の意味 1.2 S3の内部構造とオブジェクトの仕組み 1.2.1 バケットとオブジェクト 1.2.2 キーとオブジェクトの関係 1.3 フラット構造とプレフィックス設計の影響 1.4 S3の信頼性と整合性 1.4.1 アベイラビリティーゾーンと冗長性 1.4.2 リージョンと可用性 1.4.3 データ整合性モデル 1.5 ストレージクラスと用途別の使い分け 1.6 S3誕生秘話:Werner Vogelsのブログ 第2章 S3のアクセス制御 2.1 IAMポリシーとバケットポリシーの関係 2.1.1 IAMポリシーと最小権限設計 2.1.2 バケットポリシーによるアクセス制限 2.1.3 IAMポリシーとバケットポリシーの関係 2.1.4 特定のVPCからのアクセス制限 2.1.5 S3 Access Grantsという選択肢 2.2 重要なデータを扱うバケットは二重の防御を 2.2.1 二重の防御が必要な理由 2.2.2 バケットポリシーを設定すべきもの/不要なもの 2.2.3 ReadOnlyAccessとViewOnlyAccessの違い 2.2.4 ReadOnlyAccess付与時の注意点 2.3 Block Public Accessと公開バケット 2.3.1 公開経路を根本から遮断する仕組み 2.3.2 4つの設定項目 2.3.3 S3は直公開せずCloudFront経由で公開 2.3.4 公開バケットは別アカウントで運用 2.3.5 安全な運用ルール 2.3.6 まとめ:誤公開を防ぐ構造的設計 2.4 Admin権限でも操作できないバケットの対処法 2.4.1 アクセス拒否の原因特定 2.4.2 Admin権限でも操作できない場合の対処 第3章 ネットワークと接続経路 3.1 AWSのネットワーク構造を理解する 3.1.1 パブリックIP通信 3.1.2 AWSグローバルネットワーク 3.2 EC2からS3への4つの接続ルート 3.2.1 Internet Gateway経由 3.2.2 NAT Gateway経由 3.2.3 VPC Endpoint(Gatewayタイプ) 3.2.4 PrivateLink(Interfaceタイプ) 3.3 通信経路別の比較と設計(コスト観点) 3.4 Direct Connect経由のS3アクセス 3.4.1 Private VIF 3.4.2 Public VIF 3.4.3 実際のユースケースと設計判断 3.4.4 Private VIFの注意点 3.5 まとめ:接続経路の正しい選択 第4章 S3のコストを理解する 4.1 ストレージクラスと料金体系 4.1.1 標準ストレージ 4.2 APIリクエスト料金の仕組み 4.2.1 ファイル数の影響 4.2.2 コスト差の実例 4.2.3 設計指針 4.3 ライフサイクル最適化 4.3.1 設定指針 4.3.2 コスト注意点 4.4 自動圧縮と最適サイズ設計 4.4.1 圧縮の仕組み 4.4.2 圧縮方式の使い分け 4.4.3 ファイルサイズ設計 4.4.4 ログデータのコスト削減 4.5 まとめ 第5章 バックアップとデータ保護戦略 5.1 バックアップが必要な理由 5.2 データ保護設計(IPA非機能要件) 5.2.1 Grade1 5.2.2 Grade2 5.2.3 Grade3 5.2.4 Grade4 5.3 バージョニングとオブジェクトロック 5.4 レプリケーション 5.4.1 CRR(クロスリージョンレプリケーション) 5.4.2 クロスアカウント構成 5.5 ランサムウェアとバックアップ 5.5.1 IAM権限を狙う攻撃 5.5.2 防御実装例 5.6 マルチクラウドでのデータ保護 第6章 パフォーマンスと最適化 6.1 性能と分散構造の理解 6.2 プレフィックス設計とスループット 6.3 S3 Express One Zone 6.3.1 性能比較 6.3.2 ユースケース 6.4 パフォーマンス測定 6.5 キャッシュ戦略 6.5.1 CloudFront 6.5.2 アプリケーションレイヤ 6.6 まとめ 第7章 安全に運用するための設計指針 7.1 KMSによる機密データ保護 7.2 公開アクセスブロック(BPA) 7.2.1 Block Public Access 7.2.2 公開データの分離 7.2.3 CloudFront利用時の注意点 7.3 監査・運用体制 7.4 まとめ:正しいS3運用のために あとがき 著者紹介 既刊一覧






