• 検索結果がありません。

StorageGRID Webscale 11.0 S3(Simple Storage Service)実装ガイド

N/A
N/A
Protected

Academic year: 2021

シェア "StorageGRID Webscale 11.0 S3(Simple Storage Service)実装ガイド"

Copied!
84
0
0

読み込み中.... (全文を見る)

全文

(1)

S3

(Simple Storage Service)

実装ガイド

2018年1月 | 215-12969_B0

(2)
(3)

目次

S3 REST API

のサポート ... 5

S3 REST APIのサポートに関する変更点 ... 5 サポート対象のバージョン ... 6 StorageGRID Webscaleプラットフォーム サービスのサポート ... 6

クライアント アプリケーションでのHTTP接続の使用 ... 8

StorageGRID WebscaleにおけるS3テナント アカウント ... 8 S3 APIエンドポイントのドメイン名の指定 ... 9 APIゲートウェイ ノードとストレージ ノードのIPアドレスの特定 ... 10 APIゲートウェイ ノードとストレージ ノードのポート番号 ... 10 S3 REST APIの設定のテスト ... 10

StorageGRID Webscale

でのS3 REST APIの実装 ... 12

StorageGRID WebscaleのILMルールによるオブジェクトの管理 ... 13

オブジェクトのバージョン管理 ... 15

S3 REST API

のサポートされる処理と制限事項 ... 16

エラー応答 ... 16 日付の処理 ... 17 共通の要求ヘッダー ... 18 共通の応答ヘッダー ... 18 要求の認証 ... 18 サービスの処理 ... 19 バケットの処理 ... 19 バケットのカスタム処理 ... 24 オブジェクトの処理 ... 25 マルチパート アップロードの処理 ... 32 監査ログで追跡される処理 ... 37

StorageGRID Webscale

のS3 REST APIの処理 ... 38

GET Bucket consistency要求 ... 38

PUT Bucket consistency要求 ... 39

GET Storage Usage要求 ... 40

GET Bucket last access time要求 ... 42

PUT Bucket last access time要求 ... 43

DELETE Bucket metadata notification configuration要求 ... 44

GET Bucket metadata notification configuration要求 ... 44

PUT Bucket metadata notification configuration要求 ... 48

メタデータ通知に含まれているオブジェクト メタデータ ... 51

検索統合サービスで生成されるJSON ... 51

REST API

のセキュリティの設定 ... 53

StorageGRID WebscaleシステムでのREST APIのセキュリティの実装 ... 53

バケットとグループのアクセス ポリシー ... 54

(4)

証明書の使用 ... 69 TLSライブラリのハッシュ アルゴリズムと暗号化アルゴリズムのサポー ト ... 69 Write-Once-Read-Many(WORM)による保護 ... 70

処理の監視と監査 ... 72

S3オブジェクトに対するトランザクションの確認 ... 72 監査ログへのアクセスと確認 ... 72

アクティブ、アイドル、および同時HTTP接続のメリット ... 74

HTTP接続の種類別のメリット ... 74 アイドルHTTP接続を開いておくメリット ... 74 アクティブHTTP接続のメリット ... 74 同時HTTP接続のメリット ... 75 読み取り処理用と書き込み処理用の別々のHTTP接続プールの使用 ... 76

著作権に関する情報 ... 77

商標に関する情報 ... 78

マニュアルの更新について ... 79

索引 ... 80

(5)

S3 REST API

のサポート

StorageGRID Webscaleシステムでは、Simple Storage Service(S3)のRepresentational State Transferアプリケーション プログラミング インターフェイス(REST API)を使用して StorageGRID Webscaleシステムとやり取りするクライアント アプリケーションからのオブ ジェクトの格納と取得をサポートしています。

S3 REST APIのサポートにより、S3 Webサービス用に開発されたサービス指向アプリケー ションを、StorageGRID Webscaleシステムを使用するオンプレミスのオブジェクト ストレー ジと接続できます。クライアント アプリケーションで現在使用しているS3 REST API呼び 出しの変更は、最小限しか必要ありません。

S3 REST API

のサポートに関する変更点

StorageGRID WebscaleシステムでのS3 REST APIのサポートに関する変更点に注意する必要 があります。

次の表に、StorageGRID WebscaleシステムでのS3 REST APIのサポートに関する変更点を示し ます。

Date リリース 説明

2014年9月 10.0 StorageGRID WebscaleシステムでS3 REST APIのサポートが初めて導入されました。 現在サポートされているSimple Storage Service API Referenceのバージョンは 2006-03-01です。 2015年4月 10.1 マルチパート アップロード、仮想ホスト形 式の要求、およびバージョン4の認証のサ ポートが追加されました。 2015年12月 10.2 グループとバケットのアクセス ポリシー、 およびマルチパート コピー(Upload Part -Copy)のサポートが追加されました。 2016年6月 10.3 バージョン管理のサポートが追加されまし た。 2017年4月 10.4 ILMのスキャン処理のバージョン管理に関 する変更、[Endpoint Domain Names]ページの 更新、ポリシーの条件と変数、ポリシーの 例、およびPutOverwriteObject権限のサポー トが追加されました。 2017年10月 11.0 バケットでのプラットフォーム サービス (CloudMirrorレプリケーション、通知、およ びElasticsearch検索統合)の設定がサポート されるようになりました。また、バケット に対するオブジェクト タグ付け機能の場所 の制約、および整合性制御設定「available」 がサポートされるようになりました。

(6)

サポート対象のバージョン

StorageGRID WebscaleでサポートしているS3およびHTTPのバージョンは次のとおりです。

項目 バージョン

S3仕様 『Simple Storage Service API Reference』 2006-03-01

HTTP 1.1

HTTPの詳細については、HTTP/1.1(RFC 2616)を参照し てください。

関連情報

IETF RFC 2616:『Hypertext Transfer Protocol (HTTP/1.1)』

Amazon Web Services(AWS)ドキュメント:「Amazon Simple Storage Service API Reference

StorageGRID Webscale

プラットフォーム

サービスのサポート

StorageGRID Webscaleプラットフォーム サービスでは、リモートS3バケット、Simple Notification Service(SNS)エンドポイント、Elasticsearchクラスタなどの外部サービスを利用 して、グリッドが提供するサービスを拡張できます。 注意:StorageGRID Webscale 11.0には、プラットフォーム サービスの初期リリースが含ま れています。現在、CloudMirrorレプリケーション、通知、および検索統合は、特定の状況 およびワークロードのみが対象です。これらのサービスの初期リリースを使用すること を希望する場合は、ネットアップの担当者にお問い合わせください。 プラットフォーム サービスについては、『テナント管理者ガイド』で詳しく説明していま す。たとえば、サービスを設定する前に必要な作業として、テナント アカウントでリモー ト サービスを表すエンドポイントを作成する方法などが記載されています。このガイドで は、StorageGRID Webscaleにおける設定APIの実装について説明します。 次の表は、使用可能なプラットフォーム サービスとその設定に使用するAPIをまとめたもの です。 プラットフォー ム サービス 目的 サービスの設定に使用するS3API CloudMirrorレプ リケーション ソースのStorageGRID Webscaleバケットから、設定したリモートのS3 バケットにオブジェクトをレプリ ケートします。

PUT bucket replication

通知 ソースのStorageGRID Webscaleバ ケットでのイベントに関する通知を、 設定したSimple Notification Service (SNS)エンドポイントに送信します。

PUT bucket notification

検索統合 StorageGRID Webscaleバケットに格 納されているオブジェクト メタデー タを、設定したElasticsearchインデッ クスに送信します。

