보안 클러스터 연결

보안 클러스터 연결을 사용하도록 설정하면 고객 가상 네트워크에는 열린 포트가 없으며 클래식 컴퓨팅 평면의 컴퓨팅 리소스에는 공용 IP 주소가 없습니다. 보안 클러스터 연결은 NPIP(공용 IP 없음)라고도 합니다.

  • 네트워크 수준에서, 각 클러스터는 클러스터 만들기가 진행되는 동안 컨트롤 플레인 보안 클러스터 연결 릴레이에 대한 연결을 시작합니다. 클러스터는 포트 443(HTTPS)을 사용하여 이 연결을 설정하고, 웹 애플리케이션 및 REST API에 사용되는 것과 다른 IP 주소를 사용합니다.
  • 컨트롤 플레인이 논리적으로 새 Databricks Runtime 작업을 시작하거나 다른 클러스터 관리 태스크를 수행하면 이러한 요청은 이 터널을 통해 클러스터로 전송됩니다.
  • 컴퓨팅 평면(VNet)에는 열린 포트가 없으며 클래식 컴퓨팅 평면 리소스에는 공용 IP 주소가 없습니다.

혜택:

  • 보안 그룹에서 포트를 구성하거나 네트워크 피어링을 구성할 필요가 없는 간편한 네트워크 관리
  • 보안이 향상되고 네트워크 관리가 간소화되어 정보 보안 팀은 Databricks를 PaaS 공급자로 신속하게 승인할 수 있음

참고 항목

클래식 컴퓨팅 평면 VNet과 Azure Databricks 컨트롤 플레인 간의 모든 Azure Databricks 네트워크 트래픽은 공용 인터넷이 아닌 Microsoft 네트워크 백본을 가로지릅니다. 보안 클러스터 연결이 사용하지 않도록 설정된 경우에도 마찬가지입니다.

서버리스 컴퓨팅 평면은 클래식 컴퓨팅 평면에 보안 클러스터 연결 릴레이를 사용하지 않지만 서버리스 SQL 웨어하우스 에는 공용 IP 주소가 없습니다 .

보안 클러스터 연결

보안 클러스터 연결 사용

새 Azure Databricks 작업 영역에서 보안 클러스터 연결을 사용하려면 다음 옵션 중 하나를 사용합니다.

  • Azure Portal: 작업 영역을 프로비저닝할 때 네트워킹 탭에서 보안 클러스터 연결(공용 IP 없음)을 사용하여 Azure Databricks 작업 영역 배포 옵션을 로 설정합니다.
  • ARM 템플릿: 새 작업 영역을 만드는 Microsoft.Databricks/workspaces 리소스에 대해 enableNoPublicIp 부울 매개 변수를 true로 설정합니다.

Important

어느 옵션을 사용하든, 보안 클러스터 연결이 적용된 작업 영역을 시작하는 데 사용한 Azure 구독에 Azure 리소스 공급자 Microsoft.ManagedIdentity를 등록해야 합니다. 구독당 한 번만 등록하면 됩니다. 방법은 Azure 리소스 공급자 및 유형을 참조하세요.

이미 VNet 삽입을 사용하는 기존 작업 영역에 보안 클러스터 연결을 추가할 수 있습니다. 기존 작업 영역에 보안 클러스터 연결 추가를 참조 하세요.

ARM 템플릿을 사용하는 경우, Azure Databricks가 작업 영역에 대해 기본(관리형) 가상 네트워크를 만들도록 할지 아니면 자체 가상 네트워크를 사용할지(VNet 삽입)에 따라 다음 템플릿 중 하나에 매개 변수를 추가합니다. VNet 삽입은 새 Azure Databricks 클러스터를 호스트할 자체 VNet을 제공할 수 있는 선택적 기능입니다.

작업 영역 서브넷에서의 송신

보안 클러스터 연결을 사용하도록 설정하면 클러스터 노드에 공용 IP 주소가 없으므로 두 작업 영역 서브넷이 모두 프라이빗 서브넷이 됩니다.

네트워크 송신의 구현 세부 정보는 기본(관리형) VNet을 사용하는지 아니면 선택적 VNet 삽입 기능을 사용하여 작업 영역을 배포할 자체 VNet을 제공하는지에 따라 달라집니다. 자세한 내용은 다음 섹션을 참조하세요.

Important

