Öğretici: Azure CLI ile Linux VM’leri Oluşturma ve YönetmeTutorial: Create and Manage Linux VMs with the Azure CLI

Azure sanal makineleri tam olarak yapılandırılabilir ve esnek bir bilgi işlem ortamı sağlar.Azure virtual machines provide a fully configurable and flexible computing environment. Bu öğretici VM boyutu seçme, VM görüntüsü seçme ve VM dağıtma gibi temel Azure sanal makine dağıtımı öğelerini kapsar.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:You learn how to:

  • VM oluşturma ve bir VM’ye bağlanmaCreate and connect to a VM
  • VM görüntülerini seçme ve kullanmaSelect and use VM images
  • Belirli VM boyutlarını görüntüleme ve kullanmaView and use specific VM sizes
  • VM’yi yeniden boyutlandırmaResize a VM
  • VM durumunu görüntüleme ve anlamaView and understand VM state

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, Azure Cloud Shell, tarayıcınız üzerinden kullanabileceğiniz bir etkileşimli Kabuk ortamını barındırır.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell'i ya da kullanmanıza imkan tanır bash veya PowerShell Azure hizmetleriyle çalışmak için.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Cloud Shell önceden yüklenmiş komutları, yerel ortamınızda herhangi bir yükleme gerekmeden bu makaledeki kodu çalıştırmak için kullanabilirsiniz.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell'i başlatmak için:To launch Azure Cloud Shell:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Seçme deneyin kod Cloud Shell için otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Örneği Azure Cloud Shell için deneyin
Git https://shell.azure.com veya Cloud Shell'i Başlat Cloud Shell, tarayıcınızda açmak için düğmeyi.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. <a href="https://shell.azure.com" title="Azure Cloud Shell'i Başlat
Seçin Cloud Shell düğmesine sağ üst menü çubuğundaki Azure portalında.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makalede Azure Cloud shell'de kod çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell'i başlatın.Launch Cloud Shell.
  2. Seçin kopyalama kodu kopyalamak için bir kod bloğu üzerinde düğmesi.Select the Copy button on a code block to copy the code.
  3. Cloud Shell oturumla kodu yapıştırın Ctrl+Shift+V Windows ve Linux'ta veya Cmd + Shift+V macOS üzerinde.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Tuşuna Enter kodu çalıştırmak için.Press Enter to run the code.

CLI'yi yerel olarak yükleyip kullanmayı tercih ederseniz bu öğretici için Azure CLI 2.0.30 veya sonraki bir sürümünü çalıştırmanız gerekir.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. Sürümü bulmak için az --version komutunu çalıştırın.Run az --version to find the version. Yükleme veya yükseltme yapmanız gerekiyorsa bkz. Azure CLI'yı yükleme.If you need to install or upgrade, see Install Azure CLI.

Kaynak grubu oluşturmaCreate resource group

az group create komutuyla bir kaynak grubu oluşturun.Create a resource group with the az group create command.

Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.An Azure resource group is a logical container into which Azure resources are deployed and managed. Bir sanal makineden önce bir kaynak grubu oluşturulmalıdır.A resource group must be created before a virtual machine. Bu örnekte, eastus bölgesinde myResourceGroupVM adlı bir kaynak grubu oluşturulur.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

Kaynak grubu, bu öğretici boyunca görülebileceği gibi bir VM oluşturulurken veya değiştirilirken belirtilir.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Sanal makine oluşturmaCreate virtual machine

az vm create komutuyla bir sanal makine oluşturun.Create a virtual machine with the az vm create command.

