Zarządzanie kosztami przy użyciu budżetów

Kontrola kosztów to kluczowy składnik umożliwiający maksymalizowanie wartości inwestycji w chmurze. Istnieje kilka scenariuszy, w których widoczność kosztów, raportowanie i aranżacja oparta na kosztach mają kluczowe znaczenie dla zachowania ciągłości operacji biznesowych. Interfejsy API usługi Cost Management udostępniają zestaw interfejsów API do obsługi każdego z tych scenariuszy. Interfejsy API udostępniają szczegółowe informacje dotyczące użycia, co pozwala na wyświetlanie szczegółowych kosztów na poziomie wystąpienia.

Budżety są często używane jako część kontroli kosztów. Budżety mogą być objęte zakresem na platformie Azure. Na przykład możesz zawęzić widok budżetu na podstawie subskrypcji, grup zasobów lub kolekcji zasobów. Oprócz używania interfejsu API budżetów do powiadamiania użytkownika za pośrednictwem poczty e-mail, gdy próg budżetu zostanie osiągnięty, można użyć grup akcji usługi Azure Monitor do wyzwolenia zorganizowanego zestawu akcji w wyniku zdarzenia budżetu.

Typowy scenariusz budżetów dla klienta z niekrytycznym obciążeniem może wystąpić, gdy chce zarządzać budżetem, a także uzyskać przewidywalny koszt podczas przeglądania faktury miesięcznej. Ten scenariusz wymaga opartej na kosztach aranżacji zasobów, które są częścią środowiska platformy Azure. W tym scenariuszu ustawiono miesięczny budżet w wysokości 1000 USD dla subskrypcji. Ponadto progi powiadomień zostały ustawione tak, aby wyzwalać kilka aranżacji. Ten scenariusz rozpoczyna się od progu kosztu wynoszącego 80%, co spowoduje zatrzymanie wszystkich maszyn wirtualnych w grupie zasobów Opcjonalne. Następnie po osiągnięciu progu kosztu 100% wszystkie wystąpienia maszyn wirtualnych zostaną zatrzymane.

Aby skonfigurować ten scenariusz, wykonaj następujące akcje opisane w poszczególnych sekcjach tego samouczka.

Akcje opisane w tym samouczku umożliwiają:

  • Tworzenie elementu runbook usługi Azure Automation w celu zatrzymywania maszyn wirtualnych za pomocą elementów webhook.
  • Tworzenie aplikacji logiki platformy Azure, która ma być wyzwalana na podstawie wartości progu budżetu, i wywoływanie elementu runbook z właściwymi parametrami.
  • Utwórz grupę akcji usługi Azure Monitor skonfigurowaną do wyzwalania aplikacji logiki platformy Azure po osiągnięciu progu budżetu.
  • Utwórz budżet z żądanymi progami i podłącz go do grupy akcji.

Tworzenie elementu runbook usługi Azure Automation

Azure Automation to usługa, która umożliwia tworzenie skryptów do obsługi większości zadań zarządzania zasobami oraz uruchamianie tych zadań zgodnie z harmonogramem lub na żądanie. W ramach tego scenariusza utworzysz element runbook usługi Azure Automation, który będzie używany do zatrzymywania maszyn wirtualnych. Do utworzenia tego scenariusza użyjesz graficznego elementu Runbook Zatrzymaj maszyny wirtualne platformy Azure v2 z galerii usługi Azure Automation. Po zaimportowaniu elementu runbook do konta platformy Azure i jego opublikowaniu możesz zatrzymać maszyny wirtualne po osiągnięciu progu budżetu.

Tworzenie konta usługi Azure Automation

  1. Zaloguj się do portalu Azure Portal, używając poświadczeń Azure.
  2. Wybierz przycisk Utwórz zasób znajdujący się w lewym górnym rogu witryny Azure Portal.
  3. Wybierz pozycję Narzędzia do zarządzania>Automation.

    Uwaga

    Jeśli nie masz jeszcze konta platformy Azure, możesz utworzyć bezpłatne konto.

  4. Wprowadź informacje o koncie. W obszarze Utwórz konto Uruchom jako platformy Azure wybierz pozycję Tak, aby ustawienia wymagane do uproszczenia uwierzytelniania na platformie Azure zostały automatycznie włączone.
  5. Po zakończeniu wybierz przycisk Utwórz, aby rozpocząć wdrażanie konta usługi Automation.

