Ćwiczenie — definiowanie zasobów w szablonie Bicep

Ukończone

Uwaga

Po pierwszym aktywowaniu piaskownicy i zaakceptowaniu warunków twoje konto Microsoft jest skojarzone z nowym katalogiem platformy Azure o nazwie Microsoft Learn Sandbox. Dodano cię również do specjalnej subskrypcji o nazwie Subskrypcja Concierge.

W przypadku witryny internetowej uruchamiania toy-launch decydujesz się najpierw utworzyć weryfikację koncepcji, tworząc podstawowy szablon Bicep. W tym ćwiczeniu utworzysz konto magazynu, aplikacja systemu Azure plan usługi i aplikację. Później zmodyfikujesz szablon, aby był bardziej wielokrotnego użytku.

Podczas tego procesu wykonasz następujące czynności:

  • Utwórz szablon, który definiuje pojedynczy zasób konta magazynu zawierający trwale zakodowane wartości.
  • Aprowizuj infrastrukturę i sprawdź wynik.
  • Dodaj plan usługi App Service i aplikację do szablonu.
  • Ponownie zaaprowizuj infrastrukturę, aby wyświetlić nowe zasoby.

W tym ćwiczeniu jest używane rozszerzenie Bicep dla programu Visual Studio Code. Pamiętaj, aby zainstalować to rozszerzenie w programie Visual Studio Code.

Tworzenie szablonu Bicep zawierającego konto magazynu

  1. Otwórz Visual Studio Code.

  2. Utwórz nowy plik o nazwie main.bicep.

  3. Zapisz pusty plik, aby program Visual Studio Code ładował narzędzia Bicep.

    Możesz wybrać pozycję Plik>Zapisz jako lub wybrać Ctrl+S w systemie Windows (⌘+S w systemie macOS). Pamiętaj, gdzie został zapisany plik. Na przykład możesz utworzyć folder szablonów , w którym ma zostać zapisany plik.

  4. Dodaj następujący kod Bicep do pliku. Szablon zostanie wdrożony wkrótce. Dobrym pomysłem jest samodzielne wpisanie kodu zamiast kopiowania i wklejania, dzięki czemu można zobaczyć, jak narzędzia ułatwiają pisanie plików Bicep.

    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'toylaunchstorage'
      location: 'eastus'
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

    Napiwek

    Bicep jest ściśle o tym, gdzie umieszczasz podziały wierszy, więc upewnij się, że nie umieszczasz podziałów wierszy w różnych miejscach niż wymienione tutaj.

    Zwróć uwagę, że program Visual Studio Code automatycznie sugeruje nazwy właściwości podczas wpisywania. Rozszerzenie Bicep dla programu Visual Studio Code rozumie zasoby definiowane w szablonie i wyświetla listę dostępnych właściwości i wartości, których można użyć.

  5. Zaktualizuj nazwę konta magazynu z toylaunchstorage na coś, co może być unikatowe, ponieważ każde konto magazynu wymaga globalnie unikatowej nazwy. Upewnij się, że nazwa ma od 3 do 24 znaków i zawiera tylko małe litery i cyfry.

    Ważne

    Nie pomijaj tego kroku. W przeciwnym razie plik Bicep nie zostanie pomyślnie wdrożony.

  6. Zapisz zmiany w pliku.

Wdrażanie szablonu Bicep na platformie Azure

