この記事では、Unity Catalog で Cloudflare R2 に接続するためのストレージ資格情報を作成する方法について説明します。 Cloudflare R2 オブジェクト ストレージにはエグレス料金はかかりません。 共有するデータを R2 にレプリケートまたは移行すると、エグレス料金を発生させることなく、クラウドやリージョン間でデータを共有できます。
ストレージ資格情報には、クラウド ストレージへのアクセスを提供する長期的なクラウド資格情報が含まれています。 Unity カタログで 外部の場所 を作成して外部ストレージへのアクセスを管理する場合は、ストレージ資格情報とクラウド ストレージ パスを参照します。
ストレージ資格情報と外部の場所の詳細については、「 Unity カタログを使用してクラウド オブジェクト ストレージに接続する」を参照してください。
Unity カタログでサポートされるその他のクラウド ストレージ オプションについては、Unity カタログ でサポートされているクラウド ストレージ オプションに関する情報を参照してください。
注
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 バケットを構成する
Cloudflare R2 バケットを作成します。
Cloudflare ダッシュボードまたは Cloudflare Wrangler ツールを使用できます。
Cloudflare R2 の「Get started (はじめに)」のドキュメントまたは Wrangler のドキュメントを参照してください。
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 コントロール プレーン アドレス」を参照してください。
R2 API トークンの値をコピーします。
- アクセス キー ID
- シークレット アクセス キー
重要
トークン値は 1 度だけ表示されます。
R2 ホームページで [Account details] に移動し、R2 アカウント ID をコピーします。
ストレージ資格情報を作成する
Azure Databricks で、ワークスペースにログインします。
[
カタログ。
[ Quick アクセス ] ページで、[ External data > ] ボタンをクリックし、[ Credentials タブに移動して、資格情報の作成 選択します。
Storage 資格情報を選択します。
[Cloudflare API トークン] の [資格情報の種類] を選びます。
資格情報の名前と、R2 バケットの構成時にコピーした次の値を入力します。
- アカウント ID
- アクセス キー ID
- シークレット アクセス キー
(省略可能) ユーザーにこのストレージ資格情報を使う外部の場所への読み取り専用アクセス権を持たせたい場合は、[詳細オプション] で [読み取り専用] を選びます。
「Cloudflare R2 レプリカを使うか、ストレージを R2 に移行する」で説明されているように、ストレージ資格情報を使ってレプリケーション ターゲットとして使っている R2 ストレージにアクセスする場合は、このオプションを選ばないでください。
詳細については、「ストレージ資格情報を読み取り専用 としてマークする」を参照してください。
Create をクリックしてください。
[ストレージ資格情報が作成されました] ダイアログで [外部 ID] をコピーします。
(省略可能) ストレージの資格情報を特定のワークスペースにバインドする。
既定では、ストレージの資格情報は、メタストアに接続されたどのワークスペース上でも、どの特権ユーザーでも使用できます。 特定のワークスペースからのアクセスのみを許可する場合は、[ワークスペース] タブに移動してワークスペースを割り当てます。 「(省略可能) ストレージの資格情報を特定のワークスペースにバインドする」を参照してください。
次の手順: 外部の場所を作成する
「クラウド ストレージを Azure Databricks に接続するための外部の場所を作成する」を参照してください。