보안 클러스터 연결을 사용하면 송신 트래픽의 증가로 인해 추가 비용이 발생할 수 있습니다. 비용 최적화된 솔루션이 필요한 소규모 조직의 경우에는 작업 영역을 배포할 때 보안 클러스터 연결을 사용하지 않도록 설정하는 것이 좋을 수 있습니다. 그러나 Microsoft 및 Databricks는 가장 높은 보안 수준의 배포를 진행하기 위해서는 보안 클러스터 연결을 사용할 것을 적극 권장합니다.

기본(관리형) VNet의 송신

Azure Databricks가 만드는 기본 VNet과 보안 클러스터 연결을 사용하는 경우 Azure Databricks는 작업 영역의 서브넷에서 Azure 백본 및 공용 네트워크로의 아웃바운드 트래픽에 대한 NAT 게이트웨이를 자동으로 만듭니다. NAT 게이트웨이는 Azure Databricks에 의해 관리되는 관리형 리소스 그룹 안에 만들어집니다. 이 리소스 그룹과 리소스 그룹 내에 프로비저닝된 리소스는 수정할 수 없습니다.

자동으로 생성된 NAT 게이트웨이에서는 추가 비용이 발생됩니다.

VNet 주입을 사용하여 송신

VNet 삽입을 사용하는 작업 영역에서 보안 클러스터 연결을 사용하도록 설정하는 경우 Databricks는 작업 영역에 안정적인 송신 공용 IP가 있는 것이 좋습니다.

안정적인 송신 공용 IP 주소는 외부 허용 목록에 추가할 수 있으므로 유용합니다. 예를 들어 안정적인 송신 IP 주소를 사용하여 Azure Databricks에서 Salesforce로 연결합니다.

Warning

Microsoft는 2025년 9월 30일에 Azure의 가상 머신에 대한 기본 아웃바운드 액세스 연결이 사용 중지될 것이라고 발표했습니다. 이 공지 사항을 참조하세요. 즉, 안정적인 송신 공용 IP가 아닌 기본 아웃바운드 액세스를 사용하는 기존 Azure Databricks 작업 영역은 해당 날짜 이후에도 계속 작동하지 않을 수 있습니다. Databricks는 해당 날짜 이전에 작업 영역에 대한 명시적 아웃바운드 메서드를 추가하는 것이 좋습니다.

다음 옵션 중 하나를 선택합니다:

  • 어느 정도의 사용자 지정이 필요한 배포의 경우, Azure NAT 게이트웨이를 선택합니다. 작업 영역의 양쪽 서브넷에서 Azure 백본 및 공용 네트워크로의 모든 아웃바운드 트래픽이 통과할 게이트웨이를 구성합니다. 클러스터에 안정적인 송신 공용 IP가 있으며, 사용자 지정 송신 요구 사항의 구성을 수정할 수 있습니다. 이 솔루션은 Azure 템플릿을 사용하여 구현하거나 Azure Portal에서 구현할 수 있습니다.
  • 복잡한 라우팅 요구 사항이 있는 배포나, Azure Firewall 또는 기타 사용자 지정 네트워킹 아키텍처와 같은 송신 방화벽을 갖는 VNet 삽입을 사용하는 배포의 경우, UDR(사용자 정의 경로)이라는 사용자 지정 경로를 사용할 수 있습니다. UDR을 사용하면 작업 영역에 대해 네트워크 트래픽이 필수 엔드포인트로 직접 또는 송신 방화벽을 통해 올바르게 라우팅됩니다. 이러한 솔루션을 사용하는 경우에는 Azure Databricks 보안 클러스터 연결 릴레이 및 Azure Databricks에 대한 사용자 정의 경로 설정에 나열된 그 밖의 필수 엔드포인트에 대해 직접 경로 또는 허용되는 방화벽 규칙을 추가해야 합니다.

Warning

보안 클러스터 연결을 사용하도록 설정된 작업 영역에서 송신 부하 분산 장치를 사용하지 마세요. 프로덕션 시스템에서 송신 부하 분산 장치는 포트 소모 위험을 초래할 수 있습니다.

기존 작업 영역에 보안 클러스터 연결 추가

기존 작업 영역에서 보안 클러스터 연결을 사용하도록 설정할 수 있습니다. 업그레이드하려면 작업 영역에서 VNet 삽입을 사용해야 합니다.

포털 UI, ARM 템플릿 또는 azurerm Terraform 공급자 버전 3.41.0+을 사용할 수 있습니다. Azure Portal을 사용하여 사용자 지정 템플릿을 적용하고 UI에서 매개 변수를 수정할 수 있습니다. Azure Portal UI에서 Azure Databricks 작업 영역 인스턴스 자체를 업그레이드할 수도 있습니다.

