Menu Close

第12章 RADOS Object Gateway S3 エンドポイントへのアクセス

ユーザーは、RADOS Object Gateway(RGW)エンドポイントに直接アクセスできます。

前提条件

  • 実行中の OpenShift Container Storage Platform

手順

  1. oc get service コマンドを実行して RGW サービス名を取得します。

    $ oc get service
    
    NAME                                               TYPE
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore   ClusterIP
    
    CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    172.30.99.207    <none>        80/TCP     4d15h
  2. oc expose コマンドを実行して RGW サービスを公開します。

    $ oc expose svc/<RGW service name> --hostname=<route name>

    <RGW-service name> を直前の手順の RGW サービス名に置き換えます。

    <route name> を RGW サービス用に作成するルートに置き換えます。

    以下は例になります。

    $ oc expose svc/rook-ceph-rgw-ocs-storagecluster-cephobjectstore --hostname=rook-ceph-rgw-ocs.ocp.host.example.com
  3. oc get route コマンドを実行して oc expose が成功し、RGW ルートがあることを確認します。

    $ oc get route
    
    NAME                                               HOST/PORT                                PATH
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore   rook-ceph-rgw-ocsocp.host.example.com
    
    SERVICES                                           PORT         TERMINATION   WILDCARD
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore   http         <none>

検証

  • ENDPOINT を確認するには、以下のコマンドを実行します。

    aws s3 --no-verify-ssl --endpoint <ENDPOINT> ls

    <ENDPOINT> を、上記の手順 3 のコマンドから取得したルートに置き換えます。

    以下は例になります。

    $ aws s3 --no-verify-ssl --endpoint http://rook-ceph-rgw-ocs.ocp.host.example.com ls
注記

デフォルトユーザー ocs-storagecluster-cephobjectstoreuser のアクセスキーおよびシークレットを取得するには、以下のコマンドを実行します。

  • アクセスキー:

    $ oc get secret rook-ceph-object-user-ocs-storagecluster-cephobjectstore-ocs-storagecluster-cephobjectstoreuser -n openshift-storage -o yaml | grep -w "AccessKey:" | head -n1 | awk '{print $2}' | base64 --decode
  • シークレットキー:

    $ oc get secret rook-ceph-object-user-ocs-storagecluster-cephobjectstore-ocs-storagecluster-cephobjectstoreuser -n openshift-storage -o yaml | grep -w "SecretKey:" | head -n1 | awk '{print $2}' | base64 --decode