8.4. S3 액세스 테스트

S3 액세스를 확인하기 위해 Python 테스트 스크립트를 작성하고 실행해야 합니다. S3 액세스 테스트 스크립트는 radosgw 에 연결하고 새 버킷을 생성하고 모든 버킷을 나열합니다. aws_access_key_idaws_secret_access_key 의 값은 radosgw _admin 명령에서 반환한 access _key 및 secret _ key 값에서 가져옵니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 노드에 대한 루트 수준 액세스.

절차

  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. ZONE 을 게이트웨이 서비스를 구성한 호스트의 영역 이름으로 바꿉니다. 즉 게이트웨이 호스트입니다. host'setting이 DNS로 확인되는지 확인합니다. PORT 을 게이트웨이의 포트 번호로 바꿉니다.
    2. ACCESSSECRETRed Hat Ceph Storage 개체 게이트웨이 구성 및 관리 가이드의 S3 사용자 만들기 섹션의 access _key secret_key 값으로 바꿉니다.
  5. 스크립트를 실행합니다.

    python3 s3test.py

    출력은 다음과 같습니다.

    my-new-bucket 2021-08-16T17:09:10.000Z