Importowanie elementu runbook Zatrzymaj maszyny wirtualne platformy Azure w wersji 2

Używając elementu runbook usługi Azure Automation runbook, zaimportuj graficzny element runbook Zatrzymaj maszyny wirtualne platformy Azure w wersji 2 z galerii.

  1. Zaloguj się do portalu Azure Portal, używając poświadczeń Azure.
  2. Otwórz konto usługi Automation, wybierając pozycję Wszystkie usługi>Konta usługi Automation. Następnie wybierz swoje konto usługi Automation.
  3. Wybierz pozycję Galeria elementów Runbook w sekcji Automatyzacja procesu.
  4. Ustaw źródło galerii na Centrum skryptów i wybierz przycisk OK.
  5. Znajdź i wybierz element galerii Zatrzymaj maszyny wirtualne platformy Azure w wersji 2 w witrynie Azure Portal.
  6. Wybierz pozycję Importuj, aby wyświetlić obszar Importowanie, i wybierz pozycję OK. Zostanie wyświetlony obszar przeglądu elementu runbook.
  7. Gdy element runbook ukończy proces importowania, wybierz pozycję Edytuj, aby wyświetlić edytor graficznych elementów runbook i opcję publikowania.
    Zrzut ekranu przedstawiający graficzny element Runbook.
  8. Wybierz pozycję Opublikuj, aby opublikować element runbook, a następnie wybierz pozycję Tak po wyświetleniu monitu. Podczas publikowania elementu runbook można zastąpić istniejącą wersję opublikowaną wersją roboczą. W tym przypadku nie ma jeszcze wersji opublikowanej, ponieważ element runbook został utworzony. Aby uzyskać więcej informacji o publikowaniu elementu runbook, zobacz sekcję dotyczącą tworzenia graficznego elementu runbook.

Tworzenie elementów webhook dla elementu runbook

Przy użyciu graficznego elementu runbook Zatrzymaj maszyny wirtualne platformy Azure w wersji 2 tworzysz dwa elementy webhook, aby uruchomić element runbook w usłudze Azure Automation za pośrednictwem pojedynczego żądania HTTP. Pierwszy element webhook wywołuje element runbook przy progu budżetu wynoszącym 80% z nazwą grupy zasobów jako parametrem, umożliwiając zatrzymanie opcjonalnych maszyn wirtualnych. Następnie drugi element webhook wywołuje element runbook bez parametrów (przy wartości 100%), co zatrzymuje wszystkie pozostałe wystąpienia maszyn wirtualnych.

  1. Na stronie Elementy runbook w witrynie Azure Portal wybierz element runbook StopAzureV2Vm, który wyświetla obszar przeglądu elementu runbook.
  2. Wybierz pozycję Element webhook u góry strony, aby otworzyć obszar Dodawanie elementu webhook.
  3. Wybierz pozycję Utwórz nowy element webhook, aby otworzyć obszar Tworzenie nowego elementu webhook.
  4. Ustaw nazwę elementu webhook na Optional (Opcjonalne). Właściwość Włączono musi mieć wartość Tak. Nie musisz zmieniać wartości Wygasa. Aby uzyskać więcej informacji na temat właściwości elementu webhook, zobacz Właściwości elementu webhook.
  5. Obok wartości adresu URL wybierz ikonę kopiowania, aby skopiować adres URL elementu webhook.

    Ważne

    Zapisz adres URL elementu webhook o nazwie Optional (Opcjonalne) w bezpiecznym miejscu. Ten adres URL zostanie użyty w dalszej części tego samouczka. Ze względów bezpieczeństwa po utworzeniu elementu webhook nie można ponownie wyświetlić ani pobrać adresu URL.

  6. Wybierz przycisk OK, aby utworzyć nowy element webhook.
  7. Wybierz pozycję Skonfiguruj parametry i parametry uruchomieniowe, aby wyświetlić wartości parametrów dla elementu runbook.

    Uwaga

    Jeśli element runbook ma parametry obowiązkowe, nie można utworzyć elementu webhook, chyba że zostaną podane wartości.

  8. Wybierz przycisk OK, aby zaakceptować wartości parametrów elementu webhook.
  9. Wybierz pozycję Utwórz, aby utworzyć element webhook.
  10. Następnie wykonaj powyższe kroki, aby utworzyć drugi element webhook o nazwie Complete (Ukończenie).

    Ważne

    Pamiętaj, aby zapisać obydwa adresy URL elementu webhook do użycia w dalszej części tego samouczka. Ze względów bezpieczeństwa po utworzeniu elementu webhook nie można ponownie wyświetlić ani pobrać adresu URL.

