Databricksサーバーレス Private Gitを使ってみる
Databricksサーバーレス Private Gitはパブリック プレビュー段階です。 サーバレス コンピュート リソースが外部リソースに接続する場合、コンピュートとネットワークのコストが適用されます。 請求の詳細については、 Databricksサーバーレス ネットワーク コストについて」を参照してください。
Databricksサーバレス Private Git使用すると、サーバレス コンピュートと PrivateLink を使用して、 DatabricksワークスペースをプライベートGitサーバーに接続できます。 Git サーバーは、インターネットからアクセスできない場合はプライベートです。
次の図は、システム全体のアーキテクチャを示しています。

サーバレスプライベートGitを使用する理由
Git プロキシと比較して、サーバレスプライベートGit には次の利点があります。
-
サーバレスプライベート Git は、 Git 要求を受けた場合にのみサーバレスコンピュートを取得し、使用していないときは非アクティブにすることができます。 これに対し、 Git プロキシでは、ユーザが Git 要求を送信するときにプロキシクラスタリングがアクティブである必要があります。
-
サーバレスプライベートGit は PrivateLink を使用して、プライベート git インスタンスに安全に接続します。
サーバレスプライベートGitの設定
-
手順に従って、 プライベート Git サーバーの VPC エンドポイントサービスをセットアップします。この VPC エンドポイントを使用すると、サーバレスから NLB の背後にあるネットワーク内のバックエンドへの AWS PrivateLink 接続を作成できます。
-
管理者は、各 Git サーバーに対して Databricks NCC に AWS インターフェイス VPC エンドポイントを作成する必要があります。ワークスペースが複数のプライベート Git サーバーに接続する必要がある場合、管理者は各 Git サーバーに対して Databricks NCC に AWS インターフェイス VPC エンドポイントを作成する必要があります。
-
ネットワーク接続構成 (NCC) を作成して、ネットワーク ロード バランサーへのエグレスを構成します。このステップの考慮事項は次のとおりです。
- プライベート Git のワークスペースに構成できる NCC は 1 つだけです。ワークスペースが複数のプライベート Git サーバーに接続する必要がある場合は、同じ NCC を使用して接続できることを確認します。
- リージョンでサポートされる NCC の数や NCC に接続できるワークスペースの数などの制限については、「サーバーレス コンピュート アクセス用のファイアウォールの構成」に記載されています。

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

- NCC プライベート エンドポイント ルールを設定してから少なくとも 10 分待ってから、ワークスペース レベルで、プレビュー ページでサーバーレス プライベートGitパブリック プレビューを有効にします。
- ワークスペースに移動し、Git 操作を試してください。サーバレス プライベート Gitの UI インジケータが表示されます。 このページの読み込みには数秒かかる場合があります。
設定後、サーバレスプライベート Gitは、クラシック Git プロキシやエンタープライズプライベート Gitなど、すでにプロビジョニングしている他の形式のプライベート Git接続よりも優先されます。Git プロキシ クラスタリングを実行している場合は、サーバレス プライベート Gitの設定後に停止する。
追加構成
構成を使用して git 操作をカスタマイズします。JSON ファイル。
/Workspace/.git_settings/config.jsonで設定ファイルを作成します。- すべての Git ユーザーに、構成ファイルとそれによって参照されるすべての CA 証明書ファイルに対する表示権限を付与します。
- Git と対話して、サーバー上のリモートリポジトリの Git フォルダーの複製など、Git リモートへの接続を検証します。
- 設定ファイルへの変更が適用されるまでに最大 1 分かかる場合があります。
トップレベルの設定ファイル構造
{
"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 ポート。 |
リモート固有の構成がない構成例
{
"default": {
"sslVerify": false
}
}
完全な構成例
{
"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 が含まれていることを確認します。

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