PUT bucket metadata notification 注:これはStorageGRID WebscaleのカスタムS3 APIで す。

(7)

用を有効にする必要があります(『管理者ガイド』を参照)。 関連概念

バケットの処理(19ページ) 関連資料

PUT Bucket metadata notification configuration要求(48ページ) 関連情報

テナント アカウントの管理 StorageGRID Webscaleの管理

(8)

クライアント

アプリケーションでの

HTTP

接続の使用

クライアント アプリケーションでは、HTTP接続を使用してStorageGRID Webscaleシステム にアクセスし、通信を行います。 クライアント アプリケーションは、APIゲートウェイ ノードまたはストレージ ノードに直 接接続してオブジェクトを格納したり読み出したりします。取り込みの負荷をストレージ ノード間で分散するには、負荷分散を実施するAPIゲートウェイ ノードに接続します。負荷 を分散しない場合は、ストレージ ノードに直接接続します。 注:IPv6は、APIゲートウェイ ノード経由のクライアント アプリケーション接続でのみサ ポートされます。 クライアント アプリケーションからストレージ ノードのS3ポートに「OPTIONS /」HTTPS 要求を発行(S3認証クレデンシャルは不要)して、LDRサービスが使用可能かどうかを確認 できます。この要求は監視に使用できるほか、外部のロード バランサがストレージ ノード の停止を特定する目的でも使用できます。 クライアント アプリケーションへの接続を設定するには、次のタスクを実行します。 • S3テナント アカウントの作成 • APIゲートウェイ ノードとストレージ ノードのIPアドレスの特定 • APIゲートウェイ ノードとストレージ ノードのS3ポート番号の特定 • システムのCertificate Authority(CA;認証局)証明書のコピー(サーバの検証が必要なク ライアント アプリケーション用) 関連情報 StorageGRID Webscaleの管理

StorageGRID Webscale

における

S3

テナント

アカウント

StorageGRID Webscaleシステムでは、S3テナント アカウントを作成することで、本来はS3 Webサービスを使用するために開発されたクライアント アプリケーションと接続するよう に設定することができます。 S3テナント アカウントの作成と削除は、グリッド管理インターフェイスの[Tenants]メ ニュー オプションか管理APIを使用して行います。S3のアクセス キー、バケット設定、グ ループ ポリシーなど、S3のグループとユーザの管理には、テナント管理インターフェイス またはテナントAPIを使用します。S3クライアントを設定する際に、認証プロセスで使用す るS3アカウント情報を指定する必要があります。詳細については、『管理者ガイド』および 『テナント管理者ガイド』を参照してください。 関連情報 StorageGRID Webscaleの管理 テナント アカウントの管理

(9)

S3 API

エンドポイントのドメイン名の指定

S3仮想ホスト形式の要求をサポートするには、S3クライアントの接続先となるエンドポイン トのドメイン名のリストを設定する必要があります。 開始する前に • グリッド管理インターフェイスにはサポートされているブラウザを使用してサインイン する必要があります。 • このタスクを実行するには、特定のアクセス権限が必要です。詳細については、管理ユー ザ アカウントおよびグループを使用したシステム アクセスの制御に関する情報を参照 してください。 タスク概要 APIエンドポイントのドメイン名は、DNSサーバで完全修飾ドメイン名を作成したあとに、 S3クライアントの接続先のグリッド ノードに応じて設定します。 • S3クライアントを1つ以上のAPIゲートウェイ ノードに接続する場合は、各APIゲート ウェイ ノードのドメイン名を追加する必要があります。 • S3クライアントを1つ以上のストレージ ノードに接続する場合は、各ストレージ ノード のドメイン名を追加する必要があります。 • S3クライアントを外部のロード バランサ経由で接続する場合は、ロード バランサのドメ イン名を追加する必要があります。 このリストが空の場合、S3仮想ホスト形式の要求のサポートは無効になります。 さらに、エンドポイントごと、および場合によってはIPアドレスごとに、StorageGRID Webscaleシステムのカスタム サーバ証明書でワイルドカードのSubject Alternative Name (SAN)を設定する必要があります。これらの手順は、APIクライアント アプリケーション

からエンドポイントに接続する際のSSL証明書の検証とホスト名の確認で必要になります。 手順

1. [Configuration] > [Domain Names]を選択します。

[Endpoint Domain Names]ページが表示されます。

2. [+]アイコンを使用してフィールドを追加し、[Endpoint number]フィールドにS3 APIエン

(10)

い。 関連情報

StorageGRID Webscaleの管理

API

ゲートウェイ

ノードとストレージ

ノードの

IP

アドレスの特

APIクライアント アプリケーションをStorageGRID Webscaleに接続するには、グリッド ノー ドのIPアドレスが必要です。

手順

1. サポートされているブラウザを使用してグリッド管理インターフェイスにログインしま

す。

2. [Grid]を選択します。

3. [Grid Topology]ツリーで、接続するストレージ ノードまたはAPIゲートウェイ ノードを

選択して展開します。 選択したグリッド ノードのサービスが表示されます。 4. ストレージ ノードまたはAPIゲートウェイ ノードで、[SSM] > [Resources]を選択し、 [Network Addresses]の表までスクロールします。 一覧に表示された任意のIPアドレスを使用して、APIクライアント アプリケーションから のHTTPS接続を確立することができます。

API

ゲートウェイ

ノードとストレージ

ノードのポート番号

クライアント アプリケーションからStorageGRID WebscaleシステムへのHTTP接続は、API ゲートウェイ ノードとストレージ ノードの特定のポートでのみ確立できます。 クライアント アプリケーションからStorageGRID WebscaleシステムへのS3を使用した通信 には、次のポートが使用されます。 グリッド ノード ポート番号 APIゲートウェイ ノード(CLB S3ポート) 8082 ストレージ ノード(LDR S3ポート) 18082

S3 REST API

の設定のテスト

Amazon Web Servicesコマンドライン インターフェイス(AWS CLI)を使用してシステムへ の接続をテストし、システムに対するオブジェクトの読み取りと書き込みが可能であること を確認できます。

開始する前に

• AWS CLIをaws.amazon.com/cliからダウンロードしてインストールしておく必要がありま す。

(11)

す。 手順

1. Amazon Web Servicesの設定で、StorageGRID Webscaleシステムで作成したアカウントを使

用するように設定します。 a. 構成モードに切り替えます。 aws configure b. 作成したアカウントのAWSアクセス キーIDを入力します。 c. 作成したアカウントのAWSシークレット アクセス キーを入力します。 d. 使用するデフォルトのリージョンを入力します(例:us-east-1)。 e. 使用するデフォルトの出力形式を入力するか、Enterキーを押してJSONを選択します。 2. バケットを作成します。

aws s3api --endpoint-url https://10.96.101.17:8082 --no-verify-ssl create-bucket --bucket testbucket

バケットの作成が完了すると、次の例のようにバケットの場所が返されます。

"Location": "/testbucket"

3. オブジェクトをアップロードします。

aws s3api --endpoint-url https://10.96.101.17:8082 --no-verify-ssl put-object --bucket testbucket --key s3.pdf --body C:\s3-test\upload \s3.pdf

オブジェクトのアップロードが完了すると、オブジェクト データのハッシュであるEtag が返されます。

4. バケットの内容をリストして、オブジェクトがアップロードされたことを確認します。 aws s3api --endpoint-url https://10.96.101.17:8082 --no-verify-ssl list-objects --bucket testbucket

5. オブジェクトを削除します。

