メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

特徴

このセクションでは、Amazon S3 の重要な特徴について説明します。

低冗長化ストレージ

データの格納に Amazon S3 の低冗長化ストレージ(RRS)オプションを使用できます。RRS は、それほど重要でない再生可能なデータを、Amazon S3 の標準ストレージの冗長性よりも低レベルの冗長性で保存することで、お客様がコストを削減できるようにします。どこか他の場所で堅牢に格納されているコンテンツを配信または共有するため、またはサムネイル、コード変換されたメディアもしくは簡単に再生可能なその他の加工データを格納するために、費用対効果および可用性の高いソリューションを提供します。RRS オプションは、複数の施設の複数のデバイス上にオブジェクトを保存し、通常のディスクドライブの 400 倍の堅牢性を提供しますが、標準的な Amazon S3 ストレージほど何度もオブジェクトをレプリケーションするわけではないため、費用対効果が高くなっています。

RRS は、年間 99.99% のオブジェクト耐久性を提供します。この耐久性レベルは、年間平均予測オブジェクト喪失率 0.01% に該当します。

RRS の利用料金は標準的な Amazon S3 ストレージよりも割安です。料金表については、「Amazon S3 の詳細ページ」を参照してください。

詳細については、「低冗長化ストレージの使用」を参照してください。

バケットポリシー

バケットポリシーを使用すると、Amazon S3 オペレーション、リクエスタ、リソース、リクエストの情報(例: IP アドレス)を含めたさまざまな条件に基づいて、バケットとオブジェクトへのアクセスを一元的に制御できます。ポリシーはアクセスポリシー言語で表現され、アクセス許可を一元的に管理できます。バケットにアタッチされたアクセス許可は、そのバケット内のすべてのオブジェクトに適用されます。

会社のみならず個人もバケットポリシーを使用できます。会社は Amazon S3 に登録するときに、アカウントを作成します。それ以降、会社とアカウントは同義になります。アカウントは、会社(およびその従業員)が作成した Amazon のリソースに対して経済面での責任を負います。アカウントは、バケットポリシーにアクセス許可を与えたり、さまざまな条件に基づいて従業員にアクセス許可を割り当てることができます。例えば、ユーザーに書き込みアクセスを与えるポリシーを次のように作成できます。

  • 特定の S3 バケットに対して

  • アカウントの社内ネットワークから

  • 営業時間内

  • アカウントのカスタムアプリケーションから(ユーザーエージェント文字列によって識別)

あるアプリケーションに制限付きの読み込みアクセスと書き込みアクセスを与え、他のアプリケーションにはバケットの作成および削除を許可することもできます。1 つのバケットに複数の営業所がそれぞれの日次レポートを格納することもできます。この場合、各営業所はその営業所の IP アドレス範囲からのみ特定の名前セット (例: 「Nevada/*」、「Utah/*」) にのみ書き込むことができるようにします。

アクセス許可を個別のオブジェクトに追加(付与)できるアクセスコントロールリスト(以下で説明)とは異なり、ポリシーはバケット内のすべて(または一部)のオブジェクトに対してアクセス許可を追加または拒否できます。1 つのリクエストで、バケット内の複数のオブジェクトのアクセス許可を設定できます。Amazon リソース名(ARN)やその他の値に対してワイルドカード(正規表現演算子のようなもの)を使用できるので、よく使用するプレフィックスで始まるオブジェクト群や、html のような拡張子で終了するオブジェクト群へのアクセスを管理できます。

バケット所有者のみが、ポリシーをバケットに関連付けることができます。ポリシーはアクセスポリシー言語で記述され、次の項目に基づいてリクエストを許可または拒否します。

  • Amazon S3 バケットオペレーション(例: PUT ?acl))、およびオブジェクトオペレーション(PUT ObjectGET Object など)

  • リクエスタ

  • ポリシーに指定された条件

アカウントでは、GetObjectGetObjectVersionDeleteObjectDeleteBucket など、特定の Amazon S3 オペレーションに基づいてアクセスをコントロールできます。

条件には、IP アドレス、CIDR 表記での IP アドレス範囲、日付、ユーザーエージェント、HTTP Referrer、トランスポート(HTTP および HTTPS)などがあります。

詳細については、「バケットポリシーとユーザーポリシーの使用」を参照してください。

AWS Identity and Access Management

例えば、IAM を Amazon S3 とともに使用すると、自分の AWS アカウントが所有する Amazon S3 バケットの特定の部分に対して個々のユーザーまたはユーザーグループに付与するアクセス権のタイプをコントロールできるようになります。

IAM の詳細については、以下を参照してください。

バージョニング

詳細については、「オブジェクトのバージョニング」を参照してください。

運用

以下は API を使用して実行する一般的なオペレーションです。

一般的なオペレーション

  • バケットの作成 – オブジェクトを格納する独自のバケットを作成し、名前を指定します。

  • オブジェクトへの書き込み – オブジェクトを作成または上書きしてデータを格納します。オブジェクトに書き込むときは、バケットの名前空間内で一意のキーを指定します。このとき、オブジェクトに対するアクセスコントロールも指定することをお勧めします。

  • オブジェクトの読み取り – データを読み戻します。HTTP または BitTorrent 経由でデータをダウンロードできます。

  • オブジェクトの削除 – データの一部を削除します。

  • キーのリスト作成 – いずれかのバケットに含まれているキーのリストを作成します。プレフィックスに基づいてキーのリストをフィルタできます。

この機能およびその他すべての機能については、このガイドの後半で詳しく説明します。