Teraz powinny istnieć dwa skonfigurowane elementy webhook dostępne przy użyciu zapisanych adresów URL.

Zrzut ekranu przedstawiający elementy webhook.

Konfiguracja usługi Azure Automation została zakończona. Możesz przetestować elementy webhook przy użyciu prostego testu Postman, aby sprawdzić, czy element webhook działa. Następnie musisz utworzyć aplikację logiki na potrzeby aranżacji.

Tworzenie aplikacji logiki platformy Azure na potrzeby aranżacji

Usługa Logic Apps ułatwia tworzenie, planowanie i automatyzowanie procesów jako przepływów pracy, aby można było integrować aplikacje, dane, systemy i usługi między przedsiębiorstwami i organizacjami. W tym scenariuszu tworzona aplikacja logiki wykona więcej pracy niż tylko wywołanie utworzonego elementu webhook usługi Automation.

Można skonfigurować budżety, aby wyzwolić powiadomienie po osiągnięciu określonego progu. Można określić wiele progów w celu otrzymywania powiadomień, a aplikacja logiki będzie demonstrować zdolność wykonywania różnych akcji w oparciu o osiągnięty próg. W tym przykładzie skonfigurujesz scenariusz, w którym otrzymasz kilka powiadomień: pierwsze powiadomienie będzie dostępne po osiągnięciu 80% budżetu, a drugie powiadomienie po osiągnięciu 100% budżetu. Aplikacja logiki zostanie użyta do zamknięcia wszystkich maszyn wirtualnych w grupie zasobów. Najpierw próg opcjonalny zostanie osiągnięty przy wartości 80%, a następnie drugi próg zostanie osiągnięty, gdy wszystkie maszyny wirtualne w subskrypcji zostaną zamknięte.

Aplikacje logiki umożliwiają dostarczenie przykładowego schematu dla wyzwalacza HTTP, ale wymagają ustawienia nagłówka Content-Type. Ponieważ grupa akcji nie ma niestandardowych nagłówków dla elementu webhook, musisz przeanalizować ładunek w osobnym kroku. Użyjesz akcji Przeanalizuj i zastosujesz dla niej przykładowy ładunek.

Tworzenie aplikacji logiki

Aplikacja logiki wykona kilka akcji. Poniższa lista zawiera ogólny zestaw akcji, które wykona aplikacja logiki:

  • Rozpoznanie momentu odebrania żądania HTTP
  • Przeanalizowanie przekazanych danych JSON w celu określenia wartości progowej, która została osiągnięta
  • Użycie instrukcji warunkowej w celu sprawdzenia, czy wielkość progowa osiągnęła co najmniej 80% zakresu budżetu, ale nie więcej niż 100%.
    • Jeśli ta wielkość progowa została osiągnięta, instrukcja HTTP POST jest wysyłana przy użyciu elementu webhook o nazwie Optional (Opcjonalne). Ta akcja spowoduje zamknięcie maszyn wirtualnych w grupie „Opcjonalne”.
  • Użycie instrukcji warunkowej w celu sprawdzenia, czy wielkość progu osiągnęła lub przekroczyła 100% wartości budżetu.
    • Jeśli ta wielkość progowa została osiągnięta, instrukcja HTTP POST jest wysyłana przy użyciu elementu webhook o nazwie Complete (Ukończone). Ta akcja spowoduje zamknięcie wszystkich pozostałych maszyn wirtualnych.