aws s3api --endpoint-url https://10.96.101.17:8082 --no-verify-ssl delete-object --bucket testbucket --key s3.pdf

6. バケットを削除します。

aws s3api --endpoint-url https://10.96.101.17:8082 --no-verify-ssl delete-bucket --bucket testbucket

(12)

StorageGRID Webscale

での

S3 REST API

の実装

クライアント アプリケーションは、ストレージ ノードやAPIゲートウェイ ノードへの接続、 バケットの作成、オブジェクトの格納と読み出しにS3 REST API呼び出しを使用できます。 StorageGRID Webscaleシステムでは、オブジェクトの管理にInformation Lifecycle Management (ILM;情報ライフサイクル管理)ルールを使用しています。 ILMルールについては、『管理者ガイド』を参照してください。 競合するクライアント要求 競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、 「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイ ミングではなく、StorageGRID Webscaleシステムが特定の要求を完了したタイミングで行わ れます。 整合性の保証と制御 StorageGRID Webscaleでは、デフォルトで、新たに作成したオブジェクトのリードアフター ライト整合性が保証されます。正常に完了したPUTに続くGETでは、新しく書き込まれた データを読み取ることができます。既存のオブジェクトの上書き、メタデータの更新、およ び削除の整合性レベルは、結果整合性です。上書きは通常であれば数秒から数分で反映され ますが、最大で15日かかることもあります。

StorageGRID Webscaleでは、各バケットまたはAPI要求で使用される整合性制御を管理できま す。アプリケーションでの必要に応じて、ストレージ ノード間およびサイト間でオブジェ クトの可用性と整合性のトレードオフを行うために、整合性制御を変更できます。 バケットの整合性制御の設定については、GET Bucket consistency要求(38ページ)および PUT Bucket consistency要求(39ページ)を参照してください。

個々のAPI処理に対して整合性制御を設定するには、その処理でサポートされている整合性 制御を要求ヘッダーで指定する必要があります。次の例では、GET Object処理に対して、整 合性制御をstrong-siteに設定しています。

GET /bucket/object HTTP/1.1

Date: Sat, 29 Nov 2015 01:02:17 GMT

Authorization: AWS 9MOYPG9ACWPAJA1S72R5:jUGbYkLdBApjCWBgK4TxvOjfock= Host: test.com Consistency-Control: strong-site Consistency-Controlヘッダーは、次のいずれかの値に設定できます。 • all:最高レベルのリードアフターライト整合性が保証されます。すべてのノードが即座 にデータを受け取り、受け取れない場合は要求が失敗します。 • strong-global:すべてのサイトにおけるすべてのクライアント要求について、リードアフ ターライト整合性が保証されます。 • strong-site:1つのサイトにおけるすべてのクライアント要求について、リードアフター ライト整合性が保証されます。 • default(新規についてはリードアフターライトを提供):新規オブジェクトについては リードアフターライト整合性が提供され、オブジェクトの更新については結果整合性が 提供されます。高可用性が確保され、データ保護が保証されます。AWS S3の整合性に相 当します。

(13)

S3の整合性が必要ないかぎり、整合性レベルをAvailableに設定してください。そうし ないと、使用できないストレージ ノードがある場合に「500 Internal Server Error」が大 量に発生する可能性があります。 • available(HEAD処理については結果整合性を提供):default整合性レベルと動作は同じ ですが、HEAD処理については結果整合性のみ提供されます。ストレージ ノードを使用 できない場合に、HEAD処理に対してDefaultよりも高い可用性が提供されます。AWS S3 の整合性と異なるのはHEAD処理のみです。 • weak:結果整合性と高可用性が提供され、最低限のデータ保護が保証されます(特に、 ストレージ ノードが障害または使用不可の状態に陥った場合)。高可用性を必要とし、 リードアフターライト整合性は必要とせず、ノードに障害が発生した場合のデータ損失 を許容できる、書き込み負荷の高いワークロードにのみ適しています。 バケットの処理の動作は次のようになります。 • 整合性制御は、バケット内のオブジェクトにのみ適用されます。バケットで整合性制御 を設定してもバケット自体には影響せず、バケット内のオブジェクトで実行されるS3処 理に対して整合性制御が設定されます。 注:一般には、「default」整合性制御値を使用する必要があります。要求が正しく機能 しない場合は、アプリケーション クライアントの動作を変更します(可能な場合)。あ るいは、API要求ごとに整合性制御を指定するようにクライアントを設定します。バ ケット レベルの整合性制御は最後の手段と考えてください。 • S3 HEAD処理のデフォルトの動作では、低い整合性から処理が試行されます。HEADの 最初の試行で「Not Found」が返されると、整合性を上げながら処理が繰り返し再試行さ れ、それでも見つからない場合は整合性制御「all」が使用されます。存在しないキーに HEAD処理を使用すると、再試行が最終的に「all」整合性制御まで「バブルアップ」し ます(すべてのノードがオンラインである必要があります)。この場合、使用できないス トレージ ノードがあると「500 Internal Server Error」が大量に発生する可能性がありま す。このエラーを回避するには、整合性制御を「available」に変更します。これにより、 HEAD処理の整合性動作の「バブルアップ」は停止しますが、新たに作成したオブジェク ト メタデータに対してリードアフターライト整合性が保証されなくなります。 • 整合性動作の「バブルアップ」は、GET処理にも適用されます。一方、PUT処理とDELETE 処理はこのパターンに従わず、指定された整合性制御で処理の成功か失敗かが判定され ます。

注:PUT Object処理とGET Object処理には、同じStorageGRID Webscale Consistency-Controlヘッダーを使用する必要があります。たとえば、「weak」を使用して書き込んだ

オブジェクトを「strong-global」を使用して再度読み取った場合、すべてのサイトにおけ る強い整合性は保証されません。

関連情報

StorageGRID Webscaleの管理

StorageGRID Webscale

ILM

ルールによるオブジェクトの管

Information Lifecycle Management(ILM;情報ライフサイクル管理)ルールを作成して、S3 REST APIクライアント アプリケーションからStorageGRID Webscaleシステムに取り込まれ

(14)

格納場所、保管期間を定義します。 ILMの設定により、オブジェクトの次の内容が決まります。 格納場所 StorageGRID Webscaleシステム内のオブジェクトのデータの場所 ストレージの種類 オブジェクト データの格納に使用されるストレージのタイプ(ディスクまたは アーカイブ メディア) 損失に対する保護 コピーの作成方法(レプリケーション、イレイジャー コーディング、またはその 両方) 保持 オブジェクトのデータの管理方法、格納場所、損失からの保護方法の経過時間に 基づく変更方法 オブジェクトをフィルタして選択するようにILMルールを設定することができます。S3を 使用して取り込まれたオブジェクトは、次のメタデータに基づいてフィルタできます。 • Tenant Account • Bucket Name • Ingest Time • Key

• Last Access Time

注:デフォルトでは、すべてのS3バケットで最終アクセス時間の更新が無効になりま す。StorageGRID WebscaleシステムにLast Access Timeオプションを使用するILMルー ルが含まれている場合は、そのルールで指定されるS3バケットで最終アクセス時間の 更新を有効にする必要があります。最終アクセス時間の更新を有効にするには、PUT Bucket last access time要求、テナント管理インターフェイスの[S3] > [Buckets] >

[Configure Last Access Time]チェック ボックス、またはテナント管理APIを使用しま