Aby wdrożyć ten szablon na platformie Azure, musisz zalogować się na konto platformy Azure z poziomu terminalu programu Visual Studio Code. Upewnij się, że zainstalowano interfejs wiersza polecenia platformy Azure i pamiętaj, aby zalogować się przy użyciu tego samego konta, które zostało użyte do aktywowania piaskownicy.

  1. W menu Terminal wybierz polecenie New Terminal (Nowy terminal). Okno terminalu zwykle otwiera się w dolnej połowie ekranu.

  2. Jeśli powłoka wyświetlana po prawej stronie okna terminalu jest powłoka bash, prawidłowa powłoka jest otwarta i możesz przejść do następnej sekcji.

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z wyświetloną opcją powłoki Bash.

  3. Jeśli zostanie wyświetlona powłoka inna niż powłoka bash , wybierz strzałkę listy rozwijanej powłoki, a następnie wybierz pozycję Azure Cloud Shell (Bash).

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z wyświetloną listą rozwijaną powłoki terminalu i wybraną pozycją Domyślna powłoka Git Bash.

  4. Na liście powłok terminali wybierz pozycję bash.

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z wybranym terminalem powłoki Bash.

  5. W terminalu przejdź do katalogu, w którym zapisano szablon. Jeśli na przykład szablon został zapisany w folderze templates , możesz użyć następującego polecenia:

    cd templates
    

Instalowanie aplikacji Bicep

Uruchom następujące polecenie, aby upewnić się, że masz najnowszą wersję aplikacji Bicep:

az bicep install && az bicep upgrade

Logowanie się do platformy Azure

  1. W terminalu programu Visual Studio Code zaloguj się do platformy Azure, uruchamiając następujące polecenie:

    az login
    
  2. W przeglądarce, która zostanie otwarta, zaloguj się do konta platformy Azure.

    W terminalu programu Visual Studio Code zostanie wyświetlona lista subskrypcji skojarzonych z tym kontem.

  3. Ustaw domyślną subskrypcję dla wszystkich poleceń interfejsu wiersza polecenia platformy Azure uruchamianych w tej sesji.

    az account set --subscription "Concierge Subscription"
    

    Uwaga

    Jeśli ostatnio użyto więcej niż jednej piaskownicy, terminal może wyświetlić więcej niż jedno wystąpienie subskrypcji Concierge. W tym przypadku użyj dwóch następnych kroków, aby ustawić jedną jako domyślną subskrypcję. Jeśli poprzednie polecenie zakończyło się pomyślnie i zostanie wyświetlona tylko jedna subskrypcja Concierge, pomiń kolejne dwa kroki.

  4. Pobierz identyfikatory subskrypcji Concierge.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Ustaw domyślną subskrypcję przy użyciu identyfikatora subskrypcji. Zastąp ciąg {your subscription ID} najnowszym identyfikatorem subskrypcji Concierge.

    az account set --subscription {your subscription ID}
    

Ustawianie domyślnej grupy zasobów

W przypadku korzystania z interfejsu wiersza polecenia platformy Azure możesz ustawić domyślną grupę zasobów i pominąć parametr z pozostałych poleceń interfejsu wiersza polecenia platformy Azure w tym ćwiczeniu. Ustaw wartość domyślną na grupę zasobów utworzoną dla Ciebie w środowisku piaskownicy.

az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"

Wdrażanie szablonu na platformie Azure

Uruchom następujące polecenie z poziomu terminalu w programie Visual Studio Code, aby wdrożyć szablon Bicep na platformie Azure. Wykonanie polecenia może potrwać minutę lub dwie, a następnie zobaczysz pomyślne wdrożenie. Jeśli zostanie wyświetlone ostrzeżenie dotyczące lokalizacji, która jest zakodowana, możesz ją zignorować. Naprawisz lokalizację w dalszej części modułu. Kontynuowanie jest bezpieczne, a wdrożenie zakończy się pomyślnie.

az deployment group create --template-file main.bicep

W terminalu zobaczysz komunikat Running....

