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

Databricksサーバーレス プライベートGitを構成する

注記

Databricksサーバーレス Private Gitはパブリック プレビュー段階です。 サーバレス コンピュート リソースが外部リソースに接続する場合、コンピュートとネットワークのコストが適用されます。 請求の詳細については、 Databricksサーバーレス ネットワーク コストについて」を参照してください。

Databricksサーバレス Private Git使用すると、サーバレス コンピュートと PrivateLink を使用して、 DatabricksワークスペースをプライベートGitサーバーに接続できます。 インターネット ユーザーがアクセスできない場合、Git サーバーはプライベートになります。

次の図は、システム全体のアーキテクチャを示しています。

Databricksサーバレス プライベートGitアーキテクチャ

サーバレス Private Gitを使用する理由

Gitサーバー プロキシと比較して、サーバーレス プライベートGitには次の利点があります。

  • サーバレスプライベート Git は、 Git 要求を受けた場合にのみサーバレスコンピュートを取得し、使用していないときは非アクティブにすることができます。 これに対し、 Git プロキシでは、ユーザが Git 要求を送信するときにプロキシクラスタリングがアクティブである必要があります。
  • サーバレスプライベートGit は PrivateLink を使用して、プライベート git インスタンスに安全に接続します。

サーバレス Private Gitのセットアップ

  1. ステップに従って、プライベートGitサーバーのVPCエンドポイント サービスをセットアップします。 このVPCエンドポイントを使用すると、サーバーレスからネットワークロードバランサー (NLB) の背後にあるネットワークのバックエンドへのAWS PrivateLink接続を作成できます。
  2. 管理者は、各 Git サーバーに対して Databricks NCC に AWS インターフェイス VPC エンドポイントを作成する必要があります。
  3. ネットワーク接続構成 (NCC) を作成して、ネットワーク ロード バランサーへの出力を構成します。

ネットワーク接続構成を作成する

  1. プライベート エンドポイント ルールを追加します。

プライベート エンドポイント ルールを追加する

  1. NCC プライベート エンドポイント ルールを設定してから少なくとも 10 分待ってから、ワークスペース設定でサーバレス プライベートGitプレビューを有効にします。
  2. ワークスペースで Git 操作を実行します。UI インジケーターにより、サーバーレス プライベートGitがアクティブであることが確認されます。 サーバレスコンピュートの起動中、インジケーターが表示されるまでに数秒かかる場合があります。

設定後、サーバレスプライベート Gitは、クラシック Git プロキシやエンタープライズプライベート Gitなど、すでにプロビジョニングしている他の形式のプライベート Git接続よりも優先されます。Git プロキシ クラスタリングを実行している場合は、サーバレス プライベート Gitの設定後に停止する。

追加構成

構成ファイルを使用して Git 操作をカスタマイズします。

  1. 以下の仕様に従って、 /Workspace/.git_settings/config.jsonに設定ファイルを作成します。
  2. すべての Git ユーザーに、構成ファイルとそれが参照するすべての CA 証明書ファイルに対する表示権限を付与します。
  3. Git フォルダーの複製などの Git 操作を実行して、Git リモートへの接続を検証します。
  4. 構成ファイルの変更を適用するには、最大 1 分かかる場合があります。

トップレベルの設定ファイル構造

JSON
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}

defaultセクション (オプション)

特定のリモートによって上書きされない限り、グローバル デフォルトはすべての Git 操作に適用されます。

フィールド

Type

必須

デフォルト値

説明

sslVerify

boolean

No

True

SSL 証明書を検証するかどうか。

caCertPath

string

No

"" (空)

カスタム CA 証明書へのワークスペース パス。

httpProxy

string

No

"" (空)

Git トラフィックをルーティングするための HTTP プロキシ。

customHttpPort

integer

No

未指定

Git サーバーのカスタム HTTP ポート。

remotesセクション (オプション)

個々のリモート Git サーバーの設定を定義するオブジェクトのリスト。これらの設定はリモートごとにdefaultブロックを上書きします。

フィールド

Type

必須

デフォルト値

説明

urlPrefix

string

Yes

Git リモート URL に一致するプレフィックス。

sslVerify

boolean

No

True

SSL 証明書を検証するかどうか。

caCertPath

string

No

"" (空)

このリモートのカスタム CA 証明書パスへのワークスペース パス。

httpProxy

string

No

"" (空)

Git トラフィックをルーティングするための HTTP プロキシ。

customHttpPort

integer

No

未指定

Git サーバーのカスタム HTTP ポート。

リモート固有の構成がない構成例

JSON
{
"default": {
"sslVerify": false
}
}

完全な構成例

JSON
{
"default": {
"sslVerify": true,
"caCertPath": "/Workspace/my_ca_cert.pem",
"httpProxy": "https://git-proxy-server.company.com",
"customHttpPort": "8080"
},
"remotes": [
{
"urlPrefix": "https://my-private-git.company.com/",
"caCertPath": "/Workspace/my_ca_cert_2.pem"
},
{
"urlPrefix": "https://another-git-server.com/project.git",
"sslVerify": false
}
]
}

付記

  • defaultセクションは少なくとも部分的に存在している必要があります。
  • remotesセクションはオプションです。含める場合、各エントリにはurlPrefixフィールドを含める必要があります。
  • 指定されていないフィールドではデフォルト値が使用されます。
  • 不明なフィールドは無視されます。

その他のセキュリティ推奨事項

セキュア エグレス ゲートウェイが有効になっている場合は、特定のワークスペースに適用されているアカウント コンソールのネットワーク ポリシーで、許可されたインターネットの宛先に Git サーバーの完全修飾ドメイン名 (FQDN) が含まれていることを確認します。

ワークスペースに、許可されたインターネットの宛先に Git サーバーの FQDN が含まれていることを確認する

制限

  • サーバーレス プロキシ ログは利用できません。
  • サーバレス Private Gitサーバレス リージョンでのみ使用できます。 サポートされているリージョンの一覧については、 「Databricks クラウドとリージョン」を参照してください。
  • 複数のリージョンのワークスペースにサービスを提供する VPC エンドポイント サービスを作成することはできません。現在、AWS NCC はリージョンオブジェクトであり、マルチリージョン VPC エンドポイントをサポートしていません。別のリージョンの別のワークスペースを Git サーバーに接続するには、新しいリージョンに別の NLB と VPC エンドポイント サービスを設定します。