Następujące kroki są niezbędne do utworzenia aplikacji logiki, która będzie wykonywać powyższe czynności:

  1. W witrynie Azure Portal wybierz pozycję Utwórz zasób>Integracja>Aplikacja logiki.
    Zrzut ekranu przedstawiający pozycję Wybierz zasób aplikacji logiki.
  2. W obszarze Tworzenie aplikacji logiki podaj szczegóły niezbędne do utworzenia aplikacji logiki, wybierz pozycję Przypnij do pulpitu nawigacyjnego i wybierz pozycję Utwórz.
    Zrzut ekranu przedstawiający tworzenie aplikacji logiki.

Gdy platforma Azure wdroży aplikację logiki, zostanie otwarty Projektant aplikacji usługi Logic Apps wyświetlający obszar z wprowadzającym wideo i najczęściej używanymi wyzwalaczami.

Dodawanie wyzwalacza

Każda aplikacja logiki musi rozpoczynać się od wyzwalacza, który jest aktywowany w momencie wystąpienia konkretnego zdarzenia lub spełnienia określonego warunku. Po każdym aktywowaniu wyzwalacza aparat usługi Logic Apps tworzy wystąpienie aplikacji logiki uruchamiającej i wykonującej przepływ pracy. akcje to wszystkie kroki wykonywane po aktywowaniu wyzwalacza.

  1. W części Szablony obszaru Projektant aplikacji usługi Logic Apps wybierz pozycję Pusta aplikacja logiki.
  2. Dodaj wyzwalacz, wprowadzając ciąg „Żądanie HTTP” w polu wyszukiwania Projektanta aplikacji usługi Logic Apps, aby znaleźć i wybrać wyzwalacz o nazwie Żądanie — po odebraniu żądania HTTP.
    Zrzut ekranu przedstawiający wyzwalacz Po odebraniu żądania HTTP.
  3. Wybierz kolejno pozycje Nowy krok>Dodaj akcję.
    Zrzut ekranu przedstawiający nowy krok — dodawanie akcji.
  4. Wyszukaj ciąg „Przeanalizuj kod JSON” w polu wyszukiwania Projektanta aplikacji usługi Logic Apps, aby znaleźć i wybrać akcjęOperacje na danych — Przeanalizuj dane JSON.
    Zrzut ekranu przedstawiający operacje na danych — analizowanie kodu JSON.
  5. Wprowadź „Ładunek” jako nazwę zawartości dla ładunku Przeanalizuj dane JSON” użyj tagu „Treść” z zawartości dynamicznej.
  6. Wybierz opcję Użyj przykładowego ładunku do wygenerowania schematu w polu Przeanalizuj dane JSON.
    Zrzut ekranu przedstawiający generowanie ładunku schematu przy użyciu przykładowych danych JSON.
  7. Wklej następujący przykładowy ładunek JSON w polu tekstowym: {"schemaId":"AIP Budget Notification","data":{"SubscriptionName":"CCM - Microsoft Azure Enterprise - 1","SubscriptionId":"<GUID>","SpendingAmount":"100","BudgetStartDate":"6/1/2018","Budget":"50","Unit":"USD","BudgetCreator":"email@contoso.com","BudgetName":"BudgetName","BudgetType":"Cost","ResourceGroup":"","NotificationThresholdAmount":"0.8"}} Pole tekstowe będzie wyglądać następująco:
    Zrzut ekranu przedstawiający przykładowy ładunek JSON.
  8. Wybierz pozycję Gotowe.

Dodawanie pierwszej akcji warunkowej

