Oefening: resources definiëren in een Bicep-sjabloon

Voltooid

Notitie

De eerste keer dat u een sandbox activeert en de voorwaarden accepteert, is uw Microsoft-account gekoppeld aan een nieuwe Azure-directory met de naam Microsoft Learn Sandbox. U wordt ook toegevoegd aan een speciaal abonnement met de naam Concierge-abonnement.

Voor uw website voor speelgoedlancering besluit u eerst een proof-of-concept te maken door een eenvoudige Bicep-sjabloon te maken. In deze oefening maakt u een opslagaccount, Azure-app Service-plan en -app. Later wijzigt u de sjabloon om deze herbruikbaarder te maken.

Tijdens het proces gaat u het volgende doen:

  • Maak een sjabloon waarmee één opslagaccountresource wordt gedefinieerd die in code vastgelegde waarden bevat.
  • Richt uw infrastructuur in en controleer het resultaat.
  • Voeg een App Service-plan en -app toe aan de sjabloon.
  • Richt de infrastructuur opnieuw in om de nieuwe resources te zien.

In deze oefening wordt de Bicep-extensie voor Visual Studio Code gebruikt. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.

Een Bicep-sjabloon maken die een opslagaccount bevat

  1. Open Visual Studio Code.

  2. Maak een nieuw bestand met de naam main.bicep.

  3. Sla het lege bestand op zodat Visual Studio Code de Bicep-hulpprogramma's laadt.

    U kunt Bestand>opslaan als selecteren of Ctrl+S selecteren in Windows (⌘+S in macOS). Vergeet niet waar u het bestand hebt opgeslagen. U kunt bijvoorbeeld een sjabloonmap maken waarin u het bestand wilt opslaan.

  4. Voeg de volgende Bicep-code toe aan het bestand. U gaat de sjabloon binnenkort implementeren. Het is een goed idee om de code zelf te typen in plaats van te kopiëren en plakken, zodat u kunt zien hoe u met de tooling uw Bicep-bestanden kunt schrijven.

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

    Tip

    Bicep is strikt waar u regeleinden plaatst, dus zorg ervoor dat u geen regeleinden op verschillende plaatsen plaatst dan hier wordt vermeld.

    U ziet dat Visual Studio Code automatisch eigenschapsnamen voorstelt terwijl u typt. De Bicep-extensie voor Visual Studio Code begrijpt de resources die u in uw sjabloon definieert en bevat de beschikbare eigenschappen en waarden die u kunt gebruiken.

  5. Werk de naam van het opslagaccount bij van toylaunchstorage iets dat waarschijnlijk uniek is, omdat elk opslagaccount een wereldwijd unieke naam nodig heeft. Zorg ervoor dat de naam 3 tot 24 tekens is en alleen kleine letters en cijfers bevat.

    Belangrijk

    Sla deze stap niet over. Als u dit doet, wordt uw Bicep-bestand niet geïmplementeerd.

  6. Sla de wijzigingen in het bestand op.

De Bicep-sjabloon implementeren in Azure

Als u deze sjabloon wilt implementeren in Azure, moet u zich aanmelden bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat u de Azure CLI hebt geïnstalleerd en vergeet niet om u aan te melden met hetzelfde account dat u hebt gebruikt om de sandbox te activeren.

  1. Selecteer Nieuwe terminal in het menu Terminal. Het terminalvenster wordt meestal geopend in de onderste helft van het scherm.

  2. Als de shell aan de rechterkant van het terminalvenster bash is, is de juiste shell geopend en kunt u doorgaan naar de volgende sectie.

    Schermopname van het Visual Studio Code-terminalvenster, met de bash-optie weergegeven.

  3. Als een andere shell dan bash wordt weergegeven, selecteert u de vervolgkeuzepijl van de shell en selecteert u Vervolgens Azure Cloud Shell (Bash).

    Schermopname van het Visual Studio Code-terminalvenster, met de vervolgkeuzelijst terminalshell weergegeven en Git Bash Default geselecteerd.

  4. Selecteer bash in de lijst met terminalshells.

    Schermopname van het Visual Studio Code-terminalvenster, met de bash-terminal geselecteerd.

  5. Ga in de terminal naar de map waarin u de sjabloon hebt opgeslagen. Als u de sjabloon bijvoorbeeld hebt opgeslagen in de map sjablonen , kunt u deze opdracht gebruiken:

    cd templates
    

Bicep installeren

Voer de volgende opdracht uit om te controleren of u de nieuwste versie van Bicep hebt:

az bicep install && az bicep upgrade

