AWS S3(Simple Storage Service)を使い始めるなら、まず「バケットを1つ作成し、パブリックアクセスをブロックしたままファイルをアップロードする」という最小構成から始めてください。設定を複雑にする前にこの基本形を体で覚えると、後から権限設定やストレージクラスの選択で迷いにくくなります。本記事では、AWSアカウントを作成したばかりの初心者を対象に、S3の基本概念からバケット作成、ファイルのアップロード、料金体系、セキュリティ設定、実践的な活用シーンまでを順を追って解説します。

  • S3の基本を理解する
  • S3を使い始める手順
  • ストレージクラスと料金
  • セキュリティ設定の要点
  • 実践的な活用シーン
  • よくある質問

S3の基本を理解する

S3はAmazon Web Servicesが提供するオブジェクトストレージサービスです。ファイルサーバーのようにフォルダ階層でデータを管理する仕組みとは異なり、S3では「バケット」と呼ばれる容器の中に「オブジェクト」という単位でデータを保存します。画像、動画、ログファイル、バックアップデータなど、形式を問わず保存できる点が特徴です。

バケットとオブジェクト

バケットはS3におけるデータ保存の最上位単位で、全世界で一意な名前を付ける必要があります。同じ名前のバケットは他のAWSアカウントも含めて重複して作成できません。バケットの中に格納される個々のファイルがオブジェクトで、各オブジェクトはキー(パスに相当する文字列)、データ本体、メタデータの3要素で構成されます。フォルダのように見える表示もありますが、実体はキー名にスラッシュを含めた文字列で管理されている点を押さえておくと、後の運用で混乱しません。

リージョン選びのコツ

バケットを作成する際はリージョンを選択します。日本国内のユーザー向けにサービスを提供する場合、東京リージョン(ap-northeast-1)を選ぶとレイテンシを抑えやすくなります。一方でグローバル向けサービスや災害対策のためのバックアップ用途では、別リージョンや別リージョンとの組み合わせを検討する余地があります。リージョンは後から変更できないため、用途を決めてから作成する順序を守ってください。

S3を使い始める手順

ここからは実際にAWSマネジメントコンソールを使ってS3を操作する手順を説明します。AWSアカウントの作成とIAMユーザーの発行が完了している前提で進めます。

バケット作成の流れ

マネジメントコンソールにログインし、サービス一覧からS3を選択すると、バケット一覧画面が表示されます。「バケットを作成」ボタンからバケット名とリージョンを指定し、パブリックアクセスをブロックする設定はデフォルトのまま有効にしておくのが安全です。バケット作成の主な手順は以下の通りです。

手順操作内容注意点
1バケット名を入力全世界で一意、英小文字・数字・ハイフンのみ使用可
2リージョンを選択作成後の変更は不可
3パブリックアクセス設定特別な理由がなければブロックを維持
4バケットのバージョニング誤削除対策として有効化を検討
5作成を確定設定内容を確認してから実行

ファイルアップロード方法

作成したバケットを開き、「アップロード」ボタンからファイルまたはフォルダをドラッグ&ドロップすると、オブジェクトとして保存されます。マネジメントコンソールからの操作は少量のファイルを扱う場合に向いていますが、大量のファイルや定期的な同期を行う場合はAWS CLIの利用が効率的です。

CLIでの操作方法

AWS CLIをインストールし、認証情報を設定した後は、aws s3 cp コマンドでファイルを1件ずつアップロードでき、aws s3 sync コマンドを使えばローカルフォルダとバケットの差分だけを同期できます。スクリプトに組み込んでおけば、日次バックアップのような定型作業を自動化できます。コマンドのオプションは頻繁に更新されるため、実行前に公式ドキュメントで最新の仕様を確認してください。

ストレージクラスと料金

S3には用途に応じて選べる複数のストレージクラスが用意されています。アクセス頻度が高いデータと、長期保管のみが目的のデータでは適したクラスが異なります。

主要クラスの違い

ストレージクラス想定用途特徴
S3 Standard頻繁にアクセスするデータ取り出し遅延がなく汎用的
S3 Standard-IAアクセス頻度が低いデータ保存単価は低いが取り出し時に料金発生
S3 Intelligent-Tieringアクセスパターンが読めないデータ利用状況に応じて自動で階層を切り替え
S3 Glacier Instant Retrieval長期保管かつ即時取り出しが必要なデータ保存単価が低く取り出しも数ミリ秒単位
S3 Glacier Deep Archiveほぼアクセスしないアーカイブデータ最安クラスだが取り出しに時間がかかる

料金体系の考え方

S3の料金は「保存容量」「リクエスト数」「データ転送量」の3要素で構成されます。同じ容量でもストレージクラスによって保存単価が変わり、Standardより長期保管向けクラスの方が保存単価は低く、取り出し頻度が高いほど割高になる設計です。具体的な単価はリージョンや時期によって変動するため、正確な金額はAWS公式サイトの料金ページで確認してください。目安として、頻繁にアクセスしないログやバックアップデータをStandardクラスに置きっぱなしにしていると、保存コストが想定より膨らむケースがあります。ライフサイクルルールを設定し、一定期間経過後に自動でIAクラスやGlacierクラスへ移行させる運用にすると、保存単価を抑えやすくなります。

