テナントアカウントと接続を設定する
クライアントアプリケーションからの接続を受け入れるように StorageGRID を設定するには、テナントアカウントを 1 つ以上作成し、接続を設定する必要があります。
S3 テナントアカウントを作成して設定します
S3 API クライアントが StorageGRID でオブジェクトの格納や読み出しを行うには、 S3 テナントアカウントが必要です。各テナントアカウントには、独自のアカウントID、グループ、ユーザ、バケット、およびオブジェクトがあります。
S3 テナントアカウントは、 StorageGRID のグリッド管理者がグリッドマネージャまたはグリッド管理 API を使用して作成します。を参照してください "テナントを管理します" を参照してください。S3テナントアカウントが作成されると、テナントユーザはTenant Managerにアクセスしてグループ、ユーザ、アクセスキー、およびバケットを管理できるようになります。を参照してください "テナントアカウントを使用する" を参照してください。
S3テナントユーザはTenant Managerを使用してS3アクセスキーとバケットを作成、管理できますが、オブジェクトを取り込み、管理するにはS3クライアントアプリケーションを使用する必要があります。を参照してください "S3 REST APIを使用する" を参照してください。 |
クライアント接続の設定方法
グリッド管理者は、 S3 クライアントがデータの格納と読み出しを行うために StorageGRID に接続する方法に関連する設定を行います。StorageGRID を任意のS3アプリケーションに接続するには、基本的に次の4つの手順を実行します。
-
クライアントアプリケーションがStorageGRID に接続する方法に基づいて、StorageGRID で前提条件となるタスクを実行します。
-
StorageGRID を使用して、アプリケーションがグリッドに接続するために必要な値を取得します。どちらでもかまいません "S3セットアップウィザードを使用します" または、各StorageGRID エンティティを手動で設定します。
-
S3アプリケーションを使用して、StorageGRID への接続を完了します。DNSエントリを作成して、使用するドメイン名にIPアドレスを関連付けます。
-
アプリケーションとStorageGRID で継続的なタスクを実行し、時間の経過に伴うオブジェクトストレージの管理と監視を行います。
これらの手順の詳細については、を参照してください "クライアント接続を設定します"。
クライアント接続に必要な情報
S3クライアントアプリケーションは、オブジェクトの格納や読み出しを行うために、すべての管理ノードおよびゲートウェイノードに含まれるロードバランササービスまたはすべてのストレージノードに含まれるLocal Distribution Router(LDR)サービスに接続します。
クライアントアプリケーションは、グリッドノードのIPアドレスとそのノード上のサービスのポート番号を使用してStorageGRID に接続できます。必要に応じて、ロードバランシングノードのハイアベイラビリティ(HA)グループを作成して、仮想IP(VIP)アドレスを使用する可用性の高い接続を確立できます。IPアドレスまたはVIPアドレスの代わりに完全修飾ドメイン名(FQDN)を使用してStorageGRID に接続する場合は、DNSエントリを設定できます。
を参照してください "Summary :クライアント接続の IP アドレスとポート" を参照してください。
HTTPS 接続または HTTP 接続を使用するかどうかを決定します
ロードバランサエンドポイントを使用してクライアント接続を行う場合は、そのエンドポイントに指定されているプロトコル( HTTP または HTTPS )を使用して接続を確立する必要があります。ストレージノードへのクライアント接続にHTTPを使用するには、HTTPの使用を有効にする必要があります。
デフォルトでは、クライアントアプリケーションがストレージノードに接続する際に、すべての接続に暗号化されたHTTPSを使用する必要があります。必要に応じて、Grid Managerで*>[セキュリティ設定]>[ネットワークとオブジェクト]>[ストレージノード接続用のHTTPを有効にする]*を選択して、安全性の低いHTTP接続を有効にすることができます。たとえば、非本番環境でストレージノードへの接続をテストする際に、クライアントアプリケーションで HTTP を使用できます。
要求と応答が暗号化されずに送信されるため、本番環境のグリッドでHTTPを有効にする場合は注意が必要です。 |
S3要求のS3エンドポイントのドメイン名
クライアント要求にS3エンドポイントのドメイン名を使用するには、StorageGRID 管理者が、S3パス形式およびS3仮想ホスト形式の要求でS3エンドポイントのドメイン名を使用する接続を受け入れるようにシステムを設定する必要があります。
S3 仮想ホスト形式の要求を使用できるようにするには、グリッド管理者が次のタスクを実行する必要があります。
-
Grid Manager を使用して、 S3 エンドポイントのドメイン名を StorageGRID システムに追加します。
-
クライアントが StorageGRID への HTTPS 接続に使用する証明書が、クライアントが必要とするすべてのドメイン名に対して署名されていることを確認します。
たとえば、S3 APIサービスエンドポイントのドメインエンドポイントがの場合などです
s3.company.com`グリッド管理者は、HTTPS接続に使用する証明書にがあることを確認する必要があります `s3.company.com
サブジェクトの共通名として、およびサブジェクトの別名として、およびを使用します*.s3.company.com
サブジェクトの別名。 -
"DNSサーバを設定します" クライアントが使用して、S3エンドポイントのドメイン名に一致するDNSレコード(必要なワイルドカードレコードを含む)を追加します。
クライアントがロードバランササービスを使用して接続する場合、グリッド管理者は、クライアントが使用するロードバランサエンドポイントの証明書を設定します。
ロードバランサエンドポイントにはそれぞれ独自の証明書があり、各エンドポイントは異なるS3エンドポイントのドメイン名を認識するように設定できます。 |
クライアントがストレージノードに接続する場合、グリッド管理者は、グリッドに使用される単一のカスタムサーバ証明書を設定します。
の手順を参照してください "StorageGRID の管理" を参照してください。
これらの手順が完了したら、仮想ホスト形式の要求を使用できます。
S3 REST API の設定をテストします
Amazon Web Services コマンドラインインターフェイス( AWS CLI )を使用してシステムへの接続をテストし、システムに対するオブジェクトの読み取りと書き込みが可能であることを確認できます。
-
AWS CLI をからダウンロードしてインストールしておきます "aws.amazon.com/cli"。
-
StorageGRID システムで S3 テナントアカウントを作成しておきます。
-
テナントアカウントでアクセスキーを作成しておきます。
-
StorageGRID システムで作成したアカウントを使用するようにAWS CLIを設定します。
-
コンフィギュレーションモードを開始します。
aws configure
-
作成したアカウントのアクセスキーIDを入力します。
-
作成したアカウントのシークレットアクセスキーを入力します。
-
使用するデフォルトのリージョン( us-east-1 など)を入力します。
-
使用するデフォルトの出力形式を入力するか、 * Enter * キーを押して JSON を選択します。
-
-
バケットを作成する。
この例では、IPアドレス10.96.101.17とポート10443を使用するようにロードバランサエンドポイントが設定されていると想定しています。
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