す。最終アクセス時間の更新を有効にする場合は、特に小さなオブジェクトを使用す るシステムでStorageGRID Webscaleのパフォーマンスが低下する場合があるので注意 してください。詳細については、『テナント管理者ガイド』を参照してください。 • Location Constraint • Object Size • User Metadata • Object Tag ILMルールの詳細については、『管理者ガイド』を参照してください。 関連情報 テナント アカウントの管理 StorageGRID Webscaleの管理

(15)

オブジェクトのバージョン管理

バージョン管理の機能を使用してオブジェクトの複数のバージョンを保持することで、オブ ジェクトが偶発的に削除される事態に対応したり、以前のバージョンのオブジェクトを読み 出してリストアしたりできます。 StorageGRID Webscaleシステムでは、バージョン管理のほとんどの機能をサポートしていま すが、いくつかの制限事項があります。

StorageGRID Webscaleのオブジェクトのバージョン管理は、Information Lifecycle Management (ILM;情報ライフサイクル管理)と連携できます。AmazonのObject Lifecycle Managementはサ ポートされていません。バケットでバージョン管理機能を使用するには、それぞれのバケッ トに対して明示的に有効にする必要があります。バケット内の各オブジェクトには、 StorageGRID Webscaleシステムによって生成されるバージョンIDが割り当てられます。 Multi-Factor Authentication(MFA;多要素認証)はサポートされていません。

注:バージョン管理は、StorageGRID Webscaleバージョン10.3以降で作成されたバケットで のみ有効にすることができます。 ILMとバージョン管理 オブジェクトの各バージョンにはILMポリシーが適用されます。ILMのスキャン処理では、 すべてのオブジェクトが継続的にスキャンされ、現在のILMポリシーに照らして再評価され ます。ILMポリシーに対する変更は、それまでに取り込まれたすべてのオブジェクトに適用 されます。バージョン管理が有効になっている場合は、それまでに取り込まれたバージョン も対象になります。ILMのスキャン処理により、過去に取り込まれたオブジェクトに変更後 の新しいILMの内容が適用されます。 バージョン管理が有効なバケット内のS3オブジェクトに対しては、参照時間をnoncurrentに 指定したILMルールを作成できます。それらのオブジェクトの既存バージョンは、そのオブ ジェクトが更新された時点でnoncurrentになります。noncurrentの時間フィルタを使用するこ とで、旧バージョンのオブジェクトによるストレージへの影響を軽減するポリシーを作成で きます。

(16)

S3 REST API

のサポートされる処理と制限事項

StorageGRID Webscaleシステムでは、『Simple Storage Service API Reference』(API Version 2006-03-01)のほとんどの処理をサポートしていますが、いくつかの制限事項があります。 S3 REST APIクライアント アプリケーションを統合するときは、実装の詳細を理解しておく 必要があります。 StorageGRID Webscaleシステムでは、仮想ホスト形式の要求とパス形式の要求の両方をサ ポートしています。 関連情報

Amazon Web Services(AWS)ドキュメント:「Amazon Simple Storage Service API Reference

エラー応答

StorageGRID Webscaleシステムでは、該当するS3 REST APIの標準のエラー応答をすべてサ ポートしています。また、StorageGRID Webscaleの実装によって、カスタムの

XNotImplemented応答とNoSuchEndpoint応答が追加されます。

サポートされているS3 APIのエラーコード

名前 HTTPステータス

AccessDenied 403 Forbidden BadDigest 400 Bad Request BucketAlreadyExists 409 Conflict BucketNotEmpty 409 Conflict IncompleteBody 400 Bad Request InternalError 500 Internal Server Error InvalidAccessKeyId 403 Forbidden

InvalidBucketName 400 Bad Request InvalidDigest 400 Bad Request InvalidEncryptionAlgorithmError 400 Bad Request InvalidPart 400 Bad Request InvalidPartOrder 400 Bad Request

InvalidRange 416 Requested Range Not Satisfiable InvalidRequest 400 Bad Request

InvalidStorageClass 400 Bad Request InvalidTag 400 Bad Request InvalidURI 400 Bad Request KeyTooLong 400 Bad Request MalformedXML 400 Bad Request

(17)

MetadataTooLarge 400 Bad Request

MethodNotAllowed 405 Method Not Allowed MissingContentLength 411 Length Required MissingRequestBodyError 400 Bad Request MissingSecurityHeader 400 Bad Request NoSuchBucket 404 Not Found NoSuchKey 404 Not Found NoSuchUpload 404 Not Found NotImplemented 501 Not Implemented NoSuchBucketPolicy 404 Not Found

PreconditionFailed 412 Precondition Failed RequestTimeTooSkewed 403 Forbidden

ServiceUnavailable 503 Service Unavailable SignatureDoesNotMatch 403 Forbidden

TooManyBuckets 400 Bad Request UserKeyMustBeSpecified 400 Bad Request StorageGRID Webscale固有のエラーコード エラー コード 説明 HTTPステータス コード NoSuchEndpoint バケット レプリケーションま たはバケット メタデータ通知 を設定するために使用しよう としているエンドポイントが 存在しません。 404 Not Found XNotImplemented 指定された要求の処理に必要 な機能が実装されていません。 501 Not Implemented

日付の処理

StorageGRID WebscaleのS3 REST APIの実装では、有効なHTTPの日付形式のみをサポートし ています。

StorageGRID Webscaleシステムでは、日付の値を設定できるすべてのヘッダーで、有効な HTTPの日付形式のみがサポートされます。日付の時刻の部分は、Greenwich Mean Time (GMT;グリニッジ標準時)の形式で指定するか、タイム ゾーンのオフセットなし(+0000を

指定)のUniversal Coordinated Time(UTC;協定世界時)の形式で指定できます。要求に x-amz-dateヘッダーを含めた場合、Date要求ヘッダーで指定された値よりも優先されます。

AWS署名バージョン4を使用する場合は、dateヘッダーはサポートされないため、署名済み 要求にx-amz-dateヘッダーを含める必要があります。

(18)

共通の要求ヘッダー

StorageGRID Webscaleシステムでは、いくつかの例外を除き、Simple Storage Service API Referenceで定義されている共通の要求ヘッダーがサポートされます。 サポート対象外の要求ヘッダーは次のとおりです。 要求ヘッダー 実装 Authorization AWS署名バージョン2が完全にサポートされます。 AWS署名バージョン4が次の例外を除いてサポートされ ます。 • 要求の本文のSHA256の値は計算されません。ユーザ が送信した値が検証なしで受け入れられます。 x-amz-copy-source-server-side-encryption-customer-key 実装されていません。 x-amz-copy-source-server-side-encryption-customer-key-MD5 実装されていません。 x-amz-security-token 実装されていません。XNotImplementedが返されます。 x-amz-server-side-encryption-customer-algorithm 実装されていません。

共通の応答ヘッダー

StorageGRID Webscaleシステムでは共通の応答ヘッダーがサポートされますが、いくつか例 外があります。

StorageGRID Webscaleシステムでは、次の例外を除き、『Simple Storage Service API Reference』 で定義されている共通の応答ヘッダーがすべてサポートされます。

応答ヘッダー 実装

x-amz-id-2 使用されません。 x-amz-expiration 使用されません。

要求の認証

StorageGRID Webscaleシステムでは、S3 APIを使用したオブジェクトへのアクセスについて、 認証アクセスと匿名アクセスの両方をサポートしています。

S3 APIでは、S3 API要求の認証で署名バージョン2と署名バージョン4がサポートされます。 認証された要求は、アクセス キーIDとシークレット アクセス キーで署名する必要がありま す。