Bir sanal makine oluştururken, işletim sistemi görüntüsü, disk boyutlandırma ve yönetici kimlik bilgileri gibi çeşitli seçenekler bulunur.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. Aşağıdaki örnekte myVM adlı Ubuntu Server çalıştıran bir VM oluşturulur.The following example creates a VM named myVM that runs Ubuntu Server. VM’de azureuser adlı bir kullanıcı hesabı ve varsayılan anahtar konumunda ( ~/.ssh) mevcut değilse SSH anahtarları oluşturulur:A user account named azureuser is created on the VM, and SSH keys are generated if they do not exist in the default key location (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

VM’nin oluşturulması birkaç dakika sürebilir.It may take a few minutes to create the VM. VM oluşturulduktan sonra, Azure CLI VM hakkında bilgi çıkışı sağlar.Once the VM has been created, the Azure CLI outputs information about the VM. publicIpAddress öğesini not edin, bu adres sanal makineye erişmek için kullanılabilir.Take note of the publicIpAddress, this address can be used to access the virtual machine..

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

VM’ye bağlanmaConnect to VM

Artık Azure Cloud Shell’de SSH ile veya yerel bilgisayarınızdan VM’ye bağlanabilirsiniz.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. Örnek IP adresini önceki adımda not ettiğiniz publicIpAddress ile değiştirin.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

VM’de oturum açtıktan sonra, uygulamaları yükleyebilir ve yapılandırabilirsiniz.Once logged in to the VM, you can install and configure applications. İşiniz bittiğinde, normal olarak SSH oturumunu kapatın:When you are finished, you close the SSH session as normal:

exit

VM görüntülerini anlamaUnderstand VM images

Azure market, VM oluşturmak için kullanılabilecek çok sayıda görüntü içerir.The Azure marketplace includes many images that can be used to create VMs. Önceki adımlarda, bir Ubuntu görüntüsünü kullanarak bir sanal makine oluşturduk.In the previous steps, a virtual machine was created using an Ubuntu image. Bu adımda, markette bir CentOS görüntüsü aramak ve ikinci bir sanal makineyi dağıtmak üzere kullanmak için Azure CLI’si kullanılır.In this step, the Azure CLI is used to search the marketplace for a CentOS image, which is then used to deploy a second virtual machine.

Yaygın olarak kullanılan görüntülerin bir listesini görmek için, az vm image list komutunu kullanın.To see a list of the most commonly used images, use the az vm image list command.

az vm image list --output table

Komut çıkışı Azure’daki en popüler VM görüntülerini döndürür.The command output returns the most popular VM images on Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

Tam listeyi görmek için --all bağımsız değişkenini ekleyin.A full list can be seen by adding the --all argument. Görüntü listesi --publisher veya –-offer kullanılarak da filtrelenebilir.The image list can also be filtered by --publisher or –-offer. Bu örnekte, liste CentOS ile eşleşen teklife sahip tüm görüntüler için filtrelenmiştir.In this example, the list is filtered for all images with an offer that matches CentOS.

az vm image list --offer CentOS --all --output table

Kısmi çıkış:Partial output:

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

Belirli bir görüntü kullanarak bir sanal makineyi dağıtmak için, görüntüyü tanımlamak amacıyla Urn sütunundaki yayımcı, teklif, SKU ve isteğe bağlı olarak sürüm numarasından oluşan değeri not edin.To deploy a VM using a specific image, take note of the value in the Urn column, which consists of the publisher, offer, SKU, and optionally a version number to identify the image. Görüntüyü belirtirken, görüntü sürümü sayısı “en yeni” ile değiştirilerek dağıtımın en yeni sürümü seçilebilir.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. Bu örnekte, bir CentOS 6.5 görüntüsünün son sürümünü belirtmek için --image bağımsız değişkeni kullanılmıştır.In this example, the --image argument is used to specify the latest version of a CentOS 6.5 image.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys

VM boyutlarını anlamaUnderstand VM sizes

Bir sanal makinenin boyutu sanal makine tarafından kullanılabilen CPU, GPU ve bellek gibi kaynakların miktarını belirler.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. Sanal makinelerin beklenen iş yüküne uygun olarak boyutlandırılması gerekir.Virtual machines need to be sized appropriately for the expected work load. İş yükü artarsa, mevcut bir sanal makine yeniden boyutlandırılabilir.If workload increases, an existing virtual machine can be resized.

VM BoyutlarıVM Sizes

Aşağıdaki tabloda boyutlar kullanım durumlarına göre kategorilere ayrılmaktadır.The following table categorizes sizes into use cases.

TürType Ortak boyutlarCommon sizes AçıklamaDescription
Genel amaçlıGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Dengeli CPU/bellek.Balanced CPU-to-memory. Küçük ve orta ölçekli uygulama ve veri çözümlerini geliştirmek/test etmek için idealdir.Ideal for dev / test and small to medium applications and data solutions.
İşlem için iyileştirilmişCompute optimized Fsv2Fsv2 Yüksek CPU/bellek.High CPU-to-memory. Orta düzey trafiğe sahip uygulamalar, ağ gereçleri ve toplu işlemler için idealdir.Good for medium traffic applications, network appliances, and batch processes.
Bellek için iyileştirilmişMemory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Yüksek bellek/çekirdek.High memory-to-core. İlişkisel veritabanı, orta veya büyük boyutlu önbellekler ve bellek içi analiz için idealdir.Great for relational databases, medium to large caches, and in-memory analytics.
Depolama için iyileştirilmişStorage optimized Lsv2, LsLsv2, Ls Yüksek disk aktarım hızı ve GÇ.High disk throughput and IO. Büyük Veri, SQL ve NoSQL veritabanları için ideal.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Ağır grafik işlemleri ile video düzenleme işlemleri için özel olarak hedeflenen VM’ler.Specialized VMs targeted for heavy graphic rendering and video editing.
Yüksek performansHigh performance HH İşleme düzeyi yüksek olan isteğe bağlı ağ arabirimleri (RDMA) içeren VM’lerimiz, şimdiye kadarki en güçlü CPU ile sunuluyor.Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Kullanılabilir VM boyutlarını bulmaFind available VM sizes

Belirli bir bölgede kullanılabilen VM boyutlarının listesini görmek için, az vm list-sizes komutunu kullanın.To see a list of VM sizes available in a particular region, use the az vm list-sizes command.

az vm list-sizes --location eastus --output table

Kısmi çıkış:Partial output:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

Belirli bir boyutta VM oluşturmaCreate VM with specific size

Önceki VM oluşturma örneğinde, bir boyut sağlanmamış ve varsayılan boyut kullanılmıştı.In the previous VM creation example, a size was not provided, which results in a default size. az vm create komutu ve --size bağımsız değişkenini kullanarak, oluşturma sırasında VM boyutu seçilebilir.A VM size can be selected at creation time using az vm create and the --size argument.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

VM’yi yeniden boyutlandırmaResize a VM

VM dağıtıldıktan sonra, kaynak ayırmayı artırmak veya azaltmak için yeniden boyutlandırılabilir.After a VM has been deployed, it can be resized to increase or decrease resource allocation. Bir VM’nin geçerli boyutunu az vm show komutuyla görüntüleyebilirsiniz:You can view the current of size of a VM with az vm show:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

Bir VM’yi yeniden boyutlandırmadan önce, istenen boyutun Azure kümesinde kullanılabilir olup olmadığını denetleyin.Before resizing a VM, check if the desired size is available on the current Azure cluster. az vm list-vm-resize-options komutu boyut listesini döndürür.The az vm list-vm-resize-options command returns the list of sizes.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

İstenen boyut kullanılabilirse, VM açık durumdayken yeniden boyutlandırılabilir ancak işlem sırasında yeniden başlatılır.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. Yeniden boyutlandırmayı gerçekleştirmek için az vm resize komutunu kullanın.Use the az vm resize command to perform the resize.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2

İstenen boyut geçerli kümede değilse, yeniden boyutlandırma işlemi gerçekleştirilmeden önce VM’nin serbest bırakılması gerekir.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. VM’yi durdurup serbest bırakmak için az vm deallocate komutunu kullanın.Use the az vm deallocate command to stop and deallocate the VM. VM yeniden açıldıktan sonra geçici diskteki verilerin silinebileceğine dikkat edin.Note, when the VM is powered back on, any data on the temp disk may be removed. Statik IP kullanılmadığı sürece ortak IP adresi de değiştirilir.The public IP address also changes unless a static IP address is being used.

az vm deallocate --resource-group myResourceGroupVM --name myVM

VM serbest bırakıldıktan sonra yeniden boyutlandırma işlemi gerçekleştirilebilir.Once deallocated, the resize can occur.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

Yeniden boyutlandırmadan sonra, VM yeniden başlatılabilir.After the resize, the VM can be started.

az vm start --resource-group myResourceGroupVM --name myVM

VM güç durumlarıVM power states

Bir Azure VM’si birçok güç durumuna sahip olabilir.An Azure VM can have one of many power states. Bu durum VM’nin hiper yönetici açısından bulunduğu geçerli durumu temsil eder.This state represents the current state of the VM from the standpoint of the hypervisor.

Güç durumlarıPower states

Güç durumuPower State AçıklamaDescription
BaşlatılıyorStarting Sanal makinenin başlatıldığını gösterir.Indicates the virtual machine is being started.
ÇalışıyorRunning Sanal makinenin çalıştığını gösterir.Indicates that the virtual machine is running.
DurduruluyorStopping Sanal makinenin durdurulmakta olduğunu gösterir.Indicates that the virtual machine is being stopped.
DurdurulduStopped Sanal makinenin durdurulduğunu gösterir.Indicates that the virtual machine is stopped. Durduruldu durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaya devam eder.Virtual machines in the stopped state still incur compute charges.
Serbest bırakılıyorDeallocating Sanal makinenin serbest bırakılmakta olduğunu gösterir.Indicates that the virtual machine is being deallocated.
Serbest bırakıldıDeallocated Sanal makinenin hiper yöneticiden kaldırıldığını ancak denetim masasında hala kullanılabilir olduğunu gösterir.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. Serbest bırakıldı durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaz.Virtual machines in the Deallocated state do not incur compute charges.
- Sanal makinenin güç durumunun bilinmediğini gösterir.Indicates that the power state of the virtual machine is unknown.

Güç durumunu bulmaFind the power state

Belirli bir VM’nin durumunu almak için, az vm get-instance-view komutunu kullanın.To retrieve the state of a particular VM, use the az vm get-instance-view command. Sanal makine ve kaynak grubu için geçerli bir ad belirttiğinizden emin olun.Be sure to specify a valid name for a virtual machine and resource group.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Çıktı:Output:

ode                DisplayStatus    Level
------------------  ---------------  -------
PowerState/running  VM running       Info

Yönetim görevleriManagement tasks

Bir sanal makinenin yaşam döngüsü boyunca, sanal makineyi başlatmak, durdurmak veya silmek gibi yönetim görevleri gerçekleştirmek isteyebilirsiniz.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. Ayrıca, yinelenen veya karmaşık görevleri otomatikleştirmek için betikler oluşturmak isteyebilirsiniz.Additionally, you may want to create scripts to automate repetitive or complex tasks. Azure CLI kullanarak, birçok ortak yönetim görevi komut satırından veya betikler içinde çalıştırılabilir.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

IP adresini almaGet IP address

Bu komut bir sanal makinenin özel ve ortak IP adreslerini döndürür.This command returns the private and public IP addresses of a virtual machine.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Sanal makineyi durdurmaStop virtual machine

az vm stop --resource-group myResourceGroupVM --name myVM

Sanal makine başlatmaStart virtual machine

az vm start --resource-group myResourceGroupVM --name myVM

Kaynak grubunu silmeDelete resource group

Bir kaynak grubunu silmek ayrıca grubun içindeki VM, sanal ağ ve disk gibi tüm kaynakları da siler.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. --no-wait parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. --yes parametresi kaynakları ek bir komut istemi olmadan silmek istediğinizi onaylar.The --yes parameter confirms that you wish to delete the resources without an additional prompt to do so.

az group delete --name myResourceGroupVM --no-wait --yes

Sonraki adımlarNext steps

Bu öğreticide, aşağıdakiler gibi temel VM oluşturma ve yönetim görevlerini öğrendiniz:In this tutorial, you learned about basic VM creation and management such as how to:

  • VM oluşturma ve bir VM’ye bağlanmaCreate and connect to a VM
  • VM görüntülerini seçme ve kullanmaSelect and use VM images
  • Belirli VM boyutlarını görüntüleme ve kullanmaView and use specific VM sizes
  • VM’yi yeniden boyutlandırmaResize a VM
  • VM durumunu görüntüleme ve anlamaView and understand VM state

VM diskleri hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.Advance to the next tutorial to learn about VM disks.