Databricks サーバレス プライベート Git の始め方
Databricks サーバレス プライベート Git は パブリック プレビュー段階です。 サーバレス コンピュート リソースが外部リソースに接続することで発生するコンピュートおよびネットワーク費用には料金がかかります。 請求に関する詳細については Databricksサーバレスのネットワークコストを理解するを参照ください。
サーバレスプライベートGitとは
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 操作を試してください。サーバーレス Private 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
}
'デフォルト' セクション (オプション)
グローバルデフォルトは、特定のリモートによってオーバーライドされない限り、すべての Git 操作に適用されます。
フィールド | Type | 必須 | デフォルト値 | 説明 |
---|---|---|---|---|
sslVerify | boolean | No | True | SSL 証明書を検証するかどうか。 |
caCertPath | string | No | "" (空) | カスタム CA 証明書へのワークスペース パス。 |
httpProxy | string | No | "" (空) | Git トラフィックをルーティングするための HTTP プロキシ。 |
customHttpPort | integer | No | 未指定 | Git サーバーのカスタム HTTP ポート。 |
'remotes' セクション (オプション)
個々のリモート Git サーバーの設定を定義するオブジェクトのリスト。これらの設定は、リモートごとに「デフォルト」ブロックを上書きします。
フィールド | 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 エンドポイント サービスをセットアップします。