S3

Amazon Simple Storage Service (S3) ノート。

Overview

  • S3 は AWS の主要(しゅよう) なビルディングブロックの 1 つ
  • 無限(むげん) にスケーリング」するストレージとして宣伝(せんでん)
  • (おお) くの AWS サービスが S3 と統合(とうごう)

Use Cases

  • バックアップとストレージ
  • 災害(さいがい) 復旧(ふっきゅう)
  • アーカイブ
  • ハイブリッドクラウドストレージ
  • アプリケーションホスティング
  • メディアホスティング
  • データレイク & ビッグデータ分析(ぶんせき)
  • ソフトウェア配信(はいしん)
  • 静的(せいてき) Web サイト

Bucket

  • S3 はオブジェクト(ファイル)を「バケット」(ディレクトリ)に格納(かくのう)
  • バケットはグローバルに一意(いちい)名前(なまえ) 必要(ひつよう)(すべ) てのリージョン、(すべ) てのアカウント)
  • バケットはリージョンレベル定義(ていぎ)
  • S3 はグローバルサービスに() えるがバケットはリージョンに作成(さくせい)

Naming Convention

  • 大文字(おおもじ) 禁止(きんし) 、アンダースコア禁止(きんし)
  • 3-63 文字(もじ)
  • IP アドレス禁止(きんし)
  • 小文字(こもじ) または数字(すうじ)開始(かいし)
  • xn-- プレフィックス禁止(きんし)
  • -s3alias サフィックス禁止(きんし)

Objects

  • オブジェクトにはキー(フルパス)がある
    • s3://my-bucket/my_file.txt
    • s3://my-bucket/my_folder1/another_folder/my_file.txt
  • キー = プレフィックス + オブジェクト(めい)
  • 「ディレクトリ」の概念(がいねん) はない(スラッシュ() きのキーのみ)

Content

  • オブジェクト(あたい) はボディの内容(ないよう)
  • 最大(さいだい) オブジェクトサイズ: 5 TB (5000 GB)
  • 5 GB 以上(いじょう) のアップロードにはマルチパートアップロード必須(ひっす)
  • メタデータ(テキストキー/(あたい) ペアのリスト)
  • タグ(Unicode キー/(あたい) ペア、最大(さいだい) 10)
  • バージョン ID(バージョニング有効時(ゆうこうじ)

Security

Bucket Policy

ユーザーベース:

  • IAM ポリシー: 特定(とくてい) ユーザーに許可(きょか) される API ()()

リソースベース:

  • バケットポリシー: バケット全体(ぜんたい) のルール
  • オブジェクト ACL - より(こま) かい粒度(りゅうど)
  • バケット ACL - あまり一般的(いっぱんてき) ではない

IAM プリンシパルが S3 オブジェクトにアクセスできる条件(じょうけん) :

  • ユーザー IAM 権限(けんげん)許可(きょか) OR リソースポリシーが許可(きょか)

  • AND 明示的(めいじてき) な DENY がない

Block Public Access Settings

  • (すべ) てのパブリックアクセスをブロック: ON (推奨(すいしょう) )
  • 企業(きぎょう) データ漏洩(ろうえい) 防止(ぼうし) のために作成(さくせい)
  • バケットがパブリックである必要(ひつよう) がない場合(ばあい) は ON のまま
  • アカウントレベルで設定(せってい) 可能(かのう)

Static Website Hosting

  • S3 で静的(せいてき) Web サイトをホスト可能(かのう)
  • URL 形式(けいしき) : http://<bucket-name>.s3-website-<aws-region>.amazonaws.com
  • 403 Forbidden エラーの場合(ばあい) 、バケットポリシーがパブリック()() りを許可(きょか) しているか確認(かくにん)

Versioning

  • バケットレベルで有効化(ゆうこうか)
  • (おな) じキーの上書(うわが) きでバージョンが変更(へんこう) : 1, 2, 3…
  • バケットのバージョニングはベストプラクティス:
    • 意図(いと) しない削除(さくじょ) から保護(ほご)
    • 以前(いぜん) のバージョンへの簡単(かんたん) なロールバック

Replication (CRR & SRR)

前提(ぜんてい) 条件(じょうけん) : ソースと宛先(あてさき) バケットでバージョニングを有効化(ゆうこうか)

  • Cross-Region Replication (CRR): コンプライアンス、(てい) レイテンシー、クロスアカウント
  • Same-Region Replication (SRR): ログ集約(しゅうやく)本番(ほんばん) /テスト(かん) のライブレプリケーション

Storage Classes

クラス説明(せつめい)
Standard - General Purpose99.99% 可用性(かようせい)頻繁(ひんぱん) にアクセスされるデータ
Standard-IA低頻度(ていひんど) アクセス、99.9% 可用性(かようせい)
One Zone-IA単一(たんいつ) AZ、99.5% 可用性(かようせい)
Glacier Instant Retrievalミリ(びょう) 取得(しゅとく) 、90 (にち) 最小(さいしょう)
Glacier Flexible RetrievalExpedited (1-5(ふん) )、Standard (3-5時間(じかん) )、Bulk (5-12時間(じかん) )
Glacier Deep ArchiveStandard (12時間(じかん) )、Bulk (48時間(じかん) )
Intelligent Tiering使用(しよう) 状況(じょうきょう)(もと) づいて自動(じどう)階層(かいそう) (かん)移動(いどう)

Transfer Acceleration

  • S3 との(あいだ) のコンテンツ転送(てんそう)高速化(こうそくか)
  • 長距離(ちょうきょり) 転送(てんそう) で 50-500% の速度(そくど) 向上(こうじょう)可能(かのう)
  • CloudFront Edge Locations と AWS バックボーンネットワークを使用(しよう)
  • 高速化(こうそくか) された転送(てんそう) のみ課金(かきん)