Aanmelden bij Azure

  1. Meld u in de Visual Studio Code-terminal aan bij Azure door de volgende opdracht uit te voeren:

    az login
    
  2. Meld u aan bij uw Azure-account in de browser die wordt geopend.

    In de Visual Studio Code-terminal wordt een lijst weergegeven met de abonnementen die aan dit account zijn gekoppeld.

  3. Stel het standaardabonnement in voor alle Azure CLI-opdrachten die u in deze sessie uitvoert.

    az account set --subscription "Concierge Subscription"
    

    Notitie

    Als u meer dan één sandbox onlangs hebt gebruikt, kan in de terminal meer dan één exemplaar van Concierge-abonnement worden weergegeven. In dit geval gebruikt u de volgende twee stappen om er een in te stellen als het standaardabonnement. Als de voorgaande opdracht is geslaagd en er slechts één Concierge-abonnement wordt weergegeven, slaat u de volgende twee stappen over.

  4. Verkrijg de id’s van het Concierge-abonnement.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Stel het standaardabonnement in met behulp van de abonnements-id. Vervang {uw abonnements-id} door de meest recente Concierge-abonnements-id.

    az account set --subscription {your subscription ID}
    

De standaardresourcegroep instellen

Wanneer u de Azure CLI gebruikt, kunt u de standaardresourcegroep instellen en de parameter weglaten uit de rest van de Azure CLI-opdrachten in deze oefening. Stel de standaardinstelling in op de resourcegroep die voor u is gemaakt in de sandbox-omgeving.

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

De sjabloon implementeren in Azure

Voer de volgende opdracht uit vanuit de terminal in Visual Studio Code om de Bicep-sjabloon in Azure te implementeren. Het kan een paar minuten duren voordat de opdracht is voltooid. Vervolgens ziet u een geslaagde implementatie. Als u een waarschuwing ziet over de locatie die in code is vastgelegd, kunt u deze negeren. U lost de locatie later in de module op. Het is veilig om door te gaan en de implementatie slaagt.

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

U ziet Running... in de terminal.

Als u deze sjabloon wilt implementeren in Azure, meldt u zich aan bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat u Azure PowerShell hebt geïnstalleerd en meld u aan bij hetzelfde account dat de sandbox heeft geactiveerd.

  1. Selecteer Nieuwe terminal in het menu Terminal. Het terminalvenster wordt meestal geopend in de onderste helft van het scherm.

  2. Als de shell aan de rechterkant van het terminalvenster powershell of pwsh is, is de juiste shell geopend en kunt u doorgaan naar de volgende sectie.

    Schermopname van het Visual Studio Code-terminalvenster, met de optie pwsh weergegeven in de vervolgkeuzelijst shell.

  3. Als een andere shell dan powershell of pwsh wordt weergegeven, selecteert u de vervolgkeuzepijl van de shell en selecteert u Vervolgens PowerShell.

    Schermopname van het Visual Studio Code-terminalvenster, met de vervolgkeuzelijst terminalshell weergegeven en PowerShell geselecteerd.

  4. Selecteer powershell of pwsh in de lijst met terminalshells.

    Schermopname van het Visual Studio Code-terminalvenster, waarbij de PowerShell-terminal is geselecteerd.

  5. Ga in de terminal naar de map waarin u de sjabloon hebt opgeslagen. Als u uw sjabloon bijvoorbeeld hebt opgeslagen in de map sjablonen , kunt u deze opdracht gebruiken:

    Set-Location -Path templates
    

Bicep CLI installeren

Als u Bicep wilt gebruiken vanuit Azure PowerShell, installeert u de Bicep CLI.

Aanmelden bij Azure met behulp van Azure PowerShell

  1. Voer in de Visual Studio Code-terminal de volgende opdracht uit:

    Connect-AzAccount
    

    Er wordt een browser geopend, zodat u zich kunt aanmelden bij uw Azure-account.

  2. Nadat u zich hebt aangemeld bij Azure, wordt in de terminal een lijst weergegeven met de abonnementen die aan dit account zijn gekoppeld.

    Als u de sandbox hebt geactiveerd, wordt een abonnement met de naam Concierge-abonnement weergegeven. Gebruik deze voor de rest van de oefening.

  3. Stel het standaardabonnement in voor alle Azure PowerShell-opdrachten die u in deze sessie uitvoert.

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

    Notitie

    Als u meer dan één sandbox onlangs hebt gebruikt, kan in de terminal meer dan één exemplaar van Concierge-abonnement worden weergegeven. In dit geval gebruikt u de volgende twee stappen om er een in te stellen als het standaardabonnement. Als de voorgaande opdracht is geslaagd en er slechts één Concierge-abonnement wordt weergegeven, slaat u de volgende twee stappen over.

  4. Verkrijg de abonnements-id. Als u de volgende opdracht uitvoert, worden uw abonnementen en hun id's vermeld. Concierge SubscriptionZoek en kopieer de id uit de tweede kolom. Het ziet er ongeveer als volgt uit: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e.

    Get-AzSubscription
    
  5. Wijzig uw actieve abonnement in Concierge-abonnement. Zorg ervoor dat u {Uw abonnements-id} vervangt door de id die u hebt gekopieerd.

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

