日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

テナントアカウントと接続を設定する

クライアントアプリケーションからの接続を受け入れるように StorageGRID を設定するには、テナントアカウントを 1 つ以上作成し、接続を設定する必要があります。

Swift テナントアカウントを作成および設定します

Swift API クライアントで StorageGRID に対してオブジェクトの格納や読み出しを行うには、 Swift テナントアカウントが必要です。各テナントアカウントには、専用のアカウント ID 、専用のグループとユーザ、および専用のコンテナとオブジェクトがあります。

Swift テナントアカウントは、 StorageGRID のグリッド管理者がグリッドマネージャまたはグリッド管理 API を使用して作成します。

グリッド管理者は、 Swift テナントアカウントを作成する際に次の情報を指定します。

  • テナントの表示名(テナントのアカウント ID は自動的に割り当てられ、変更できません)

  • 必要に応じて、テナントアカウントのストレージクォータ — テナントのオブジェクトで使用可能な最大ギガバイト数、テラバイト数、ペタバイト数。テナントのストレージクォータは、物理容量(ディスクのサイズ)ではなく、論理容量(オブジェクトのサイズ)を表します。

  • StorageGRID システムでシングルサインオン( SSO )が使用されていない場合は、テナントアカウントが独自のアイデンティティソースを使用するか、グリッドのアイデンティティソースを共有するか、およびテナントのローカル root ユーザの初期パスワード。

  • SSO が有効になっている場合は、テナントアカウントを設定するための Root Access 権限が割り当てられているフェデレーテッドグループ。

Swift テナントアカウントが作成されたら、 Root Access 権限を持つユーザは Tenant Manager にアクセスして、次のようなタスクを実行できます。

  • アイデンティティフェデレーションの設定(グリッドとアイデンティティソースを共有する場合を除く)、およびローカルグループとユーザの作成

  • ストレージ使用状況を監視しています

重要 Swift ユーザが Tenant Manager にアクセスするには、 Root Access 権限が必要です。ただし Root Access 権限では、 Swift REST API に認証してコンテナを作成したりオブジェクトを取り込んだりすることはできません。Swift REST API に認証するには、 Swift 管理者の権限が必要です。

クライアント接続の設定方法

グリッド管理者は、 Swift クライアントがデータの格納と読み出しを行うために StorageGRID に接続する方法に関連する設定を行います。接続するために必要な具体的な情報は、選択した設定によって異なります。

クライアントアプリケーションは、次のいずれかに接続することで、オブジェクトを格納または読み出すことができます。

  • 管理ノードまたはゲートウェイノード上のロードバランササービス、または必要に応じて、管理ノードまたはゲートウェイノードのハイアベイラビリティ( HA )グループの仮想 IP アドレス

  • ゲートウェイノード上の CLB サービス、または必要に応じて、ゲートウェイノードのハイアベイラビリティグループの仮想 IP アドレス

    注記 CLB サービスは廃止されました。StorageGRID 11.3 より前に設定されたクライアントは、ゲートウェイノード上の CLB サービスを引き続き使用できます。ロードバランシングに StorageGRID を使用する他のすべてのクライアントアプリケーションは、ロードバランササービスを使用して接続する必要があります。
  • 外部ロードバランサを使用するかどうかに関係なく、ストレージノードに追加されます

StorageGRID を設定する場合、グリッド管理者はグリッドマネージャまたはグリッド管理 API を使用して次の手順を実行できます。これらはすべてオプションです。

  1. ロードバランササービスのエンドポイントを設定する。

    ロードバランササービスを使用するようにエンドポイントを設定する必要があります。管理ノードまたはゲートウェイノード上のロードバランササービスは、クライアントアプリケーションからの受信ネットワーク接続を複数のストレージノードに分散します。ロードバランサエンドポイントを作成する際、 StorageGRID 管理者は、ポート番号、エンドポイントで HTTP / HTTPS 接続を許可するかどうか、エンドポイントを使用するクライアントのタイプ( S3 または Swift )、 HTTPS 接続に使用する証明書(該当する場合)を指定します。

  2. 信頼されていないクライアントネットワークを設定する

    StorageGRID 管理者がノードのクライアントネットワークを信頼されていないクライアントネットワークとして設定した場合、ノードはロードバランサエンドポイントとして明示的に設定されたポートでクライアントネットワークのインバウンド接続だけを受け入れます。

  3. ハイアベイラビリティグループを設定する。

    管理者が HA グループを作成すると、複数の管理ノードまたはゲートウェイノードのネットワークインターフェイスがアクティブ / バックアップ構成になります。クライアント接続は、 HA グループの仮想 IP アドレスを使用して確立されます。

