メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

外部ボリューム

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

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

考慮事項

  • ボリュームは AWS で利用できます。その他のプロバイダーについては、サポートにお問い合わせください。

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

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

  • ボリュームを作成および管理するには、プロジェクト管理者 である必要があります。

  • ボリュームが作成されると、その設定を編集することはできません。ボリュームの設定を変更したい場合は、必要な設定で新しいボリュームを作成してください。

  • 外部ボリュームでは、データはお客様のバケットに残ります。そのため、データファイルは外部ボリュームではなく、お客様のクラウドオブジェクトストレージで管理する必要があります。

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

始める前に

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

外部ボリュームの作成

  • SDK を使用する場合

    # 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

    次の表にパラメーターを説明します。

    パラメーター

    説明

    projectId

    ボリュームを作成するプロジェクトの ID。

    regionId

    作成するボリュームのリージョンは、データのインポートまたは移行を予定しているターゲットクラスターのクラウドプロバイダーとリージョンと一致している必要があります。

    volumeName

    作成するボリュームの名前は、組織全体で一意である必要があり、64 文字以内で、文字またはアンダースコアで始まり、文字、数字、ハイフン、アンダースコアのみを含む必要があります。

    type

    外部ボリュームを作成するには、このパラメーターを EXTERNAL に設定します。デフォルトは MANAGED です。

    storageIntegrationId

    参照するストレージ統合の ID。type=EXTERNAL の場合に必須です。選択するストレージ統合は、作成する外部ボリュームと同じ組織およびリージョンに属している必要があります。

    path

    ストレージパス。type=EXTERNAL の場合に必須です。

    description(オプション)

    作成するボリュームの説明です。最大 255 文字です。

  • ウェブコンソール経由

    1

    左側のナビゲーションで、ボリュームs をクリックします。

    2

    ボリュームページで、+ ボリューム をクリックします。

    3

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

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

    パラメーター

    説明

    Name

    ボリューム名は、組織全体で一意である必要があり、64 文字以内で、文字またはアンダースコアで始まり、文字、数字、ハイフン、アンダースコアのみを含む必要があります。

    Description

    このパラメーターはオプションです。最大 255 文字です。

    ボリューム Type

    ボリュームタイプとして「External」を選択します。

    クラウドプロバイダーとリージョン

    ボリュームのクラウドプロバイダーとリージョンは、データのインポートまたは移行を予定しているターゲットクラスターのクラウドプロバイダーとリージョンと一致している必要があります。

    ストレージ統合とパス

    ストレージ統合(AWS S3 バケット)は、クラウドストレージのアクセス設定をカプセル化した認証情報オブジェクトです。

    パスは、データが配置されている場所へのポインターです(例:folder/)。

    4

    Create をクリックします。

ボリュームの一覧表示

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

  • SDK 経由

    # 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"
    # }
    # ]
    # }
  • ウェブコンソール経由

    PeL0wrKF1hTHvwbNAZBctTQonZf

Describe external volume

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

  • Via SDKs

    # 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",
    # }
  • ウェブコンソール経由

    NrgXwPhxGhq78NbBfDYcWc6Ened

外部ボリュームの削除

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

外部ボリュームの削除は、Zilliz Cloud からボリュームのメタデータのみを削除します。データはクラウドオブジェクトストレージにそのまま残ります。

  • Via SDKs

    # 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
  • ウェブコンソール経由

    1

    左側のナビゲーションで ボリュームs をクリックします。

    2

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

    3

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

FAQs

請求書の未払いにより組織が凍結された場合、ボリュームはどうなりますか?

組織が凍結されると、管理対象のすべての ボリューム — 無料トライアルおよび従量課金制の両方 — およびそれらに保存されているすべてのファイルが削除され、復元することはできません。外部ボリュームも凍結され、新しい操作には使用できなくなりますが、お客様のバケット内のデータには影響しません。

ボリュームの使用を継続するには、まずすべての未払いの請求書を精算してください。

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

どちらもお客様の S3 または GCS バケットからデータをインポートできます。主な違いは以下の通りです。

  • 外部ボリュームでは、AWS S3 バケットを Zilliz Cloud と統合して認証情報を管理する必要があります。認証情報は一度設定すれば、複数のボリュームや操作で再利用できます。データエンジニアはクラウドストレージのキーに直接アクセスする必要はありません。

  • 直接の外部ストレージインポートでは、インポートリクエストごとに認証情報(アクセスキーとシークレットキー)を提供する必要があります。これは一度限りのインポートにはシンプルですが、認証情報の分離や再利用性は提供しません。

外部ボリューム作成後に、ストレージ統合やパスを変更できますか?

~しない。外部ボリューム作成後、ストレージ統合とパスは変更できません。別のストレージ統合やパスを使用する場合は、新しい外部ボリュームを作成してください。

アクティブなジョブや外部コレクションから参照されている外部ボリュームを削除できますか?

~しない。ダウンストリームの外部コレクションまたはアクティブなジョブがボリュームを参照している場合、削除はブロックされます。

外部ボリュームの使用時にデータ転送料金は請求されますか?

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

ボリュームのステータスはどのような意味ですか?

以下の表に、考えられるボリュームのステータスを示します。

Status

Description

Available

The volume is active and usable.

Frozen

請求書の未払いにより組織が凍結されています。ボリュームを新しい操作に使用することはできません。ボリュームの使用を継続するには、請求書を支払ってください。

Error

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

利用可能なストレージ統合は次のとおりです。