Aby wdrożyć ten szablon na platformie Azure, zaloguj się do konta platformy Azure z poziomu terminalu programu Visual Studio Code. Upewnij się, że zainstalowano program Azure PowerShell i zaloguj się do tego samego konta, na którym aktywowano piaskownicę.

  1. W menu Terminal wybierz polecenie New Terminal (Nowy terminal). Okno terminalu zwykle otwiera się w dolnej połowie ekranu.

  2. Jeśli powłoka wyświetlana po prawej stronie okna terminalu to powershell lub pwsh, prawidłowa powłoka jest otwarta i możesz przejść do następnej sekcji.

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z opcją pwsh wyświetlaną na liście rozwijanej powłoki.

  3. Jeśli zostanie wyświetlona powłoka inna niż powershell lub pwsh , wybierz strzałkę listy rozwijanej powłoki, a następnie wybierz pozycję PowerShell.

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z wyświetloną listą rozwijaną powłoki terminalu i wybraną pozycją Programu PowerShell.

  4. Na liście powłok terminali wybierz pozycję powershell lub pwsh.

    Zrzut ekranu przedstawiający okno terminalu programu Visual Studio Code z wybranym terminalem programu PowerShell.

  5. W terminalu przejdź do katalogu, w którym zapisano szablon. Jeśli na przykład szablon został zapisany w folderze templates , możesz użyć tego polecenia:

    Set-Location -Path templates
    

Instalowanie interfejsu wiersza polecenia Bicep

Aby użyć aplikacji Bicep z poziomu programu Azure PowerShell, zainstaluj interfejs wiersza polecenia Bicep.

Logowanie się na platformie Azure przy użyciu programu Azure PowerShell

  1. W terminalu programu Visual Studio Code uruchom następujące polecenie:

    Connect-AzAccount
    

    Zostanie otwarta przeglądarka umożliwiająca zalogowanie się do konta platformy Azure.

  2. Po zalogowaniu się na platformie Azure w terminalu zostanie wyświetlona lista subskrypcji skojarzonych z tym kontem.

    Jeśli aktywowano piaskownicę, zostanie wyświetlona subskrypcja o nazwie Subskrypcja Concierge. Użyj go w pozostałej części ćwiczenia.

  3. Ustaw domyślną subskrypcję dla wszystkich poleceń programu Azure PowerShell uruchamianych w tej sesji.

    $context = Get-AzSubscription -SubscriptionName 'Concierge Subscription'
    Set-AzContext $context
    

    Uwaga

    Jeśli ostatnio użyto więcej niż jednej piaskownicy, terminal może wyświetlić więcej niż jedno wystąpienie subskrypcji Concierge. W tym przypadku użyj dwóch następnych kroków, aby ustawić jedną jako domyślną subskrypcję. Jeśli poprzednie polecenie zakończyło się pomyślnie i zostanie wyświetlona tylko jedna subskrypcja Concierge, pomiń kolejne dwa kroki.

  4. Uzyskaj identyfikator subskrypcji. Uruchomienie następującego polecenia zawiera listę subskrypcji i ich identyfikatorów. Concierge SubscriptionWyszukaj ciąg , a następnie skopiuj identyfikator z drugiej kolumny. Wygląda to mniej więcej tak: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e.

    Get-AzSubscription
    
  5. Zmień aktywną subskrypcję na Subskrypcja Concierge. Pamiętaj, aby zastąpić ciąg {Identyfikator subskrypcji} skopiowaną wartością.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    

Ustawianie domyślnej grupy zasobów

Możesz ustawić domyślną grupę zasobów i pominąć parametr z pozostałych poleceń programu Azure PowerShell w tym ćwiczeniu. Ustaw tę wartość domyślną na grupę zasobów utworzoną dla Ciebie w środowisku piaskownicy.

Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>

Wdrażanie szablonu na platformie Azure

Wdróż szablon na platformie Azure przy użyciu następującego polecenia programu Azure PowerShell w terminalu. Wykonanie polecenia może potrwać minutę lub dwie i zobaczysz pomyślne wdrożenie. Jeśli zostanie wyświetlone ostrzeżenie dotyczące lokalizacji, która jest zakodowana, możesz ją zignorować. Naprawisz lokalizację w dalszej części modułu. Kontynuowanie jest bezpieczne, a wdrożenie zakończy się pomyślnie.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Weryfikowanie wdrożenia