Important

이 변경을 하기 전에 방화벽을 사용하거나 클래식 컴퓨팅 평면에서 수신 또는 송신을 제어하기 위해 다른 네트워크 구성을 변경한 경우 이러한 변경 내용이 완전히 적용되려면 방화벽 또는 네트워크 보안 그룹 규칙을 동시에 업데이트해야 할 수 있습니다. 예를 들어 보안 클러스터 연결을 사용하면 컨트롤 플레인에 대한 추가 나가는 연결이 있으며 컨트롤 플레인에서 들어오는 연결은 더 이상 사용되지 않습니다.

업그레이드 관련 문제가 발생하여 변경 내용을 일시적으로 롤백해야 하는 경우 보안 클러스터 연결로의 업그레이드 임시 롤백을 참조하세요.

1단계: 모든 컴퓨팅 리소스 중지

이 업그레이드를 시도하기 전에 클러스터, 풀 또는 클래식 SQL 웨어하우스와 같은 모든 컴퓨팅 리소스를 중지해야 합니다. 작업 영역 컴퓨팅 리소스를 실행할 수 없거나 업그레이드 시도가 실패합니다. Databricks는 가동 중지 시간에 대한 업그레이드 타이밍을 계획하는 것이 좋습니다.

2단계: 작업 영역 업데이트

공용 IP 없음 매개 변수(템플릿enableNoPublicIp의 경우)를 업데이트해야 합니다. True(true) 값으로 설정합니다.

다음 방법 중 하나를 사용합니다.

Azure Portal UI 사용(템플릿 없음)

  1. Azure Portal에서 Azure Databricks Service 인스턴스로 이동합니다.

  2. 설정 아래의 왼쪽 탐색에서 네트워킹을 클릭합니다.

  3. 공용 IP 없음을 선택합니다.

    참고 항목

    동시에 공용 네트워크 액세스허용 필수 NSG 규칙의 값을 사용 사례에 적합한 값으로 설정하여 Azure Private Link를 사용하도록 선택할 수도 있습니다. 그러나 Private Link를 사용하도록 설정하려면 추가 구성 및 확인이 필요하므로 보안 클러스터 연결을 위해 이 업데이트 후 별도의 단계로 수행할 수 있습니다. 중요한 세부 정보 및 요구 사항은 Azure Private Link 사용을 참조하세요.

  4. 저장을 클릭합니다.

네트워크 업데이트를 완료하는 데 15분 이상 걸릴 수 있습니다.

Azure Portal을 사용하여 업데이트된 ARM 템플릿 적용

참고 항목

관리되는 리소스 그룹에 사용자 지정 이름이 있는 경우 템플릿을 적절하게 수정해야 합니다. 자세한 내용은 Azure Databricks 계정 팀에 문의하세요.

  1. 다음 업그레이드 ARM 템플릿 JSON을 복사합니다.

      {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "location": {
                "defaultValue": "[resourceGroup().location]",
                "type": "String",
                "metadata": {
                    "description": "Location for all resources."
                }
            },
            "workspaceName": {
                "type": "String",
                "metadata": {
                    "description": "The name of the Azure Databricks workspace to create."
                }
            },
            "apiVersion": {
                "defaultValue": "2023-02-01",
                "allowedValues": [
                   "2018-04-01",
                   "2020-02-15",
                   "2022-04-01-preview",
                   "2023-02-01"
                ],
                "type": "String",
                "metadata": {
                    "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions"
                }
            },
            "enableNoPublicIp": {
                "defaultValue": true,
                "type": "Bool"
            },
            "pricingTier": {
                "defaultValue": "premium",
                "allowedValues": [
                    "premium",
                    "standard",
                    "trial"
                ],
                "type": "String",
                "metadata": {
                    "description": "The pricing tier of workspace."
                }
            },
            "publicNetworkAccess": {
              "type": "string",
              "defaultValue": "Enabled",
              "allowedValues": [
                "Enabled",
                "Disabled"
              ],
              "metadata": {
                "description": "Indicates whether public network access is allowed to the workspace - possible values are Enabled or Disabled."
              }
            },
            "requiredNsgRules": {
              "type": "string",
              "defaultValue": "AllRules",
              "allowedValues": [
                "AllRules",
                "NoAzureDatabricksRules"
              ],
              "metadata": {
                "description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules or NoAzureDatabricksRules."
              }
            }
            },
        "variables": {
            "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]",
            "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]"
        },
        "resources": [
            {
                "type": "Microsoft.Databricks/workspaces",
                "apiVersion": "[parameters('apiVersion')]",
                "name": "[parameters('workspaceName')]",
                "location": "[parameters('location')]",
                "sku": {
                    "name": "[parameters('pricingTier')]"
                },
                "properties": {
                    "ManagedResourceGroupId": "[variables('managedResourceGroupId')]",
                    "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
                    "requiredNsgRules": "[parameters('requiredNsgRules')]",
                    "parameters": {
                        "enableNoPublicIp": {
                            "value": "[parameters('enableNoPublicIp')]"
                        }
                    }
                }
            }
        ]
    }
    
    1. Azure Portal 사용자 지정 배포 페이지로 이동합니다.

    2. 편집기에서 사용자 고유의 템플릿을 빌드합니다.를 클릭합니다.

    3. 복사한 템플릿의 JSON에 붙여넣습니다.

    4. 저장을 클릭합니다.

    5. 매개 변수를 작성합니다.

    6. 기존 작업 영역을 업데이트하려면 설정해야 하는 작업 영역 이외의 enableNoPublicIp 작업 영역을 만드는 데 사용한 것과 동일한 매개 변수를 true사용합니다. 기존 VNet의 구독, 지역, 작업 영역 이름, 서브넷 이름, 리소스 ID를 설정합니다.

      Important

      리소스 그룹 이름, 작업 영역 이름 및 서브넷 이름은 기존 작업 영역과 동일하므로 이 명령은 새 작업 영역을 만드는 대신 기존 작업 영역을 업데이트합니다.

    7. 검토 + 만들기를 클릭합니다.

    8. 유효성 검사 문제가 없으면 만들기를 클릭합니다.

    네트워크 업데이트를 완료하는 데 15분 이상 걸릴 수 있습니다.

