次の方法で共有


Cloudflare R2 に接続するためのストレージ資格情報を作成する

この記事では、Unity Catalog で Cloudflare R2 に接続するためのストレージ資格情報を作成する方法について説明します。 Cloudflare R2 オブジェクト ストレージにはエグレス料金はかかりません。 共有するデータを R2 にレプリケートまたは移行すると、エグレス料金を発生させることなく、クラウドやリージョン間でデータを共有できます。

Note

Unity Catalog は、Azure Databricks の 2 つのクラウド ストレージ オプションである Azure Data Lake Storage Gen2 コンテナーと Cloudflare R2 バケットをサポートしています。 Cloudflare R2 は、主にクラウド プロバイダーのデータ エグレス料金を回避したい Delta Sharing のユース ケースを想定しています。 Azure Data Lake Storage Gen2 は、他のほとんどのユース ケースに適しています。 「Delta Sharing のエグレス コストを監視および管理する (プロバイダー向け)」と Azure Data Lake Storage Gen2 に接続するためにストレージ資格情報を作成する方法に関する記事を参照してください。

Unity Catalog によって管理されるデータの保存場所として R2 バケットを使うには、R2 バケットへのアクセスを認可するストレージ資格情報を作成し、ストレージ資格情報とバケット パスを参照する外部の場所を作成する必要があります。

  • ストレージの資格情報は、クラウド ストレージへのアクセスを提供する長期的なクラウドの資格情報をカプセル化します。
  • 外部の場所には、ストレージ資格情報とクラウド ストレージ パスへの参照が含まれます。

この記事では、ストレージ資格情報の作成に焦点を当てています。

詳細については、「 Unity カタログを使用したクラウド ストレージへのアクセスの管理を参照してください。

要件

  • Unity Catalog に対して有効になっている Databricks ワークスペース。

  • Databricks Runtime 14.3 以降、または SQL Warehouse 2024.15 以降。

    エラー メッセージ No FileSystem for scheme "r2” が表示された場合は、お使いのコンピューティングがサポートされていないバージョンである可能性があります。

  • Cloudflare アカウント。 以下を参照してください。https://dash.cloudflare.com/sign-up

  • Cloudflare R2 管理者ロール。 Cloudflare ロールのドキュメントを参照してください。

  • ワークスペースにアタッチされている Unity Catalog メタストアの CREATE STORAGE CREDENTIAL 権限。 アカウント管理者とメタストア管理者には、既定でこの特権があります。

R2 バケットを構成する

  1. Cloudflare R2 バケットを作成します。

    Cloudflare ダッシュボードまたは Cloudflare Wrangler ツールを使用できます。

    Cloudflare R2 の「Get started (はじめに)」のドキュメントまたは Wrangler のドキュメントを参照してください。

  2. R2 API トークンを作成し、それをバケットに適用します。

    Cloudflare R2 API 認証のドキュメントを参照してください。

    次のトークン プロパティを設定します。

    • Permissions: [Object Read & Write]。

      このアクセス許可で、読み取りと書き込みのアクセス権を付与します。これは、「Cloudflare R2 レプリカを使うか、ストレージを R2 に移行する」で説明されているように、R2 ストレージをレプリケーション ターゲットとして使うときに必要です。

      Azure Databricks から R2 バケットへの読み取り専用アクセスを適用する場合は、代わりに読み取りアクセス権のみを許可するトークンを作成できます。 ただし、これは不要な場合があります。なぜなら、ストレージ資格情報を読み取り専用としてマークすると、このアクセス許可によって付与された書き込みアクセス権は無視されるからです。

    • (省略可能) TTL: バケット データをデータ受信者と共有する期間。

    • (省略可能) Client IP Address Filtering: 指定した受信者 IP アドレスにネットワーク アクセスを制限する場合に選びます。 このオプションを有効にする場合、受信者の IP アドレスを指定し、ワークスペース リージョンの Databricks コントロール プレーン NAT IP アドレスを許可リストに登録する必要があります。

    Azure Databricks コントロール プレーン アドレス」を参照してください。

  3. R2 API トークンの値をコピーします。

    • アクセス キー ID
    • シークレット アクセス キー

    重要

    トークン値は 1 度だけ表示されます。

  4. R2 ホームページで [Account details] に移動し、R2 アカウント ID をコピーします。

ストレージ資格情報を作成する

  1. Azure Databricks で、ワークスペースにログインします。

  2. カタログ アイコン [カタログ] をクリックします。

  3. [ Quick アクセス ] ページで、[ External data > ] ボタンをクリックし、[ Credentials タブに移動して、資格情報の作成 選択します

  4. Storage 資格情報を選択します。

  5. [Cloudflare API トークン][資格情報の種類] を選びます。

  6. 資格情報の名前と、R2 バケットの構成時にコピーした次の値を入力します。

    • アカウント ID
    • アクセス キー ID
    • シークレット アクセス キー
  7. (省略可能) ユーザーにこのストレージ資格情報を使う外部の場所への読み取り専用アクセス権を持たせたい場合は、[詳細オプション][読み取り専用] を選びます。

    Cloudflare R2 レプリカを使うか、ストレージを R2 に移行する」で説明されているように、ストレージ資格情報を使ってレプリケーション ターゲットとして使っている R2 ストレージにアクセスする場合は、このオプションを選ばないでください。

    詳細については、「ストレージ資格情報を読み取り専用 としてマークする」を参照してください。

  8. Create をクリックしてください。

  9. [ストレージ資格情報が作成されました] ダイアログで [外部 ID] をコピーします。

  10. (省略可能) ストレージの資格情報を特定のワークスペースにバインドする。

    既定では、ストレージの資格情報は、メタストアに接続されたどのワークスペース上でも、どの特権ユーザーでも使用できます。 特定のワークスペースからのアクセスのみを許可する場合は、[ワークスペース] タブに移動してワークスペースを割り当てます。 「(省略可能) ストレージの資格情報を特定のワークスペースにバインドする」を参照してください。

次の手順: 外部の場所を作成する

クラウド ストレージを Azure Databricks に接続するための外部の場所を作成する」を参照してください。