Przy pierwszym wdrożeniu szablonu Bicep możesz użyć witryny Azure Portal, aby sprawdzić, czy wdrożenie zakończyło się pomyślnie i sprawdzić wyniki.

  1. Przejdź do witryny Azure Portal i upewnij się, że jesteś w subskrypcji piaskownicy:

    1. Wybierz swój awatar w prawym górnym rogu strony.
    2. Wybierz pozycję Przełącz katalog. Z listy wybierz katalog Microsoft Learn Sandbox.
  2. Na panelu po lewej stronie wybierz pozycję Grupy zasobów.

  3. Wybierz pozycję [nazwa grupy zasobów piaskownicy].

  4. W obszarze Przegląd widać, że jedno wdrożenie zakończyło się pomyślnie. Może być konieczne rozwinięcie obszaru Podstawy , aby zobaczyć wdrożenie.

    Zrzut ekranu przedstawiający interfejs witryny Azure Portal dla przeglądu grupy zasobów z sekcją wdrożenia pokazującą, że zakończyło się to pomyślnie.

  5. Wybierz pozycję 1 udane, aby wyświetlić szczegóły wdrożenia.

    Zrzut ekranu przedstawiający interfejs witryny Azure Portal dla wdrożeń z wyświetlonym wdrożeniem i stanem powodzenia.

  6. Wybierz wdrożenie o nazwie main , aby zobaczyć, które zasoby zostały wdrożone, a następnie wybierz pozycję Szczegóły wdrożenia, aby je rozwinąć. W takim przypadku istnieje jedno konto magazynu o określonej nazwie.

    Zrzut ekranu przedstawiający interfejs witryny Azure Portal dla określonego wdrożenia z wyświetlonym jednym zasobem konta magazynu.

  7. Pozostaw tę stronę otwartą w przeglądarce. Ponownie sprawdzisz wdrożenia później.

Możesz również zweryfikować wdrożenie z poziomu wiersza polecenia. W tym celu uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure:

az deployment group list --output table

Możesz również zweryfikować wdrożenie z poziomu wiersza polecenia. W tym celu uruchom następujące polecenie programu Azure PowerShell:

Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table

Dodawanie planu usługi App Service i aplikacji do szablonu Bicep

W poprzednim zadaniu przedstawiono sposób tworzenia szablonu zawierającego pojedynczy zasób i wdrażania go. Teraz możesz przystąpić do wdrażania większej liczby zasobów, w tym zależności. W tym zadaniu dodasz plan usługi App Service i aplikację do szablonu Bicep.

  1. W pliku main.bicep w programie Visual Studio Code dodaj następujący kod w dolnej części pliku:

    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'eastus'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
      name: 'toy-product-launch-1'
      location: 'eastus'
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  2. Zaktualizuj nazwę aplikacji usługi App Service z toy-product-launch-1 na coś, co prawdopodobnie będzie unikatowe. Upewnij się, że nazwa ma od 2 do 60 znaków z wielkimi i małymi literami, cyframi i łącznikami, i nie zaczyna się ani nie kończy łącznikiem.

  3. Zapisz zmiany w pliku.

Wdrażanie zaktualizowanego szablonu Bicep

Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure w terminalu. Możesz zignorować ostrzeżenia dotyczące zakodowanej lokalizacji. Wkrótce naprawisz lokalizację.

az deployment group create --template-file main.bicep

Uruchom następujące polecenie programu Azure PowerShell w terminalu. Możesz zignorować komunikaty ostrzegawcze dotyczące zakodowanej lokalizacji. Wkrótce naprawisz lokalizację.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Sprawdzanie wdrożenia

  1. Wróć do witryny Azure Portal i przejdź do grupy zasobów. Nadal zobaczysz jedno pomyślne wdrożenie, ponieważ wdrożenie używało tej samej nazwy co pierwsze wdrożenie.

  2. Wybierz link 1 Powodzenie.

  3. Wybierz wdrożenie o nazwie main, a następnie wybierz pozycję Szczegóły wdrożenia, aby rozwinąć listę wdrożonych zasobów.

    Zrzut ekranu przedstawiający interfejs witryny Azure Portal dla określonego wdrożenia z wyświetlonymi zasobami konta magazynu i usługi App Service.

  4. Zwróć uwagę, że plan usługi App Service i aplikacja zostały wdrożone.