Automatyzowanie wdrażania przy użyciu interfejsu wiersza polecenia platformy Azure

Ukończone

Automatyzacja bazy danych nie jest już tylko dla dużych przedsiębiorstw; teraz ważne jest, aby firmy wszystkich rozmiarów pozostawały konkurencyjne. Jako administrator bazy danych automatyzowanie zadań bazy danych ma kluczowe znaczenie z kilku powodów:

  • Szczegółowa kontrola nad aplikacjami i bazami danych
  • Łatwa skalowalność, zwiększenie wydajności podczas zarządzania wieloma zasobami
  • Możliwość ponownego użycia skryptów do automatyzacji rutynowych zadań
  • Uproszczone rozwiązywanie problemów, gdy narzędzia graficznego interfejsu użytkownika są niedostępne

Interfejs azure Command-Line (CLI) to wieloplatformowe narzędzie ułatwiające tworzenie zasobów platformy Azure i zarządzanie nimi. Polecenia można uruchamiać za pośrednictwem terminalu przy użyciu interakcyjnych monitów lub skryptów.

Interfejs wiersza polecenia platformy Azure można zainstalować na komputerach z systemem Linux, Mac lub Windows. Można go również uruchomić z poziomu przeglądarki przy użyciu terminalu usługi Cloud Shell w witrynie Azure Portal lub w kontenerze platformy Docker.

Składnia interfejsu wiersza polecenia platformy Azure jest zgodna ze wzorcemreference name - command - parameter - parameter value. Na przykład przełączanie między subskrypcjami jest typowym zadaniem. Oto składnia:

az account set --subscription "my subscription name"

Program PowerShell a interfejs wiersza polecenia platformy Azure

Program Azure PowerShell i interfejs wiersza polecenia platformy Azure to międzyplatformowe narzędzia wiersza polecenia, które umożliwiają tworzenie zasobów platformy Azure w systemach Windows, macOS i Linux oraz zarządzanie nimi. Podstawowa różnica między nimi tkwi w środowiskach powłoki, które obsługują.

Środowisko powłoki Azure CLI Azure PowerShell
Cmd Tak
Bash Tak
Windows PowerShell Tak Tak
PowerShell Tak Tak

Aby wybrać odpowiednie narzędzie, rozważ swoje doświadczenie i środowisko pracy.

Interfejs wiersza polecenia platformy Azure jest podobny do skryptów powłoki bash, dzięki czemu jest intuicyjny dla tych, którzy zwykle pracują z systemami Linux. Z drugiej strony program Azure PowerShell zawiera moduły, które ułatwiają zarządzanie zasobami platformy Azure za pomocą programu PowerShell. Polecenia programu PowerShell są zgodne ze standardową składnią rzeczowników, dzięki czemu jest ona naturalna dla osób zaznajomionych z systemami Windows.

Poniżej przedstawiono krótkie porównanie niektórych często używanych poleceń w formularzach interfejsu wiersza polecenia i programu PowerShell:

Polecenie Azure CLI Azure PowerShell
Logowanie za pomocą przeglądarki internetowej az login Connect-AzAccount
Uzyskiwanie dostępnych subskrypcji lista kont az Get-AzSubscription (polecenie używane do pobierania subskrypcji w Microsoft Azure)
Ustawianie subskrypcji az account set –subscription Set-AzContext -Subscription
Wyświetlanie listy wszystkich maszyn wirtualnych az vm list Get-AzVM
Tworzenie nowego serwera SQL az sql server create New-AzSqlServer

Wdrażanie usługi SQL Database przy użyciu interfejsu wiersza polecenia platformy Azure

Oto przykład wdrażania usługi SQL Database i tworzenia reguły zapory w celu zezwolenia na dostęp z usług platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure:

let "randomIdentifier=$RANDOM*$RANDOM"

$resourceGroup = "<your resource group>"
$location = "<your location preference>"
$server = "dp300-sql-server-$randomIdentifier"
$login = "sqladmin"
$password = "Pa$$w0rD-$randomIdentifier"

az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password

az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

Aby dowiedzieć się więcej o wszystkich dostępnych poleceniach interfejsu wiersza polecenia usługi Azure SQL, zobacz Polecenia interfejsu wiersza polecenia usługi Azure SQL.

Wdrażanie szablonu usługi Azure Resource Manager (ARM) przy użyciu interfejsu wiersza polecenia platformy Azure i programu PowerShell

W programie PowerShell masz wiele opcji dla zakresu wdrożenia. Można wdrożyć do grupy zasobów, subskrypcji, grupy zarządzania (która jest kolekcją subskrypcji w ramach tego samego szablonu Azure i często jest używana we wdrożeniach dużych przedsiębiorstw) lub do dzierżawy. Szablony usługi Azure Resource Manager są sparametryzowane, co wymaga przekazania parametrów w tekście lub za pośrednictwem pliku parametrów, jak pokazano w poniższym przykładzie.

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
 -TemplateFile c:\MyTemplates\azuredeploy.json `
 -TemplateParameterFile c:\MyTemplates\storage.parameters.json

Pliki parametrów i szablonów można przechowywać w repozytorium Git, usłudze Azure Blob Storage lub w dowolnej innej dostępnej lokalizacji z maszyny wdrażającej.

Interfejs wiersza polecenia platformy Azure oferuje te same opcje zakresu wdrożenia co program PowerShell. Możesz użyć lokalnych lub zdalnych plików parametrów i szablonów, tak jak w przypadku programu PowerShell, jak pokazano w poniższym przykładzie.

az deployment group create --resource-group ExampleResourceGroup --template-file '\path\template.json'

Aby wdrożyć zdalne połączone szablony ze ścieżką względną przechowywaną na koncie magazynu, użyj ciągu zapytania, aby określić token SAS:

az deployment group create \
  --name linkedTemplateWithRelativePath \
  --resource-group myResourceGroup \
  --template-uri "https://stage20210126.blob.core.windows.net/template-staging/mainTemplate.json" \
  --query-string $sasToken

Uwaga

Obecnie interfejs wiersza polecenia platformy Azure nie obsługuje bezpośredniego wdrażania zdalnych plików Bicep. Zamiast tego możesz użyć interfejsu wiersza polecenia Bicep, aby przekonwertować plik Bicep na szablon JSON, a następnie wdrożyć szablon JSON z lokalizacji zdalnej.