Użycie instrukcji warunkowej w celu sprawdzenia, czy wielkość progowa osiągnęła co najmniej 80% zakresu budżetu, ale nie więcej niż 100%. Jeśli ta wielkość progowa została osiągnięta, instrukcja HTTP POST jest wysyłana przy użyciu elementu webhook o nazwie Optional (Opcjonalne). Ta akcja spowoduje zamknięcie maszyn wirtualnych w grupie Opcjonalne.

  1. Wybierz pozycję Nowy krok>Dodaj warunek.
    Zrzut ekranu przedstawiający dodawanie warunku.

  2. W polu Warunek wybierz pole tekstowe zawierające frazę Choose a value, aby wyświetlić listę dostępnych wartości.
    Zrzut ekranu przedstawiający pozycję Wybierz warunek wartości.

  3. Wybierz pozycję Wyrażenie w górnej części listy i wprowadź następujące wyrażenie w edytorze wyrażeń: float()
    Zrzut ekranu przedstawiający wyrażenie float.

  4. Wybierz pozycję Zawartość dynamiczna, umieść kursor wewnątrz nawiasu () i wybierz pozycję NotificationThresholdAmount z listy, aby wypełnić ukończone wyrażenie. Wyrażenie będzie następujące:
    float(body('Parse_JSON')?['data']?['NotificationThresholdAmount'])

  5. Wybierz przycisk OK, aby ustawić wyrażenie.

  6. Wybierz pozycję jest większe lub równe w polu listy rozwijanej Warunek.

  7. W polu Wybierz wartość warunku wprowadź .8.
    Zrzut ekranu przedstawiający okno dialogowe Warunek z wybranymi wartościami.

  8. Wybierz pozycję Dodaj>wiersz w polu Warunek, aby dodać kolejną część warunku.

  9. W polu Warunek wybierz pole tekstowe zawierające frazę Choose a value.

  10. Wybierz pozycję Wyrażenie w górnej części listy i wprowadź następujące wyrażenie w edytorze wyrażeń: float()

  11. Wybierz pozycję Zawartość dynamiczna, umieść kursor wewnątrz nawiasu () i wybierz pozycję NotificationThresholdAmount z listy, aby wypełnić ukończone wyrażenie.

  12. Wybierz przycisk OK, aby ustawić wyrażenie.

  13. Wybierz pozycję jest mniejsze niż w polu listy rozwijanej Warunek.

  14. W polu Wybierz wartość warunku wprowadź 1.
    Zrzut ekranu przedstawiający okno dialogowe Warunek z dwoma warunkami.

  15. W polu W przypadku wartości true wybierz pozycję Dodaj akcję. Zostanie dodana akcja HTTP POST, która spowoduje wyłączenie opcjonalnych maszyn wirtualnych.
    Zrzut ekranu przedstawiający dodawanie akcji.

  16. Wprowadź HTTP, aby wyszukać akcję HTTP, i wybierz akcję HTTP — HTTP.
    Zrzut ekranu przedstawiający akcję Dodaj akcję HTTP.

  17. Wybierz pozycję Post dla wartości Metoda.

  18. Wprowadź adres URL elementu webhook o nazwie Optional (Opcjonalne), który został utworzony wcześniej w tym samouczku, jako wartość identyfikatora URI.
    Zrzut ekranu przedstawiający identyfikator URI akcji HTTP.

  19. Wybierz pozycję Dodaj akcję w polu W przypadku wartości true. Dodasz akcję poczty e-mail, która spowoduje wysłanie wiadomości e-mail z powiadomieniem odbiorcy o wyłączeniu opcjonalnych maszyn wirtualnych.

  20. Wyszukaj ciąg „wyślij wiadomość e-mail” i wybierz akcję wyślij wiadomość e-mail na podstawie używanej usługi poczty e-mail.
    Zrzut ekranu przedstawiający akcję Wyślij wiadomość e-mail.

    W przypadku osobistych kont Microsoft wybierz pozycję Outlook.com. W przypadku kont służbowych platformy Azure wybierz pozycję Office 365 Outlook. Jeśli nie masz jeszcze połączenia, pojawi się monit o zalogowanie się do swojego konta poczty e-mail. Usługa Logic Apps utworzy połączenie z kontem e-mail. Musisz zezwolić aplikacji logiki na dostęp do informacji w poczcie e-mail.
    Zrzut ekranu przedstawiający powiadomienie o dostępie.

  21. Dodaj tekst w polach Do, Temat i Treść wiadomości e-mail, która powiadamia o adresata o zamknięciu opcjonalnych maszyn wirtualnych. Użyj nazwy BudgetName i zawartości dynamicznej NotificationThresholdAmount do wypełnienia pól tematu i treści. Zrzut ekranu przedstawiający szczegóły wiadomości e-mail.

Dodawanie drugiej akcji warunkowej

