8.4. S3 アクセスのテスト

S3 アクセスを検証するには、Python テストスクリプトを作成し、実行する必要があります。S3 アクセステスト mp スクリプトは radosgw に接続し、新規バケットを作成し、すべてのバケットをリスト表示します。aws_access_key_id および aws_secret_access_key の値は、radosgw_admin コマンドで返される access_key および secret_key の値から取得されます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへの root レベルのアクセス。

手順

  1. Red Hat Enterprise Linux 8 の High Availability リポジトリーを有効にします。

    subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
  2. python3-boto3 パッケージをインストールします。

    dnf install python3-boto3
  3. Python スクリプトを作成します。

    vi s3test.py
  4. ファイルに以下のコンテンツを追加します。

    構文

    import boto3
    
    endpoint = "" # enter the endpoint URL along with the port "http://URL:PORT"
    
    access_key = 'ACCESS'
    secret_key = 'SECRET'
    
    s3 = boto3.client(
            's3',
            endpoint_url=endpoint,
            aws_access_key_id=access_key,
            aws_secret_access_key=secret_key
            )
    
    s3.create_bucket(Bucket='my-new-bucket')
    
    response = s3.list_buckets()
    for bucket in response['Buckets']:
        print("{name}\t{created}".format(
    		name = bucket['Name'],
    		created = bucket['CreationDate']
    ))

    1. endpoint は、ゲートウェイサービスを設定したホストの URL に置き換えます。つまり、gateway host です。host の設定が DNS で解決されていることを確認します。PORT は、ゲートウェイのポート番号に置き換えます。
    2. ACCESS および SECRET は、Red Hat Ceph Storage Object Gateway GuideCreate an S3 User セクションに記載されている access_key および secret_key の値に置き換えます。
  5. スクリプトを実行します。

    python3 s3test.py

    出力は以下のようになります。

    my-new-bucket 2022-05-31T17:09:10.000Z