Szablon centrum FinOps
Za kulisami przyjrzyj się temu, co składa się na szablon centrum FinOps, w tym dane wejściowe i wyjściowe.
Ten szablon tworzy nowe wystąpienie centrum FinOps.
Centra FinOps obejmują:
- Usługa Data Lake Storage do hostowania danych kosztów.
- Usługa Data Factory do przetwarzania i aranżacji danych.
- Usługa Key Vault do przechowywania wpisów tajnych.
Ważne
Aby użyć szablonu, należy utworzyć eksport usługi Cost Management, który publikuje dane kosztów w msexports
kontenerze na dołączonym koncie magazynu. Aby uzyskać więcej informacji, zobacz Tworzenie nowego centrum.
Wymagania wstępne
Przed wdrożeniem szablonu upewnij się, że zostały spełnione następujące wymagania wstępne:
Aby utworzyć wdrożone zasoby, musisz mieć następujące uprawnienia.
Zasób Minimalna kontrola dostępu oparta na rolach platformy Azure Wdrażanie i konfigurowanie fabryki danych Współautor usługi Data Factory Wdrażanie usługi Key Vault Współautor usługi Key Vault Konfigurowanie wpisów tajnych usługi Key Vault Key Vault Administrator Tworzenie tożsamości zarządzanej Współautor tożsamości zarządzanej Wdrażanie i konfigurowanie magazynu Współautor konta magazynu Przypisywanie tożsamości zarządzanej do zasobów Operator tożsamości zarządzanej Tworzenie skryptów wdrażania Rola niestandardowa zawierająca tylko Microsoft.Resources/deploymentScripts/write
uprawnienia iMicrosoft.ContainerInstance/containerGroups/write
jako dozwolone akcje lub, alternatywnie, Współautor, która obejmuje te uprawnienia i wszystkie powyższe rolePrzypisywanie uprawnień do tożsamości zarządzanych Administrator kontroli dostępu opartej na rolach lub, alternatywnie, właściciel, który obejmuje tę rolę i wszystkie powyższe role Tworzenie subskrypcji lub grupy zasobów koszt eksportu² Współautor usługi Cost Management Tworzenie eksportu kosztów rozliczeń umowy EA² Czytelnik przedsiębiorstwa, czytelnik działu lub właściciel konta rejestracji (dowiedz się więcej) Tworzenie eksportu kosztów rozliczeń umowy MCA² Współautor Odczytywanie danych obiektów blob w magazynie³ Współautor danych w usłudze Blob Storage ¹ Wystarczy przypisać uprawnienia wdrażania zasobów centrów do zakresu grupy zasobów.
² Uprawnienia usługi Cost Management muszą być przypisane do zakresu, z którego chcesz wyeksportować koszty.
Aby uzyskać dostęp do wyeksportowanych danych kosztów z usługi Power BI lub innych narzędzi klienckich, wymagane są uprawnienia do danych dotyczących danych dotyczących obiektów blob.Dostawca zasobów Microsoft.EventGrid musi być zarejestrowany w subskrypcji. Aby uzyskać więcej informacji, zobacz Rejestrowanie dostawcy zasobów.
Ważne
Jeśli zapomnisz ten krok, wdrożenie zakończy się pomyślnie, ale wyzwalacz potoku nie zostanie uruchomiony, a dane nie będą gotowe. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z raportami usługi Power BI.
Parametry
Poniżej przedstawiono parametry, których można użyć do dostosowania wdrożenia:
Parametr | Type | Opis | Domyślna wartość |
---|---|---|---|
hubName | string | Opcjonalny. Nazwa centrum. Służy do zapewnienia unikatowych nazw zasobów. | "finops-hub" |
location | string | Opcjonalny. Lokalizacja platformy Azure, w której należy utworzyć wszystkie zasoby. Zobacz: https://aka.ms/azureregions. | Tak samo jak wdrożenie |
skipEventGridRegistration | bool | Wskazuje, czy dostawca zasobów usługi Event Grid został już zarejestrowany (na przykład w poprzednim wdrożeniu centrum). Wymagana jest rejestracja dostawcy zasobów usługi Event Grid. Jeśli nie zostanie ustawiona, zostanie utworzona tymczasowa przestrzeń nazw usługi Event Grid w celu autoregister dostawcy zasobów. | false (zarejestruj rp) |
EventGridLocation | string | Opcjonalny. Lokalizacja platformy Azure do użycia dla tymczasowej przestrzeni nazw usługi Event Grid w celu zarejestrowania dostawcy zasobów Microsoft.EventGrid, jeśli lokalizacja podstawowa nie jest obsługiwana. Przestrzeń nazw jest usuwana i nie jest używana do operacji centrum. | Tak samo jak location |
storageSku | String | Opcjonalny. Jednostka SKU magazynu do użycia. LRS = najniższy koszt, ZRS = wysoka dostępność. Jednostki SKU w warstwie Standardowa nie są dostępne dla magazynu usługi Data Lake Gen2. Dozwolone: Premium_LRS , Premium_ZRS . |
"Premium_LRS" |
tagów | obiekt | Opcjonalny. Tagi, które mają być stosowane do wszystkich zasobów. Tag cm-resource-parent jest również dodawany do ulepszonych pakietów zbiorczych kosztów w usłudze Cost Management. |
|
tagsByResource | obiekt | Opcjonalny. Tagi, które mają być stosowane do zasobów na podstawie ich typu zasobu. Tagi specyficzne dla typu zasobu są scalane z tagami dla wszystkich zasobów. | |
scopesToMonitor | tablica | Opcjonalny. Lista identyfikatorów zakresu do monitorowania i pozyskiwania kosztów. | |
exportRetentionInDays | int | Opcjonalny. Liczba dni przechowywania danych kosztów w kontenerze ms-cm-export. | 0 |
ingestionRetentionInMonths | int | Opcjonalny. Liczba miesięcy danych kosztów do zachowania w kontenerze pozyskiwania. | 13 |
remoteHubStorageUri | string | Opcjonalny. Konto magazynu do wypychania danych do pozyskiwania danych do centrum zdalnego. | |
remoteHubStorageKey | string | Opcjonalny. Klucz konta magazynu do użycia podczas wypychania danych do centrum zdalnego. |
Zasoby
Podczas wdrażania tworzone są następujące zasoby w docelowej grupie zasobów.
Zasoby używają następującej konwencji nazewnictwa: <hubName>-<purpose>-<unique-suffix>
. Nazwy są dostosowywane tak, aby uwzględniały ograniczenia długości i znaków. Służy <unique-suffix>
do zapewnienia, że nazwy zasobów są globalnie unikatowe, jeśli jest to wymagane.
<hubName>store<unique-suffix>
konto magazynu (Data Lake Storage Gen2)- Kontenery obiektów blob:
msexports
— Tymczasowo przechowuje eksporty usługi Cost Management.ingestion
— przechowuje pozyskane dane.Uwaga
W przyszłości użyjemy tego kontenera do przygotowania danych zewnętrznych poza usługą Cost Management. -
config
— Przechowuje metadane centrum i ustawienia konfiguracji. Pliki:settings.json
— Ustawienia centrum.schemas/focuscost_1.0.json
– DEFINICJA schematu FOCUS 1.0 dla konwersji parquet.schemas/focuscost_1.0-preview(v1).json
— DEFINICJA schematu FOCUS 1.0 w wersji zapoznawczej dla konwersji parquet.
- Kontenery obiektów blob:
<hubName>-engine-<unique-suffix>
Wystąpienie usługi Data Factory- Rurociągów:
msexports_ExecuteETL
— Kolejkujemsexports_ETL_ingestion
potok do konta limitów wyzwalacza potoku usługi Data Factory.msexports_ETL_transform
— Konwertuje eksporty usługi Cost Management na parquet i usuwa dane historyczne zduplikowane w każdym dniu eksportu.config_ConfigureExports
— Tworzy eksporty usługi Cost Management dla wszystkich zakresów.config_StartBackfillProcess
— uruchamia zadanie wypełniania dla każdego miesiąca na podstawie ustawień przechowywania.config_RunBackfillJob
— Tworzy i wyzwala eksporty dla wszystkich zdefiniowanych zakresów dla określonego zakresu dat.config_StartExportProcess
— Pobiera listę wszystkich eksportów usługi Cost Management skonfigurowanych dla tego centrum na podstawie zakresów zdefiniowanych w settings.json, a następnie uruchamia każdy eksport przy użyciu potoku config_RunExportJobs.config_RunExportJobs
— Uruchamia określone eksporty usługi Cost Management.msexports_ExecuteETL
— Wyzwala proces pozyskiwania eksportów usługi Cost Management do konta limitów wyzwalacza potoku usługi Data Factory.msexports_ETL_transform
— Konwertuje eksporty usługi Cost Management na parquet i usuwa dane historyczne zduplikowane w każdym dniu eksportu.
- Wyzwalaczy:
config_SettingsUpdated
— wyzwalaconfig_ConfigureExports
potok po zaktualizowaniu settings.json.config_DailySchedule
— Wyzwalaconfig_RunExportJobs
potok codziennie dla danych kosztów bieżącego miesiąca.config_MonthlySchedule
— Wyzwalaconfig_RunExportJobs
potok co miesiąc dla danych kosztów z poprzedniego miesiąca.msexports_FileAdded
— Wyzwala potok po zakończeniumsexports_ExecuteETL
eksportowania usługi Cost Management.
- Rurociągów:
<hubName>-vault-<unique-suffix>
Wystąpienie usługi Key Vault- Tajemnice:
- Tożsamość zarządzana systemu usługi Data Factory
- Tajemnice:
Oprócz powyższych informacji tworzone są następujące zasoby w celu zautomatyzowania procesu wdrażania. Skrypty wdrażania powinny zostać usunięte automatycznie. Nie usuwaj jednak tożsamości zarządzanych, ponieważ może to spowodować błędy podczas uaktualniania do następnej wersji.
- Tożsamości zarządzane:
<storage>_blobManager
(Współautor danych obiektu blob usługi Storage) — przekazuje plik settings.json.<datafactory>_triggerManager
(Współautor usługi Data Factory) — zatrzymuje wyzwalacze przed wdrożeniem i uruchamia je po wdrożeniu.
- Skrypty wdrażania (automatycznie usunięte po pomyślnym wdrożeniu):
<datafactory>_deleteOldResources
— Usuwa nieużywane zasoby z poprzednich wdrożeń centrów FinOps.<datafactory>_stopTriggers
— zatrzymuje wszystkie wyzwalacze w centrum przy użyciu tożsamości triggerManager.<datafactory>_startTriggers
— uruchamia wszystkie wyzwalacze w centrum przy użyciu tożsamości triggerManager.<storage>_uploadSettings
— przekazuje plik settings.json przy użyciu tożsamości obiektu blobManager.
Dane wyjściowe
Poniżej przedstawiono dane wyjściowe generowane przez wdrożenie:
Wyjście | Type | Opis | Wartość |
---|---|---|---|
name | String | Nazwa wdrożonego wystąpienia centrum. | |
location | String | Zasoby lokalizacji zasobów platformy Azure zostały wdrożone. | location |
dataFactorytName | String | Nazwa fabryki danych. | dataFactory.name |
storageAccountId | String | Identyfikator zasobu konta magazynu utworzonego dla wystąpienia centrum. Należy go użyć podczas tworzenia eksportu usługi Cost Management. | storage.outputs.resourceId |
storageAccountName | String | Nazwa konta magazynu utworzonego dla wystąpienia centrum. Należy go użyć podczas nawiązywania połączenia z danymi zestawu narzędzi FinOps toolkit usługi Power BI. | storage.outputs.name |
storageUrlForPowerBI | String | Adres URL używany podczas łączenia niestandardowych raportów usługi Power BI z danymi. | 'https://${storage.outputs.name}.dfs.${environment().suffixes.storage}/${storage.outputs.ingestionContainer}' |
managedIdentityId | String | Identyfikator obiektu tożsamości zarządzanej usługi Data Factory. Te dane wyjściowe są potrzebne podczas konfigurowania eksportów zarządzanych. | dataFactory.identity.principalId |
managedIdentityTenantId | String | Identyfikator dzierżawy entra firmy Microsoft. Te dane wyjściowe są potrzebne podczas konfigurowania eksportów zarządzanych. | tenant().tenantId |