1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS SAA備忘録記事⑤〜Amazon S3〜

1
Last updated at Posted at 2025-03-12

はじめに

本記事では、AWS最も基本的かつ重要なストレージサービスであるS3について解説します。

Amazon S3の基本

ストレージクラス

  • Standard
    頻繁にアクセスするデータ向け
  • Standard-IA
    アクセス頻度が低いマスターデータの長期保存向け
  • Glacier
    アーカイブデータ向け

S3のデータ保護機能

オブジェクトロック機能

S3バケットに保存されるドキュメントが保存後に変更も削除もできないようにするには、オブジェクトロックのコンプライアンスモードを活用する。

  • コンプライアンスモード
    オブジェクトが削除または上書きできないように一定期間または無期限に防止できる。
  • MFA Delete機能
    バケットからのデータ削除時にMFA入力を必須化して、誤った削除を防止する。

データ削除保護の選択

  • 一部社員が消せない → ガバナンスモード
  • みんな消せない → コンプライアンスモード

S3の暗号化オプション

  • SSE-S3
    AES-256を利用したS3の暗号化機能。追加料金が発生せず、APIコールの制限を考慮する必要もないのがメリット。ただし、利用状況の監査証跡が取れないのがデメリット。
  • SSE-C
    顧客が管理する暗号化キーをS3に適用する形式。ユーザー側で独自の暗号化キーを作成可能。
  • SSE-KMS
    暗号化キーの管理機能をマネージドサービスで提供。CloudTrailによりアクティビティの証跡ログが取得可能。

S3の拡張機能

S3イベント通知

S3バケットに新しいオブジェクトがアップロードされた際などに、自動的に処理を実行できる機能。

S3バケットにデータが保存されたイベント → トリガー → Lambda関数 → データ処理

S3 Select

シンプルなSQLステートメントを使用してS3オブジェクトのコンテンツをフィルタリングし、必要なデータのサブセットのみを取得できる機能。
S3が転送するデータ量を削減でき、データ取得コストと待ち時間を改善できる。

S3の応用的な活用法

静的ウェブホスティング

S3バケットを使って静的ウェブサイトをホスティングする方法は下記である。

  1. 静的ウェブホスティングをS3バケットに構成
  2. Amazon CloudFrontを構成し、S3バケットをオリジンとして設定
  3. バケットポリシーでインターネットからのS3:GetObjectを許可
  4. パブリックアクセスブロックを無効化

S3バケットへのアクセス制限

特定のユーザーに一時的にアクセス許可を与える方法
事前署名付きURLを発行することで、特定の画像を一時的に共有するための特別なURLを発行できる。

不正アクセスからの保護

  • Referer制限
    CloudFrontディストリビューションにAWS WAFを設定し、直接URLリンクを参照することを制限する
  • OAI(オリジンアクセスアイデンティティ)
    CloudFront側でOAIを割り当て、そのOAIにのみS3バケット内への読み取り権限があるようにS3バケットポリシーを設定
  • OAC(オリジンアクセスコントロール)
    OAIと同様の機能を提供する新しい方式

S3 Transfer Acceleration

S3バケットへのデータアップロードを効率化する機能。
CloudFrontのエッジロケーションを活用して、遠隔地からのアップロードパフォーマンスを向上させる。

マルチパートアップロード

大きなファイルを分割してアップロードする機能で、アップロード速度の向上と信頼性の確保に役立つ。

暗号化関連の注意点

S3バケットでは、バケットポリシーによってデータアップロードリクエストを評価してアクセス許可を実施した上で、データアップロード時の暗号化が適用される。

バケットの暗号化設定を有効化していても、暗号化情報なしのPUTリクエストを拒否するバケットポリシーがある場合は、そのPUTリクエストは拒否される。
暗号化失敗が発生した場合は、バケットポリシーの設定を確認する。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?