Udostępnij za pośrednictwem


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 wysyłania powiadomień e-mail po osiągnięciu progu budżetu można również użyć grup akcji usługi Azure Monitor. Grupy akcji wyzwalają skoordynowany zestaw akcji w odpowiedzi na zdarzenie budżetu.

Typowym scenariuszem budżetowym dla klienta z niekrytycznym obciążeniem jest zarządzanie wydatkami w budżecie i osiągnięcie przewidywalnych kosztów 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%, który zatrzymuje wszystkie maszyny wirtualne 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 czynności, wykonując kroki podane w każdej sekcji 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 tworzysz element runbook usługi Azure Automation, który zatrzymuje maszyny wirtualne. Do skompilowania tego scenariusza użyj 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.

Uwaga

Budżet można utworzyć w usłudze Azure Cost Management i połączyć go z elementem Runbook usługi Azure Automation, aby automatycznie zatrzymywać zasoby po osiągnięciu określonego progu.

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. Po zakończeniu procesu importowania elementu Runbook wybierz pozycję Edytuj , aby wyświetlić graficzny edytor 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 takim przypadku nie masz opublikowanej wersji, ponieważ został utworzony element Runbook. 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ńcz.

    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.

Ukończono konfigurację usługi Azure Automation. Elementy webhook można przetestować za pomocą prostego testu interfejsu API, aby sprawdzić, czy element webhook działa. Oto kilka popularnych sposobów wykonywania zapytań dotyczących interfejsu API:

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 utworzona aplikacja logiki wykonuje nieco więcej niż tylko wywołanie utworzonego elementu webhook automatyzacji.

Można skonfigurować budżety, aby wyzwolić powiadomienie po osiągnięciu określonego progu. Możesz podać wiele progów, które mają być powiadamiane, a aplikacja logiki demonstruje możliwość wykonywania różnych akcji na podstawie osiągniętego progu. W tym przykładzie skonfigurowaliśmy scenariusz, w którym otrzymujesz kilka powiadomień. Pierwsze powiadomienie dotyczy momentu osiągnięcia 80% budżetu. Drugie powiadomienie dotyczy momentu osiągnięcia 100% budżetu. Aplikacja logiki służy do zamykania wszystkich maszyn wirtualnych w grupie zasobów. Najpierw próg opcjonalny jest osiągany na poziomie 80%, a następnie drugi próg jest osiągany, 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. Należy użyć akcji Przeanalizuj i podać go z przykładowym ładunkiem.

Tworzenie aplikacji logiki

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

  • Rozpoznanie momentu odebrania żądania HTTP
  • Przeanalizuj przekazane dane w formacie JSON, aby określić wartość progową osiągniętą
  • Użyj instrukcji warunkowej, aby sprawdzić, czy kwota progowa osiągnęła 80% lub więcej zakresu budżetu, ale nie jest większa lub równa 100%.
    • Jeśli ta kwota progowa zostanie osiągnięta, wyślij wiadomość HTTP POST przy użyciu elementu webhook o nazwie Optional (Opcjonalnie). Ta akcja powoduje zamknięcie maszyn wirtualnych w grupie "Opcjonalne".
  • Użyj instrukcji warunkowej, aby sprawdzić, czy kwota progowa osiągnęła lub przekroczyła 100% wartości budżetu.
    • Jeśli wartość progowa zostanie osiągnięta, wyślij wiadomość HTTP POST przy użyciu elementu webhook o nazwie Complete(Zakończ). Ta akcja powoduje zamknięcie wszystkich pozostałych maszyn wirtualnych.

Aby utworzyć aplikację logiki wykonującą powyższe kroki, należy wykonać następujące kroki:

  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 jest wyświetlane jako:
    Zrzut ekranu przedstawiający przykładowy ładunek JSON.
  8. Wybierz pozycję Gotowe.

Dodawanie pierwszej akcji warunkowej

Użyj instrukcji warunkowej, aby sprawdzić, czy kwota progowa osiągnęła 80% lub więcej zakresu budżetu, ale nie jest większa lub równa 100%. Jeśli ta kwota progowa zostanie osiągnięta, wyślij wiadomość HTTP POST przy użyciu elementu webhook o nazwie Optional (Opcjonalnie). Ta akcja powoduje 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 to:
    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ę. Dodasz akcję HTTP POST, która zamyka opcjonalne maszyny wirtualne.
    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 wysyła wiadomość e-mail z powiadomieniem adresata o zamknięciu 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, zostanie wyświetlony monit o zalogowanie się do konta e-mail. Usługa Logic Apps utworzy połączenie z kontem e-mail. Musisz zezwolić aplikacji logiki na dostęp do informacji e-mail.
    Zrzut ekranu przedstawiający powiadomienie o dostępie.

  21. Dodaj tekst Do, Temat i Treść wiadomości e-mail z powiadomieniem 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żyj instrukcji warunkowej, aby sprawdzić, czy kwota progowa osiągnęła lub przekroczyła 100% wartości budżetu. Jeśli wartość progowa zostanie osiągnięta, wyślij wiadomość HTTP POST przy użyciu elementu webhook o nazwie Complete(Zakończ). Ta akcja powoduje 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 przypomina:
    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ę. Dodasz akcję HTTP POST, która zamyka wszystkie pozostałe maszyny wirtualne.
    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 wysyła wiadomość e-mail z powiadomieniem adresata o zamknięciu 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 Do, Temat i Treść wiadomości e-mail z powiadomieniem 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 wygląda aplikacja logiki po zakończeniu. 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 można wywołać. Ten adres URL jest używany w następnej 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 integrujesz z budżetem. Powiadomienia można skonfigurować w wielu kanałach, ale w tym scenariuszu skupisz 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 zalogowałeś się w witrynie 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.

Ukończono wszystkie składniki pomocnicze potrzebne do efektywnego organizowania budżetu. 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 potrzebny jest 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 poprzedniego kroku:
    ARMClient token <subscription GUID from previous step>

    Po zakończeniu poprzedniego kroku 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 utworzysz budżet, wywołując interfejsy API REST użycia platformy Azure. Potrzebujesz sposobu interakcji z interfejsami API. Oto kilka popularnych sposobów wykonywania zapytań dotyczących interfejsu API:

Musisz zaimportować pliki środowiska i kolekcji do klienta interfejsu API. 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. W kliencie interfejsu API utwórz nowe żądanie.

  2. Zapisz nowe żądanie, aby nic w nim nie było.

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

  4. 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

  5. Wybierz pozycję Nagłówki w kliencie interfejsu API.

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

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

  8. Wybierz pozycję Treść w kliencie interfejsu API.

  9. Wybierz opcję nieprzetworzone w kliencie interfejsu API.

  10. W obszarze tekstowym w kliencie interfejsu API wklej następującą przykładową definicję budżetu. Musisz zastąpić subscriptionIDparametry , resourcegroupnamei actiongroupname identyfikatorem subskrypcji, unikatową nazwą grupy zasobów oraz nazwą grupy akcji utworzoną zarówno pod adresem URL, jak i 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}"
                       ]
                   }
               }
            }
        }
    
  11. Wyślij żą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 zamyka maszyny wirtualne po osiągnięciu skonfigurowanych progów budżetu.

Następne kroki