StorageGRID Webscaleシステムでは、HTTP Authorizationヘッダーとクエリ パラメータの

(19)

S3 APIでは、バケット ポリシーで許可された匿名の要求を除き、すべての処理で HTTPAuthorizationヘッダーを使用します。要求の認証に必要なすべての署名情報が Authorizationヘッダーに格納されます。 クエリパラメータの使用 クエリ パラメータを使用すると、URLに認証情報を含めることができます。これは署名付 きURLと呼ばれ、特定のリソースへの一時的なアクセスを許可する場合に使用できます。署 名付きURLを使用すると、シークレット アクセス キーを知らないユーザでもリソースにア クセスできるため、他のユーザに制限付きアクセスを提供することができます。

サービスの処理

StorageGRID Webscaleシステムでサポートされるサービスの処理を次に示します。 処理 実装

GET Service Amazon S3 REST APIのすべての動作が実装されていま す。

GET Storage Usage GET Storage Usage要求を使用すると、アカウントで使用し ているストレージの総容量とアカウントに関連付けられ ているバケットごとの使用容量を確認できます。この処 理では、パス/とカスタム クエリ パラメータ(?x-ntap-sg-usage)を追加してサービスを操作します。 OPTIONS / クライアント アプリケーションからストレージ ノードの S3ポートに要求を発行(S3認証クレデンシャルは不要) して、LDRサービスが使用可能かどうかを確認できます。

バケットの処理

StorageGRID Webscaleシステムでは、S3テナント アカウントあたり最大1000個のバケットが サポートされます。 バケット名については、AWS US Standardリージョンの制限が適用されますが、S3仮想ホス ト形式の要求をサポートするためにDNSの命名規則にも従う必要があります。

GET Bucket (List Objects)処理とGET Bucket versions処理では、StorageGRID Webscaleの整合性 制御がサポートされます。Consistency-Controlヘッダーの使用については、StorageGRID

WebscaleでのS3 REST APIの実装(12ページ)を参照してください。

最終アクセス時間の更新が個々のバケットで有効になっているか無効になっているかを確 認することができます。詳細については、GET Bucket last access time要求(42ページ)を 参照してください。

他のバケットの処理については、「バケットのカスタム処理」を参照してください。 次の表に、StorageGRID Webscaleシステムで実装されているバケットの処理とその実装方法 を示します。

処理 実装

DELETE Bucket Amazon S3 REST APIのすべての動作が実装されていま す。

(20)

DELETE Bucket policy アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けられているポリシーを削除できま す。StorageGRID Webscaleシステムでサポートされてい るポリシー言語については、バケットとグループのアクセ ス ポリシー(54ページ)を参照してください。

DELETE Bucket replication アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けられているレプリケーション設定 を削除できます。

GET Bucket (List Objects) アカウントに必要なアクセス クレデンシャルがある場 合、バケット内の一部またはすべて(最大1,000)のオブ ジェクトが返されます。 オブジェクトのストレージ クラスは、 REDUCED_REDUNDANCYストレージ クラスを指定して オブジェクトを取り込んだ場合でも、常にSTANDARDと 表示されます。オブジェクトをStorageGRID Webscaleシ ステムに取り込む際にREDUCED_REDUNDANCYスト レージ クラスを指定した場合、シングルコミットの取り 込み処理が使用されます。これによってStorageGRID Webscaleシステムに格納されるオブジェクトの冗長性が 低下するわけではありません。 注意:REDUCED_REDUNDANCYを使用してオブジェク トを取り込むときは、オブジェクト データのコピーが 最初に1つしか作成されないことに注意してください。 単一のコピーが作成されたストレージ ノードで障害が 発生した場合、ILMをまだ満たしていないと、データが 失われて回復できなくなります。 多数のキーをトラバースする要求では、特別な処理が必要 になります。そのような要求からは、タイムアウトを回避 するために、切り捨てられた応答や空の応答が返されるこ とがあります。 完全な結果を取得するには、結果が切り捨てられたときの 通常の方法と同様に、markerパラメータを更新しながら 繰り返し要求を行う必要があります。NextMarkerが返さ れる場合は常にそのマーカーを使用します。StorageGRID WebscaleのS3 REST APIの実装では、最後に返されたキー よりも良い場合、Amazon S3 REST APIでは返されない状 況でNextMarkerが返されることがあります。

GET Bucket acl アカウントに必要なアクセス クレデンシャルがある場 合、バケットの所有者にバケットに対するフル アクセス があることを示す応答が返され、所有者のID、表示名、 および権限が表示されます。

GET Bucket location アカウントに必要なアクセス クレデンシャルがある場 合、バケットのリージョンが返されます。デフォルトで は、PUT Bucket要求でLocationConstraint要素を使用して リージョンが設定されていないかぎり、us-east-1が返され ます。

GET Bucket Object versions バケットに対するREADアクセスがある場合、versions

サブリソースを使用して、バケット内のオブジェクトのす べてのバージョンのメタデータのリストが表示されます。

(21)

GET Bucket notification アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けられている通知設定が返されま す。

GET Bucket policy アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けられているポリシーが返されま す。StorageGRID Webscaleシステムでサポートされてい るポリシー言語については、バケットとグループのアクセ ス ポリシー(54ページ)を参照してください。

GET Bucket replication アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けられているレプリケーション設定 が返されます。

GET Bucket versioning versioningサブリソースを使用して、バケットのバー

ジョン管理の状態を取得できます。バケットのバージョ ン管理の状態を取得するには、バケットの所有者である必 要があります。バケットがバージョン管理に対応してい ない場合は「Unversioned」、バージョン管理が有効になっ ている場合は「Enabled」、バージョン管理が一時停止中の 場合は「Suspended」が返されます。 HEAD Bucket アカウントに必要なアクセス クレデンシャルがある場 合、バケットが存在し、かつバケットにアクセスする権限 があるかどうかが判別されます。 PUT Bucket アカウントに必要なアクセス クレデンシャルがある場 合、新しいバケットを作成できます。バケットを作成する と、そのバケットの所有者になります。 デフォルトでは、us-east-1リージョンでバケットが作成さ れます。別のリージョンを指定するには、 LocationConstraint要求要素を使用し、StorageGRID Webscaleグリッド管理インターフェイスまたは管理APIを 使用して定義されたリージョンの正確な名前を指定しま す。使用すべきリージョン名がわからない場合は、システ ム管理者にお問い合わせください。 注:StorageGRID Webscaleで定義されていないリージョ ンをPUT Bucket要求で使用すると、エラーが発生しま す。

(22)

PUT Bucket notification アカウントに必要なアクセス クレデンシャルがある場 合、要求の本文に含まれる通知設定XMLを使用してバ ケットの通知が設定されます。 注意:StorageGRID Webscale 11.0には、プラットフォー ム サービスの初期リリースが含まれています。現在、 CloudMirrorレプリケーション、通知、および検索統合 は、特定の状況およびワークロードのみが対象です。こ れらのサービスの初期リリースを使用することを希望 する場合は、ネットアップの担当者にお問い合わせくだ さい。 実装に関する次の詳細事項に注意してください。 • StorageGRID Webscaleでは、Simple Notification Service

