다음을 통해 공유


FinOps 허브 템플릿

이 문서에서는 FinOps Hubs 배포 템플릿에 포함된 항목에 대한 자세한 요약을 제공합니다. 배포를 튜닝하기 위한 가이드로 사용하거나 조직의 요구 사항을 충족하기 위해 템플릿에 만들 수 있는 사용자 지정을 알릴 수 있습니다. 이 문서에서는 템플릿을 배포하는 데 필요한 필수 구성 요소, 사용자 지정할 수 있는 입력 매개 변수, 배포할 리소스 및 템플릿 출력에 대해 설명합니다. 템플릿 출력을 사용하여 Power BI, 데이터 탐색기 또는 기타 도구의 허브 인스턴스에 연결할 수 있습니다.

FinOps 허브에는 안전하고 확장 가능한 FinOps 플랫폼을 제공하는 많은 리소스가 포함되어 있습니다. 상호 작용할 주요 리소스는 다음과 같습니다.

  • 고급 분석을 위한 확장 가능한 데이터 저장소인 Kusto(데이터 탐색기)(선택 사항).
  • 데이터 수집을 위해 중간 저장 영역으로 사용되는 스토리지 계정(Data Lake Storage Gen2)입니다.
  • 데이터 수집 및 정리를 관리하는 Data Factory 인스턴스입니다.

Important

템플릿을 사용하려면 Cost Management 내보내기를 만들어 포함된 스토리지 계정의 msexports 컨테이너에 데이터를 게시해야 합니다. 자세한 내용은 새 허브 만들기를 참조하세요.


필수 조건

템플릿을 배포하기 전에 다음 필수 구성 요소가 충족되는지 확인합니다.


매개 변수

배포를 사용자 지정하는 데 사용할 수 있는 매개 변수는 다음과 같습니다.

매개 변수 형식 설명 기본값
hubName 문자열 선택 사항. 허브의 이름입니다. 고유한 리소스 이름을 확인하는 데 사용됩니다. "finops-hub"
location 문자열 선택 사항. 모든 리소스를 만들어야 하는 Azure 위치입니다. https://aka.ms/azureregions을 참조하세요. 배포와 동일
storageSku 문자열 선택 사항. 사용할 스토리지 SKU입니다. LRS = 최저 비용, ZRS = 고가용성. 참고 표준 SKU는 Data Lake gen2 스토리지에 사용할 수 없습니다. 허용되는 값: Premium_LRS, Premium_ZRS. "Premium_LRS"
dataExplorerName 문자열 선택 사항. 고급 분석에 사용할 Azure Data Explorer 클러스터의 이름입니다. 비어 있으면 Azure Data Explorer가 배포되지 않습니다. 모니터링되는 비용에서 $2-5M/mo 이상이 있는 경우 Power BI와 함께 사용해야 합니다. 기본값: ""(사용하지 않음)
dataExplorerSkuName 문자열 선택 사항. Azure Data Explorer SKU의 이름입니다. 기본값: "Dev(SLA 없음)_Standard_E2a_v4".
dataExplorerSkuTier 문자열 선택 사항. Azure Data Explorer 클러스터에 대한 SKU 계층입니다. SLA 없이(단일 노드로 인해) 가장 낮은 비용으로 Basic을 사용합니다. 고가용성 및 향상된 성능을 위해 표준을 사용합니다. 허용되는 값: Basic, Standard. 기본값: "기본".
dataExplorerSkuCapacity Int 선택 사항. 클러스터에서 사용할 노드 수입니다. 허용되는 값: 기본 SKU 계층의 경우 1, 표준의 경우 2-1000입니다. 기본값: 1.
tags 객체 선택 사항. 모든 리소스에 적용할 태그입니다. 비용 관리에서 비용 롤업을 향상시키기 위해 cm-resource-parent 태그를 추가할 것입니다.
tagsByResource 객체 선택 사항. 리소스 종류에 따라 리소스에 적용할 태그입니다. 리소스 종류별 태그는 모든 리소스에 대한 태그와 병합됩니다.
scopesToMonitor 배열 선택 사항. 모니터링 및 비용을 수집할 범위 ID 목록입니다.
exportRetentionInDays Int 선택 사항. msexports 컨테이너에 보존할 데이터의 일 수입니다. 0
ingestionRetentionInMonths Int 선택 사항. 수집 컨테이너에 데이터를 몇 달 동안 보존할지 설정합니다. 13
dataExplorerLogRetentionInDays Int 선택 사항. 데이터 탐색기 *_log 테이블에서 데이터를 보관할 일 수. 0
dataExplorerFinalRetentionInMonths Int 선택 사항. 데이터 탐색기 *_final_v* 테이블에 보존할 데이터의 월 수입니다. 13
remoteHubStorageUri 문자열 선택 사항. 원격 허브로 수집하기 위해 데이터를 푸시하는 스토리지 계정입니다.
remoteHubStorageKey 문자열 선택 사항. 원격 허브에 데이터를 푸시할 때 사용할 스토리지 계정 키입니다.
공용 접근 허용 string 선택 사항. datalake(스토리지 방화벽)에 대한 공용 액세스를 사용하지 않도록 설정합니다. 거짓
가상 네트워크 주소 접두사 문자열 선택 사항. FinOps 허브에서 사용하는 프라이빗 가상 네트워크에 대한 IP 주소 범위입니다. IP 낭비를 방지하려면 /26을 사용하는 것이 좋습니다. 내부적으로 다음 서브넷이 만들어집니다. 프라이빗 엔드포인트에 대한 /28, 임시 배포 스크립트(컨테이너 인스턴스)를 위한 또 다른 /28 서브넷 및 Azure Data Explorer용 /27(사용하도록 설정된 경우). '10.20.30.0/26'

