血と汗となみだを流す

クラウドエンジニアになるための修業の場

Amazon S3 (Simple Storage Service)について調べてみたまとめ殴り書き

この記事の概要

  • Amazon Certified Solution Architect - Associateを取得できたけどS3の基礎知識が不足していることがわかったので改めてS3について調べてみる
  • 気になったところとかをピックアップした

概要

  • インターネット用のストレージサービス
  • Webのどこからでも容量に関係なくデータを格納/取得できる
  • オブジェクトストレージ

クラウドオブジェクトストレージ

  • 耐久性、可用性、拡張性
  • データをオブジェクトとしてバケットに保管

オプジェクトとは

  • キー
    • オブジェクトに割り当てる名前
  • バージョンID
    • キーとバージョンIDでオブジェクトを一意に特定
    • 格納するコンテンツ
    • 0〜5TB
  • メタデータ
    • オブジェクトに関する情報を格納する
    • 名前と値のペア
    • ユーザ定義メタデータを割り当てることができる
  • サブリソース
    • バケットとオブジェクトの従属物
      • acl(後述)
      • torrent
        • 特定のオブジェクトに関連付けられたtorrentファイルが返される
  • アクセスコントロール情報

ACL

  • 基本的なread/writeのアクセス許可を他のAWSアカウントに付与できる
  • 自分のアカウントのユーザには付与できない
  • XMLで定義
  • 付与できるアクセス許可

アクセス管理

  • リソースベースのポリシー
  • ユーザポリシー
    • IAMを使用してS3リソースへのアクセスを管理
    • JSONで定義

BitTorrent

  • ファイルを配信するためのオープンなP2Pプロトコル
  • S3でBitTorrentプロトコルをサポートしている
  • 大規模コンテンツ配信時のコストを削減
    • S3からオブジェクトの一部をDLし、他のクライアントからも別の一部をDLする
    • 同時に対象となる外のクライアントにもオブジェクトの一部分をアップロードする

バケット

  • 作成しただけでは課金されない
  • 課金されるのは
    • オブジェクトを保管する時、またはtoバケット/fromバケットのオブジェクト転送で料金が発生
  • バケット名はAmazon S3にある既存の全てのバケット名と異なる必要がある

アップロード

  • 1回のPUTオペレーションでアップロードできるオプジェクトの最大サイズは5GB
  • multipartアップロードAPIを使用すると最大5MB〜5TBの大容量オブジェクトをアップロードできる

署名付きURL

  • 有効期限を設けて、特定のURLからのみアクセスする事ができる機能
  • ユーザ単位でのアクセス制御ではないため、有効期限内であれば誰でもそのURLからアクセスできる

Cross-Origin Resource Sharing(CORS)

感想

  • 古くからあるサービスなだけあって、仕様が多い
  • 全部覚えきれないけど頭の中でINDEX貼れたのでOK!