Terraform을 사용하여 업데이트 적용

Terraform으로 만든 작업 영역의 경우 작업 영역을 다시 만들지 않고도 작업 영역을 업데이트할 수 있습니다.

Important

버전 3.41.0 이상을 사용해야 terraform-provider-azurerm 하므로 필요에 따라 Terraform 공급자 버전을 업그레이드합니다. 이전 버전에서는 이러한 설정을 변경하는 경우 작업 영역을 다시 만들려고 시도합니다.

다음 작업 영역 설정을 변경합니다.

  • no_public_ip 블록에서 . custom_parameters 로 변경할 falsetrue수 있습니다.

네트워크 업데이트를 완료하는 데 15분 이상 걸릴 수 있습니다.

3단계: 업데이트 유효성 검사

작업 영역이 활성 상태이면 업데이트 작업이 완료됩니다. 업데이트가 적용되었는지 확인합니다.

  1. 웹 브라우저에서 Azure Databricks를 엽니다.

  2. 작업 영역의 클러스터 중 하나를 시작하고 클러스터가 완전히 시작될 때까지 기다립니다.

  3. Azure Portal에서 작업 영역 인스턴스로 이동합니다.

  4. 관리되는 리소스 그룹 필드 옆에 있는 파란색 ID를 클릭합니다.

  5. 해당 그룹에서 클러스터의 VM을 찾고 그 중 하나를 클릭합니다.

  6. VM 설정의 속성 내에서 네트워킹 영역에서 필드를 찾습니다.

  7. 공용 IP 주소 필드가 비어 있는지 확인합니다.

    채워지면 VM에 공용 IP 주소가 있습니다. 즉, 업데이트에 실패했습니다.

오류 복구

작업 영역 업데이트가 실패하면 작업 영역이 실패한 상태로 표시될 수 있습니다. 즉, 작업 영역이 컴퓨팅 작업을 수행할 수 없습니다. 실패한 작업 영역을 다시 활성 상태로 복원하려면 업데이트 작업의 상태 메시지의 지침을 검토합니다. 문제가 해결되면 실패한 작업 영역에서 업데이트를 다시 실행합니다. 업데이트가 성공적으로 완료될 때까지 단계를 반복합니다.

보안 클러스터 연결로 업그레이드의 임시 롤백

배포 중에 문제가 발생하면 프로세스를 임시 롤백으로 되돌릴 수 있지만 나중에 업그레이드를 계속하기 전에 임시 롤백 이외의 작업 영역에서 SCC를 사용하지 않도록 설정하는 것은 지원 되지 않습니다. 이 작업이 일시적으로 필요한 경우 위의 지침에 따라 업그레이드할 수 있지만 true 대신 설정 enableNoPublicIp 하면 false 됩니다.