テナントアカウントと接続を設定する
クライアントアプリケーションからの接続を受け入れるように StorageGRID を設定するには、テナントアカウントを 1 つ以上作成し、接続を設定する必要があります。
S3テナントアカウントを作成および設定する
S3 API クライアントが StorageGRID でオブジェクトの格納や読み出しを行うには、 S3 テナントアカウントが必要です。各テナントアカウントには、専用のアカウント ID 、専用のグループとユーザ、および専用のコンテナとオブジェクトがあります。
S3 テナントアカウントは、 StorageGRID のグリッド管理者がグリッドマネージャまたはグリッド管理 API を使用して作成します。グリッド管理者は、 S3 テナントアカウントを作成する際に次の情報を指定します。
-
テナントの表示名(テナントのアカウント ID は自動的に割り当てられ、変更できません)。
-
テナントアカウントにプラットフォームサービスの使用を許可するかどうか。プラットフォームサービスの使用が許可されている場合は、グリッドがその使用をサポートするように設定されている必要があります。
-
必要に応じて、テナントアカウントのストレージクォータ — テナントのオブジェクトで使用可能な最大ギガバイト数、テラバイト数、ペタバイト数。テナントのストレージクォータは、物理容量(ディスクのサイズ)ではなく、論理容量(オブジェクトのサイズ)を表します。
-
StorageGRID システムでアイデンティティフェデレーションが有効になっている場合は、テナントアカウントを設定するための Root Access 権限が割り当てられているフェデレーテッドグループ。
-
StorageGRID システムでシングルサインオン( SSO )が使用されていない場合は、テナントアカウントが独自のアイデンティティソースを使用するか、グリッドのアイデンティティソースを共有するか、およびテナントのローカル root ユーザの初期パスワード。
S3 テナントアカウントが作成されたら、テナントユーザは Tenant Manager にアクセスして次のようなタスクを実行できます。
-
アイデンティティフェデレーションを設定し(グリッドとアイデンティティソースを共有する場合を除く)、ローカルグループとユーザを作成します
-
S3 アクセスキーを管理します
-
S3 オブジェクトロックが有効になっているバケットを含む S3 バケットを作成して管理します
-
プラットフォームサービスを使用する(有効な場合)
-
ストレージの使用状況を監視
S3 テナントユーザは、 Tenant Manager を使用して S3 バケットを作成および管理できますが、オブジェクトを取り込んで管理するには、 S3 アクセスキーを取得し、 S3 REST API を使用する必要があります。 |
クライアント接続の設定方法
グリッド管理者は、 S3 クライアントがデータの格納と読み出しを行うために StorageGRID に接続する方法に関連する設定を行います。接続するために必要な具体的な情報は、選択した設定によって異なります。
クライアントアプリケーションは、次のいずれかに接続することで、オブジェクトを格納または読み出すことができます。
-
管理ノードまたはゲートウェイノード上のロードバランササービス、または必要に応じて、管理ノードまたはゲートウェイノードのハイアベイラビリティ( HA )グループの仮想 IP アドレス
-
ゲートウェイノード上の CLB サービス、または必要に応じて、ゲートウェイノードのハイアベイラビリティグループの仮想 IP アドレス
CLB サービスは廃止されました。StorageGRID 11.3 より前に設定されたクライアントは、ゲートウェイノード上の CLB サービスを引き続き使用できます。ロードバランシングに StorageGRID を使用する他のすべてのクライアントアプリケーションは、ロードバランササービスを使用して接続する必要があります。 -
外部ロードバランサを使用するかどうかに関係なく、ストレージノードに追加されます
StorageGRID を設定する場合、グリッド管理者はグリッドマネージャまたはグリッド管理 API を使用して次の手順を実行できます。これらはすべてオプションです。
-
ロードバランササービスのエンドポイントを設定する。
ロードバランササービスを使用するようにエンドポイントを設定する必要があります。管理ノードまたはゲートウェイノード上のロードバランササービスは、クライアントアプリケーションからの受信ネットワーク接続を複数のストレージノードに分散します。ロードバランサエンドポイントを作成する際、 StorageGRID 管理者は、ポート番号、エンドポイントで HTTP / HTTPS 接続を許可するかどうか、エンドポイントを使用するクライアントのタイプ( S3 または Swift )、 HTTPS 接続に使用する証明書(該当する場合)を指定します。
-
信頼されていないクライアントネットワークを設定する
StorageGRID 管理者がノードのクライアントネットワークを信頼されていないクライアントネットワークとして設定した場合、ノードはロードバランサエンドポイントとして明示的に設定されたポートでクライアントネットワークのインバウンド接続だけを受け入れます。
-
ハイアベイラビリティグループを設定する。
管理者が HA グループを作成すると、複数の管理ノードまたはゲートウェイノードのネットワークインターフェイスがアクティブ / バックアップ構成になります。クライアント接続は、 HA グループの仮想 IP アドレスを使用して確立されます。
各オプションの詳細については、 StorageGRID の管理手順を参照してください。
Summary :クライアント接続の IP アドレスとポート
クライアントアプリケーションは、グリッドノードの IP アドレスおよびそのノード上のサービスのポート番号を使用して StorageGRID に接続します。ハイアベイラビリティ( HA )グループが設定されている場合は、 HA グループの仮想 IP アドレスを使用してクライアントアプリケーションを接続できます。
クライアント接続に必要な情報
次の表に、クライアントが StorageGRID に接続できるさまざまな方法、および各接続タイプで使用される IP アドレスとポートを示します。詳細については、 StorageGRID 管理者にお問い合わせください。または、 StorageGRID for a 概要 の管理手順を参照して、グリッドマネージャでこの情報を確認してください。
接続が確立される場所 | クライアントが接続するサービス | IP アドレス | ポート |
---|---|---|---|
HA グループ |
ロードバランサ |
HA グループの仮想 IP アドレス |
|
HA グループ |
CLB の機能です
|
HA グループの仮想 IP アドレス |
デフォルトの S3 ポート:
|
管理ノード |
ロードバランサ |
管理ノードの IP アドレス |
|
ゲートウェイノード |
ロードバランサ |
ゲートウェイノードの IP アドレス |
|
ゲートウェイノード |
CLB の機能です
|
ゲートウェイノードの IP アドレス
|
デフォルトの S3 ポート:
|
ストレージノード |
LDR |
ストレージノードの IP アドレス |
デフォルトの S3 ポート:
|
例
ゲートウェイノードの HA グループのロードバランサエンドポイントに S3 クライアントを接続するには、次のように構造化された URL を使用します。
-
https://VIP-of-HA-group:_LB-endpoint-port_
たとえば、 HA グループの仮想 IP アドレスが 192.0.2.5 で S3 ロードバランサエンドポイントのポート番号が 10443 の場合、 S3 クライアントは次の URL を使用して StorageGRID に接続できます。
クライアントが StorageGRID への接続に使用する IP アドレスに DNS 名を設定できます。ローカルネットワーク管理者にお問い合わせください。
HTTPS接続とHTTP接続のどちらを使用するかの判断
ロードバランサエンドポイントを使用してクライアント接続を行う場合は、そのエンドポイントに指定されているプロトコル( HTTP または HTTPS )を使用して接続を確立する必要があります。ストレージノードへのクライアント接続またはゲートウェイノード上の CLB サービスへのクライアント接続に HTTP を使用する場合は、 HTTP の使用を有効にする必要があります。
デフォルトでは、クライアントアプリケーションがストレージノードまたはゲートウェイノード上の CLB サービスに接続する場合、クライアントアプリケーションはすべての接続に暗号化された HTTPS を使用する必要があります。必要に応じて、 Grid Manager で * Enable HTTP Connection * grid オプションを選択して、セキュアでない HTTP 接続を有効にすることができます。たとえば、非本番環境でストレージノードへの接続をテストする際に、クライアントアプリケーションで HTTP を使用できます。
要求が暗号化されずに送信されるため、本番環境のグリッドで HTTP を有効にする場合は注意してください。 |
CLB サービスは廃止されました。 |
[Enable HTTP Connection*] オプションが選択されている場合、クライアントは HTTPS とは異なるポートを HTTP に使用する必要があります。StorageGRID の管理手順を参照してください。
S3 要求のエンドポイントのドメイン名
クライアント要求に S3 ドメイン名を使用できるようにするには、 S3 パス形式と S3 仮想ホスト形式の要求で S3 ドメイン名を使用する接続を受け入れるように StorageGRID 管理者がシステムを設定する必要があります。
S3 仮想ホスト形式の要求を使用できるようにするには、グリッド管理者が次のタスクを実行する必要があります。
-
Grid Manager を使用して、 S3 エンドポイントのドメイン名を StorageGRID システムに追加します。
-
クライアントが StorageGRID への HTTPS 接続に使用する証明書が、クライアントが必要とするすべてのドメイン名に対して署名されていることを確認します。
たとえば、エンドポイントがの場合などです
s3.company.com
、グリッド管理者は、HTTPS接続に使用される証明書にが含まれていることを確認する必要がありますs3.company.com
エンドポイントとエンドポイントのワイルドカードSubject Alternative Name(SAN):*.s3.company.com
。 -
クライアントが使用する DNS サーバを設定して、必要なワイルドカードレコードを含め、エンドポイントのドメイン名と一致する DNS レコードを含めます。
クライアントがロードバランササービスを使用して接続する場合、グリッド管理者は、クライアントが使用するロードバランサエンドポイントの証明書を設定します。
各ロードバランサエンドポイントには独自の証明書があり、異なるエンドポイントドメイン名を認識するように各エンドポイントを設定できます。 |
クライアントがストレージノードに接続する場合、またはゲートウェイノード上のCLBサービスに接続する場合、グリッド管理者は、グリッドに使用される単一のカスタムサーバ証明書を設定します。
CLB サービスは廃止されました。 |
詳細については、 StorageGRID の管理手順を参照してください。
上記の手順が完了したら、仮想ホスト形式の要求( bucket.s3.company.com
)。
S3 REST APIの設定のテスト
Amazon Web Services コマンドラインインターフェイス( AWS CLI )を使用してシステムへの接続をテストし、システムに対するオブジェクトの読み取りと書き込みが可能であることを確認できます。
-
AWS CLIをからダウンロードしてインストールしておく必要があります "aws.amazon.com/cli"。
-
StorageGRID システムでS3テナントアカウントを作成しておく必要があります。
-
Amazon Web Services の設定で、 StorageGRID システムで作成したアカウントを使用するように設定します。
-
コンフィギュレーションモードを開始します。
aws configure
-
作成したアカウントの AWS アクセスキー ID を入力します。
-
作成したアカウントの AWS シークレットアクセスキーを入力します。
-
使用するデフォルトのリージョン( us-east-1 など)を入力します。
-
使用するデフォルトの出力形式を入力するか、 * Enter * キーを押して JSON を選択します。
-
-
バケットを作成する。
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl create-bucket --bucket testbucket
バケットの作成が完了すると、次の例のようにバケットの場所が返されます。
"Location": "/testbucket"
-
オブジェクトをアップロードします。
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl put-object --bucket testbucket --key s3.pdf --body C:\s3-test\upload\s3.pdf
オブジェクトのアップロードが完了すると、オブジェクトデータのハッシュである Etag が返されます。
-
バケットの内容をリストして、オブジェクトがアップロードされたことを確認します。
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl list-objects --bucket testbucket
-
オブジェクトを削除します。
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl delete-object --bucket testbucket --key s3.pdf
-
バケットを削除します。
aws s3api --endpoint-url https://10.96.101.17:10443 --no-verify-ssl delete-bucket --bucket testbucket