メインコンテンツまでスキップ

Amazon S3 とは?基本的な使い方や料金を学ぼう

タグ:

AWS でドキュメントや画像を格納するとしたら、S3 が最初の候補になります。しかし、適当に S3 を使ってしまうと、後からセキュリティやコストで苦労することが多くなるため、基本的な Amazon S3 の使い方を説明します。

Amazon S3 とは

ドキュメント、画像、動画などデータを格納できるストレージサービスです。S3 ではデータのことをオブジェクトと言い、オブジェクトを格納するリソースをバケットと言います。基本的にはオブジェクトを格納するサービスになりますが、用途に合わせてコストを抑えたり、意図せずオブジェクトが公開されないようにセキュリティを意識する必要があります。

料金

S3 の料金は実際に使用した分だけ発生する従量課金になります。主にどれぐらいのオブジェクトサイズをどのストレージクラスに保存したかで決まります。他にはリクエストやデータ転送などありますが、100 万リクエストを超えてから意識すれば問題ないです。

ストレージクラス

色々ありますが、良く使うストレージクラスは以下になります。デフォルトは S3 標準になっているため、バックアップ目的などで頻繁にアクセスしない場合は、ストレージクラスを変更してコストを抑えましょう。

用途ストレージクラス料金 (東京リージョン)
頻繁に使用するS3 標準USD 0.025/GB
月に数回使用するS3 標準 - 低頻度アクセスUSD 0.0138/GB
四半期に使用するS3 Glacier Instant RetrievalUSD 0.005/GB
ほぼ使用しないS3 Glacier Deep ArchiveUSD 0.002/GB

セキュリティ

S3 のセキュリティ問題は多く、外部からアクセスできてしまった場合、機密情報が漏洩するリスクがあります。そのため、S3 のアクセス許可を制限し、必要なユーザーやサービスからのみアクセスできるようにしましょう。なお、外部に公開する予定がないのであれば、必ずパブリックアクセスはブロックしておくことをお勧めします。

パブリックアクセスは、アクセスコントロールリスト (ACL)、アクセスポイントポリシー、バケットポリシー、またはそのすべてからバケットおよびオブジェクトに付与されます。Amazon S3 のすべてのアクセスポイント、バケット、オブジェクトへのパブリックアクセスを確実にブロックするために、アカウントへのパブリックアクセスをブロックする 4 つの設定をすべて有効にすることをお勧めします。

AWS CLI で S3 を使ってみる

AWS CLI で S3 を使ってみましょう。実際にコマンドを実行した場合にどうなるか結果を記載します。

バケットの作成

バケット名はすべてのアカウントで一意になりますので、固有の名称を付けて一意の名前にしましょう。なお、AWS CLI のプロファイルで指定したリージョンに作成されます。

❯ aws s3 mb s3://exrecord-test-bucket
make_bucket: exrecord-test-bucket

バケットが作成されたことを確認します。

❯ aws s3 ls
2026-04-12 05:07:26 exrecord-test-bucket

パブリックアクセスの設定を確認します。すべての項目が true であれば、外部からアクセスできない安全な状態です。

❯ aws s3api get-public-access-block --bucket exrecord-test-bucket
{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}

オブジェクトのアップロード

ローカルのファイルを S3 バケットにアップロードします。

❯ aws s3 cp test.txt s3://exrecord-test-bucket
upload: ./test.txt to s3://exrecord-test-bucket/test.txt

バケット内のオブジェクト一覧は以下で確認できます。バケット作成と同じコマンドでバケットを指定します。

❯ aws s3 ls s3://exrecord-test-bucket
2026-04-12 05:10:22 0 test.txt

オブジェクトのダウンロード

S3 バケットからローカルにファイルをダウンロードします。アップロードとは引数の順番が逆という違いであるため、注意が必要です。

❯ aws s3 cp s3://exrecord-test-bucket/test.txt .
download: s3://exrecord-test-bucket/test.txt to ./test.txt

まとめ

S3 がどういうサービスであったり、基本的な使い方について説明しました。AWS を利用する上で S3 はほぼ必ず使用することになるため、以下のポイントを押さえた使い方をしていきましょう。

  • パブリックアクセスブロック設定を必ず確認する
  • 必要最小限のアクセス権限のみを付与する
  • アクセス頻度に応じたストレージクラスを選択してコストを最適化する

これらを意識することで、安全かつコスト効率の良い S3 運用ができます。