Użycie instrukcji warunkowej w celu sprawdzenia, czy wielkość progu osiągnęła lub przekroczyła 100% wartości budżetu. Jeśli ta wielkość progowa została osiągnięta, instrukcja HTTP POST jest wysyłana przy użyciu elementu webhook o nazwie Complete (Ukończone). Ta akcja spowoduje zamknięcie wszystkich pozostałych maszyn wirtualnych.

  1. Wybierz pozycję Nowy krok>Dodaj warunek.
    Zrzut ekranu przedstawiający okno dialogowe Jeśli prawda z wywołaną akcją Dodaj akcję.
  2. W polu Warunek wybierz pole tekstowe zawierające frazę Choose a value, aby wyświetlić listę dostępnych wartości.
  3. Wybierz pozycję Wyrażenie w górnej części listy i wprowadź następujące wyrażenie w edytorze wyrażeń: float()
  4. Wybierz pozycję Zawartość dynamiczna, umieść kursor wewnątrz nawiasu () i wybierz pozycję NotificationThresholdAmount z listy, aby wypełnić ukończone wyrażenie. Wyrażenie będzie wyglądać następująco:
    float(body('Parse_JSON')?['data']?['NotificationThresholdAmount'])
  5. Wybierz przycisk OK, aby ustawić wyrażenie.
  6. Wybierz pozycję jest większe lub równe w polu listy rozwijanej Warunek.
  7. W polu Wybierz wartość warunku wprowadź 1.
    Zrzut ekranu przedstawiający wartość Ustaw warunek.
  8. W polu W przypadku wartości true wybierz pozycję Dodaj akcję. Zostanie dodana akcja HTTP POST, która spowoduje wyłączenie wszystkich pozostałych maszyn wirtualnych.
    Zrzut ekranu przedstawiający okno dialogowe Jeśli prawda, w którym można dodać akcję H T T P POST.
  9. Wprowadź HTTP, aby wyszukać akcję HTTP, i wybierz akcję HTTP — HTTP.
  10. Wybierz pozycję Post dla wartości Metoda.
  11. Wprowadź adres URL elementu webhook o nazwie Complete (Ukończone), który został utworzony wcześniej w tym samouczku, jako wartość identyfikatora URI.
    Zrzut ekranu przedstawiający okno dialogowe H T T P, w którym można wprowadzić wartość U R L.
  12. Wybierz pozycję Dodaj akcję w polu W przypadku wartości true. Dodasz akcję poczty e-mail, która spowoduje wysłanie wiadomości e-mail z powiadomieniem odbiorcy o wyłączeniu pozostałych maszyn wirtualnych.
  13. Wyszukaj ciąg „wyślij wiadomość e-mail” i wybierz akcję wyślij wiadomość e-mail na podstawie używanej usługi poczty e-mail.
  14. Dodaj tekst w polach Do, Temat i Treść wiadomości e-mail, która powiadamia o adresata o zamknięciu opcjonalnych maszyn wirtualnych. Użyj nazwy BudgetName i zawartości dynamicznej NotificationThresholdAmount do wypełnienia pól tematu i treści.
    Zrzut ekranu przedstawiający skonfigurowane szczegóły wiadomości e-mail.
  15. Wybierz przycisk Zapisz w górnej części obszaru Projektant aplikacji logiki.

Podsumowanie aplikacji logiki

Oto jak aplikacja logiki będzie wyglądać po wykonaniu wszystkich czynności. W najbardziej typowych scenariuszach, w których nie jest potrzebna jakakolwiek aranżacja oparta na progach, można bezpośrednio wywołać skrypt automatyzacji z usługi Monitor i pominąć krok Aplikacja logiki.

Zrzut ekranu przedstawiający aplikację logiki — pełny widok.

Po zapisaniu aplikacji logiki został wygenerowany adres URL, który będzie można wywołać. Tego adresu URL będziesz potrzebować w kolejnej sekcji tego samouczka.

Tworzenie grupy akcji usługi Azure Monitor

Grupa akcji to kolekcja preferencji powiadomień zdefiniowanych przez użytkownika. Po wyzwoleniu alertu określona grupa akcji może odebrać alert za pośrednictwem powiadomienia. Alert platformy Azure aktywnie zgłasza powiadomienie na podstawie określonych warunków i zapewnia możliwość podjęcia akcji. Alert może używać danych z wielu źródeł, m.in. metryk i dzienników.

Grupy akcji to jedyny punkt końcowy, który zostanie zintegrowany z budżetem. Możesz skonfigurować powiadomienia w wielu kanałach, ale w tym scenariuszu skoncentrujesz się na aplikacji logiki utworzonej wcześniej w tym samouczku.

