この記事の概要
- Amazon Certified Solution Architect - Associateを取得できたけどS3の基礎知識が不足していることがわかったので改めてS3について調べてみる
- 気になったところとかをピックアップした
概要
- インターネット用のストレージサービス
- Webのどこからでも容量に関係なくデータを格納/取得できる
- オブジェクトストレージ
クラウドオブジェクトストレージ
- 耐久性、可用性、拡張性
- データをオブジェクトとしてバケットに保管
オプジェクトとは
- キー
- オブジェクトに割り当てる名前
- バージョンID
- キーとバージョンIDでオブジェクトを一意に特定
- 値
- 格納するコンテンツ
- 0〜5TB
- メタデータ
- オブジェクトに関する情報を格納する
- 名前と値のペア
- ユーザ定義メタデータを割り当てることができる
- サブリソース
- アクセスコントロール情報
ACL
- 基本的なread/writeのアクセス許可を他のAWSアカウントに付与できる
- 自分のアカウントのユーザには付与できない
- XMLで定義
- 付与できるアクセス許可
アクセス管理
- リソースベースのポリシー
- ユーザポリシー
- IAMを使用してS3リソースへのアクセスを管理
- JSONで定義
BitTorrent
- ファイルを配信するためのオープンなP2Pプロトコル
- S3でBitTorrentプロトコルをサポートしている
- 大規模コンテンツ配信時のコストを削減
- S3からオブジェクトの一部をDLし、他のクライアントからも別の一部をDLする
- 同時に対象となる外のクライアントにもオブジェクトの一部分をアップロードする
バケット
アップロード
- 1回のPUTオペレーションでアップロードできるオプジェクトの最大サイズは5GB
- multipartアップロードAPIを使用すると最大5MB〜5TBの大容量オブジェクトをアップロードできる
署名付きURL
- 有効期限を設けて、特定のURLからのみアクセスする事ができる機能
- ユーザ単位でのアクセス制御ではないため、有効期限内であれば誰でもそのURLからアクセスできる
Cross-Origin Resource Sharing(CORS)
- S3で異なるドメイン間の通信を許可する
- ブラウザで実行されるJavascriptが別のドメインにアクセスするなど
- 例
- S3でホスティングしているサイト「http://website.s3-website-us-east-1.amazonaws.com」にあるJavascriptから「website.s3.amazonaws.com」へアクセス
- XMLで定義
感想
- 古くからあるサービスなだけあって、仕様が多い
- 全部覚えきれないけど頭の中でINDEX貼れたのでOK!