(SNS)のトピックがデスティネーションとしてサポー トされます。Simple Queue Service(SQS)エンドポイ ントまたはAmazon Lambdaエンドポイントはサポート されません。 • 通知のデスティネーションは、StorageGRID Webscaleエ ンドポイントのURNとして指定する必要があります。 エンドポイントは、テナント管理インターフェイスま たはテナント管理APIを使用して作成できます。 通知設定が機能するためには、エンドポイントが存在 している必要があります。エンドポイントが存在しな い場合は、400 Bad Requestエラーがコード InvalidArgumentとともに返されます。 • s3:ReducedRedundancyLostObjectイベントの通知 はサポートされません。 • イベント通知メッセージではほとんどのキーに標準値 が使用されますが、次のキーは例外です。 ◦ eventSourceはsgws:s3を返します。 ◦ awsRegion:このキーは返されません。 ◦ x-amz-id-2:このキーは返されません。 ◦ arnはurn:sgws:s3:::bucket_nameを返します。 S3バケットでの通知の実装の詳細については、『テナント 管理者ガイド』を参照してください。

PUT Bucket policy アカウントに必要なアクセス クレデンシャルがある場 合、バケットに関連付けるポリシーを設定できます。 StorageGRID Webscaleシステムでサポートされているポ リシー言語については、バケットとグループのアクセス ポリシー(54ページ)を参照してください。

(23)

PUT Bucket replication アカウントに必要なアクセス クレデンシャルがある場 合、要求の本文に含まれるレプリケーション設定XMLを 使用してバケットのStorageGRID Webscale CloudMirrorレ プリケーションが設定されます。 注意:StorageGRID Webscale 11.0には、プラットフォー ム サービスの初期リリースが含まれています。現在、 CloudMirrorレプリケーション、通知、および検索統合 は、特定の状況およびワークロードのみが対象です。こ れらのサービスの初期リリースを使用することを希望 する場合は、ネットアップの担当者にお問い合わせくだ さい。 CloudMirrorレプリケーションについては、実装に関する 次の詳細事項に注意してください。 • バケット レプリケーションは、バージョン管理されて いるバケットでもバージョン管理されていないバケッ トでも設定できます。 • レプリケーション設定XMLの各ルールで異なるデス ティネーション バケットを指定できます。1つのソー ス バケットを複数のデスティネーション バケットに レプリケートできます。 • デスティネーション バケットは、テナント管理イン ターフェイスまたはテナント管理APIで指定された StorageGRID WebscaleエンドポイントのURNとして指 定する必要があります。 レプリケーション設定が機能するためには、エンドポ イントが存在している必要があります。エンドポイン トが存在しない場合は、404 Not Foundメッセージが コードNoSuchEndpointとともに返されます。 • 設定XMLでRoleまたはStorageClassを指定する必要 はありません。これらの値はStorageGRID Webscaleで は使用されず、送信しても無視されます。StorageGRID Webscaleでは、レプリケート オブジェクトをデスティ ネーション バケットに格納できるようにするための ロールを定義する必要はなく、デフォルトでSTANDARD ストレージ クラスが使用されます。 バケット レプリケーションを使用したStorageGRID Webscale CloudMirrorレプリケーションの実装の詳細につ いては、『テナント管理者ガイド』を参照してください。

(24)

PUT Bucket versioning versioningサブリソースを使用して、既存のバケットの バージョン管理の状態を設定できます。バージョン管理 の状態を設定するには、バケットの所有者である必要があ ります。バージョン管理の状態は、次のいずれかの値に設 定できます。 • Enabled:バケット内のオブジェクトに対してバージョ ン管理を有効にします。バケットに追加されるすべて のオブジェクトに、一意のバージョンIDが割り当てら れます。 • Suspended:バケット内のオブジェクトに対してバー ジョン管理を無効にします。バケットに追加されるす べてのオブジェクトに、バージョンID nullが割り当て られます。 関連情報 テナント アカウントの管理

バケットのカスタム処理

StorageGRID Webscaleシステムでは、S3 REST APIに追加されたシステム固有のカスタム処理 をサポートしています。

次の表に、StorageGRID Webscaleシステムで実装されているバケットのカスタム処理とその 実装方法を示します。

処理 実装

GET Bucket consistency要求 アカウントに必要なアクセス クレデンシャルがある場 合、特定のバケットに適用されている整合性レベルが返さ れます。

詳細については、GET Bucket consistency要求(38ペー ジ)を参照してください。

PUT Bucket consistency要求 アカウントに必要なアクセス クレデンシャルがある場 合、特定のバケットに適用する整合性レベルを設定できま す。

詳細については、PUT Bucket consistency要求(39ペー ジ)を参照してください。

GET Bucket last access time要

求 アカウントに必要なアクセス クレデンシャルがある場合、最終アクセス時間の更新が特定のバケットで有効に なっているか無効になっているかが返されます。

詳細については、GET Bucket last access time要求(42ペー ジ)を参照してください。

PUT Bucket last access time要

求 アカウントに必要なアクセス クレデンシャルがある場合、最終アクセス時間の更新を特定のバケットで有効また は無効にできます。最終アクセス時間は、バージョン 10.3.0以降で作成されたバケットに対しては、デフォルト ではいずれも無効になります。

詳細については、PUT Bucket last access time要求(43ペー ジ)を参照してください。

(25)

DELETE Bucket metadata notification configuration

アカウントに必要なアクセス クレデンシャルがある場 合、特定のバケットに関連付けられているメタデータ通知 設定XMLが削除されます。

詳細については、DELETE Bucket metadata notification configuration要求(44ページ)を参照してください。 GET Bucket metadata

notification configuration

アカウントに必要なアクセス クレデンシャルがある場 合、特定のバケットに関連付けられているメタデータ通知 設定XMLが返されます。

詳細については、GET Bucket metadata notification configuration要求(44ページ)を参照してください。 PUT Bucket metadata

notification configuration アカウントに必要なアクセス クレデンシャルがある場 合、要求の本文に含まれる設定XMLを使用して、バケッ トでメタデータ通知サービスが設定されます。 検索統合サービスの実装の詳細については、『テナント管 理者ガイド』を参照してください。

PUT metadata notification configuration APIの詳細について は、PUT Bucket metadata notification configuration要求(48 ページ)を参照してください。

関連情報

テナント アカウントの管理

オブジェクトの処理

Swiftを使用してStorageGRID Webscaleシステムに取り込まれたデータ オブジェクトにS3を 使用してアクセスすることはできません。

オブジェクトの処理では、GET Object ACLとOPTIONS /を除くすべての処理でStorageGRID Webscaleの整合性制御がサポートされます。Consistency-Controlヘッダーの使用につい

ては、StorageGRID WebscaleでのS3 REST APIの実装(12ページ)を参照してください。 競合するクライアント要求(2つのクライアントが同じキーに書き込む場合など)は、 「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイ ミングではなく、StorageGRID Webscaleシステムが特定の要求を完了したタイミングで行わ れます。 StorageGRID Webscaleバケット内のオブジェクトは、匿名ユーザまたは別のアカウントが作 成したオブジェクトも含めて、すべてバケット所有者によって所有されます。 StorageGRID Webscaleシステムでサポートされるオブジェクトの処理を次に示します。

(26)

DELETE Object Multi-Factor Authentication(MFA;多要素認証)と応答ヘッダー x-amz-mfaはサポートされていません。 バージョン管理 特定のバージョンを削除するには、バケットの所有者が versionIdサブリソースを使用して要求を行う必要があります。 このサブリソースを使用すると、バージョンが完全に削除されま す。versionIdが削除マーカーに対応している場合は、応答ヘッ ダーx-amz-delete-markerがtrueに設定されて返されます。 • バージョン管理が有効になっているバケットでversionIdサ ブリソースを指定せずにオブジェクトを削除すると、削除 マーカーが生成されます。削除マーカーのversionIdが x-amz-version-id応答ヘッダーを使用して返され、 x-amz-delete-marker応答ヘッダーがtrueに設定されて返されま す。 • バージョン管理が一時停止中のバケットでversionIdサブリ ソースを指定せずにオブジェクトを削除すると、既存の 「null」バージョンまたは「null」削除マーカーが完全に削除さ れ、新しい「null」削除マーカーが生成されます。 x-amz-delete-marker応答ヘッダーがtrueに設定されて返されま す。 DELETE Multiple Objects

