Hogyan erőforrásokat létrehozni és kezelni az Azure-ban?

Az Azure számos eszközt kínál az alkalmazás által használt Azure-erőforrások létrehozásához és kezeléséhez.

A különböző eszközök különböző használati esetek támogatására szolgálnak, és a legtöbb Azure-fejlesztő különböző eszközök kombinációját használja attól függően, hogy milyen feladatot kell elvégeznie. Előfordulhat például, hogy:

  • Az Azure-erőforrások új alkalmazáshoz való prototípusakor használjon GUI-eszközt, például az Azure Portalt vagy a VS Code-hoz készült Azure Tools-bővítményt. A grafikus felhasználói felület eszközei végigvezetik az új szolgáltatások létrehozásának folyamatán, és áttekintheti és kiválaszthatja a szolgáltatások beállításait legördülő menük és egyéb grafikus elemek használatával.

  • Írjon egy szkriptet az Azure CLI vagy az Azure PowerShell használatával egy gyakori feladat automatizálásához. Létrehozhat például egy szkriptet, amely alapszintű fejlesztői környezetet hoz létre egy új webalkalmazáshoz, amely egy Azure-alkalmazás Szolgáltatásból, egy adatbázisból és egy blobtárolóból áll. A szkriptek írása biztosítja, hogy az erőforrások minden alkalommal ugyanúgy legyenek létrehozva, és gyorsabban futnak, mint a felhasználói felületen való kattintás.

  • Az Infrastruktúra kódként (IaC) eszközökkel deklaratív módon helyezheti üzembe és kezelheti az Azure-erőforrásokat. Az olyan eszközök, mint a Terraform, az Ansible vagy a Bicep lehetővé teszik a megoldáshoz szükséges Azure-erőforrások kodifikálását deklaratív szintaxisban, biztosítva az Azure-erőforrások konzisztens üzembe helyezését a környezetekben, és megelőzheti a környezeti eltolódást.

Azure Portal

Az Azure Portal egy webes felület, amely azure-erőforrások kezelésére lett kialakítva. Az Azure Portal funkciói:

  • Könnyen használható, webes felhasználói felület Azure-erőforrások létrehozásához és kezeléséhez
  • Konfigurálható irányítópultok létrehozása
  • Hozzáférés az előfizetési beállításokhoz és a számlázási adatokhoz

A screenshot showing the Azure portal.

VS Code Azure Tools bővítménycsomag

A Visual Studio Code-ot használó fejlesztők közvetlenül a VS Code-ból kezelhetik az Azure-erőforrásokat a VS Code-hoz készült Azure Tools bővítménycsomag használatával. Az Azure Tools bővítménycsomag használata a következő lehet:

  • Kód létrehozása, kezelése és üzembe helyezése webhelyeken a Azure-alkalmazás Szolgáltatás használatával.
  • Azure-adatbázisok létrehozása, tallózása és lekérdezése
  • Az Azure Functions létrehozása, hibakeresése és üzembe helyezése közvetlenül a VS Code-ból
  • Tárolóalapú alkalmazások üzembe helyezése a VS Code-ból

A screenshot showing Visual Studio Code with the Azure Tools extension pack installed.

Parancssori eszközök

A parancssori eszközök a hatékonyság, az ismételhetőség és az ismétlődő feladatok szkriptelhetőségének előnyeit kínálják. Az Azure két különböző parancssori eszközt kínál. Az Azure CLI és az Azure PowerShell funkcionálisan egyenértékű. Csak az egyéni munkafolyamatnak leginkább megfelelő eszközt kell kiválasztania és használnia.

Azure CLI

Az Azure CLI egy platformfüggetlen parancssori eszköz, amely Windows, Linux és macOS rendszeren fut. Az Azure CLI:

  • Az Azure-erőforrások kezeléséhez tömör, hatékony szintaxist biztosít.
  • JSON-ként adja ki az eredményeket (alapértelmezés szerint). Az eredmények YAML-ként, ASCII-táblázatként vagy tabulátorral elválasztott értékekként is formázhatók kulcsok nélkül.
  • Lehetővé teszi a kimenet lekérdezését és alakítását JMESPath-lekérdezések használatával.

Az Azure CLI-parancsok könnyen beépülnek a népszerű szkriptnyelvekbe, például a Bashbe , így gyakori feladatokat is szkriptelhet.

LOCATION='eastus'                                        
RESOURCE_GROUP_NAME='msdocs-expressjs-mongodb-tutorial'

WEB_APP_NAME='msdocs-expressjs-mongodb-123'
APP_SERVICE_PLAN_NAME='msdocs-expressjs-mongodb-plan-123'    
RUNTIME='NODE|14-lts'

# Create a resource group
az group create \
    --location $LOCATION \
    --name $RESOURCE_GROUP_NAME

# Create an app service plan
az appservice plan create \
    --name $APP_SERVICE_PLAN_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --sku B1 \
    --is-linux

# Create the web app in the app service
az webapp create \
    --name $WEB_APP_NAME \
    --runtime $RUNTIME \
    --plan $APP_SERVICE_PLAN_NAME \
    --resource-group $RESOURCE_GROUP_NAME 

Azure PowerShell

