Поделиться через


Разделы справки создавать ресурсы и управлять ими в Azure?

Это часть пять в серии из 7 статей, которые помогут разработчикам приступить к работе с Azure.

Azure предоставляет различные средства для создания ресурсов Azure, используемых приложением, и управления ими.

Различные средства предназначены для поддержки различных вариантов использования, и большинство разработчиков Azure используют сочетание различных инструментов в зависимости от задания, который требуется выполнить. Например, можно:

  • Используйте средство графического интерфейса, например портал Azure или расширение средств Azure для VS Code, при создании прототипов ресурсов Azure для нового приложения. Средства графического интерфейса позволяют просматривать и выбирать параметры службы с помощью раскрывающихся меню и других графических элементов.

  • Создание скрипта с помощью Azure CLI или Azure PowerShell для автоматизации обычной задачи. Например, можно создать скрипт, который создает базовую среду разработки для нового веб-приложения, состоящего из службы приложение Azure, базы данных и хранилища BLOB-объектов. Написание скрипта гарантирует, что ресурсы создаются одинаково каждый раз и выполняются быстрее, чем щелкнуть пользовательский интерфейс.

  • Используйте средства инфраструктуры как кода (IaC), чтобы декларативно развертывать ресурсы Azure и управлять ими. Такие инструменты, как Terraform, Ansible или Bicep, позволяют кодифицировать ресурсы Azure, необходимые для решения в декларативном синтаксисе, обеспечивая согласованное развертывание ресурсов Azure в средах и предотвращение смещения окружающей среды.

Портал Azure

Портал Azure — это веб-интерфейс, предназначенный для управления ресурсами Azure. Функции портал Azure:

  • Удобный веб-интерфейс для создания ресурсов Azure и управления ими
  • Возможность создания настраиваемых панелей мониторинга
  • Доступ к параметрам подписки и данным для выставления счетов.

Снимок экрана: портал Azure.

Пакет расширений средств VS Code Azure

Разработчики, использующие Visual Studio Code, могут управлять ресурсами Azure прямо из VS Code с помощью пакета расширений средств Azure для VS Code. Использование пакета расширений средств Azure может:

  • Создание, управление и развертывание кода на веб-сайтах с помощью службы приложение Azure.
  • Создание, просмотр и запрос баз данных Azure
  • Создание, отладка и развертывание Функции Azure непосредственно из VS Code
  • Развертывание контейнерных приложений из VS Code

Снимок экрана: Visual Studio Code с установленным пакетом расширения средств Azure.

Средства командной строки

Средства командной строки предлагают преимущества эффективности, повторяемости и возможности сценариев повторяющихся задач. Azure предоставляет два различных средства командной строки для выбора. Azure CLI и Azure PowerShell функционально эквивалентны. Вам нужно выбрать и использовать средство, которое лучше всего подходит для отдельного рабочего процесса.

Azure CLI

Azure CLI — это кроссплатформенное средство командной строки, работающее в Windows, Linux и macOS. Azure CLI:

  • Содержит краткий и эффективный синтаксис для управления ресурсом Azure.
  • Выводит результаты в формате JSON (по умолчанию). Результаты также можно отформатировать как YAML, таблицу ASCII или разделенные вкладками значения без ключей.
  • Предоставляет возможность запрашивать и формировать выходные данные с помощью запросов JMESPath.

Команды Azure CLI легко включаются в популярные языки сценариев, такие как Bash , что дает возможность выполнять сценарии распространенных задач.

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

Azure PowerShell — это набор командлетов для управления ресурсами Azure непосредственно из PowerShell. Azure PowerShell устанавливается как модуль PowerShell и работает с PowerShell 7.0.6 LTS и PowerShell 7.1.3 или более поздней версии на всех платформах, включая Windows, macOS и Linux. Он также совместим с Windows PowerShell 5.1.

Azure PowerShell тесно интегрирован с языком PowerShell. Команды следуют формату существительных команд, а данные возвращаются в виде объектов PowerShell. Если вы уже знакомы с скриптами PowerShell, Azure PowerShell — это естественный выбор.

$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

Дополнительные сведения о выборе между Azure CLI и Azure PowerShell см. в статье "Выбор правильного средства командной строки".

Инфраструктура как средства кода

Инфраструктура как код — это процесс управления ресурсами и подготовки с помощью декларативных файлов конфигурации. Инфраструктура в качестве средств кода использует декларативную спецификацию конечного состояния, чтобы гарантировать, что набор ресурсов создается и настраивается одинаково каждый раз. Кроме того, большинство инфраструктуры в качестве средств кода отслеживают ресурсы, чтобы убедиться, что они остаются настроенными в требуемом состоянии.

Для развертываний инфраструктуры, которые являются автоматизированными, повторяющимися и надежными, поддержка Azure различных средств инфраструктуры в виде средств кода.

Bicep

Bicep — это предметно-ориентированный язык (DSL), который использует декларативный синтаксис для развертывания ресурсов Azure. Он обеспечивает краткий синтаксис, надежную безопасность типов и поддержку повторного использования кода.

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

Hashicorp Terraform — это средство с открытым кодом для подготовки и администрирования облачной инфраструктуры. Он фиксирует принципы инфраструктуры в файлах конфигурации, описывающие топологии облачных ресурсов, Интерфейс командной строки Terraform предоставляет простой механизм развертывания и файлов конфигурации версий в Azure.

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

Ansible — этот продукт с открытым кодом, который автоматизирует подготовку облачных решений, управление конфигурацией и развертывание приложений. С помощью Ansible можно подготовить виртуальные машины, контейнеры и сети, а также готовые облачные инфраструктуры. Кроме того, Ansible позволяет автоматизировать развертывание и настройку ресурсов в среде.

- 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 и REST API

Ресурсы Azure также можно создавать программным способом из кода. Это позволяет создавать приложения, которые динамически подготавливают ресурсы Azure в ответ на запросы пользователей. Пакет SDK Azure предоставляет пакеты управления ресурсами в .NET, Go, Java, JavaScript и Python, которые позволяют создавать ресурсы Azure и управлять ими непосредственно в коде. Кроме того, REST API Azure позволяет ресурсам Azure управлять через HTTP-запросы к конечной точке RESTful.