メインコンテンツまでスキップ

外部ボリューム

この機能は、すべての AWS リージョンおよびすべての Google Cloud リージョンで利用できます。Microsoft Azure では利用できません。Azure でボリュームを使用するには、お問い合わせください

外部ボリュームは、自身のクラウドオブジェクトストレージ(AWS S3 や Google Cloud Storage など)内のバケットまたはパスへの読み取り専用参照であり、データをコピーまたは移動することなく、その場で Zilliz Cloud がデータにアクセスできるようにします。

このページでは、Web コンソールおよび SDK を使用して外部ボリュームを作成および削除する方法について説明します。

考慮事項

  • ボリュームは、プロジェクトのクラウドプロバイダーおよびリージョンに制限されます。たとえば、プロジェクトが AWS us-west-2 にある場合、作成できるボリュームも AWS us-west-2 内のみです。

  • クラスターでボリュームを使用するには、そのクラスターがボリュームと同じクラウドプロバイダーおよびリージョンに存在している必要があります。

  • ボリュームを作成および管理するには、Project Admin である必要があります。

  • ボリュームは作成後に設定を編集できません。ボリュームの設定を変更したい場合は、代わりに希望する設定で新しいボリュームを作成してください。

  • 外部ボリュームの場合、データは自身のバケット内に保持されます。そのため、データファイルは外部ボリューム上ではなく、クラウドオブジェクトストレージ内で管理する必要があります。

  • 各組織は最大 100 個の外部ボリューム を作成できます。

始める前に

外部ボリュームを作成する前に、AWS S3 バケット または Google GCS バケット を統合する必要があります。ストレージ統合は、作成したい外部ボリュームと同じクラウドプロバイダーおよびリージョン内にある必要があることに注意してください。

