Öğretici: Azure CLI ile Linux sanal makine yönetimi hakkında bilgi edininTutorial: Learn about Linux virtual machine governance with Azure CLI

Kaynakları Azure'a dağıtırken, hangi tür kaynakların dağıtılacağına, nerede bulunduklarına ve nasıl ayarlanacaklarına karar vermede inanılmaz bir esnekliğe sahip olursunuz.When deploying resources to Azure, you have tremendous flexibility when deciding what types of resources to deploy, where they are located, and how to set them up. Ancak bu esneklik, kuruluşunuzda izin vermek istediğinizden daha fazla seçeneğe yol açabilir.However, that flexibility may open more options than you would like to allow in your organization. Kaynakları Azure'a dağıtmayı düşünürken şunları merak ediyor olabilirsiniz:As you consider deploying resources to Azure, you might be wondering:

  • Veri hakimiyeti belirli ülkelerde/bölgelerde yasal gereksinimlerini nasıl karşılar?How do I meet legal requirements for data sovereignty in certain countries/regions?
  • Maliyeti nasıl kontrol edebilirim?How do I control costs?
  • Birilerinin istemeden önemli bir sistemi değiştirmemesini nasıl sağlayabilirim?How do I ensure that someone does not inadvertently change a critical system?
  • Kaynak maliyetlerini nasıl izleyip doğru bir şekilde faturalarım?How do I track resource costs and bill it accurately?

Bu makalede bu sorular ele alınır.This article addresses those questions. Daha ayrıntılı belirtmek gerekirse, siz:Specifically, you:

  • Kullanıcıların beklenen eylemleri gerçekleştirme izinlerinin olması ancak daha fazla eylemin engellenmesi için kullanıcılara rol atayıp bu rolleri bir kapsama atayın.Assign users to roles and assign the roles to a scope so users have permission to perform expected actions but not more actions.
  • Aboneliğinizdeki kaynaklara yönelik kurallar belirleyen ilkeler uygulayın.Apply policies that prescribe conventions for resources in your subscription.
  • Sisteminiz için kritik olan kaynakları kilitleyin.Lock resources that are critical to your system.
  • Kuruluşunuzun anlayacağı değerlere göre izlemek için kaynakları etiketleyin.Tag resources so you can track them by values that make sense to your organization.

Bu makalede, idare uygulamak için üstlendiğiniz görevlere odaklanılır.This article focuses on the tasks you take to implement governance. Kavramlarla ilgili daha geniş kapsamlı bir tartışma için bkz. Azure'da İdare.For a broader discussion of the concepts, see Governance in Azure.

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.

Azure 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 Azure CLI locally, this tutorial requires that you're 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.

Kapsamı anlamaUnderstand scope

Bir öğe oluşturmadan önce kapsam kavramını gözden geçirelim.Before creating any items, let's review the concept of scope. Azure dört yönetim düzeyi sunar: yönetim grupları, abonelik, kaynak grubu ve kaynak.Azure provides four levels of management: management groups, subscription, resource group, and resource. Yönetim grupları önizleme sürümündedir.Management groups are in a preview release. Aşağıdaki resimde bu katmanlara ait bir örnek gösterilir.The following image shows an example of these layers.

Scope

Yönetim ayarlarını bu kapsam düzeylerinden birinde uygularsınız.You apply management settings at any of these levels of scope. Seçtiğiniz düzey, ayarın ne kadar yaygın olarak uygulanacağını belirler.The level you select determines how widely the setting is applied. Düşük düzeyler, yüksek düzeylerdeki ayarları devralır.Lower levels inherit settings from higher levels. Aboneliğe bir ayar uyguladığınızda, bu ayar aboneliğinizdeki tüm kaynak gruplarına ve kaynaklara uygulanır.When you apply a setting to the subscription, that setting is applied to all resource groups and resources in your subscription. Kaynak grubunda bir ayar uyguladığınızda, bu ayar kaynak grubu ve tüm kaynaklarına uygulanır.When you apply a setting on the resource group, that setting is applied the resource group and all its resources. Ancak başka bir kaynak grubunda bu ayar bulunmaz.However, another resource group does not have that setting.

Genellikle, önemli ayarları yüksek düzeylerde, projeye özgü gereksinimleri ise düşük düzeylerde uygulamak en mantıklı yoldur.Usually, it makes sense to apply critical settings at higher levels and project-specific requirements at lower levels. Örneğin, kuruluşunuza ait tüm kaynakların belirli bölgelere dağıtıldığından emin olmak isteyebilirsiniz.For example, you might want to make sure all resources for your organization are deployed to certain regions. Bu gereksinimi gerçekleştirmek için, aboneliğe izin verilen konumları belirten bir ilke uygulayın.To accomplish this requirement, apply a policy to the subscription that specifies the allowed locations. Kuruluşunuzda bulunan diğer kullanıcılar yeni kaynak grupları ve kaynaklar eklediğinde, izin verilen konumlar otomatik olarak uygulanır.As other users in your organization add new resource groups and resources, the allowed locations are automatically enforced.