Tworzenie grupy akcji w usłudze Azure Monitor

Podczas tworzenia grupy akcji wskażesz aplikację logiki utworzoną wcześniej w tym samouczku.

  1. Jeśli jeszcze nie zalogowano się do witryny Azure Portal, zaloguj się i wybierz pozycję wszystkie usługi>Monitor.
  2. Wybierz pozycję Alerty, a następnie wybierz pozycję Zarządzaj akcjami.
  3. Wybierz pozycję Dodaj grupę akcji w obszarze Grupy akcji.
  4. Dodaj i zweryfikuj następujące elementy:
    • Nazwa grupy akcji
    • Krótka nazwa
    • Subskrypcja
    • Grupa zasobów
      Zrzut ekranu przedstawiający dodawanie grupy akcji.
  5. W okienku Dodaj grupę akcji dodaj akcję LogicApp. Nadaj akcji nazwę Budget-BudgetLA. W okienku Aplikacja logiki wybierz pozycje Subskrypcja i Grupa zasobów. Następnie wybierz aplikację logiki utworzoną wcześniej w tym samouczku.
  6. Wybierz przycisk OK, aby ustawić aplikację logiki. Następnie wybierz przycisk OK w okienku Dodaj grupę akcji, aby utworzyć grupę akcji.

Wszystkie składniki pomocnicze potrzebne do efektywnego organizowania budżetu są gotowe. Teraz wystarczy utworzyć budżet i skonfigurować go tak, aby korzystał z utworzonej grupy akcji.

Tworzenie budżetu

Budżet można utworzyć w witrynie Azure Portal przy użyciu funkcji budżetu w usłudze Cost Management. Można też utworzyć budżet przy użyciu interfejsów API REST, poleceń cmdlet programu PowerShell lub interfejsu wiersza polecenia. Poniższa procedura używa interfejsu API REST. Przed wywołaniem interfejsu API REST będzie potrzebny token autoryzacji. Aby utworzyć token autoryzacji, możesz użyć projektu ARMClient. Projekt ARMClient umożliwia samodzielne uwierzytelnianie w usłudze Azure Resource Manager i pobieranie tokenu na potrzeby wywoływania interfejsów API.

Tworzenie tokenu uwierzytelniania

  1. Przejdź do projektu ARMClient w witrynie GitHub.

  2. Sklonuj repozytorium, aby uzyskać kopię lokalną.

  3. Otwórz projekt w programie Visual Studio i skompiluj go.

  4. Gdy kompilacja zakończy się pomyślnie, plik wykonywalny powinien znajdować się w folderze \bin\debug.

  5. Uruchom projekt ARMClient. Otwórz wiersz polecenia i przejdź do folderu \bin\debug w katalogu głównym projektu.

  6. Aby zalogować się i uwierzytelnić, wprowadź następujące polecenie w wierszu polecenia:
    ARMClient login prod

  7. Skopiuj identyfikator GUID subskrypcji z danych wyjściowych.

  8. Aby skopiować token autoryzacji do schowka, wprowadź następujące polecenie w wierszu polecenia, ale pamiętaj, aby użyć skopiowanego identyfikatora subskrypcji z powyższego kroku:
    ARMClient token <subscription GUID from previous step>

    Po ukończeniu kroku powyżej zobaczysz:
    Token został pomyślnie skopiowany do schowka.

  9. Zapisz token, który ma być używany na potrzeby kroków w następnej sekcji tego samouczka.

Tworzenie budżetu

