Rozpoczynanie pracy z interfejsem wiersza polecenia platformy Azure 2.0

Interfejs wiersza polecenia platformy Azure 2.0 to nowe środowisko wiersza polecenia platformy Azure do zarządzania jej zasobami. Możesz używać go w przeglądarce dzięki usłudze Azure Cloud Shell, albo zainstalować w systemach macOS, Linux i Windows, a następnie uruchamiać z wiersza polecenia.

Interfejs wiersza polecenia platformy Azure 2.0 jest zoptymalizowany do zarządzania i administrowania zasobami platformy Azure z wiersza polecenia oraz do tworzenia skryptów automatyzacji działających względem usługi Azure Resource Manager. Ten artykuł ułatwia rozpoczęcie korzystania z niego i uczy podstawowych koncepcji z nim związanych.

Aby uzyskać informacje o najnowszej wersji, zobacz informacje o wersji.

Połączenie

Najprostszym sposobem na rozpoczęcie pracy jest uruchomienie usługi Cloud Shell.

  1. Uruchom usługę Cloud Shell z górnego obszaru nawigacyjnego witryny Azure Portal.

    Ikona powłoki

  2. Wybierz subskrypcję, której chcesz użyć, a następnie utwórz konto magazynu.

    Tworzenie konta magazynu

Możesz również zainstalować interfejs wiersza polecenia i uruchamiać go lokalnie z wiersza polecenia. Po zainstalowaniu interfejsu wiersza polecenia uruchom polecenie az login, aby zalogować się przy użyciu subskrypcji domyślnej.

Tworzenie grupy zasobów

Teraz, gdy wszystko jest już skonfigurowane, użyjmy interfejsu wiersza polecenia platformy Azure do utworzenia zasobów na platformie Azure.

Najpierw utwórz grupę zasobów. Grupy zasobów na platformie Azure umożliwiają zarządzanie wieloma zasobami, które chcesz logicznie pogrupować. Możesz na przykład utworzyć grupę zasobów dla aplikacji lub projektu i dodać do niej maszynę wirtualną, bazę danych i usługę CDN.

Utwórzmy grupę zasobów o nazwie „MyResourceGroup” w regionie westus2 świadczenia usługi Azure. W tym celu wpisz następujące polecenie:

az group create -n MyResourceGroup -l westus2 

Po utworzeniu grupy zasobów polecenie az group create zwróci kilka właściwości nowo utworzonego zasobu:

{
  "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup",
  "location": "westus2",
  "managedBy": null,
  "name": "MyResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Tworzenie maszyny wirtualnej z systemem Linux

Teraz, gdy mamy naszą grupę zasobów, utwórzmy w niej maszynę wirtualną z systemem Linux.

Maszynę wirtualną z systemem Linux możesz utworzyć, korzystając z popularnego obrazu UbuntuLTS z dwoma dołączonymi dyskami pamięci masowej o pojemności 10 GB i 20 GB, przy użyciu następującego polecenia:

az vm create -n MyLinuxVM -g MyResourceGroup --image UbuntuLTS --data-disk-sizes-gb 10 20

Po uruchomieniu powyższego polecenia interfejs wiersza polecenia platformy Azure 2.0 wyszukuje parę kluczy SSH w katalogu ~/.ssh. Jeśli nie znajduje się tam jeszcze para kluczy SSH, interfejs wiersza polecenia platformy Azure może ją automatycznie utworzyć. W tym celu przekaż parametr --generate-ssh-keys:

az vm create -n MyLinuxVM -g MyResourceGroup --image UbuntuLTS --data-disk-sizes-gb 10 20 --generate-ssh-keys

Polecenie az vm create zwraca dane wyjściowe, gdy maszyna wirtualna została w pełni utworzona oraz można uzyskać do niej dostęp i jej używać. Dane wyjściowe zawierają kilka właściwości nowo utworzonej maszyny wirtualnej łącznie z jej publicznym adresem IP:

{
  "fqdns": "",
  "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyLinuxVM",
  "location": "westus2",
  "macAddress": "xx-xx-xx-xx-xx-xx",
  "powerState": "VM running",
  "privateIpAddress": "xx.x.x.x",
  "publicIpAddress": "xx.xxx.xxx.xx",
  "resourceGroup": "MyResourceGroup"
}

Teraz, gdy maszyna wirtualna została już utworzona, możesz zalogować się do swojej nowej maszyny wirtualnej z systemem Linux przy użyciu protokołu SSH za pomocą publicznego adresu IP utworzonej maszyny wirtualnej:

ssh xx.xxx.xxx.xxx
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-65-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Feb 19 00:32:28 UTC 2017

  System load: 0.31              Memory usage: 3%   Processes:       89
  Usage of /:  39.6% of 1.94GB   Swap usage:   0%   Users logged in: 0

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

my-login@MyLinuxVM:~$

Tworzenie maszyny wirtualnej z systemem Windows Server

Utwórzmy teraz maszynę wirtualną opartą na systemie Windows Datacenter 2016 przy użyciu polecenia az vm create i dodajmy ją do tej samej grupy zasobów „MyResourceGroup”, której użyliśmy dla maszyny wirtualnej z systemem Linux. Podobnie jak w przykładzie dotyczącym maszyny wirtualnej z systemem Linux, dołączymy również dwa dyski pamięci masowej, korzystając z parametru --data-disk-sizes-gb.

Platforma Azure wymaga unikania korzystania z nazw użytkownika/haseł, które są łatwe do odgadnięcia. Istnieją konkretne reguły co do tego, których znaków można używać, oraz co do minimalnej długości zarówno nazwy użytkownika, jak i hasła.

Uwaga

Podczas uruchamiania tego polecenia zostanie wyświetlony monit o wprowadzenie swojej nazwy użytkownika i hasła.

az vm create -n MyWinVM -g MyResourceGroup --image Win2016Datacenter

Polecenie az vm create zwraca dane wyjściowe, gdy maszyna wirtualna została w pełni utworzona oraz można uzyskać do niej dostęp i jej używać.

{
  "fqdns": "",
  "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyWinVM",
  "location": "westus2",
  "macAddress": "xx-xx-xx-xx-xx-xx",
  "powerState": "VM running",
  "privateIpAddress": "xx.x.x.x",
  "publicIpAddress": "xx.xxx.xx.xxx",
  "resourceGroup": "MyResourceGroup"
}

Teraz zaloguj się do nowo utworzonej maszyny wirtualnej z systemem Windows Server za pomocą pulpitu zdalnego i publicznego adresu IP maszyny wirtualnej (który jest zwracany w danych wyjściowych polecenia az vm create).
Jeśli korzystasz z komputera z systemem Windows, możesz to zrobić z wiersza polecenia przy użyciu polecenia mstsc:

mstsc /v:xx.xxx.xx.xxx

Aby się zalogować, podaj tę samą kombinację nazwy użytkownika/hasła, którą podano podczas tworzenia maszyny wirtualnej.

Tworzenie innych zasobów na platformie Azure

Omówiliśmy sposób tworzenia grupy zasobów, maszyny wirtualnej z systemem Linux i maszyny wirtualnej z systemem Windows Server. Możesz również utworzyć wiele innych typów zasobów platformy Azure.

Wszystkie nowe zasoby są tworzone przy użyciu spójnego wzorca nazewnictwa az <resource type name> create. Aby na przykład utworzyć moduł równoważenia obciążenia sieci platformy Azure, który można będzie potem skojarzyć z nowo utworzonymi maszynami wirtualnymi, możemy użyć następującego polecenia create:

az network lb create -n MyLoadBalancer -g MyResourceGroup

Możemy także utworzyć nową prywatną sieć wirtualną (nazywaną „VNet” na platformie Azure) dla naszej infrastruktury, korzystając z następującego polecenia create:

az network vnet create -n MyVirtualNetwork -g MyResourceGroup --address-prefix 10.0.0.0/16

Tym, co sprawia, że platforma Azure i interfejs wiersza polecenia platformy Azure są tak przydatne, jest to, że możemy ich używać nie tylko do uzyskiwania infrastruktury opartej na chmurze, ale również do tworzenia zarządzanych usług platformy. Zarządzane usługi platformy można również łączyć z infrastrukturą w celu tworzenia jeszcze bardziej zaawansowanych rozwiązań.

Na przykład możesz użyć interfejsu wiersza polecenia platformy Azure do utworzenia usługi Azure App Service. Usługa Azure App Service to zarządzana usługa platformy, która zapewnia doskonały sposób hostowania aplikacji sieci Web bez konieczności troszczenia się o infrastrukturę. Po utworzeniu usługi Azure App Service możesz utworzyć dwie nowe aplikacje Azure Web Apps w ramach usługi App Service, korzystając z następujących poleceń create:

# Create an Azure AppService that we can host any number of web apps within
az appservice plan create -n MyAppServicePlan -g MyResourceGroup

# Create Two Web Apps within the AppService (note: name param must be a unique DNS entry)
az webapp create -n MyWebApp43432 -g MyResourceGroup --plan MyAppServicePlan 
az webapp create -n MyWebApp43433 -g MyResourceGroup --plan MyAppServicePlan 

Po zrozumieniu podstaw wzorca az <resource type name> create łatwo jest tworzyć dowolne zasoby. Poniżej przedstawiono niektóre popularne typy zasobów platformy Azure i odpowiadające im polecenia create interfejsu wiersza polecenia platformy Azure służące do ich tworzenia:

Resource Type               Azure CLI create command
-------------               ------------------------
Resource Group              az group create
Virtual Machine             az vm create
Virtual Network             az network vnet create
Load Balancer               az network lb create
Managed Disk                az disk create
Storage account             az storage account create
Virtual Machine Scale Set   az vmss create
Azure Container Service     az acs create
Web App                     az webapp create
SQL Database Server         az sql server create
Document DB                 az documentdb create

Zapoznaj się z dokumentacją referencyjną, aby dowiedzieć się więcej o dodatkowych parametrach specyficznych dla zasobów, które można przekazać do każdego z powyższych poleceń, oraz typach zasobów, które możesz utworzyć.

Przydatna porada: Optymalizacja operacji tworzenia przy użyciu opcji --no-wait

Domyślnie podczas tworzenia zasobów przy użyciu interfejsu wiersza polecenia platformy Azure 2.0 polecenie az <resource type name> create czeka, aż zasób zostanie utworzony i będzie gotowy do użycia. Jeśli na przykład tworzysz maszynę wirtualną, polecenie az vm create domyślnie nie zwróci danych do chwili, gdy maszyna wirtualna zostanie utworzona i będzie można do niej uzyskać dostęp za pomocą protokołu SSH lub RDP.

Używamy takiego podejścia, ponieważ ułatwia ono pisanie skryptów automatyzacji, które obejmują wiele kroków z zależnościami (i wymagają pomyślnego zakończenia poprzedniego zadania przed kontynuowaniem).

Jeśli nie musisz czekać na utworzenie zasobu przed kontynuowaniem, możesz użyć opcji no-wait, aby rozpocząć akcję tworzenia w tle. Możesz kontynuować wydawanie innych poleceń w interfejsie wiersza polecenia.

Na przykład następujące użycie polecenia az vm create uruchamia wdrożenie maszyny wirtualnej, a następnie powraca znacznie szybciej (i przed pełnym uruchomieniem maszyny wirtualnej):

az vm create -n MyLinuxVM2 -g MyResourceGroup --image UbuntuLTS --no-wait

Zastosowanie opcji --no-wait może ułatwić znaczną optymalizację wydajności skryptów automatyzacji.

Wyświetlanie list zasobów i formatowanie danych wyjściowych

Za pomocą polecenia list interfejsu wiersza polecenia platformy Azure możesz znaleźć zasoby działające na platformie Azure i wyświetlić ich listę.

Podobnie jak w przypadku polecenia create możesz wyświetlić listę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure 2.0, korzystając ze wspólnego wzorca nazewnictwa az <resource type name> list, który jest spójny dla wszystkich typów zasobów. Istnieją różne formaty danych wyjściowych i opcje zapytań umożliwiające filtrowanie i sortowanie list zasobów w preferowany sposób.

Na przykład polecenie az vm list wyświetla listę wszystkich maszyn wirtualnych.

az vm list 

Wartości zwracane są domyślnie w formacie JSON (pokazującym tylko częściowe dane wyjściowe, aby zapewnić ich zwartość).

[
  {
    "availabilitySet": null,
    "diagnosticsProfile": null,
    "hardwareProfile": {
      "vmSize": "Standard_DS1_v2"
    },
    "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/DEMORG1/providers/Microsoft.Compute/virtualMachines/DemoVM010",
    "instanceView": null,
    "licenseType": null,
    "location": "westus2",
    "name": "MyLinuxVM",
    "networkProfile": {
      "networkInterfaces": [
        {
          "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/demorg1/providers/Microsoft.Network/networkInterfaces/DemoVM010VMNic",
          "primary": null,
          "resourceGroup": "MyResourceGroup"
        }
      ]
    },
          ...
          ...
          ...   
]

Opcjonalnie możesz zmodyfikować format danych wyjściowych za pomocą opcji --output. Uruchom polecenie az vm list, aby zobaczyć utworzone wcześniej maszyny wirtualne z systemem Linux i Windows Server oraz najbardziej typowe właściwości maszyny wirtualnej w czytelnym formacie tabeli (opcja table):

az vm list --output table
Name       ResourceGroup    Location
---------  ---------------  ----------
MyLinuxVM  MyResourceGroup  westus2
MyWinVM    MyResourceGroup  westus2

Opcja danych wyjściowych tsv umożliwia uzyskanie formatu tekstowego, rozdzielanego znakami tabulacji bez żadnych nagłówków. Ten format jest użyteczny, gdy chcesz przekazać dane wyjściowe do innego narzędzia do pracy z tekstem, takiego jak grep.

az vm list --output tsv
None    None            /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyLinuxVM        None    None    westus2 MyLinuxVM                   None        Succeeded       MyResourceGroup None                    Microsoft.Compute/virtualMachines       XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
None    None            /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyWinVM  None    None    westus2 MyWinVM                 None    Succeeded       MyResourceGroup None                    Microsoft.Compute/virtualMachines       XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Zapoznaj się z artykułem dotyczącym formatów wyjściowych, aby dowiedzieć się więcej o dodatkowych sposobach wyświetlania list zasobów oraz formatowania danych wyjściowych.

Wykonywanie zapytań o zasoby i kształtowanie danych wyjściowych

Często potrzebna jest możliwość wykonywania zapytań dotyczących tylko tych zasobów, które spełniają określony warunek.

Polecenie list ma wbudowaną funkcję, która ułatwia filtrowanie zasobów według nazwy grupy zasobów. Możesz na przykład przekazać parametr --ResourceGroup albo -g do polecenia list w celu pobrania tylko zasobów z danej grupy zasobów:

az vm list -g MyResourceGroup --output table
Name       ResourceGroup    Location
---------  ---------------  ----------
MyLinuxVM  MyResourceGroup  westus2
MyWinVM    MyResourceGroup  westus2

Aby uzyskać jeszcze bardziej zaawansowaną obsługę zapytań, możesz użyć parametru --query do wykonania zapytań JMESPath względem wyników dowolnego polecenia az. Zapytania JMESPath mogą służyć zarówno do filtrowania, jak i kształtowania wszelkich zwracanych wyników.

Na przykład wykonaj następujące polecenie, aby wykonać zapytanie o dowolny zasób maszyny wirtualnej w dowolnej grupie zasobów zawierającej ciąg „My”:

az vm list --output table --query "[?contains(resourceGroup,'MY')]" 
ResourceGroup    ProvisioningState    Name       Location    VmId
---------------  -------------------  ---------  ----------  ------------------------------------
MYRESOURCEGROUP  Succeeded            MyLinuxVM  westus2     XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
MYRESOURCEGROUP  Succeeded            MyWinVM    westus2     XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Możemy następnie dalej doprecyzować dane wyjściowe przy użyciu możliwości kształtowania zapytań JMESPath w celu wyprowadzenia również różnych wartości. Na przykład następujące polecenie pobiera typ dysku systemu operacyjnego, którego używa maszyna wirtualna, w celu ustalenia, czy systemem operacyjnym jest Linux, czy też Windows:

az vm list --output table --query "[?contains(resourceGroup,'MY')].{ VMName:name,OSType:storageProfile.osDisk.osType }" 
VMName     OSType
---------  --------
MyLinuxVM  Linux
MyWinVM    Windows

Obsługa zapytań JMESPath w interfejsie wiersza polecenia platformy Azure zapewnia bardzo wiele możliwości. Dowiedz się więcej o sposobie jej używania w naszym artykule dotyczącym zapytań.

Usuwanie zasobów

Aby usunąć zasoby, które nie są już potrzebne, możesz użyć polecenia delete interfejsu wiersza polecenia platformy Azure. Polecenia delete możesz użyć dla dowolnego zasobu, tak samo jak polecenia create.

az vm delete -n MyLinuxVM -g MyResourceGroup

Domyślnie interfejs wiersza polecenia wyświetli monit o potwierdzenie usunięcia. Ten monit możesz pominąć w przypadku skryptów zautomatyzowanych.

Are you sure you want to perform this operation? (y/n): y
EndTime                           Name                                  StartTime                         Status
--------------------------------  ------------------------------------  --------------------------------  ---------
2017-02-19T02:35:56.678905+00:00  5b74ab80-9b29-4329-b483-52b406583e2f  2017-02-19T02:33:35.372769+00:00  Succeeded

Polecenie delete umożliwia także usuwanie wielu zasobów jednocześnie. Na przykład następujące polecenie usuwa wszystkie zasoby w grupie zasobów „MyResourceGroup”, która była używana dla wszystkich przykładów w tym samouczku z wprowadzeniem.

az group delete -n MyResourceGroup
Are you sure you want to perform this operation? (y/n): y

Pobieranie przykładów

Aby dowiedzieć się więcej o sposobach używania interfejsu wiersza polecenia platformy Azure, zapoznaj się z naszymi najbardziej typowymi skryptami dla maszyn wirtualnych z systemem Linux, maszyn wirtualnych z systemem Windows, aplikacji sieci Web i baz danych SQL.

Przeczytaj dokumentację referencyjną interfejsu API

Dokumentacja interfejsu API

Uzyskiwanie pomocy

Interfejs wiersza polecenia platformy Azure ma wbudowaną dokumentację pomocy odpowiadającą naszej dokumentacji w sieci Web, którą możesz uruchomić z wiersza polecenia:

az [command-group [command]] -h

Aby na przykład zobaczyć, jakie polecenia i podgrupy są dostępne dla maszyn wirtualnych, użyj polecenia:

az vm -h

Aby uzyskać pomoc dotyczącą polecenia do tworzenia maszyny wirtualnej, użyj polecenia:

az vm create -h

Przechodzenie z interfejsu wiersza polecenia platformy Azure 1.0

Jeśli wiesz już, jak używać interfejsu wiersza polecenia platformy Azure 1.0 (azure.js), zauważysz, że nie wszystkie polecenia są dokładnie takie same. Czasami polecenia wykonywania zadań znacznie się różnią. Aby ułatwić przejście z interfejsu wiersza polecenia platformy Azure w wersji 1.0 do wersji 2.0, rozpoczęliśmy to mapowanie poleceń.

Wysyłanie opinii

az feedback