Multi-Factor Authentication(MFA;多要素認証)と応答ヘッダー x-amz-mfaはサポートされていません。

1つの要求メッセージで複数のオブジェクトを削除できます。 注:DELETE Multiple Objects要求は、バージョン管理が有効に なっているバケットではサポートされません。

PUT Object処理とは異なり、DELETE Multiple Objects処理では、 Transfer-Encoding:chunked属性とContent-Encoding:gzip属性はサ ポートされません。

DELETE Object tagging taggingサブリソースを使用して、オブジェクトからすべてのタ

グが削除されます。Amazon S3 REST APIのすべての動作が実装 されています。 バージョン管理 要求にversionIdクエリ パラメータが指定されていない場合 は、バージョン管理されたバケット内のオブジェクトの最新バー ジョンからすべてのタグが削除されます。オブジェクトの最新 バージョンが削除マーカーの場合は、「MethodNotAllowed」ステー タスが返され、x-amz-delete-marker応答ヘッダーがtrueに設 定されます。

(27)

GET Object 次の要求ヘッダーはサポートされていません。指定した場合は XNotImplementedが返されます。 • x-amz-restore • x-amz-website-redirect-location バージョン管理 versionIdサブリソースが指定されていない場合、バージョン管 理が有効になっているバケットでは、オブジェクトの最新バー ジョンが取得されます。オブジェクトの最新バージョンが削除 マーカーの場合は、「Not Found」ステータスが返され、 x-amz-delete-marker応答ヘッダーがtrueに設定されます。

GET Object ACL アカウントに必要なアクセス クレデンシャルがある場合、オブ ジェクトの所有者にオブジェクトに対するフル アクセスがある ことを示す応答が返され、所有者のID、表示名、および権限が表 示されます。

GET Object tagging taggingサブリソースを使用して、オブジェクトのすべてのタグ

が返されます。Amazon S3 REST APIのすべての動作が実装され ています。 バージョン管理 要求にversionIdクエリ パラメータが指定されていない場合 は、バージョン管理されたバケット内のオブジェクトの最新バー ジョンからすべてのタグが返されます。オブジェクトの最新 バージョンが削除マーカーの場合は、「MethodNotAllowed」ステー タスが返され、x-amz-delete-marker応答ヘッダーがtrueに設 定されます。 HEAD Object 次の要求ヘッダーはサポートされていません。指定した場合は XNotImplementedが返されます。 • x-amz-restore • x-amz-website-redirect-location バージョン管理 versionIdサブリソースが指定されていない場合、バージョン管 理が有効になっているバケットでは、オブジェクトの最新バー ジョンが取得されます。オブジェクトの最新バージョンが削除 マーカーの場合は、「Not Found」ステータスが返され、 x-amz-delete-marker応答ヘッダーがtrueに設定されます。

(28)

PUT Object 競合の解決 競合するクライアント要求(2つのクライアントが同じキーに書 き込む場合など)は、 「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイミングでは なく、StorageGRID Webscaleシステムが特定の要求を完了したタ イミングで行われます。 オブジェクトのサイズ StorageGRID Webscaleは、サイズが最大5TBのオブジェクトをサ ポートします。 オブジェクトの所有権 StorageGRID Webscaleでは、非所有者アカウントまたは匿名ユー ザによって作成されたオブジェクトを含むすべてのオブジェク トが、バケット所有者アカウントによって所有されます。 ストレージ クラスのオプション x-amz-storage-class要求ヘッダーがサポートされています。 指定できる値は次のとおりです。 • STANDARD:(デフォルト)デュアルコミットの取り込み処理 を指定します。 • REDUCED_REDUNDANCY:シングルコミットの取り込み処理を 指定します。 注:REDUCED_REDUNDANCYストレージ クラスは、ILMポリシー などの他の効率的な方法でデータがレプリケートされている 場合に冗長なストレージを制限するためのオプションです。 REDUCED_REDUNDANCY値を指定しても、指定されているILMポ リシーに影響はなく、StorageGRID Webscaleシステムに格納さ れるデータの冗長性が低下するわけではありません。 注意:REDUCED_REDUNDANCYを使用してオブジェクトを取 り込むときは、オブジェクト データのコピーが最初に1つしか 作成されないことに注意してください。単一のコピーが作成 されたストレージ ノードで障害が発生した場合、ILMをまだ満 たしていないと、データが失われて回復できなくなります。

(29)

PUT Object(続き) 要求ヘッダー 次の要求ヘッダーがサポートされています。 • x-amz-tagging • x-amz-server-side-encryption • x-amz-meta-ユーザ定義のメタデータの名前と値のペア オブジェクトの作成時間を記録するには、ILMルールの参照 時間で[User Defined Creation Time]オプションを使用できるよ うに、x-amz-meta-creation-timeという名前のユーザ定義 のヘッダーに値を格納する必要があります。たとえば、「 x-amz-meta-creation-time=1443399726」などです。この フィールドの値は、1970年1月1日からの秒数となります。詳 細については、『管理者ガイド』の「参照時間」を参照してく ださい。 次の要求ヘッダーは、次の値を指定した場合のみサポートされま す。 • Transfer-Encoding:chunked • Content-Encoding:aws-chunked 注:Content-Encodingでその他の値を送信すると、予期しな い結果が生じたり、認識不能なコーディング方式やMD5の検 証の失敗によるエラーが発生したりする可能性があります。 次の要求ヘッダーはサポートされていません。 • Expires • x-amz-acl 次の要求ヘッダーはサポートされていません。指定した場合は XNotImplementedが返されます。 • x-amz-server-side-encryption-customer-algorithm • x-amz-server-side-encryption-customer-key • x-amz-server-side-encryption-customer-key-MD5 • x-amz-website-redirect-location バージョン管理 バケットでバージョン管理が有効になっている場合、格納される オブジェクトのバージョンごとに一意のversionIdが自動的に 生成されます。このversionIdは、x-amz-version-id応答ヘッ ダーを使用した応答でも返されます。 バージョン管理が一時停止中の場合は、versionIdがnullの状態 でオブジェクトのバージョンが格納され、nullのバージョンがす でに存在する場合は上書きされます。 バージョン管理の詳細については、バケットの処理(19ページ) の「PUT Bucket versioning」および「GET Bucket versioning」を参 照してください。

(30)