Następnie skonfigurujesz rozwiązanie Postman w celu utworzenia budżetu, wywołując interfejsy API REST użycia platformy Azure. Postman to środowisko deweloperskie interfejsu API. Pliki środowiska i kolekcji zostaną zaimportowane do rozwiązania Postman. Kolekcja zawiera zgrupowane definicje żądań HTTP, które wywołują interfejsy API REST użycia platformy Azure. Plik środowiska zawiera zmienne, które są używane przez kolekcję.

  1. Pobierz i otwórz klienta REST rozwiązania Postman w celu wykonania interfejsów API REST.

  2. W środowisku Postman utwórz nowe żądanie.
    Zrzut ekranu przedstawiający tworzenie nowego żądania w narzędziu Postman.

  3. Zapisz nowe żądanie jako kolekcję, tak aby nie zawierało żadnych danych.
    Zrzut ekranu przedstawiający zapisywanie nowego żądania w narzędziu Postman.

  4. Zmień żądanie z Get na akcję Put.

  5. Zmodyfikuj następujący adres URL, zastępując element {subscriptionId}identyfikatorem subskrypcji użytym w poprzedniej sekcji tego samouczka. Ponadto zmodyfikuj adres URL, tak aby zawierał wartość „SampleBudget” jako wartość elementu {budgetName}: https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets/{budgetName}?api-version=2018-03-31

  6. Wybierz kartę Headers (Nagłówki) w narzędziu Postman.

  7. Dodaj nowy klucz o nazwie „Authorization” (Autoryzacja).

  8. Ustaw wartość na token, który został utworzony przy użyciu projektu ArmClient na końcu ostatniej sekcji.

  9. Wybierz kartę Body (Treść) w narzędziu Postman.

  10. Wybierz opcję przycisku raw.

  11. W polu tekstowym wklej poniższą przykładową definicję budżetu. Musisz zastąpić parametry subscriptionID, resourcegroupname i actiongroupname identyfikatorem subskrypcji, unikatową nazwą grupy zasobów i nazwą grupy akcji, które zostały utworzone zarówno w adresie URL, jak i w treści żądania:

        {
            "properties": {
                "category": "Cost",
                "amount": 100.00,
                "timeGrain": "Monthly",
                "timePeriod": {
                "startDate": "2018-06-01T00:00:00Z",
                "endDate": "2018-10-31T00:00:00Z"
                },
                "filters": {},
            "notifications": {
                "Actual_GreaterThan_80_Percent": {
                    "enabled": true,
                    "operator": "GreaterThan",
                    "threshold": 80,
                    "contactEmails": [],
                    "contactRoles": [],
                    "contactGroups": [
                        "/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/microsoft.insights/actionGroups/{actiongroupname}"
                    ]
                },
               "Actual_EqualTo_100_Percent": {
                       "operator": "EqualTo",
                       "threshold": 100,
                       "contactGroups": [
                           "/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupname}/providers/microsoft.insights/actionGroups/{actiongroupname}"
                       ]
                   }
               }
            }
        }
    
  12. Naciśnij przycisk Send (Wyślij), aby wysłać żądanie.

Masz teraz wszystkie elementy potrzebne do wywołania interfejsu API budżetów. Dokumentacja interfejsu API budżetów zawiera więcej szczegółów dotyczących konkretnych żądań, w tym:

  • budgetName — można obsługiwać wiele budżetów. Nazwy budżetów muszą być unikatowe.
  • category — musi mieć wartość Cost (Koszt) lub Usage (Użycie). Interfejs API obsługuje zarówno budżety kosztów, jak i użycia.
  • timeGrain — budżet miesięczny, kwartalny lub roczny. Kwota jest resetowana na końcu okresu.
  • filters — filtry umożliwiają zawężenie budżetu do określonego zestawu zasobów w ramach wybranego zakresu. Filtr może być na przykład kolekcją grup zasobów dla budżetu na poziomie subskrypcji.
  • notifications — określa szczegóły i progi powiadomień. Można skonfigurować wiele progów i podać adres e-mail lub grupę akcji, aby otrzymać powiadomienie.

Podsumowanie

Po ukończeniu tego samouczka potrafisz już wykonywać następujące czynności:

  • Jak utworzyć element runbook usługi Azure Automation w celu zatrzymywania maszyn wirtualnych.
  • Jak utworzyć aplikację logiki platformy Azure, która ma być wyzwalana na podstawie wartości progu budżetu, i wywoływać element runbook z właściwymi parametrami.
  • Jak utworzyć grupę akcji usługi Azure Monitor, która została skonfigurowana do wyzwalania aplikacji logiki platformy Azure po osiągnięciu progu budżetu.
  • Jak utworzyć budżet z żądanymi progami i połączyć go z grupą akcji.

Masz teraz w pełni funkcjonalny budżet dla subskrypcji, który spowoduje wyłączenie maszyn wirtualnych po osiągnięciu skonfigurowanych progów budżetu.

Następne kroki