Краткое руководство. Включение автоматического управления Azure для виртуальных машин с помощью GO

Автоматическое управление Azure позволяет пользователям легко применять рекомендации Azure к своим виртуальным машинам. Это краткое руководство поможет вам применить профиль конфигурации best practices к существующей виртуальной машине с помощью репозитория azure-sdk-for-go.

Предварительные требования

Примечание

Учетные записи бесплатной пробной версии не предоставляют доступа к виртуальным машинам, которые используются в этом руководстве. Перейдите на подписку с оплатой по мере использования.

Важно!

Чтобы включить службу "Автоматическое управление", нужно иметь роль Участник в группе ресурсов с вашими виртуальными машинами. Если вы включаете Автоматическое управление в подписке впервые, вам потребуются следующие разрешения: роль Владелец или Участник вместе с ролью Администратор доступа пользователей в вашей подписке.

Установка необходимых пакетов

Для этой демонстрации требуются пакеты Azure Identity и Azure Automanage .

go get "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/automanage/armautomanage"
go get "github.com/Azure/azure-sdk-for-go/sdk/azidentity"

Импорт пакетов

Импортируйте пакеты Azure Identity и Azure Automanage в скрипт:

import (
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/automanage/armautomanage"
)

Проверка подлинности в Azure и создание клиента автоматического управления

Используйте пакет удостоверений Azure для проверки подлинности в Azure, а затем создайте клиент автоматического управления:

credential, err := azidentity.NewDefaultAzureCredential(nil)
configProfilesClient, err := armautomanage.NewConfigurationProfilesClient("<subscription ID>", credential, nil)

Включение профиля конфигурации рекомендаций для существующей виртуальной машины

configProfileId := "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction"

properties := armautomanage.ConfigurationProfileAssignmentProperties{
    ConfigurationProfile: &configProfileId,
}

assignment := armautomanage.ConfigurationProfileAssignment{
    Properties: &properties,
}

// assignment name must be 'default'
newAssignment, err = assignmentClient.CreateOrUpdate(context.Background(), "default", "resourceGroupName", "vmName", assignment, nil)

Дальнейшие действия

Узнайте, как выполнять дополнительные операции с помощью клиента автоматического управления GO, посетив репозиторий azure-sdk-for-go.