PUT Object - Copy 競合の解決 競合するクライアント要求(2つのクライアントが同じキーに書 き込む場合など)は、 「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイミングでは なく、StorageGRID Webscaleシステムが特定の要求を完了したタ イミングで行われます。 要求ヘッダー 次の要求ヘッダーがサポートされています。 • x-amz-meta-ユーザ定義のメタデータの名前と値のペア オブジェクトの作成時間を記録するには、ILMルールの参照 時間で[User Defined Creation Time]オプションを使用できるよ うに、x-amz-meta-creation-timeという名前のユーザ定義 のヘッダーに値を格納する必要があります。たとえば、「 x-amz-meta-creation-time=1443399726」などです。この フィールドの値は、1970年1月1日からの秒数となります。詳 細については、『管理者ガイド』の「参照時間」を参照してく ださい。 • x-amz-metadata-directive:デフォルト値はCOPYで、オブ ジェクトおよび関連するメタデータをコピーできます。 REPLACEを指定すると、オブジェクトのコピー時に既存のメ タデータを上書きしたり、オブジェクトのメタデータを更新 したりできます。 • x-amz-copy-source • x-amz-copy-source-if-match • x-amz-copy-source-if-none-match • x-amz-copy-source-if-unmodified-since • x-amz-copy-source-if-modified-since • x-amz-server-side-encryption • x-amz-storage-class • x-amz-tagging-directive:デフォルト値はCOPYで、オブ ジェクトとすべてのタグをコピーできます。 REPLACEを指定すると、オブジェクトのコピー時に既存のタ グを上書きしたり、タグを更新したりできます。

(31)

PUT Object - Copy(続 き) 次の要求ヘッダーはサポートされていません。指定した場合はXNotImplementedが返されます。 • x-amz-server-side-encryption-customer-algorithm • x-amz-server-side-encryption-customer-key • x-amz-server-side-encryption-customer-key-MD5 • x-amz-website-redirect-location x-amz-copy-sourceヘッダーで指定されたソースのバケットお よびキーがデスティネーションのバケットおよびキーと異なる 場合、ソースのオブジェクト データのコピーがデスティネー ションに書き込まれます。ソースとデスティネーションが同じ 場合は、x-amz-metadata-directiveヘッダーでREPLACEが指定 されていれば、オブジェクトのメタデータが要求で指定されたメ タデータの値に更新されます。 注:オブジェクトのserver-side-encryptionの値は更新でき ません。代わりに、コピーを作成し、 x-amz-metadata-directive: REPLACEを使用してserver-side-encryptionの新しい

値を設定してください。 バージョン管理 ソースのバケットでバージョン管理が有効になっている場合、 x-amz-copy-sourceヘッダーを使用してオブジェクトの最新バー ジョンをコピーできます。オブジェクトの特定のバージョンを コピーするには、コピーするバージョンをversionIdサブリソー スを使用して明示的に指定する必要があります。デスティネー ションのバケットでバージョン管理が有効になっている場合は、 生成されたバージョンがx-amz-version-id応答ヘッダーで返 されます。ターゲットのバケットでバージョン管理が一時停止 中の場合は、x-amz-version-idの値として「null」が返されま す。

PUT Object tagging taggingサブリソースを使用して、既存のオブジェクトに一連の

タグが追加されます。Amazon S3 REST APIのすべての動作が実 装されています。 競合の解決 競合するクライアント要求(2つのクライアントが同じキーに書 き込む場合など)は、 「latest-wins」ベースで解決されます。「latest-wins」評価は、S3クライアントが処理を開始するタイミングでは なく、StorageGRID Webscaleシステムが特定の要求を完了したタ イミングで行われます。 バージョン管理 要求にversionIdクエリ パラメータが指定されていない場合 は、バージョン管理されたバケット内のオブジェクトの最新バー ジョンにタグが追加されます。オブジェクトの最新バージョン が削除マーカーの場合は、「MethodNotAllowed」ステータスが返 され、x-amz-delete-marker応答ヘッダーがtrueに設定されま す。

(32)

マルチパート

アップロードの処理

注:1つのバケットに対して同時に実行するマルチパート アップロードが1,000件を超えな いようにしてください。1,000件を超えると、そのバケットに対するList Multipart Uploads のクエリで完全な結果が返されないことがあります。

注:マルチパートの最後のパート以外の各パートのサイズは5MB~5GBでなければなりま せん。最後のパートは5MB未満でもかまいません。これはクライアント側の制限であり、 StorageGRID Webscaleでは強制されません。

マルチパート アップロードでは、すべての処理でStorageGRID Webscaleの整合性制御がサ ポートされます。Consistency-Controlヘッダーの使用については、StorageGRID Webscale でのS3 REST APIの実装(12ページ)を参照してください。

処理 実装

List Multipart Uploads 次の要求ヘッダーがサポートされています。 • encoding-type • max-uploads • key-marker • prefix • upload-id-marker delimiter要求パラメータはサポートされていません。 バージョン管理 マルチパート アップロードは、アップロードの開始、アッ プロードのリストの表示、パートのアップロード、アップ ロードしたパートの整理、およびアップロードの完了の個 別の処理に分けられます。オブジェクトの作成とバー ジョンの管理(該当する場合)は、Complete Multipart Upload処理が実行された時点で行われます。

Initiate Multipart Upload x-amz-storage-class要求ヘッダーがサポートされてい

ます。指定できる値は次のとおりです。 • STANDARD デフォルト。デュアルコミットの取り込み処理を指定 します。 • REDUCED_REDUNDANCY シングルコミットの取り込み処理を指定します。 注:REDUCED_REDUNDANCYストレージ クラスは、ILMポ リシーなどの他の効率的な方法でデータがレプリケー トされている場合に冗長なストレージを制限するため のオプションです。REDUCED_REDUNDANCY値を指定し ても、指定されているILMポリシーに影響はなく、 StorageGRID Webscaleシステムに格納されるデータの 冗長性が低下するわけではありません。

(33)

Initiate Multipart Upload(続き) 注意:REDUCED_REDUNDANCYを使用してオブジェク トを取り込むときは、オブジェクト データのコピーが 最初に1つしか作成されないことに注意してください。 単一のコピーが作成されたストレージ ノードで障害が 発生した場合、ILMをまだ満たしていないと、データが 失われて回復できなくなります。 次の要求ヘッダーがサポートされています。 • Content-Type • x-amz-meta-ユーザ定義のメタデータの名前と値のペ ア オブジェクトの作成時間を記録するには、ILMルールの参 照時間で[User Defined Creation Time]オプションを使用で きるように、x-amz-meta-creation-timeという名前の ユーザ定義のヘッダーに値を格納する必要があります。 たとえば、「x-amz-meta-creation-time=1443399726」 などです。このフィールドの値は、1970年1月1日からの秒 数となります。詳細については、『管理者ガイド』の「参 照時間」を参照してください。 x-amz-server-side-encryptionヘッダーは、Initiate Multipart Upload要求では直接はサポートされません。マ ルチパート アップロードでサーバ側の暗号化が必要な場 合は、それぞれのUpload Partで x-amz-server-side-encryptionヘッダーを指定する必要があります。この

ヘッダーをInitiate Multipart Uploadで指定した場合、要求 は失敗します。 次の要求ヘッダーはサポートされていません。指定した 場合はXNotImplementedが返されます。 • x-amz-website-redirect-location • x-amz-server-side-encryption-customer-key バージョン管理 マルチパート アップロードは、アップロードの開始、アッ プロードのリストの表示、パートのアップロード、アップ ロードしたパートの整理、およびアップロードの完了の個 別の処理に分けられます。オブジェクトの作成とバー ジョンの管理(該当する場合)は、Complete Multipart Upload処理が実行された時点で行われます。

表  2 :  オブジェクトに適用される権限

参照

関連したドキュメント

テストが成功しなかった場合、ダイアログボックスが表示され、 Alienware Command Center の推奨設定を確認するように求め

事前調査を行う者の要件の新設 ■

タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

サンプル 入力列 A、B、C、D のいずれかに指定した値「東京」が含まれている場合、「含む判定」フラグに True を

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

c 契約受電設備を減少される場合等で,1年を通じての最大需要電

c 契約受電設備を減少される場合等で,1年を通じての最大需要電