리소스

다음 리소스는 배포 중에 대상 리소스 그룹에 만들어집니다.

리소스는 다음과 같은 명명 규칙을 <hubName>-<purpose>-<unique-suffix>사용합니다. 이름은 길이 및 문자 제한을 고려하여 조정됩니다. <unique-suffix> 리소스 이름이 필요한 경우 전역적으로 고유하도록 하는 데 사용됩니다.

  • <hubName>store<unique-suffix> 스토리지 계정(Data Lake Storage Gen2)
    • Blob 컨테이너:
      • msexports – 일시적으로 Cost Management 내보내기가 저장됩니다.
      • ingestion – 수집된 데이터를 저장합니다.

        참고 항목

        나중에 이 컨테이너를 사용하여 Cost Management 외부에서 외부 데이터를 준비할 것입니다. - config – 허브 메타데이터 및 구성 설정을 저장합니다. 파일:

        • settings.json – 허브 설정입니다.
        • schemas/focuscost_1.0.json – parquet 변환을 위한 FOCUS 1.0 스키마 정의입니다.
        • schemas/focuscost_1.0-preview(v1).json – parquet 변환을 위한 FOCUS 1.0 미리 보기 스키마 정의입니다.
        • schemas/pricesheet_2023-05-01_ea.json – Parquet 변환을 위한 가격표 EA 스키마 정의 버전 2023-05-01입니다.
        • schemas/pricesheet_2023-05-01_mca.json – 파케 변환용 가격표 MCA 스키마 정의: 버전 2023-05-01
        • schemas/reservationdeatils_2023-03-01.json – Parquet 변환을 위한 예약 세부사항 스키마 정의서 버전 2023-03-01입니다.
        • schemas/reservationrecommendations_2023-05-01_ea.json – parquet 변환을 위한 예약 권장 사항 EA 스키마 정의 버전 2023-05-01.
        • schemas/reservationrecommendations_2023-05-01_mca.json – parquet 변환을 위한 예약 권장 사항 MCA 스키마 정의 버전 2023-05-01.
        • schemas/reservationtransactions_2023-05-01_ea.json – parquet 변환을 위한 예약 트랜잭션 EA 스키마 정의 버전 2023-05-01.
        • schemas/reservationtransactions_2023-05-01_mca.json – parquet 변환을 위한 MCA 스키마 정의 버전 2023-05-01 예약 트랜잭션
  • <hubName>script<unique-suffix> 스토리지 계정(Data Lake Storage Gen2)은 배포 스크립트용입니다.
  • <hubName>-engine-<unique-suffix> Data Factory 인스턴스
    • 파이프라인:
      • config_InitializeHub – 배포 후 FinOps 허브 인스턴스를 초기화(또는 업데이트)합니다.
      • config_ConfigureExports – 모든 범위에 대한 Cost Management 내보내기 생성
      • config_StartBackfillProcess – 보존 설정에 따라 매월 백필 작업을 실행합니다.
      • config_RunBackfillJob – 지정된 날짜 범위에 대해 정의된 모든 범위에 대한 내보내기를 만들고 트리거합니다.
      • config_StartExportProcess – settings.json 정의된 범위에 따라 이 허브에 대해 구성된 모든 Cost Management 내보내기 목록을 가져오고 config_RunExportJobs 파이프라인을 사용하여 각 내보내기를 실행합니다.
      • config_RunExportJobs – 지정된 Cost Management 내보내기를 실행합니다.
      • msexports_ExecuteETL – Data Factory 파이프라인 트리거 제한을 고려하도록 파이프라인을 큐 msexports_ETL_ingestion 에 대기합니다.
      • msexports_ETL_ingestion – Cost Management 내보내기에서 parquet으로 변환하고 매일 내보내기에서 중복된 기록 데이터를 제거합니다.
      • ingestion_ExecuteETL – Data Factory 파이프라인 트리거 제한을 고려하도록 파이프라인을 큐 ingestion_ETL_dataExplorer 에 대기합니다.
      • ingestion_ETL_dataExplorer – Parquet 데이터를 Azure Data Explorer 클러스터로 인제스트합니다.
    • 트리거:
      • config_SettingsUpdated – settings.json 업데이트되면 파이프라인을 트리거 config_ConfigureExports 합니다.
      • config_DailySchedule – 현재 월의 config_RunExportJobs 비용 데이터에 대해 매일 파이프라인을 트리거합니다.
      • config_MonthlySchedule – 이전 달의 config_RunExportJobs 비용 데이터에 대한 파이프라인을 매월 트리거합니다.
      • msexports_ManifestAdded – Cost Management 내보내기가 msexports_ExecuteETL 완료되면 파이프라인을 트리거합니다.
      • ingestion_ManifestAdded – manifest.json 파일이 추가될 때(msexports_ETL_ingestion 파이프라인에서 처리) ingestion_ExecuteETL 파이프라인을 트리거합니다.
    • 관리되는 프라이빗 엔드포인트
      • <hubName>store<unique-suffix> - 스토리지 계정에 대한 관리형 프라이빗 엔드포인트입니다.
      • <hubName>-vault-<unique-suffix> - Azure Key Vault에 대한 관리형 프라이빗 엔드포인트입니다.
  • <hubName>-vault-<unique-suffix> Key Vault 인스턴스
    • 비밀:
      • Data Factory 시스템 관리 ID
  • <dataExplorerName> Data Explorer 클러스터
    • Hub 데이터베이스 – 내부를 추상화하는 공개 함수.
      • 2개의 함수 집합을 포함합니다.
        • 지원되는 최신 FOCUS 버전(예: Costs, Prices)에 대한 데이터 세트별 함수입니다.
        • 지원되는 각 FOCUS 버전에 대한 데이터 세트별 함수(예: FOCUS 1.0의 경우 Costs_v1_0). 이러한 함수는 이전 버전과의 호환성을 위해 제공됩니다. 모든 함수는 대상 FOCUS 버전에 맞춰진 모든 데이터를 반환합니다.
      • 데이터 세트에는 Costs, Prices등이 있습니다.
      • 지원되는 FOCUS 버전은 다음과 같습니다. v1_0.
    • Ingestion 데이터베이스 – 수집된 데이터를 저장합니다.
      • 설정:
        • HubSettingsLog 테이블 – 개략적인 구성 변경 기록(예: 버전, 범위)을 저장합니다.
        • HubSettings 함수 – 허브 인스턴스 설정의 최신 버전을 가져옵니다.
        • HubScopes 함수 – 이 허브 인스턴스에 대해 현재 구성된 범위를 가져옵니다.
      • 데이터 열기:
        • PricingUnits 테이블 – FinOps 툴킷의 PricingUnits 매핑 파일입니다. 데이터 정규화 및 정리에 사용됩니다.
        • Regions 테이블 – FinOps 도구 키트의 지역 매핑 파일. 데이터 정규화 및 정리에 사용됩니다.
        • ResourceTypes 테이블 – FinOps 도구 키트에서 ResourceTypes 매핑 파일. 데이터 정규화 및 정리에 사용됩니다.
        • Services 테이블 – 서비스 매핑 파일은(는) FinOps 도구 키트에서 온 것입니다. 데이터 정규화 및 정리에 사용됩니다.
      • 데이터 세트:
        • <dataset>_raw 테이블 – 수집 소스에서 직접 가져온 원시 데이터입니다. 여러 원본의 데이터에 대한 공용 구조체 스키마를 사용합니다.
        • <dataset>_transform_vX_Y 함수 – 원시 데이터를 정규화하고 정리하여 필요에 따라 열려 있는 데이터 테이블을 사용하여 대상 FOCUS 버전에 맞춥니다.
        • <dataset>_final_vX_Y 테이블 – 대상 FOCUS 버전에 맞춰 정렬된 해당 원시 테이블의 클린 버전입니다. 데이터가 원시 테이블로 수집될 때 해당 변환 함수를 사용하는 업데이트 정책을 통해 채워집니다.