Az Azure PowerShell parancsmagok halmaza, amelyek az Azure-erőforrások közvetlenül a PowerShellből való kezelésére használhatóak. Az Azure PowerShell PowerShell-modulként van telepítve, és a PowerShell 7.0.6 LTS-vel és a PowerShell 7.1.3-as vagy újabb verziójával működik minden platformon, beleértve a Windowst, a macOS-t és a Linuxot is. Ezenkívül a Windows PowerShell 5.1-es verziójával is kompatibilis.

Az Azure PowerShell szorosan integrálva van a PowerShell nyelvvel. A parancsok a verb-főnév formátumot követik, és a rendszer PowerShell-objektumként adja vissza az adatokat. Ha már ismeri a PowerShell-szkriptelést, az Azure PowerShell természetes választás.

$location = 'eastus'
$resourceGroupName = 'msdocs-blob-storage-demo-azps'
$storageAccountName = 'stblobstoragedemo999'

# Create a resource group
New-AzResourceGroup `
    -Location $location `
    -Name $resourceGroupName

# Create the storage account
New-AzStorageAccount `
    -Name $storageAccountName `
    -ResourceGroupName $resourceGroupName `
    -Location $location `
    -SkuName Standard_LRS

Az Azure CLI és az Azure PowerShell közötti választásról további információt a Megfelelő parancssori eszköz kiválasztása című cikkben talál.

Infrastruktúra kódeszközökként

Az infrastruktúra mint kód az erőforrások deklaratív konfigurációs fájlokon keresztüli kezelésének és kiépítésének folyamata. A kódeszközökként használt infrastruktúra deklaratív végállapot-specifikációval garantálja, hogy az erőforrások létrehozása és konfigurálása minden alkalommal ugyanúgy történik. Emellett a legtöbb infrastruktúra kódeszközként figyeli az erőforrásokat, hogy biztosan a kívánt állapotban legyenek konfigurálva.

Az automatizált, ismétlődő és megbízható infrastruktúra-üzemelő példányok esetében a kódként használt infrastruktúra számos eszközét Azure-támogatás.

Bicep

Bicep is a domain-specific language (DSL) that uses declarative syntax to deploy Azure resources. Tömör szintaxist és megbízható típusbiztonságot kínál, valamint biztosítja a kódok újrafelhasználhatóságát.

param location string = resourceGroup().location
param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Terraform

A Hashicorp Terraform egy nyílt forráskódú eszköz, amely felhőinfrastruktúra kiépítésére és kezelésére használható. A felhőalapú erőforrások topológiáját leíró konfigurációs fájlokban kodifikálta az infrastruktúrát. A Terraform CLI egyszerű mechanizmust biztosít a konfigurációs fájlok Azure-ban való üzembe helyezéséhez és verziójához.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "main" {
  name     = "${var.prefix}-resources"
  location = var.location
}

resource "azurerm_app_service_plan" "main" {
  name                = "${var.prefix}-asp"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  kind                = "Linux"
  reserved            = true

  sku {
    tier = "Standard"
    size = "S1"
  }
}

resource "azurerm_app_service" "main" {
  name                = "${var.prefix}-appservice"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  app_service_plan_id = azurerm_app_service_plan.main.id

  site_config {
    linux_fx_version = "NODE|10.14"
  }
}

Ansible

Az Ansible egy nyílt forráskódú termék, amely automatizálja a felhőkiépítést, a konfigurációkezelést és az alkalmazástelepítéseket. Az Ansible használatával virtuális gépeket, tárolókat és hálózatokat építhet ki, és teljes körű felhőinfrastruktúra érhető el. Az Ansible emellett lehetővé teszi az erőforrások környezetbeli üzembe helyezésének és konfigurálásának automatizálását.

- hosts: localhost
  connection: local
  vars:
    resource_group: myResourceGroup
    webapp_name: myfirstWebApp
    plan_name: myAppServicePlan
    location: eastus
  tasks:
    - name: Create a resource group
      azure_rm_resourcegroup:
        name: "{{ resource_group }}"
        location: "{{ location }}"

    - name: Create App Service on Linux with Java Runtime
      azure_rm_webapp:
        resource_group: "{{ resource_group }}"
        name: "{{ webapp_name }}"
        plan:
          resource_group: "{{ resource_group }}"
          name: "{{ plan_name }}"
          is_linux: true
          sku: S1
          number_of_workers: 1
        frameworks:
          - name: "java"
            version: "8"
            settings:
              java_container: tomcat
              java_container_version: 8.5

Azure SDK és REST API-k

Az Azure-erőforrások programozott módon is létrehozhatók kódból. Ez lehetővé teszi olyan alkalmazások írását, amelyek dinamikusan építenek ki Azure-erőforrásokat a felhasználói kérésekre válaszul. Az Azure SDK .NET-, Go-, Java-, JavaScript- és Python-erőforrás-kezelési csomagokat biztosít, amelyek lehetővé teszik az Azure-erőforrások közvetlen kódban való létrehozását és kezelését. Alternatív megoldásként az Azure REST API lehetővé teszi az Azure-erőforrások KEZELÉSÉT HTTP-kérésekkel egy RESTful-végpontra.