0
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?

【AWS】S3

Last updated at Posted at 2025-03-05

はじめに

AWS DVA取得に向けた勉強の一環です。
新たな学びがあったら随時追記していきます。

正確性は保証しませんので参考程度に見てください。

概要

  • オブジェクトストレージサービス
  • 階層構造なし、各データは一意のIDを持つ
  • 構造化・非構造化データの両方を扱える
  • 高耐久性(99.999999999% = イレブンナイン)
  • 高可用性(ストレージクラスによって異なる)
  • 容量無制限で従量課金
  • 用途: バックアップ、データレイク、静的コンテンツのホスティング など

S3の基本構成

  • バケット: データを格納するコンテナ

  • オブジェクト: バケット内に格納されるデータ単位

  • Glacierでは

    • バケットに対応するのがボールト
    • オブジェクトに対応するのがアーカイブ

S3のストレージクラス

クラス 特徴 用途
Standard デフォルト、頻繁にアクセス Webサイトホスティング、一般データ
Standard-IA 低頻度アクセス、コスト低め バックアップ、災害復旧
Intelligent-Tiering アクセス状況に応じてクラスを自動変更 不定期にアクセスするデータ
One Zone-IA 単一AZのみ、冗長性低いが安価 一時データ、再作成可能データ

S3 Glacier

ストレージクラス

クラス アクセス頻度目安 取得時間
Instant Retrieval 四半期に一度 即時
Flexible Retrieval 年一回程度 数分~数時間
Deep Archive 年一回未満 数時間(取り出し料金高)

取り出しオプション

迅速 標準 大容量
Flexible Retrieval、Intelligent-Tiering Archive 1~5分 数分~5時間 5~12時間
Deep Archive、Intelligent-Tiering Deep Archive 利用不可 9~12時間 48時間以内

アクセス制御

方法 適用範囲 特徴
IAMポリシー アカウント単位 ユーザーやロールごとに権限設定
バケットポリシー バケット単位/オブジェクト単位 バケット内のオブジェクトを細かく制御
ACL(Access Control List) バケット単位 細かい権限制御不可、現在は非推奨

セキュリティ・データ管理

署名付きURL

  • 一定期間のみ有効なURLを生成し、アクセスを許可
  • 漏洩の可能性があるため完全なセキュリティにはならない

CORS(Cross-Origin Resource Sharing)

  • 複数オリジン間でのリソースを共有する

データの暗号化

種類 暗号化のタイミング 管理方式
サーバーサイド暗号化 AWSにアップロード後 AWSが暗号化・復号化を担当
クライアントサイド暗号化 アップロード前 ユーザーが暗号化・復号化を管理

サーバーサイド暗号化(SSE)

  • SSE-S3: AWSが自動管理(デフォルト)
  • SSE-KMS: AWS KMSを使用(カスタマーマネージドキーも可)
  • SSE-C: ユーザーが独自キーを管理

クライアントサイド暗号化(CSE)

  • AWSは暗号化・復号化に関与しない

データ保護と管理

オブジェクトロック

  • 削除・上書きを防止(読み取り専用)
  • 保持期間を設定可能(期間経過後に解除)
モード 特徴
ガバナンスモード 特定ユーザーのみ変更可能
コンプライアンスモード すべてのユーザーが変更不可(rootユーザー含む)
  • Glacierでは「ボールトロック」で同様の管理が可能

リーガルホールド

  • 法的理由によりオブジェクトを保護
  • オブジェクトロックの保持期間とは独立
  • オブジェクトロックとリーガルホールドの両方が無効にならないと変更不可

バージョニング

  • オブジェクトの履歴を保持し、以前のバージョンを取得可能
  • バケット単位で有効化
  • 削除すると「削除マーカー」が作成される
    • 削除マーカーを削除すると、以前のバージョンを復元できる
    • 完全削除には、バージョンIDを指定して削除する

高速転送・データ処理

バッチオペレーション

  • 大量のオブジェクトを一括処理
  • 例: メタデータ更新、アクセス許可変更

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

  • オブジェクトを分割して並行アップロード
  • 大容量ファイルを効率的にアップロード

S3 Transfer Acceleration

  • リージョン間のアップロード・転送を高速化
  • エッジロケーションを経由

S3 Select

  • SQLクエリを使い、オブジェクトデータの一部分を抽出
  • CLI, SDK, マネジメントコンソールから実行可能
0
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
0
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?