이전 정보 외에도 배포 프로세스를 자동화하기 위해 다음 리소스가 만들어집니다. 배포 스크립트는 자동으로 삭제되어야 합니다. 그러나 다음 릴리스로 업그레이드할 때 오류가 발생할 수 있으므로 관리 ID를 삭제하지 마세요.

  • 관리 ID:
  • 배포 스크립트(성공적인 배포 후 자동으로 삭제):
    • <datafactory>_deleteOldResources – 이전 FinOps 허브 배포에서 사용되지 않는 리소스를 삭제합니다.
    • <datafactory>_stopTriggers – triggerManager ID를 사용하여 허브의 모든 트리거를 중지합니다.
    • <datafactory>_startTriggers – triggerManager ID를 사용하여 허브의 모든 트리거를 시작합니다.
    • <storage>_uploadSettings – blobManager ID를 사용하여 settings.json 파일을 업로드합니다.

Outputs

배포에서 생성된 출력은 다음과 같습니다.

출력 형식 설명
이름 문자열 리소스 그룹의 이름입니다.
location 문자열 Azure 리소스 위치 리소스가 배포되었습니다.
dataFactorytName 문자열 Data Factory의 이름입니다.
storageAccountId 문자열 배포된 스토리지 계정의 리소스 ID입니다.
storageAccountName 문자열 허브 인스턴스에 대해 만든 스토리지 계정의 이름입니다. FinOps 도구 키트 Power BI 보고서를 데이터에 연결할 때 사용해야 합니다.
storageUrlForPowerBI 문자열 사용자 지정 Power BI 보고서를 데이터에 연결할 때 사용할 URL입니다.
clusterId 문자열 데이터 탐색기 클러스터의 리소스 ID입니다.
clusterUri 문자열 데이터 탐색기 클러스터의 URI입니다.
ingestionDbName 문자열 데이터를 수집하는 데 사용되는 Data Explorer 데이터베이스의 이름입니다.
hubDbName 문자열 데이터를 쿼리하는 데 사용되는 데이터 탐색기 데이터베이스의 이름입니다.
managedIdentityId 문자열 Data Factory 관리 ID의 개체 ID입니다. 관리되는 내보내기 구성 시 필요합니다.
managedIdentityTenantId 문자열 Azure AD 테넌트 ID입니다. 관리되는 내보내기 구성 시 필요합니다.