다음을 통해 공유


풀 모범 사례

이 문서에서는 풀의 정의와 풀을 가장 잘 구성하는 방법을 설명합니다. 풀을 만드는 방법에 대한 자세한 내용은 풀 구성 참조를 참조하세요.

풀 고려 사항

풀을 만들 때 다음을 고려합니다.

  • 대상 워크로드에 따라 인스턴스 유형 및 Azure Databricks Runtime을 사용하여 풀 만들기
  • 가능한 경우 스폿 인스턴스로 풀을 채워 비용 줄이기 스폿 풀만 작업자 노드로 사용합니다. 드라이버 노드는 주문형 인스턴스를 사용해야 합니다.
  • 짧은 실행 시간과 엄격한 실행 시간 요구 사항을 갖는 작업의 경우 주문형 인스턴스로 풀 채우기
  • 풀 태그 및 클러스터 태그를 사용하여 청구 관리하기
  • 클러스터에서 인스턴스가 필요할 때 즉시 사용할 수 있도록 풀을 미리 채우기

워크로드에 따라 풀 만들기

조직에서 일반적으로 사용하는 각 인스턴스 유형 및 Azure Databricks Runtime에 대해 풀을 만들면 인스턴스 획득 시간을 최소화할 수 있습니다. 예를 들어, 대부분의 데이터 엔지니어링 클러스터에서 인스턴스 형식 A를 사용하고, 데이터 과학 클러스터에서 인스턴스 형식 B를 사용하며, 분석 클러스터에서 인스턴스 형식 C를 사용하는 경우 각 인스턴스 유형으로 풀을 만듭니다.

스폿 인스턴스 풀 사용

드라이버 노드와 작업자 노드의 요구 사항이 서로 다른 경우 각각에 대해 서로 다른 풀을 사용합니다.

Azure Databricks는 드라이버 노드에 스폿 인스턴스를 사용하지 않는 것이 좋습니다. 작업자 노드에 스폿 풀을 사용하는 경우 주문형 풀을 드라이버 유형으로 선택합니다.

짧은 실행 시간과 엄격한 실행 시간 요구 사항을 갖는 작업의 경우 주문형 인스턴스를 사용하도록 풀을 구성합니다. 주문형 인스턴스를 사용하여, 획득된 인스턴스가 스폿 시장에서 더 높은 입찰자에게 가는 일을 방지합니다.

대화형 개발을 지원하는 클러스터 또는 안정성보다 비용 절감이 우선되는 작업의 경우 스폿 인스턴스를 사용하도록 풀을 구성합니다.

풀을 태그하여 비용 및 청구 관리하기

풀에 올바른 비용 센터 태그를 지정하면 비용 및 사용량 청구를 관리할 수 있습니다. 여러 개의 사용자 지정 태그를 사용하여 여러 비용 센터를 하나의 풀에 연결할 수 있습니다. 단, 풀에서 클러스터가 만들어질 때 태그가 어떤 식으로 전파되는지를 이해하는 것이 중요합니다. 풀의 태그는 기본 클라우드 공급자 인스턴스로 전파되지만 클러스터의 태그는 전파되지 않습니다. 클라우드 공급자 컴퓨팅 비용의 청구를 관리하는 데 필요한 모든 사용자 지정 태그를 풀에 적용합니다.

풀 태그와 클러스터 태그는 모두 Azure Databricks 청구로 전파됩니다. 클러스터 및 풀 태그의 조합을 사용하여 Azure Databricks 단위의 청구를 관리할 수 있습니다.

자세한 내용은 태그를 사용하여 사용량 모니터링을 참조 하세요.

풀을 구성하여 비용 제어하기

다음 구성 옵션을 사용하여 풀 비용을 제어할 수 있습니다.

  • 작동하지 않는 실행 중인 인스턴스에 대한 비용을 지불하지 않도록 최소 유휴 인스턴스를 0으로 설정합니다. 이로 인해 클러스터가 새 인스턴스를 획득해야 하는 경우 시간이 늘어날 수 있습니다.

  • 예상 사용량에 따라 최대 용량 을 설정합니다. 이렇게 하면 풀의 최대 사용된 인스턴스 및 유휴 인스턴스의 개수에 최댓값이 설정됩니다. 작업 또는 클러스터가 풀에서 최대 용량의 인스턴스를 요청하는 경우에는 요청이 실패하고 클러스터가 더 많은 인스턴스를 획득하지 못합니다. 따라서 Databricks는 엄격한 인스턴스 할당량 또는 예산 제약 조건이 있는 경우에만 최대 용량을 설정할 것을 권장합니다.

  • 인스턴스가 클러스터에서 해제되는 시점과 풀에서 삭제되는 시점 사이에 버퍼가 제공하도록 유휴 인스턴스 자동 종료 시간을 설정합니다. 예약된 작업에 대해 인스턴스의 가용성을 보장하면서 비용을 최소화할 수 있는 시간으로 설정합니다. 작업 A는 오전 8시에 실행되도록 예약되었고 완료하는 데 40분이 걸리며 작업 B는 오전 9시에 실행되도록 예약되었고 완료하는 데 30분이 걸린다면 작업 A가 완료되어 때 풀로 반환된 인스턴스를 작업 B가 시작되는 시점에 사용할 수 있도록 유휴 인스턴스 자동 종료 값을 20분으로 설정합니다. 그러면 인스턴스는 다른 클러스터에서 클레임하지 않는 한 작업 B가 종료된 시점으로부터 20분 후에 종료됩니다.

풀 미리 채우기

풀을 완전히 활용하려면 새로 만든 풀을 미리 채우는 것이 좋습니다. 풀 구성에서 최소 유휴 인스턴스를 0보다 큰 값으로 설정합니다. 또는 이 값을 0으로 설정하라는 권장 사항을 따르는 경우에는 새로 만든 풀에 클러스터가 액세스할 수 있는 인스턴스가 있도록 시작 작업을 사용합니다.

시작 작업을 사용하면 유연한 실행 시간 요구 사항을 갖는 작업이 더 엄격한 성능 요구 사항을 갖는 작업 전에 또는 사용자가 대화형 클러스터의 사용을 시작하기 전에 실행되도록 예약할 수 있습니다. 작업이 완료되면 작업에 사용된 인스턴스가 풀로 다시 해제됩니다. 최소 유휴 인스턴스 설정을 0으로 설정하고, 유휴 인스턴스 자동 종료 시간을 유휴 인스턴스를 후속 작업에서 계속 사용할 수 있을 만큼 충분히 높게 설정하세요.

시작 작업을 사용하면 풀 인스턴스를 늘리고, 풀을 채우고, 다운스트림 작업 또는 대화형 클러스터에 계속 사용할 수 있는 상태로 유지할 수 있습니다.