各オプションの詳細については、 StorageGRID の管理手順を参照してください。

Summary :クライアント接続の IP アドレスとポート

クライアントアプリケーションは、グリッドノードの IP アドレスおよびそのノード上のサービスのポート番号を使用して StorageGRID に接続します。ハイアベイラビリティ( HA )グループが設定されている場合は、 HA グループの仮想 IP アドレスを使用してクライアントアプリケーションを接続できます。

クライアント接続に必要な情報

次の表に、クライアントが StorageGRID に接続できるさまざまな方法、および各接続タイプで使用される IP アドレスとポートを示します。詳細については、 StorageGRID 管理者にお問い合わせください。または、 StorageGRID for a 概要 の管理手順を参照して、グリッドマネージャでこの情報を確認してください。

接続が確立される場所 クライアントが接続するサービス IP アドレス ポート

HA グループ

ロードバランサ

HA グループの仮想 IP アドレス

  • ロードバランサエンドポイントのポート

HA グループ

CLB の機能です

  • 注: * CLB サービスは廃止されました。

HA グループの仮想 IP アドレス

デフォルトの Swift ポート:

  • HTTPS : 8083

  • HTTP : 8085

管理ノード

ロードバランサ

管理ノードの IP アドレス

  • ロードバランサエンドポイントのポート

ゲートウェイノード

ロードバランサ

ゲートウェイノードの IP アドレス

  • ロードバランサエンドポイントのポート

ゲートウェイノード

CLB の機能です

  • 注: * CLB サービスは廃止されました。

ゲートウェイノードの IP アドレス

  • 注:デフォルトでは、 CLB および LDR の HTTP ポートは有効になっていません。

デフォルトの Swift ポート:

  • HTTPS : 8083

  • HTTP : 8085

ストレージノード

LDR

ストレージノードの IP アドレス

デフォルトの Swift ポート:

  • HTTPS : 18083

  • HTTP : 18085

Swift クライアントをゲートウェイノードの HA グループのロードバランサエンドポイントに接続するには、次のように構造化された URL を使用します。

  • https://VIP-of-HA-group:LB-endpoint-port`

たとえば、 HA グループの仮想 IP アドレスが 192.0.2.6 で、 Swift ロードバランサエンドポイントのポート番号が 10444 の場合、 Swift クライアントは次の 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 の管理手順を参照してください。

Swift API 設定で接続をテストします

Swift の CLI を使用して、 StorageGRID システムへの接続をテストし、システムに対するオブジェクトの読み取りと書き込みが可能であることを確認できます。

必要なもの
  • Swift のコマンドラインクライアント python-swiftclient をダウンロードしてインストールしておく必要があります。

  • StorageGRID システムに Swift テナントアカウントが必要です。

セキュリティを構成していない場合は ' これらの各コマンドに --insecure フラグを追加する必要があります

手順
  1. StorageGRID Swift 環境の情報 URL を照会します。

    swift
    -U <Tenant_Account_ID:Account_User_Name>
    -K <User_Password>
    -A https://<FQDN | IP>:<Port>/info
    capabilities

    この手順で、 Swift 環境が機能することをテストできます。オブジェクトを格納してアカウント設定をさらにテストするには、以降の手順を実行します。

  2. オブジェクトをコンテナに配置します。

    touch test_object
    swift
    -U <Tenant_Account_ID:Account_User_Name>
    -K <User_Password>
    -A https://<FQDN | IP>:<Port>/auth/v1.0
    upload test_container test_object
    --object-name test_object
  3. コンテナを取得してオブジェクトを確認します。

    swift
    -U <Tenant_Account_ID:Account_User_Name>
    -K <User_Password>
    -A https://<FQDN | IP>:<Port>/auth/v1.0
    list test_container
  4. オブジェクトを削除します。

    swift
    -U <Tenant_Account_ID:Account_User_Name>
    -K <User_Password>
    -A https://<FQDN | IP>:<Port>/auth/v1.0
    delete test_container test_object
  5. コンテナを削除します。

    swift
    -U `<_Tenant_Account_ID:Account_User_Name_>`
    -K `<_User_Password_>`
    -A `\https://<_FQDN_ | _IP_>:<_Port_>/auth/v1.0'
    delete test_container