外部ボリュームを作成する

  • SDK 経由

    python
    # Initiate a volume manager
    from pymilvus.bulk_writer.volume_manager import VolumeManager

    volume_manager = VolumeManager(
    cloud_endpoint="https://api.cloud.zilliz.com",
    api_key="YOUR_API_KEY"
    )

    # Create a volume
    volume_manager.create_volume(
    project_id="proj-xxxxxxxxxxxxxxxxxxxxxxx",
    region_id="aws-us-west-2",
    volume_name="external_volume",
    volume_type="EXTERNAL",
    storage_integration_id="integ-xxxx",
    path="data/",
    )

    print(f"\nVolume external_volume created")

    # Volume external_volume created

    次の表は、各パラメーターを説明しています。

    ParameterDescription
    projectIdボリュームを作成したいプロジェクトの ID。
    regionId作成するボリュームのリージョンは、データをインポートまたは移行する対象クラスターのクラウドプロバイダーおよびリージョンと一致している必要があります。
    volumeName作成するボリュームの名前は組織全体で一意である必要があり、64 文字以下で、文字またはアンダースコアで始まり、文字、数字、ハイフン、アンダースコアのみを含める必要があります。
    type外部ボリュームを作成するには、このパラメーターを EXTERNAL に設定します。デフォルトは MANAGED です。
    storageIntegrationId参照するストレージ統合の ID。type=EXTERNAL の場合は必須です。選択するストレージ統合は、作成したい外部ボリュームと同じ組織およびリージョンに属している必要があります。
    pathストレージパス。type=EXTERNAL の場合は必須です。
    description(optional)作成するボリュームの説明。255 文字まで。
  • Web コンソール経由

    1

    左側のナビゲーションで Volumes をクリックします。

    2

    Volumes ページで + Volume をクリックします。

    3

    ボリュームの設定を行います。

    次の表は、外部ボリューム作成時に使用される各パラメーターを説明しています。

    ParameterDescription
    Nameボリューム名は組織全体で一意である必要があり、64 文字以下で、文字またはアンダースコアで始まり、文字、数字、ハイフン、アンダースコアのみを含める必要があります。
    Descriptionこのパラメーターは任意です。255 文字まで。
    Volume Typeボリュームタイプとして "External" を選択します。
    Cloud Provider & Regionボリュームのクラウドプロバイダーおよびリージョンは、データをインポートまたは移行する対象クラスターのクラウドプロバイダーおよびリージョンと一致している必要があります。
    Storage Integration & Pathストレージ統合(AWS S3 バケット または Google GCS バケット)は、クラウドストレージへのアクセス設定をカプセル化した認証情報オブジェクトです。
    Path は、データが配置されている場所を指すポインターです。(例: folder/
    4

    Create をクリックします。

ボリュームを一覧表示する

プロジェクト内の既存のすべてのボリュームを表示できます。

  • SDK 経由

    python
    # Initiate a volume manager
    from pymilvus.bulk_writer.volume_manager import VolumeManager

    volume_manager = VolumeManager(
    cloud_endpoint="https://api.cloud.zilliz.com",
    api_key="YOUR_API_KEY"
    )

    # View volumes
    volume_list = volume_manager.list_volumes(
    project_id="proj-xxxxxxxxxxxxxxxxxxxxxxx",
    current_page=1,
    page_size=10
    )

    print(f"\nlistVolumes results: \n", volume_list.json()['data'])

    # listVolumes results:
    #
    # {
    # "count": 1,
    # "currentPage": 1,
    # "pageSize": 10,
    # "volumes": [
    # {
    # "volumeName": "external_volume"
    # "type":"EXTERNAL"
    # }
    # ]
    # }
  • Web コンソール経由

    PeL0wrKF1hTHvwbNAZBctTQonZf

外部ボリュームの詳細を表示する

特定のボリュームの詳細を確認できます。

  • SDK 経由

    python
    # Initiate a volume manager
    from pymilvus.bulk_writer.volume_manager import VolumeManager

    volume_manager = VolumeManager(
    cloud_endpoint="https://api.cloud.zilliz.com",
    api_key="YOUR_API_KEY"
    )

    # View volumes
    volume_list = volume_manager.describe_volume(
    volume_name="external_volume"
    )

    print(f"\ndescVolume results: \n", volume_list.json()['data'])

    # descVolume results:
    #
    # {
    # "volumeName": "external_volume",
    # "type": "EXTERNAL",
    # "regionId": "aws-us-west-2",
    # "storageIntegrationId": "integ-xxxx",
    # "path": "data/",
    # "status": "RUNNING",
    # "createTime": "2024-04-15T12:00:00Z",
    # }
  • Web コンソール経由

    NrgXwPhxGhq78NbBfDYcWc6Ened

外部ボリュームを削除する

不要になった外部ボリュームはいつでも削除できます。

外部ボリュームを削除すると、Zilliz Cloud からはボリュームのメタデータのみが削除され、データ自体はクラウドオブジェクトストレージ内にそのまま保持されます。

  • SDK 経由

    python
    # Initiate a volume manager
    from pymilvus.bulk_writer.volume_manager import VolumeManager

    volume_manager = VolumeManager(
    cloud_endpoint="https://api.cloud.zilliz.com",
    api_key="YOUR_API_KEY"
    )

    # Delete a volume
    volume_manager.delete_volume(
    volume_name="external_volume"
    )

    print(f"\nVolume external_volume deleted")

    # Volume external_volume deleted
  • Web コンソール経由

    1

    左側のナビゲーションで Volumes をクリックします。

    2

    Actions 列の ... をクリックし、Delete を選択します。

    3

    ボリューム名を入力し、Delete をクリックします。

請求

外部ボリュームの作成と利用には、Zilliz Cloud の料金は発生しません。支払い方法の登録も不要です。

ただし、インポートまたは移行時に Zilliz Cloud がお使いの bucket から読み取る際、クラウドプロバイダーからデータリクエスト料金が請求される場合があります。詳細については、Amazon S3 Pricing または Google Cloud Storage Pricing を参照してください。

FAQ

請求書の未払いにより organization が凍結された場合、私の volumes はどうなりますか?

organization が凍結されると、無料トライアルと従量課金の両方を含むすべての管理対象 Volumes と、それらに保存されているすべてのファイルは削除され、復元できません。外部ボリュームも凍結され、新しい操作には使用できなくなりますが、ご自身の bucket 内のデータには影響しません。

volumes を引き続き使用するには、まず未払いの請求書をすべて精算してください。

外部ボリュームと外部ストレージからの直接インポートの違いは何ですか?

どちらも、ご自身の S3 または GCS bucket からデータをインポートできます。主な違いは次のとおりです。

  • 外部ボリュームでは、認証情報を管理するために、AWS S3 bucketGoogle Cloud Storage bucket、または Microsoft Azure blob storage container を Zilliz Cloud と連携する必要があります。認証情報は一度設定すれば、複数の volumes や操作で再利用できます。データエンジニアがクラウドストレージのキーに直接アクセスする必要はありません。

  • 直接の external storage import では、インポートリクエストごとに認証情報(access key と secret key)を指定する必要があります。これは一度限りのインポートには簡単ですが、認証情報の分離や再利用性は提供されません。

外部ボリュームの作成後に、ストレージ連携またはパスを変更できますか?

いいえ。外部ボリュームの作成後は、ストレージ連携とパスを変更できません。別のストレージ連携またはパスを使用するには、新しい外部ボリュームを作成してください。

アクティブなジョブまたは external collection から参照されている外部ボリュームを削除できますか?

いいえ。下流の external collections またはアクティブなジョブがその volume を参照している場合、削除はブロックされます。

外部ボリュームを使用すると、データ転送料金は請求されますか?

いいえ。外部ボリュームは、お使いの cluster と同じクラウドプロバイダーおよびリージョン内に存在する必要があります。すべてのデータアクセスは同じリージョン内で行われるため、Zilliz Cloud ではリージョン間のデータ転送料金は発生しません。

volume のステータスは何を意味しますか?

以下の表は、volume に設定される可能性のあるステータスを示しています。

ステータス

説明

Available

この volume はアクティブで、利用可能です。

Frozen

未払いの請求書により organization が凍結されています。この volume は新しい操作には使用できません。volumes を引き続き使用するには、請求をお支払いください。

Error

ストレージ連携の検証に失敗しました。設定を確認して再試行してください。

該当するストレージ連携は次のとおりです。

Ctrl I