セキュリティ設定の要点

S3は公開範囲を誤って設定すると、意図せず外部からアクセス可能な状態になります。バケットを作成した後は、アクセス権限の設定を必ず見直してください。

パブリックアクセス制御

バケット作成時に有効化される「パブリックアクセスをすべてブロック」の設定は、静的サイトホスティングなど公開が前提のバケットを除いて維持するのが基本方針です。公開が必要な場合も、バケット全体を公開するのではなく、バケットポリシーで公開する対象のパスやIAMロールを絞り込む設計にすると、意図しない範囲までデータが露出するリスクを抑えられます。

暗号化とIAM権限

保存データの暗号化はサーバーサイド暗号化(SSE-S3またはSSE-KMS)を有効にすることで対応できます。IAMポリシーでは、S3へのアクセス権限を持つユーザーやロールを最小限に絞り、特定のバケットや特定のプレフィックスにのみ操作を許可する設計が基本です。root権限のアクセスキーを日常的なアップロード作業に使い続けるのは避け、用途ごとにIAMユーザーまたはIAMロールを分けて発行してください。セキュリティ設定はサービスの重要度に応じて内容が変わるため、最終的な適用可否は各利用者の判断と責任で実施する必要があります。

実践的な活用シーン

S3は単なるファイル置き場にとどまらず、Webサイトのホスティング基盤やバックアップ先としても使われています。

静的サイトホスティング

S3のバケットには静的サイトホスティング機能があり、HTMLやCSS、JavaScriptなどの静的ファイルを配置するだけでWebサイトを公開できます。動的な処理を必要としないコーポレートサイトやドキュメントサイトであれば、サーバー管理の手間をかけずに運用できる構成です。配信の高速化やHTTPS対応を組み合わせる場合は、CloudFrontをS3の前段に配置する構成が一般的な設計パターンです。

バックアップ運用のコツ

データベースのダンプファイルやアプリケーションログをS3に定期転送する運用は、バックアップ先として広く使われています。CLIのsyncコマンドを使った差分同期に加え、バージョニングを有効化しておくと、上書きや削除の操作ミスがあっても過去のバージョンを復元できます。長期保管が目的のバックアップはライフサイクルルールでGlacierクラスへ自動移行させ、保存コストを抑える設計が実務では定番です。

よくある質問

Q1. S3のバケット名にはどんな制約がありますか?

バケット名は3〜63文字の英小文字・数字・ハイフンで構成し、全世界のAWSアカウントを通じて一意である必要があります。大文字やアンダースコアは使用できません。

Q2. アップロードしたファイルは自動でバックアップされますか?

S3自体が複数の施設にデータを複製して保存する設計になっていますが、これは誤削除や誤上書きからの保護とは別の仕組みです。操作ミス対策にはバージョニング機能を別途有効にする必要があります。

Q3. 無料で使い始められますか?

AWSには無料利用枠が用意されており、一定の条件下で少量のストレージやリクエストを無料で試せます。適用条件や上限は変更される場合があるため、最新の内容はAWS公式サイトで確認してください。

Q4. S3とEBSの違いは何ですか?

S3はオブジェクトストレージで、HTTP経由でファイル単位のデータをやり取りする用途に向いています。一方EBSはEC2インスタンスに接続するブロックストレージで、OSやデータベースのボリュームとして使う用途に向いています。用途に応じて使い分ける必要があります。

Q5. アップロードしたファイルの容量に上限はありますか?

1つのオブジェクトの最大サイズは5テラバイトです。5ギガバイトを超えるファイルをアップロードする場合は、マルチパートアップロードという分割転送の仕組みを使う必要があります。

Q6. 削除したファイルは復元できますか?

バージョニングを有効化していれば、削除操作は実際にはデータを消さず「削除マーカー」を追加するだけなので、削除マーカーを取り除くことで復元できます。バージョニングを有効にしていない状態で削除した場合は復元できません。

関連記事

まとめ

S3を使いこなす第一歩は、パブリックアクセスをブロックした状態でバケットを作成し、少量のファイルをアップロードして操作感をつかむことです。基本操作に慣れたら、CLIでの同期処理やストレージクラスの使い分け、ライフサイクルルールによる自動アーカイブへと段階的に運用を広げていく流れが実務では定着しています。セキュリティ設定やIAM権限の範囲は事業内容によって最適解が変わるため、公式ドキュメントを参照しながら自分のシステム構成に合わせて調整してください。バージョン依存の仕様変更は頻繁に発生するため、本番環境に反映する前に必ず最新の公式情報を確認する運用を徹底してください。

【編集・制作ポリシー】
本記事はInfra Academy編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
ABOUT ME
たから
フリーランスIT講師/エンジニア。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900//サーティファイC言語/情報処理技術者 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営