S3とは?
Amazon S3 (Simple Storage Service) とは?
Section titled “Amazon S3 (Simple Storage Service) とは?”Amazon S3は、オブジェクトストレージサービスで、スケーラブルで耐久性の高いデータ保存を提供します。 この資料は、理想論ではなく、実務で使える実践的なS3の運用方法を解説します。
なぜS3が必要か
Section titled “なぜS3が必要か”問題のある構成(ファイルサーバー/NAS/オンプレミスストレージ)
Section titled “問題のある構成(ファイルサーバー/NAS/オンプレミスストレージ)”問題のある状況:
問題のある構成:- ストレージ容量の上限がある(追加購入が必要)- バックアップの管理が煩雑- 複数サーバー間でのファイル共有が困難- データの冗長化(RAID等)の管理が必要- アクセス速度がネットワークに依存- 物理的な故障リスク(ハードウェア故障)- スケールアウトが困難(ストレージ追加に時間がかかる)- 初期投資が高額
影響:- ストレージ容量不足による業務停止- データ損失のリスク- 管理コストの増大- スケーラビリティの欠如- 運用負荷が高い解決: S3による無制限でスケーラブルなストレージ
解決策:- 無制限のストレージ容量- 自動バックアップ(11 9'sの耐久性)- グローバルアクセス可能- ライフサイクル管理による自動コスト最適化- バージョニングによる誤削除防止- 暗号化によるセキュリティ確保
メリット:- 容量制限なし(必要に応じて自動拡張)- 99.999999999% (11 9's) の耐久性- 99.99%の可用性- 従量課金制(使った分だけ支払い)- 自動バックアップ(複数AZに自動複製)- グローバルアクセス(世界中からアクセス可能)- 運用負荷ゼロ(AWSが管理)特徴: - 無制限のストレージ容量 - 99.999999999% (11 9's) の耐久性 - 99.99%の可用性 - オブジェクトサイズ: 0B 〜 5TB
主要概念: バケット: - グローバルに一意な名前 - リージョン単位で作成 - オブジェクトのコンテナ
オブジェクト: - キー(ファイル名) - データ(ファイル内容) - メタデータ - バージョンIDストレージクラス
Section titled “ストレージクラス”1. 頻繁なアクセス
Section titled “1. 頻繁なアクセス”| ストレージクラス | 用途 | 可用性 | 取得料金 | 最小保存期間 | 価格(GB/月) |
|---|---|---|---|---|---|
| S3 Standard | アクティブデータ | 99.99% | なし | なし | $0.023 |
| S3 Intelligent-Tiering | アクセスパターン不明 | 99.9% | なし | なし | $0.0025/1000オブジェクト + ストレージ料金 |
2. 低頻度アクセス
Section titled “2. 低頻度アクセス”| ストレージクラス | 用途 | 可用性 | 取得料金 | 最小保存期間 | 価格(GB/月) |
|---|---|---|---|---|---|
| S3 Standard-IA | バックアップ、災害対策 | 99.9% | $0.01/GB | 30日 | $0.0125 |
| S3 One Zone-IA | 再作成可能データ | 99.5%(単一AZ) | $0.01/GB | 30日 | $0.01 |
3. アーカイブ
Section titled “3. アーカイブ”| ストレージクラス | 用途 | 取得時間 | 最小保存期間 | 価格(GB/月) |
|---|---|---|---|---|
| S3 Glacier Instant Retrieval | アーカイブ、即時アクセス必要 | ミリ秒 | 90日 | $0.004 |
| S3 Glacier Flexible Retrieval | アーカイブ、数時間待機可能 | 1-5分 〜 12時間 | 90日 | $0.0036 |
| S3 Glacier Deep Archive | 長期アーカイブ | 12 〜 48時間 | 180日 | $0.00099 |
ストレージクラス選択のポイント:
- Standard: 頻繁にアクセスされるデータ
- Standard-IA: 月1回程度のアクセス
- Glacier: 年1-2回程度のアクセス
- Intelligent-Tiering: アクセスパターンが不明または変動する場合
バージョニング
Section titled “バージョニング”特徴: - オブジェクトの全バージョン保持 - 誤削除防止 - ロールバック可能
有効化: - バケット単位で設定 - 一度有効化すると無効化不可(中断のみ)
削除マーカー: - 削除時、削除マーカー追加 - 実データは保持 - 削除マーカー削除で復元ライフサイクルポリシー
Section titled “ライフサイクルポリシー”自動移行: ルール1: - 30日後: Standard → Standard-IA - 90日後: Standard-IA → Glacier - 365日後: 削除
ルール2(バージョン管理): - 現在バージョン: 上記と同じ - 旧バージョン: 7日後削除
コスト削減: - 自動階層化 - 古いデータ自動削除 - アクセスパターン最適化セキュリティ
Section titled “セキュリティ”1. アクセス制御
Section titled “1. アクセス制御”バケットポリシー: - JSONベース - バケット全体に適用 - パブリックアクセス可能
IAMポリシー: - ユーザー/ロール単位 - プライベートアクセス
ACL: - レガシー - 非推奨2. 暗号化
Section titled “2. 暗号化”サーバー側暗号化: SSE-S3: - S3管理キー - デフォルト - 無料
SSE-KMS: - AWS KMS管理キー - 監査可能 - 追加料金
SSE-C: - 顧客管理キー - 完全制御
クライアント側暗号化: - アップロード前に暗号化 - 完全なデータ制御Transfer Acceleration: - CloudFront エッジロケーション経由 - 最大50倍高速化 - 追加料金: $0.04/GB
S3 バッチオペレーション: - 大量オブジェクト一括処理 - コピー、タグ付け、暗号化等
マルチパートアップロード: - 100MB以上推奨 - 最大5TBサポート - 並列アップロードS3の重要ポイント:
- ストレージクラス適切な選択
- ライフサイクルポリシーによるコスト最適化
- バージョニングによるデータ保護
- 暗号化によるセキュリティ強化
- Transfer Accelerationによる高速化