De standaardresourcegroep instellen

U kunt de standaardresourcegroep instellen en de parameter weglaten uit de rest van de Azure PowerShell-opdrachten in deze oefening. Stel deze standaardinstelling in op de resourcegroep die voor u is gemaakt in de sandbox-omgeving.

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

De sjabloon implementeren in Azure

Implementeer de sjabloon in Azure met behulp van de volgende Azure PowerShell-opdracht in de terminal. Het kan een paar minuten duren voordat de opdracht is voltooid en u ziet een geslaagde implementatie. Als u een waarschuwing ziet over de locatie die in code is vastgelegd, kunt u deze negeren. U lost de locatie later in de module op. Het is veilig om door te gaan en de implementatie slaagt.

New-AzResourceGroupDeployment -TemplateFile main.bicep

De implementatie controleren

De eerste keer dat u een Bicep-sjabloon implementeert, kunt u de Azure-portal gebruiken om te controleren of de implementatie is voltooid en om de resultaten te controleren.

  1. Ga naar Azure Portal en zorg ervoor dat u zich in het sandbox-abonnement bevindt:

    1. Selecteer uw avatar in de rechterbovenhoek van de pagina.
    2. Selecteer Schakelen tussen directory's. In de lijst kiest u de map Microsoft Learn Sandbox.
  2. Selecteer Resourcegroepen in het linkerdeelvenster.

  3. Selecteer [naam sandboxresourcegroep].

  4. In Overzicht ziet u dat één implementatie is geslaagd. Mogelijk moet u het gebied Essentials uitvouwen om de implementatie te kunnen zien.

    Schermopname van de Azure Portal-interface voor het overzicht van de resourcegroep, met de sectie implementaties die laat zien dat deze is geslaagd.

  5. Selecteer 1 geslaagd om de details van de implementatie te bekijken.

    Schermopname van de Azure Portal-interface voor de implementaties, waarbij de ene implementatie wordt vermeld en een geslaagde status.

  6. Selecteer de implementatie met de naam Main om te zien welke resources zijn geïmplementeerd en selecteer vervolgens Implementatiedetails om deze uit te vouwen. In dit geval is er één opslagaccount met de naam die u hebt opgegeven.

    Schermopname van de Azure Portal-interface voor de specifieke implementatie, met één opslagaccountresource vermeld.

  7. Laat de pagina in uw browser open. U controleert de implementaties later opnieuw.

U kunt de implementatie ook controleren vanaf de opdrachtregel. Voer hiervoor de volgende Azure CLI-opdracht uit:

az deployment group list --output table

U kunt de implementatie ook controleren vanaf de opdrachtregel. Voer hiervoor de volgende Azure PowerShell-opdracht uit:

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

Een App Service-plan en -app toevoegen aan uw Bicep-sjabloon

In de vorige taak hebt u geleerd hoe u een sjabloon maakt die één resource bevat en deze implementeert. Nu bent u klaar om meer resources te implementeren, inclusief een afhankelijkheid. In deze taak voegt u een App Service-plan en -app toe aan de Bicep-sjabloon.

  1. Voeg in het bestand main.bicep in Visual Studio Code de volgende code toe aan de onderkant van het bestand:

    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. Werk de naam van de App Service-app bij van toy-product-launch-1 iets dat waarschijnlijk uniek is. Zorg ervoor dat de naam 2 tot 60 tekens is met hoofdletters en kleine letters, cijfers en afbreekstreepjes en niet begint of eindigt met een afbreekstreepje.

  3. Sla de wijzigingen in het bestand op.

De bijgewerkte Bicep-sjabloon implementeren

Voer de volgende Azure CLI-opdracht uit in de terminal. U kunt de waarschuwingen over de in code vastgelegde locatie negeren. U lost de locatie binnenkort op.

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

Voer de volgende Azure PowerShell-opdracht uit in de terminal. U kunt de waarschuwingsberichten over de in code vastgelegde locatie negeren. U lost de locatie binnenkort op.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Uw implementatie controleren

  1. Ga terug naar Azure Portal en ga naar uw resourcegroep. U ziet nog steeds één geslaagde implementatie, omdat de implementatie dezelfde naam heeft gebruikt als de eerste implementatie.

  2. Selecteer de koppeling 1 Geslaagd .

  3. Selecteer de implementatie met de naam Main en selecteer vervolgens Implementatiedetails om de lijst met geïmplementeerde resources uit te vouwen.

    Schermopname van de Azure Portal-interface voor de specifieke implementatie, met het opslagaccount en de App Service-resources vermeld.

  4. U ziet dat het App Service-plan en de app zijn geïmplementeerd.