Bu öğreticide, işiniz bittiğinde kolayca silebilmeniz için tüm yönetim ayarlarını bir kaynak grubuna uygulayacaksınız.In this tutorial, you apply all management settings to a resource group so you can easily remove those settings when done.

Şimdi o kaynak grubunu oluşturalım.Let's create that resource group.

az group create --name myResourceGroup --location "East US"

Kaynak grubu şu anda boştur.Currently, the resource group is empty.

Rol tabanlı erişim denetimiRole-based access control

Kuruluşunuzdaki kullanıcıların bu kaynaklara erişmek için doğru düzeyde erişime sahip olduğundan emin olmak istersiniz.You want to make sure users in your organization have the right level of access to these resources. Kullanıcılara sınırsız erişim vermek istemezsiniz ancak işlerini halledebildiklerinden de emin olmanız gerekir.You don't want to grant unlimited access to users, but you also need to make sure they can do their work. Rol tabanlı erişim denetimi, bir kapsamdaki belirli eylemleri tamamlamak için izinli olan kullanıcıları yönetmenizi sağlar.Role-based access control enables you to manage which users have permission to complete specific actions at a scope.

Rol atamaları oluşturmak ve kaldırmak için kullanıcıların Microsoft.Authorization/roleAssignments/* erişimi olması gerekmektedir.To create and remove role assignments, users must have Microsoft.Authorization/roleAssignments/* access. Bu erişim, Sahip veya Kullanıcı Erişimi Yöneticisi rolleriyle verilir.This access is granted through the Owner or User Access Administrator roles.

Sanal makine çözümlerini yönetmek için yaygın olarak gereken erişimi sağlayan üç adet kaynağa özgü rol vardır:For managing virtual machine solutions, there are three resource-specific roles that provide commonly needed access:

Kullanıcılara rolleri tek tek atamak yerine, benzer eylemlerde bulunması gereken kullanıcılar için bir Azure Active Directory grubu kullanmak genellikle daha kolaydır.Instead of assigning roles to individual users, it's often easier to use an Azure Active Directory group that has users who need to take similar actions. Ardından, bu grubu uygun role atayabilirsiniz.Then, assign that group to the appropriate role. Bu makalede sanal makineyi yönetmek için var olan bir grubu kullanın veya portalı kullanarak bir Azure Active Directory grubu oluşturun.For this article, either use an existing group for managing the virtual machine, or use the portal to create an Azure Active Directory group.

Yeni grup oluşturduktan veya var olan bir grup belirledikten sonra az role assignment create komutunu kullanarak yeni Azure Active Directory grubunu kaynak grubu için Sanal Makine Katılımcısı rolüne atayabilirsiniz.After creating a new group or finding an existing one, use the az role assignment create command to assign the new Azure Active Directory group to the Virtual Machine Contributor role for the resource group.

adgroupId=$(az ad group show --group <your-group-name> --query objectId --output tsv)

az role assignment create --assignee-object-id $adgroupId --role "Virtual Machine Contributor" --resource-group myResourceGroup

Belirten bir hata alırsanız asıl <GUID > dizinde yok, yeni Grup Azure Active Directory yayılan edilmemiş.If you receive an error stating Principal <guid> does not exist in the directory, the new group hasn't propagated throughout Azure Active Directory. Komutu tekrar çalıştırmayı deneyin.Try running the command again.

Genellikle, kullanıcıların dağıtılmış kaynakları yönetmek için atandığından emin olmak üzere Ağ Katılımcısı ve Depolama Hesabı Katılımcısı için işlemi yinelemeniz gerekir.Typically, you repeat the process for Network Contributor and Storage Account Contributor to make sure users are assigned to manage the deployed resources. Bu makalede, söz konusu adımları atlayabilirsiniz.In this article, you can skip those steps.

Azure İlkesiAzure Policy

Azure İlkesi abonelikteki tüm kaynakların şirket standartlarına uyduğundan emin olmanıza yardımcı olur.Azure Policy helps you make sure all resources in subscription meet corporate standards. Aboneliğinizde zaten birkaç ilke tanımı mevcuttur.Your subscription already has several policy definitions. Kullanılabilir ilke tanımlarını görmek için az policy definition list komutunu kullanın:To see the available policy definitions, use the az policy definition list command:

az policy definition list --query "[].[displayName, policyType, name]" --output table

Mevcut ilke tanımlarını göreceksiniz.You see the existing policy definitions. İlke türü Yerleşik veya Özel’dir.The policy type is either BuiltIn or Custom. Atamak istediğiniz bir koşulu açıklayan ilke türlerinin tanımlarına bakın.Look through the definitions for ones that describe a condition you want assign. Bu makalede, aşağıdakileri gerçekleştiren ilkeler atayacaksınız:In this article, you assign policies that:

  • Tüm kaynaklar için konumları sınırlama.Limit the locations for all resources.
  • Sanal makineler için SKU'ları sınırlama.Limit the SKUs for virtual machines.
  • Yönetilen diskler kullanmayan sanal makineleri denetleme.Audit virtual machines that don't use managed disks.

Aşağıdaki örnekte, görünen ada göre üç ilke tanımı alırsınız.In the following example, you retrieve three policy definitions based on the display name. Bu tanımları kaynak grubuna atamak için az policy assignment create komutunu kullanın.You use the az policy assignment create command to assign those definitions to the resource group. Bazı ilkeler için, izin verilen değerleri belirtmek üzere parametre değerleri sağlayın.For some policies, you provide parameter values to specify the allowed values.

# Get policy definitions for allowed locations, allowed SKUs, and auditing VMs that don't use managed disks
locationDefinition=$(az policy definition list --query "[?displayName=='Allowed locations'].name | [0]" --output tsv)
skuDefinition=$(az policy definition list --query "[?displayName=='Allowed virtual machine SKUs'].name | [0]" --output tsv)
auditDefinition=$(az policy definition list --query "[?displayName=='Audit VMs that do not use managed disks'].name | [0]" --output tsv)

# Assign policy for allowed locations
az policy assignment create --name "Set permitted locations" \
  --resource-group myResourceGroup \
  --policy $locationDefinition \
  --params '{ 
      "listOfAllowedLocations": {
        "value": [
          "eastus", 
          "eastus2"
        ]
      }
    }'

# Assign policy for allowed SKUs
az policy assignment create --name "Set permitted VM SKUs" \
  --resource-group myResourceGroup \
  --policy $skuDefinition \
  --params '{ 
      "listOfAllowedSKUs": {
        "value": [
          "Standard_DS1_v2", 
          "Standard_E2s_v2"
        ]
      }
    }'

# Assign policy for auditing unmanaged disks
az policy assignment create --name "Audit unmanaged disks" \
  --resource-group myResourceGroup \
  --policy $auditDefinition

Önceki örnekte ilke parametrelerini bildiğiniz varsayılmaktadır.The preceding example assumes you already know the parameters for a policy. Parametreleri görüntülemeniz gerekiyorsa şunu kullanın:If you need to view the parameters, use:

az policy definition show --name $locationDefinition --query parameters

Sanal makineyi dağıtmaDeploy the virtual machine

Rol ve ilkeler atadıktan sonra çözümünüzü dağıtmaya hazırsınız.You have assigned roles and policies, so you're ready to deploy your solution. Varsayılan boyut, izin verilen SKU’larınızdan biri olan Standard_DS1_v2’dir.The default size is Standard_DS1_v2, which is one of your allowed SKUs. Varsayılan konumda mevcut değilse, komut SSH anahtarlarını oluşturur.The command creates SSH keys if they don't exist in a default location.

az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --generate-ssh-keys

Dağıtımınız tamamlandıktan sonra çözüme daha fazla yönetim ayarı uygulayabilirsiniz.After your deployment finishes, you can apply more management settings to the solution.

Kaynakları kilitlemeLock resources

Kaynak kilitleri, kuruluşunuzdaki kullanıcıların kritik kaynakları yanlışlıkla silmesini veya değiştirmesini önler.Resource locks prevent users in your organization from accidentally deleting or modifying critical resources. Rol tabanlı erişim denetiminin aksine, kaynak kilitleri tüm kullanıcılar ve roller için bir kısıtlama uygular.Unlike role-based access control, resource locks apply a restriction across all users and roles. Kilit düzeyini CanNotDelete veya ReadOnly olarak ayarlayabilirsiniz.You can set the lock level to CanNotDelete or ReadOnly.

Yönetim kilitlerini oluşturmak veya silmek için Microsoft.Authorization/locks/* eylemlerine erişiminiz olması gerekmektedir.To create or delete management locks, you must have access to Microsoft.Authorization/locks/* actions. Yerleşik rollerden yalnızca Sahip ve Kullanııcı Erişiimi Yöneticisi bu eylemleri kullanabilir.Of the built-in roles, only Owner and User Access Administrator are granted those actions.

Sanal makineyi ve ağ güvenlik grubunu kilitlemek için az lock create komutunu kullanın:To lock the virtual machine and network security group, use the az lock create command:

# Add CanNotDelete lock to the VM
az lock create --name LockVM \
  --lock-type CanNotDelete \
  --resource-group myResourceGroup \
  --resource-name myVM \
  --resource-type Microsoft.Compute/virtualMachines

# Add CanNotDelete lock to the network security group
az lock create --name LockNSG \
  --lock-type CanNotDelete \
  --resource-group myResourceGroup \
  --resource-name myVMNSG \
  --resource-type Microsoft.Network/networkSecurityGroups

Kilitleri test etmek için aşağıdaki komutu çalıştırmayı deneyin:To test the locks, try running the following command:

az group delete --name myResourceGroup

Silme işleminin bir kilit nedeniyle tamamlanamadığını belirten bir hata görürsünüz.You see an error stating that the delete operation can't be completed because of a lock. Kaynak grubu yalnızca kilitleri spesifik olarak kaldırırsanız silinebilir.The resource group can only be deleted if you specifically remove the locks. Bu adım Kaynakları temizle bölümünde gösterilmektedir.That step is shown in Clean up resources.

Kaynakları etiketlemeTag resources

Azure kaynaklarınızı mantıksal olarak kategorilere ayırmak için etiketler uygulayabilirsiniz.You apply tags to your Azure resources to logically organize them by categories. Her etiket bir ad ve değerden oluşur.Each tag consists of a name and a value. Örneğin, "Ortam" adını ve "Üretim" değerini üretimdeki tüm kaynaklara uygulayabilirsiniz.For example, you can apply the name "Environment" and the value "Production" to all the resources in production.

Kaynak grubuna iki etiket eklemek için az group update komutunu kullanın:To add two tags to a resource group, use the az group update command:

az group update -n myResourceGroup --set tags.Environment=Test tags.Dept=IT

Şimdi üçüncü bir etiket istediğinizi varsayalım.Let's suppose you want to add a third tag. Komutu yeni etiketle bir kez daha çalıştırın.Run the command again with the new tag. Bu, mevcut etiketlere eklenir.It is appended to the existing tags.

az group update -n myResourceGroup --set tags.Project=Documentation

Kaynaklar, kaynak grubundan etiketleri devralmaz.Resources don't inherit tags from the resource group. Şu anda, kaynak grubunuzun üç etiketi vardır ama kaynakların hiç etiketi yoktur.Currently, your resource group has three tags but the resources do not have any tags. Kaynak grubundaki tüm etiketleri kaynaklarına uygulamak ve kaynaklardaki mevcut etiketleri korumak için aşağıdaki betiği kullanın:To apply all tags from a resource group to its resources, and retain existing tags on resources, use the following script:

# Get the tags for the resource group
jsontag=$(az group show -n myResourceGroup --query tags)

# Reformat from JSON to space-delimited and equals sign
t=$(echo $jsontag | tr -d '"{},' | sed 's/: /=/g')

# Get the resource IDs for all resources in the resource group
r=$(az resource list -g myResourceGroup --query [].id --output tsv)

# Loop through each resource ID
for resid in $r
do
  # Get the tags for this resource
  jsonrtag=$(az resource show --id $resid --query tags)
  
  # Reformat from JSON to space-delimited and equals sign
  rt=$(echo $jsonrtag | tr -d '"{},' | sed 's/: /=/g')
  
  # Reapply the updated tags to this resource
  az resource tag --tags $t$rt --id $resid
done

Alternatif olarak, mevcut etiketleri korumadan kaynak grubundaki etiketleri kaynaklara uygulayabilirsiniz:Alternatively, you can apply tags from the resource group to the resources without keeping the existing tags:

# Get the tags for the resource group
jsontag=$(az group show -n myResourceGroup --query tags)

# Reformat from JSON to space-delimited and equals sign
t=$(echo $jsontag | tr -d '"{},' | sed 's/: /=/g')

# Get the resource IDs for all resources in the resource group
r=$(az resource list -g myResourceGroup --query [].id --output tsv)

# Loop through each resource ID
for resid in $r
do
  # Apply tags from resource group to this resource
  az resource tag --tags $t --id $resid
done

Birkaç değeri tek etikette birleştirmek için bir JSON dizesi kullanın.To combine several values in a single tag, use a JSON string.

az group update -n myResourceGroup --set tags.CostCenter='{"Dept":"IT","Environment":"Test"}'

Kaynak grubundaki tüm etiketleri kaldırmak için şunu kullanın:To remove all tags on a resource group, use:

az group update -n myResourceGroup --remove tags

Etiketleri bir sanal makineye uygulamak için az resource tag komutunu kullanın.To apply tags to a virtual machine, use the az resource tag command. Kaynaktaki mevcut tüm etiketler korunmaz.Any existing tags on the resource aren't retained.

az resource tag -n myVM \
  -g myResourceGroup \
  --tags Dept=IT Environment=Test Project=Documentation \
  --resource-type "Microsoft.Compute/virtualMachines"

Kaynakları etikete göre bulmaFind resources by tag

Kaynakları etiket adı ve değeriyle bulmak için az resource list komutunu kullanın:To find resources with a tag name and value, use the az resource list command:

az resource list --tag Environment=Test --query [].name

Tüm sanal makineleri bir etiket değeriyle durdurmak gibi yönetim görevleri için döndürülen değerleri kullanabilirsiniz.You can use the returned values for management tasks like stopping all virtual machines with a tag value.

az vm stop --ids $(az resource list --tag Environment=Test --query "[?type=='Microsoft.Compute/virtualMachines'].id" --output tsv)

Maliyetleri etiket değerlerine göre görüntülemeView costs by tag values

Kaynaklara etiket uyguladıktan sonra, bu etiketlerle kaynakların maliyetlerini görüntüleyebilirsiniz.After applying tags to resources, you can view costs for resources with those tags. Maliyet analizinin en son kullanımları göstermesi biraz zaman aldığından maliyetleri henüz göremeyebilirsiniz.It takes a while for cost analysis to show the latest usage, so you may not see the costs yet. Maliyetler kullanılabilir olduğunda, aboneliğinizdeki kaynak gruplarında kaynakların maliyetlerini görüntüleyebilirsiniz.When the costs are available, you can view costs for resources across resource groups in your subscription. Kullanıcıların maliyetleri görmeleri için fatura bilgilerine abonelik düzeyinde erişimlerinin olması gerekir.Users must have subscription level access to billing information to see the costs.

Portalda maliyetleri etikete göre görüntülemek için aboneliğinizi ve sonra Maliyet Analizi’ni seçin.To view costs by tag in the portal, select your subscription and select Cost Analysis.

Maliyet analizi

Ardından etiket değerine göre filtreleyin ve Uygula’yı seçin.Then, filter by the tag value, and select Apply.

Etikete göre maliyeti görüntüleme

Ayrıca maliyetleri programlı olarak görüntülemek için Azure Faturalama API'lerini kullanabilirsiniz.You can also use the Azure Billing APIs to programmatically view costs.

Kaynakları temizlemeClean up resources

Kilit kaldırılana kadar kilitli ağ güvenlik grubu silinemez.The locked network security group can't be deleted until the lock is removed. Kilidi kaldırmak için kilitlerin kimliklerini alın ve bunları az lock delete komutuna ekleyin:To remove the lock, retrieve the IDs of the locks and provide them to the az lock delete command:

vmlock=$(az lock show --name LockVM \
  --resource-group myResourceGroup \
  --resource-type Microsoft.Compute/virtualMachines \
  --resource-name myVM --output tsv --query id)
nsglock=$(az lock show --name LockNSG \
  --resource-group myResourceGroup \
  --resource-type Microsoft.Network/networkSecurityGroups \
  --resource-name myVMNSG --output tsv --query id)
az lock delete --ids $vmlock $nsglock

Artık gerekli değilse, az group delete komutunu kullanarak kaynak grubunu, VM’yi ve tüm ilgili kaynakları kaldırabilirsiniz.When no longer needed, you can use the az group delete command to remove the resource group, VM, and all related resources. SSH oturumundan sanal makinenize çıkış yapın, ardından kaynakları aşağıda belirtildiği gibi silin:Exit the SSH session to your VM, then delete the resources as follows:

az group delete --name myResourceGroup

Sonraki adımlarNext steps

Bu öğreticide, özel bir VM görüntüsü oluşturdunuz.In this tutorial, you created a custom VM image. Şunları öğrendiniz:You learned how to:

  • Kullanıcıları bir role atamaAssign users to a role
  • Standartları uygulamaya zorlayan ilkeler uygulamaApply policies that enforce standards
  • Kilitlerle kritik kaynakları korumaProtect critical resources with locks
  • Fatura ve yönetim için kaynakları etiketlemeTag resources for billing and management

Yüksek oranda kullanılabilir sanal makineler hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.Advance to the next tutorial to learn about how highly available virtual machines.