Cloudflare R2に接続するためのストレージ認証情報を作成する
この記事では、Unity Catalog でストレージ認証情報を作成して Cloudflare R2 に接続する方法について説明します。 Cloudflare R2オブジェクトストレージでは、エグレス料金はかかりません。 共有するデータを R2 に複製または移行すると、エグレス料金を発生させることなく、クラウドやリージョン間でデータを共有できるようになります。
注:
Unity Catalog Databricks on AWSに対して 2 つのクラウド ストレージ オプション ( AWS S3バケットと Cloudflare R2 バケット) をサポートしています。 Cloudflare R2 は主に、クラウド プロバイダーのデータ送信料金を回避したい Delta Sharing の使用例を対象としています。 S3 は他のほとんどのユースケースに適しています。 「Delta Sharing の出力コストの監視と管理 (プロバイダー向け)」および「AWS S3 に接続するためのストレージ認証情報の作成」を参照してください。
Unity Catalog によって管理されるデータのストレージ場所として R2 バケットを使用するには、R2 バケットへのアクセスを許可するストレージ認証情報を作成し、ストレージ認証情報とバケット パスを参照する外部ロケーションを作成する必要があります。
ストレージ資格情報は、クラウドストレージにアクセスするための長期的なクラウド資格情報をカプセル化します。
外部ロケーションには、ストレージ資格情報とクラウドストレージパスへの参照が格納されています。
この記事では、ストレージ資格情報の作成に焦点を当てます。
詳細については、「Unity Catalogを使用してクラウドオブジェクトストレージに接続する」を参照してください。
要件
Unity Catalogが有効化されたDatabricksワークスペース
Databricks Runtime 14.3 以降、または SQLwarehouse 2024.15 以降
エラー メッセージ
No FileSystem for scheme "r2”
が表示された場合は、コンピュートのバージョンがサポートされていない可能性があります。Cloudflareアカウント。 https://dash.cloudflare.com/sign-up を参照してください。
Cloudflare R2管理者ロール。 Cloudflareの役割に関するドキュメントを参照してください。
CREATE STORAGE CREDENTIAL
ワークスペースにアタッチされているUnity Catalogメタストアに対する権限。 アカウント管理者とメタストア管理者には、デフォルトでこの権限が与えられます。
R2バケットの構成
Cloudflare R2バケットを作成します。
CloudflareダッシュボードまたはCloudflare Wranglerツールを使用できます。
Cloudflare R2の「はじめに」のドキュメントまたはWranglerのドキュメントを参照してください。
R2 API トークンを作成し、バケットに適用します。
Cloudflare R2 API 認証ドキュメントを参照してください。
次のトークンのプロパティを設定します。
権限: オブジェクトの読み取りと書き込み。
このアクセス許可は、 「Cloudflare R2 レプリカの使用またはストレージの R2 への移行」で説明されているように、R2 ストレージをレプリケーションターゲットとして使用する場合に必要となる読み取りおよび書き込みアクセス権を付与します。
Databricks から R2 バケットへの読み取り専用アクセスを強制する場合は、代わりに読み取りアクセスのみを許可するトークンを作成できます。 ただし、ストレージ資格情報を読み取り専用としてマークすることができ、このアクセス許可によって付与された書き込みアクセスは無視されるため、これは不要な場合があります。
(オプション) TTL: バケットデータをデータ受信者と共有する時間の長さ。
(オプション) クライアント IP アドレス フィルタリング: ネットワーク アクセスを指定した受信者 IP アドレスに制限する場合に選択します。 このオプションが有効な場合は、受信者の IP アドレスを指定し、ワークスペース領域の Databricks コントロール プレーン NAT IP アドレスをホワイトリストに登録する必要があります。
Databricks コントロール プレーンからの送信 IPを参照してください。
R2 API トークンの値をコピーします。
アクセスキーID
シークレットアクセスキー
重要
トークン値は 1 回だけ表示されます。
R2 ホームページで、 「アカウントの詳細」に移動し、R2 アカウント ID をコピーします。
ストレージ資格情報を作成する
Databricks で、ワークスペースにログインします。
[ カタログ]をクリックします 。
[ カタログ ] ウィンドウの上部にある [ 追加 ] アイコンをクリックし、メニューから [ ストレージ認証情報の追加] を選択します。
このオプションは、
CREATE STORAGE CREDENTIAL
権限がない場合には表示されません。または、クイック アクセスページで[外部データ >]ボタンをクリックし、 [ストレージ資格情報] タブに移動して[資格情報の作成]を選択します。
Cloudflare API トークンの認証情報の種類を選択します。
認証情報の名前と、R2バケットの設定時にコピーした次の値を入力します。
アカウントID
アクセスキーID
シークレットアクセスキー
(オプション)このストレージ資格情報を使用する外部ロケーションへの読み取り専用アクセス権をユーザーに付与する場合は、[詳細オプション]で[読み取り専用]を選択します。
「Cloudflare R2レプリカの使用またはR2へのストレージの移行」の説明に従って、レプリケーションターゲットとして使用しているR2ストレージにストレージ認証情報を使用してアクセスする場合は、このオプションを選択しないでください。
詳細については、「ストレージ資格情報を読み取り専用としてマークする」を参照してください。
[作成]をクリックします。
[ストレージ資格情報が作成されました]ダイアログで、[外部ID]をコピーします。
(オプション) ストレージ資格情報を特定のワークスペースにバインドします。
デフォルトでは、ストレージ資格情報は、メタストアに接続された任意のワークスペース上の任意の特権ユーザーが使用できます。 特定のワークスペースからのアクセスのみを許可する場合は、ワークスペースタブに移動してワークスペースを割り当てます。 「(オプション) 特定のワークスペースにストレージ資格情報を割り当てる」を参照してください。
次のステップ: 外部位置情報を作成する
「外部ロケーションを作成してクラウドストレージをDatabricksに接続する」を参照してください。