Aracılığıyla paylaş


Sanal Makineler güvenilirliği

Bu makale, Sanal Makineler için belirli güvenilirlik önerilerinin yanı sıra kullanılabilirlik alanları ve bölgeler arası olağanüstü durum kurtarma ve iş sürekliliği ile VM bölgesel dayanıklılığı hakkında ayrıntılı bilgiler içerir.

Azure'da güvenilirliğe mimari genel bakış için bkz . Azure güvenilirliği.

Güvenilirlik önerileri

Bu bölüm dayanıklılık ve kullanılabilirlik elde etmek için öneriler içerir. Her öneri iki kategoriden birine ayrılır:

  • Sistem durumu öğeleri , Yapılandırma öğeleri ve Azure Kaynak yapılandırma ayarları, diğer hizmetlere bağımlılıklar gibi Azure İş Yükünüzü oluşturan ana bileşenlerin düzgün çalışması gibi alanları kapsar.

  • Risk öğeleri kullanılabilirlik ve kurtarma gereksinimleri, test, izleme, dağıtım gibi alanları ve çözümlenmemiş bırakılırsa ortamdaki sorun olasılığını artıran diğer öğeleri kapsar.

Güvenilirlik önerileri öncelik matrisi

Her öneri aşağıdaki öncelik matrisi uyarınca işaretlenir:

Görsel Öncelik Açıklama
Yüksek Anında düzeltme gerekiyor.
Medium 3-6 ay içinde düzeltin.
Düşük Gözden geçirilmesi gerekiyor.

Güvenilirlik önerileri özeti

Kategori Öncelik Öneri
Yüksek Kullanılabilirlik Azure Sanal Makine Ölçek Kümeleri Flex kullanarak iki veya daha fazla VM'de üretim iş yüklerini çalıştırma
Vm'leri kullanılabilirlik alanları arasında dağıtma veya bölgeler ile Sanal Makine Ölçek Kümeleri Flex kullanma
Kullanılabilirlik kümelerini kullanarak VM'leri Sanal Makine Ölçek Kümeleri Flex'e geçirme
VM diskleri için yönetilen diskleri kullanma
Olağanüstü Durum Kurtarma Azure Site Recovery kullanarak VM'leri çoğaltma
Azure Backup hizmetiyle VM'lerinizdeki verileri yedekleme
Performans Veri diskinde uygulama ve veritabanı verilerini barındırma
Üretim VM'leri SSD diskleri kullanıyor olmalıdır
Hızlandırılmış Ağı Etkinleştirme (AccelNet)
AccelNet etkinleştirildiğinde GuestOS NIC sürücüsünü el ile güncelleştirmeniz gerekir
Yönetim VM-9: Durduruldu durumundaki VM'leri izleyin
VM için bakım yapılandırmalarını kullanma
Güvenlik VVM'lerin doğrudan ilişkilendirilmiş bir Genel IP'leri olmamalıdır
Sanal Ağ Arabirimlerinin ilişkili bir NSG'leri vardır
IP İletme yalnızca Ağ Sanal Gereçleri için etkinleştirilmelidir
VM diskine ağ erişimi "Genel erişimi devre dışı bırak ve özel erişimi etkinleştir" olarak ayarlanmalıdır
Disk şifrelemesini ve bekleyen şifrelemedeki verileri varsayılan olarak etkinleştirme
Müşteri DNS Sunucuları Sanal Ağ düzeyinde yapılandırılmalıdır
Depolama Paylaşılan diskler yalnızca kümelenmiş sunucularda etkinleştirilmelidir
Uyumluluk VM'lerinizin Azure İlkeleri ile uyumlu olduğundan emin olun
İzleme VM Analizler etkinleştirme
Tüm Azure kaynakları için tanılama ayarlarını yapılandırma

Yüksek kullanılabilirlik

Sanal Makine Ölçek Kümeleri Flex kullanarak iki veya daha fazla VM üzerinde üretim iş yüklerini çalıştırma

Disk veya VM'nin geçici olarak kullanılamaması nedeniyle uygulama iş yüklerini kapalı kalma süresinden korumak için, Sanal Makine Ölçek Kümeleri Flex kullanarak üretim iş yüklerini iki veya daha fazla VM'de çalıştırmanız önerilir.

Üretim iş yüklerini çalıştırmak için şunları kullanabilirsiniz:

  • Azure Sanal Makine Ölçek Kümeleri bir grup yük dengeli VM oluşturmak ve yönetmek için kullanılır. Tanımlı bir zamanlamaya veya talebe yanıt olarak sanal makine örneği sayısı otomatik olarak artabilir ya da azalabilir.

  • Kullanılabilirlik alanları. Kullanılabilirlik alanları ve VM'ler hakkında daha fazla bilgi için bkz . Kullanılabilirlik alanı desteği.

// Azure Resource Graph Query
// Find all VMs that are not associated with a VMSS Flex instance
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(properties.virtualMachineScaleSet.id)
| project recommendationId="vm-1", name, id, tags

Vm'leri kullanılabilirlik alanları arasında dağıtma veya bölgeler ile Sanal Makine Ölçek Kümeleri Flex kullanma*

VM'lerinizi oluştururken, uygulamalarınızı ve verilerinizi olası olmayan veri merkezi hatalarına karşı korumak için kullanılabilirlik alanlarını kullanın. VM'lerin kullanılabilirlik alanları hakkında daha fazla bilgi için bu belgedeki Kullanılabilirlik alanı desteği konusuna bakın.

VM'nizi oluştururken kullanılabilirlik alanları desteğini etkinleştirme hakkında bilgi için bkz . Kullanılabilirlik alanı desteği oluşturma.

Mevcut VM'lerinizi kullanılabilirlik alanı desteğine geçirme hakkında bilgi için bkz . Kullanılabilirlik alanı desteğine geçiş.

// Azure Resource Graph Query
// Find all VMs that are not assigned to a Zone
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(zones)
| project recommendationId="vm-2", name, id, tags, param1="No Zone"

Kullanılabilirlik kümelerini kullanarak VM'leri Sanal Makine Ölçek Kümeleri Flex'e geçirme

İş yüklerinizi VM'lerden Sanal Makine Ölçek Kümeleri Flex'e geçirerek modernleştirin.

Sanal Makine Ölçek Kümeleri Flex ile VM'lerinizi iki yoldan biriyle dağıtabilirsiniz:

  • Bölgeler arasında
  • Aynı bölgede, ancak hata etki alanları (FD) ve güncelleştirme etki alanları (UD) arasında otomatik olarak.

N katmanlı bir uygulamada, her uygulama katmanını kendi Sanal Makine Ölçek Kümeleri Flex'e yerleştirmeniz önerilir.

// Azure Resource Graph Query
// Find all VMs using Availability Sets
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.availabilitySet)
| project recommendationId = "vm-3", name, id, tags, param1=strcat("availabilitySet: ",properties.availabilitySet.id)

VM diskleri için yönetilen diskleri kullanma*

Kullanılabilirlik kümesindeki VM'ler için daha iyi güvenilirlik sağlamak için yönetilen diskleri kullanın. Yönetilen diskler tek hata noktalarını önlemek için birbirinden yeterince yalıtılır. Ayrıca, yönetilen diskler bir depolama hesabında oluşturulan VHD'lerin IOPS sınırlarına tabi değildir.

// Azure Resource Graph Query
// Find all VMs that are not using Managed Disks
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnull(properties.storageProfile.osDisk.managedDisk)
| project recommendationId = "vm-5", name, id, tags

Olağanüstü durum kurtarma

Azure Site Recovery kullanarak VM'leri çoğaltma

Site Recovery kullanarak Azure VM'lerini çoğalttığınızda, tüm VM diskleri zaman uyumsuz olarak hedef bölgeye sürekli olarak çoğaltılır. Kurtarma noktaları birkaç dakikada bir oluşturulur ve bu da size dakika sırasına göre bir Kurtarma Noktası Hedefi (RPO) sağlar. Üretim uygulamasını veya devam eden çoğaltmayı etkilemeden olağanüstü durum kurtarma tatbikatlarını istediğiniz kadar gerçekleştirebilirsiniz.

Olağanüstü durum kurtarma tatbikatı çalıştırmayı öğrenmek için bkz . Yük devretme testi çalıştırma.

// Azure Resource Graph Query
// Find all VMs that do NOT have replication with ASR enabled
// Run query to see results.
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| project name, id, tags
| join kind=leftouter (
    recoveryservicesresources
    | where type =~ 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems'
    | where properties.providerSpecificDetails.dataSourceInfo.datasourceType =~ 'AzureVm'
    | project id=properties.providerSpecificDetails.dataSourceInfo.resourceId
    | extend name=strcat_array(array_slice(split(id, '/'), 8, -1), '/')
) on name
| where isnull(id1)
| project-away id1
| project-away name1
| project recommendationId = "vm-4", name, id, tags
| order by id asc

Azure Backup hizmetiyle VM'lerinizdeki verileri yedekleme

Azure Backup hizmeti, Microsoft Azure bulutundaki verilerinizi yedekleyip kurtarmaya yönelik basit, güvenli ve uygun maliyetli çözümler sunar. Daha fazla bilgi için bkz . Azure Backup Hizmeti nedir?

// Azure Resource Graph Query
// Find all VMs that do NOT have Backup enabled
// Run query to see results.
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| project name, id, tags
| join kind=leftouter (
    recoveryservicesresources
    | where type =~ 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems'
    | where properties.dataSourceInfo.datasourceType =~ 'Microsoft.Compute/virtualMachines'
    | project idBackupEnabled=properties.sourceResourceId
    | extend name=strcat_array(array_slice(split(idBackupEnabled, '/'), 8, -1), '/')
) on name
| where isnull(idBackupEnabled)
| project-away idBackupEnabled
| project-away name1
| project recommendationId = "vm-7", name, id, tags
| order by id asc

Performans

Veri diskinde uygulama ve veritabanı verilerini barındırma

Veri diski, vm'ye bağlı yönetilen bir disktir. Uygulama verilerini veya tutmanız gereken diğer verileri depolamak için veri diskini kullanın. Veri diskleri SCSI sürücüleri olarak kaydedilir ve seçtiğiniz bir harfle etiketlenir. Verilerinizi bir veri diskinde barındırmak, verilerinizi yedeklemeyi veya geri yüklemeyi kolaylaştırır. Ayrıca, vm ve işletim sisteminin tamamını taşımak zorunda kalmadan diski geçirebilirsiniz. Ayrıca, gereksinimlerinizi karşılayan farklı türde, boyutta ve performansta farklı bir disk SKU'su seçebilirsiniz. Veri diskleri hakkında daha fazla bilgi için bkz . Veri Diskleri.

// Azure Resource Graph Query
// Find all VMs that only have OS Disk
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where array_length(properties.storageProfile.dataDisks) < 1
| project recommendationId = "vm-6", name, id, tags

Üretim VM'leri SSD diskleri kullanıyor olmalıdır

Premium SSD diskler G/Ç yoğunluklu uygulamalar ve üretim iş yükleri için yüksek performanslı, düşük gecikme süreli disk desteği sunar. Standart SSD Diskler, daha düşük IOPS düzeylerinde tutarlı performans gerektiren iş yükleri için iyileştirilmiş uygun maliyetli bir depolama seçeneğidir.

Aşağıdakiler önerilir:

  • Geliştirme/Test senaryoları için Standart HDD diskleri ve en düşük maliyetle daha az kritik iş yükleri kullanın.
  • Premium özellikli VM'lerinizle Standart HDD diskler yerine Premium SSD diskleri kullanın. Tüm İşletim Sistemi Diskleri ve Veri Diskleri için premium depolama kullanan tüm Tek Örnekli VM'ler için Azure, VM bağlantısını en az %99,9 garanti eder.

Standart HDD'den Premium SSD disklere yükseltmek istiyorsanız aşağıdaki sorunları göz önünde bulundurun:

  • Yükseltme için VM'nin yeniden başlatılması gerekir ve bu işlemin tamamlanması 3-5 dakika sürer.
  • VM'ler görev açısından kritik üretim VM'leriyse, geliştirilmiş kullanılabilirliği premium disklerin maliyetine göre değerlendirin.

Azure yönetilen diskleri ve disk türleri hakkında daha fazla bilgi için bkz . Azure yönetilen disk türleri.

// Azure Resource Graph Query
// Find all disks with StandardHDD sku attached to VMs
Resources
| where type =~ 'Microsoft.Compute/disks'
| where sku.name == 'Standard_LRS' and sku.tier == 'Standard'
| where managedBy != ""
| project recommendationId = "vm-8", name, id, tags, param1=strcat("managedBy: ", managedBy)

Hızlandırılmış Ağı Etkinleştirme (AccelNet)

AccelNet, vm için tek kök G/Ç sanallaştırmasına (SR-IOV) olanak sağlayarak ağ performansını büyük ölçüde artırır. Bu yüksek performanslı yol, veri yolunda konağı atladığından, desteklenen sanal makine türlerinde üzerindeki en zorlu ağ iş yükleri için gecikme süresini ve CPU kullanımını azaltır.

Hızlandırılmış Ağ hakkında daha fazla bilgi için bkz . Hızlandırılmış Ağ

// Azure Resource Graph Query
// Find all VM NICs that do not have Accelerated Networking enabled
resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| mv-expand nic = properties.networkProfile.networkInterfaces
| project name, id, tags, lowerCaseNicId = tolower(nic.id), vmSize = tostring(properties.hardwareProfile.vmSize)
| join kind = inner (
    resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where properties.enableAcceleratedNetworking == false
    | project nicName = split(id, "/")[8], lowerCaseNicId = tolower(id)
    )
    on lowerCaseNicId
| summarize nicNames = make_set(nicName) by name, id, tostring(tags), vmSize
| extend param1 = strcat("NicName: ", strcat_array(nicNames, ", ")), param2 = strcat("VMSize: ", vmSize)
| project recommendationId = "vm-10", name, id, tags, param1, param2
| order by id asc

AccelNet etkinleştirildiğinde GuestOS NIC sürücüsünü el ile güncelleştirmeniz gerekir

AccelNet etkinleştirildiğinde, GuestOS'taki varsayılan Azure Sanal Ağ arabirimi mellanox arabirimi için değiştirilir. Sonuç olarak, GuestOS NIC sürücüsü üçüncü taraf bir satıcı olan Mellanox'tan sağlanır. Microsoft tarafından tutulan Market görüntüleri Mellanox sürücülerinin en son sürümüyle sunulsa da, VM dağıtıldıktan sonra GuestOS NIC sürücüsünü altı ayda bir el ile güncelleştirmeniz gerekir.

// cannot-be-validated-with-arg

Yönetim

Durdurulmuş durumdaki VM'leri gözden geçirme

VM örnekleri sağlama ve güç durumları dahil olmak üzere farklı durumlardan geçer. Vm durdurulmuş durumdaysa, VM bir sorunla karşılaşıyor olabilir veya artık gerekli olmayabilir ve maliyetleri azaltmaya yardımcı olmak için kaldırılabilir.

// Azure Resource Graph Query
// Find all VMs that are NOT running
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.extended.instanceView.powerState.displayStatus != 'VM running'
| project recommendationId = "vm-9", name, id, tags

VM için bakım yapılandırmalarını kullanma

VM güncelleştirmelerinin/kesintilerinin planlanan bir zaman diliminde yapıldığından emin olmak için, güncelleştirmeleri zamanlamak ve yönetmek için bakım yapılandırma ayarlarını kullanın. Bakım yapılandırmalarıyla VM güncelleştirmelerini yönetme hakkında daha fazla bilgi için bkz . Bakım Yapılandırmaları ile VM güncelleştirmelerini yönetme.

// Azure Resource Graph Query
// Find VMS that do not have maintenance configuration assigned
Resources
| extend resourceId = tolower(id)
| project name, location, type, id, tags, resourceId, properties
| where type =~ 'Microsoft.Compute/virtualMachines'
| join kind=leftouter (
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| project planName = name, type, maintenanceProps = properties
| extend resourceId = tostring(maintenanceProps.resourceId)
) on resourceId
| where isnull(maintenanceProps)
| project recommendationId = "vm-22",name, id, tags
| order by id asc

Güvenlik

VM'lerin doğrudan ilişkilendirilmiş bir Genel IP'leri olmamalıdır

Vm giden İnternet bağlantısı gerektiriyorsa NAT Ağ Geçidi veya Azure Güvenlik Duvarı kullanmanız önerilir. NAT Gateway veya Azure Güvenlik Duvarı, her iki hizmette de daha yüksek kullanılabilirlik ve Kaynak Ağ Adresi Çevirisi (SNAT) bağlantı noktaları olduğundan hizmetin güvenlik ve dayanıklılığının artırılmasına yardımcı olur. Gelen İnternet bağlantısı için Azure Load Balancer ve Application Gateway gibi bir yük dengeleme çözümü kullanmanız önerilir.

// Azure Resource Graph Query
// Find all VMs with PublicIPs directly associated with them
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where isnotnull(properties.ipConfigurations)
    | mv-expand ipconfig=properties.ipConfigurations
    | extend publicIp = tostring(ipconfig.properties.publicIPAddress.id)
    | where publicIp != ""
    | project name, nicId = tostring(id), publicIp
) on nicId
| project recommendationId = "vm-12", name, id, tags
| order by id asc

VM ağ arabirimlerinin ilişkili bir Ağ Güvenlik Grubu (NSG) var*

Bir NSG'yi bir alt ağ veya ağ arabirimiyle ilişkilendirmeniz önerilir, ancak ikisini birden ilişkilendirmezsiniz. Alt ağ ile ilişkilendirilmiş bir NSG'deki kurallar ağ arabirimiyle ilişkili bir NSG'deki kurallarla çakışabileceğinden, sorun giderme gerektiren beklenmeyen iletişim sorunlarıyla karşılaşabilirsiniz. Daha fazla bilgi için bkz . Alt ağ içi trafik.

// Azure Resource Graph Query
// Provides a list of virtual machines and associated NICs that do have an NSG associated to them and also an NSG associated to the subnet.
Resources
| where type =~ 'Microsoft.Network/networkInterfaces'
| where isnotnull(properties.networkSecurityGroup)
| mv-expand ipConfigurations = properties.ipConfigurations, nsg = properties.networkSecurityGroup
| project nicId = tostring(id), subnetId = tostring(ipConfigurations.properties.subnet.id), nsgName=split(nsg.id, '/')[8]
| parse kind=regex subnetId with '/virtualNetworks/' virtualNetwork '/subnets/' subnet
    | join kind=inner (
        Resources
        | where type =~ 'Microsoft.Network/NetworkSecurityGroups' and isnotnull(properties.subnets)
        | project name, resourceGroup, subnet=properties.subnets
        | mv-expand subnet
        | project subnetId=tostring(subnet.id)
    ) on subnetId
    | project nicId
| join kind=leftouter (
    Resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | where isnotnull(properties.networkProfile.networkInterfaces)
    | mv-expand nic=properties.networkProfile.networkInterfaces
    | project vmName = name, vmId = id, tags, nicId = nic.id, nicName=split(nic.id, '/')[8]
    | extend nicId = tostring(nicId)
) on nicId
| project recommendationId = "vm-13", name=vmName, id = vmId, tags, param1 = strcat("nic-name=", nicName)

IP iletme yalnızca ağ sanal gereçleri için etkinleştirilmelidir

IP iletme, sanal makine ağ arabiriminin şunları gerçekleştirmesini sağlar:

  • Ağ arabirimine atanan IP yapılandırmalarından herhangi birine atanan IP adreslerinden birini hedefleyen ağ trafiğini alma.

  • Ağ arabiriminin IP yapılandırmalarından birine atanandan farklı bir kaynak IP adresiyle ağ trafiği gönderin.

IP iletme ayarı, iletilecek trafiği alan VM'ye bağlı her ağ arabirimi için etkinleştirilmelidir. Vm, birden çok ağ arabirimine veya bağlı tek bir ağ arabirimine sahip olması farketmeksizin trafiği iletebilir. IP iletme bir Azure ayarı olsa da VM'nin güvenlik duvarı, WAN iyileştirmesi ve yük dengeleme uygulamaları gibi trafiği iletebilen bir uygulama da çalıştırması gerekir.

IP iletmeyi etkinleştirmeyi veya devre dışı bırakmayı öğrenmek için bkz . IP iletmeyi etkinleştirme veya devre dışı bırakma.

// Azure Resource Graph Query
// Find all VM NICs that have IPForwarding enabled. This feature is usually only required for Network Virtual Appliances
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | where properties.enableIPForwarding == true
    | project nicId = tostring(id)
) on nicId
| project recommendationId = "vm-14", name, id, tags
| order by id asc

VM diskine ağ erişimi "Genel erişimi devre dışı bırak ve özel erişimi etkinleştir" olarak ayarlanmalıdır

VM disk ağı erişimini "Genel erişimi devre dışı bırak ve özel erişimi etkinleştir" olarak ayarlamanız ve özel bir uç nokta oluşturmanız önerilir. Özel uç nokta oluşturmayı öğrenmek için bkz . Özel uç nokta oluşturma.

// Azure Resource Graph Query
// Find all Disks with "Enable public access from all networks" enabled
resources
| where type =~ 'Microsoft.Compute/disks'
| where properties.publicNetworkAccess == "Enabled"
| project id, name, tags, lowerCaseDiskId = tolower(id)
| join kind = leftouter (
    resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | project osDiskVmName = name, lowerCaseOsDiskId = tolower(properties.storageProfile.osDisk.managedDisk.id)
    | join kind = fullouter (
        resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | mv-expand dataDisks = properties.storageProfile.dataDisks
        | project dataDiskVmName = name, lowerCaseDataDiskId = tolower(dataDisks.managedDisk.id)
        )
        on $left.lowerCaseOsDiskId == $right.lowerCaseDataDiskId
    | project lowerCaseDiskId = coalesce(lowerCaseOsDiskId, lowerCaseDataDiskId), vmName = coalesce(osDiskVmName, dataDiskVmName)
    )
    on lowerCaseDiskId
| summarize vmNames = make_set(vmName) by name, id, tostring(tags)
| extend param1 = iif(isempty(vmNames[0]), "VMName: n/a", strcat("VMName: ", strcat_array(vmNames, ", ")))
| project recommendationId = "vm-17", name, id, tags, param1
| order by id asc

Disk şifrelemesini ve bekleyen şifrelemedeki verileri varsayılan olarak etkinleştirme

Yönetilen diskleriniz için Azure Disk Şifrelemesi (ADE), Sunucu Tarafı Şifrelemesi (SSE) ve konakta şifreleme gibi çeşitli şifreleme türleri vardır.

  • Azure Disk Şifrelemesi verilerinizi koruyarak kurumsal güvenlik ve uyumluluk taahhütlerinizi yerine getirmenize yardımcı olur.
  • Azure Disk Depolama Sunucu Tarafı Şifrelemesi (bekleyen şifreleme veya Azure Depolama şifreleme olarak da adlandırılır), Depolama Kümelerinde kalıcı hale getirilirken Azure yönetilen disklerinde (işletim sistemi ve veri diskleri) depolanan verileri otomatik olarak şifreler.
  • Konakta şifreleme, VM'nizi barındıran VM konağından depolanan verilerin bekleme durumunda şifrelenmesini ve Depolama kümelerine şifrelenmesini sağlar.
  • Gizli disk şifrelemesi, disk şifreleme anahtarlarını VM'nin TPM'sine bağlar ve korumalı disk içeriğini yalnızca VM için erişilebilir hale getirir.

Yönetilen disk şifreleme seçenekleri hakkında daha fazla bilgi için bkz . Yönetilen disk şifreleme seçeneklerine genel bakış.

// under-development

DNS Sunucuları Sanal Ağ düzeyinde yapılandırılmalıdır

Ortam genelinde ad çözümleme tutarsızlığını önlemek için Sanal Ağ DNS Sunucusunu yapılandırın. Azure sanal ağlarındaki kaynakların ad çözümlemesi hakkında daha fazla bilgi için bkz . VM'ler ve bulut hizmetleri için ad çözümleme.

// Azure Resource Graph Query
// Find all VM NICs that have DNS Server settings configured in any of the NICs
Resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where isnotnull(properties.networkProfile.networkInterfaces)
| mv-expand nic=properties.networkProfile.networkInterfaces
| project name, id, tags, nicId = nic.id
| extend nicId = tostring(nicId)
| join kind=inner (
    Resources
    | where type =~ 'Microsoft.Network/networkInterfaces'
    | project name, id, dnsServers = properties.dnsSettings.dnsServers
    | extend hasDns = array_length(dnsServers) >= 1
    | where hasDns != 0
    | project name, nicId = tostring(id)
) on nicId
| project recommendationId = "vm-15", name, id, tags
| order by id asc

Depolama

Paylaşılan diskler yalnızca kümelenmiş sunucularda etkinleştirilmelidir

Azure paylaşılan diskleri, aynı anda birden çok VM'ye yönetilen disk eklemenize olanak tanıyan bir Azure yönetilen diskleri özelliğidir. Birden çok VM'ye bir yönetilen disk eklediğinizde, yeni kümelenmiş uygulamaları dağıtabilir veya mevcut kümelenmiş uygulamaları Azure'a geçirebilirsiniz. Paylaşılan diskler yalnızca diskin kümenin birden fazla VM üyesine atandığı durumlarda kullanılmalıdır.

Yönetilen diskler için paylaşılan diskleri etkinleştirme hakkında daha fazla bilgi edinmek için bkz . Paylaşılan diski etkinleştirme.

// Azure Resource Graph Query
// Find all Disks configured to be Shared. This is not an indication of an issue, but if a disk with this configuration is assigned to two or more VMs without a proper disk control mechanism (like a WSFC) it can lead to data loss
resources
| where type =~ 'Microsoft.Compute/disks'
| where isnotnull(properties.maxShares)
| project id, name, tags, lowerCaseDiskId = tolower(id), diskState = tostring(properties.diskState)
| join kind = leftouter (
    resources
    | where type =~ 'Microsoft.Compute/virtualMachines'
    | project osDiskVmName = name, lowerCaseOsDiskId = tolower(properties.storageProfile.osDisk.managedDisk.id)
    | join kind = fullouter (
        resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | mv-expand dataDisks = properties.storageProfile.dataDisks
        | project dataDiskVmName = name, lowerCaseDataDiskId = tolower(dataDisks.managedDisk.id)
        )
        on $left.lowerCaseOsDiskId == $right.lowerCaseDataDiskId
    | project lowerCaseDiskId = coalesce(lowerCaseOsDiskId, lowerCaseDataDiskId), vmName = coalesce(osDiskVmName, dataDiskVmName)
    )
    on lowerCaseDiskId
| summarize vmNames = make_set(vmName) by name, id, tostring(tags), diskState
| extend param1 = strcat("DiskState: ", diskState), param2 = iif(isempty(vmNames[0]), "VMName: n/a", strcat("VMName: ", strcat_array(vmNames, ", ")))
| project recommendationId = "vm-16", name, id, tags, param1, param2
| order by id asc

Uyumluluk

VM'lerinizin Azure İlkeleri ile uyumlu olduğundan emin olun

Çalıştırdığınız uygulamalar için sanal makinenizin (VM) güvenliğini sağlamak önemlidir. VM'lerinizin güvenliğini sağlamak, VM'lerinize güvenli erişimi ve verilerinizin güvenli bir şekilde depolanmasını kapsayan bir veya daha fazla Azure hizmeti ve özelliği içerebilir. VM'nizi ve uygulamalarınızı güvenli tutma hakkında daha fazla bilgi için bkz. Azure Sanal Makineler için Mevzuat Uyumluluğu denetimlerini Azure İlkesi.

// Azure Resource Graph Query
// Find all VMs in "NonCompliant" state with Azure Policies
PolicyResources
| where type =~ "Microsoft.PolicyInsights/policyStates" and properties.resourceType =~ "Microsoft.Compute/virtualMachines" and properties.complianceState =~ "NonCompliant"
| project
    policyAssignmentName = properties.policyAssignmentName,
    policyDefinitionName = properties.policyDefinitionName,
    lowerCasePolicyDefinitionIdOfPolicyState = tolower(properties.policyDefinitionId),
    lowerCaseVmIdOfPolicyState = tolower(properties.resourceId)
| join kind = leftouter (
    PolicyResources
    | where type =~ "Microsoft.Authorization/policyDefinitions"
    | project lowerCasePolicyDefinitionId = tolower(id), policyDefinitionDisplayName = properties.displayName
    )
    on $left.lowerCasePolicyDefinitionIdOfPolicyState == $right.lowerCasePolicyDefinitionId
| project policyAssignmentName, policyDefinitionName, policyDefinitionDisplayName, lowerCaseVmIdOfPolicyState
| join kind = leftouter (
    Resources
    | where type =~ "Microsoft.Compute/virtualMachines"
    | project vmName = name, vmId = id, vmTags = tags, lowerCaseVmId = tolower(id)
    )
    on $left.lowerCaseVmIdOfPolicyState == $right.lowerCaseVmId
| extend
    param1 = strcat("AssignmentName: ", policyAssignmentName),
    param2 = strcat("DefinitionName: ", policyDefinitionDisplayName),  // Align to Azure portal's term.
    param3 = strcat("DefinitionID: ", policyDefinitionName)            // Align to Azure portal's term.
| project recommendationId = "vm-18", name = vmName, id = vmId, tags = vmTags, param1, param2, param3

İzleme

VM Analizler etkinleştirme

Sanal makinenizin durumu ve performansı hakkında daha fazla görünürlük elde etmek için VM Analizler etkinleştirin. VM Analizler, çalışan işlemlerini ve diğer kaynaklardaki bağımlılıklarını izleyerek VM'lerinizin ve sanal makine ölçek kümelerinizin performansı ve durumu hakkında bilgi verir. VM Analizler, performans sorunlarını ve ağ sorunlarını belirleyerek önemli uygulamaların öngörülebilir performans ve kullanılabilirliğini sağlamaya yardımcı olabilir. Analizler, bir sorunun diğer bağımlılıklarla ilgili olup olmadığını anlamanıza da yardımcı olabilir.

// Azure Resource Graph Query
// Check for VMs without Azure Monitoring Agent extension installed, missing Data Collection Rule or Data Collection Rule without performance enabled.
Resources
| where type == 'microsoft.compute/virtualmachines'
| project idVm = tolower(id), name, tags
| join kind=leftouter (
    InsightsResources
    | where type =~ "Microsoft.Insights/dataCollectionRuleAssociations" and id has "Microsoft.Compute/virtualMachines"
    | project idDcr = tolower(properties.dataCollectionRuleId), idVmDcr = tolower(substring(id, 0, indexof(id, "/providers/Microsoft.Insights/dataCollectionRuleAssociations/"))))
on $left.idVm == $right.idVmDcr
| join kind=leftouter (
    Resources
    | where type =~ "Microsoft.Insights/dataCollectionRules"
    | extend
        isPerformanceEnabled = iif(properties.dataSources.performanceCounters contains "Microsoft-InsightsMetrics" and properties.dataFlows contains "Microsoft-InsightsMetrics", true, false),
        isMapEnabled = iif(properties.dataSources.extensions contains "Microsoft-ServiceMap" and properties.dataSources.extensions contains "DependencyAgent" and properties.dataFlows contains "Microsoft-ServiceMap", true, false)//,
    | where isPerformanceEnabled or isMapEnabled
    | project dcrName = name, isPerformanceEnabled, isMapEnabled, idDcr = tolower(id))
on $left.idDcr == $right.idDcr
| join kind=leftouter (
    Resources
        | where type == 'microsoft.compute/virtualmachines/extensions' and (name contains 'AzureMonitorWindowsAgent' or name contains 'AzureMonitorLinuxAgent')
        | extend idVmExtension = tolower(substring(id, 0, indexof(id, '/extensions'))), extensionName = name)
on $left.idVm == $right.idVmExtension
| where isPerformanceEnabled != 1 or (extensionName != 'AzureMonitorWindowsAgent' and extensionName != 'AzureMonitorLinuxAgent')
| project recommendationId = "vm-20", name, id = idVm, tags, param1 = strcat('MonitoringExtension:', extensionName), param2 = strcat('DataCollectionRuleId:', idDcr), param3 = strcat('isPerformanceEnabled:', isPerformanceEnabled)

Tüm Azure kaynakları için tanılama ayarlarını yapılandırma

Platform ölçümleri varsayılan olarak ve yapılandırma olmadan Azure İzleyici Ölçümleri'ne otomatik olarak gönderilir. Platform günlükleri, Azure kaynakları ve bağımlı oldukları Azure platformu için ayrıntılı tanılama ve denetim bilgileri sağlar ve aşağıdaki türlerden biridir:

  • Bir hedefe yönlendirilene kadar toplanmaz kaynak günlükleri .
  • Kendi başına var olan ancak diğer konumlara yönlendirilebilen etkinlik günlükleri .

Her Azure kaynağı, aşağıdaki ölçütleri tanımlayan kendi tanılama ayarını gerektirir:

  • Kaynaklar Ayarda tanımlanan hedeflere gönderilecek ölçüm ve günlük verilerinin türü. Kullanılabilir türler kaynak türüne göre farklılık gösterir.
  • Hedefler: Gönderilecek bir veya daha fazla hedef.

Tek bir tanılama ayarı, hedeflerden en fazla birini tanımlayabilir. Verileri belirli bir hedef türünden birden fazlasına (örneğin, iki farklı Log Analytics çalışma alanı) göndermek istiyorsanız, birden çok ayar oluşturun. Her kaynağın en fazla beş tanılama ayarı olabilir.

Ön bilgiler için bkz . Azure İzleyici'de tanılama ayarları.

// Azure Resource Graph Query
// Find all Virtual Machines without diagnostic settings enabled/with diagnostic settings enabled but not configured both performance counters and event logs/syslogs.
resources
| where type =~ "microsoft.compute/virtualmachines"
| project name, id, tags, lowerCaseVmId = tolower(id)
| join kind = leftouter (
    resources
    | where type =~ "Microsoft.Compute/virtualMachines/extensions" and properties.publisher =~ "Microsoft.Azure.Diagnostics"
    | project
        lowerCaseVmIdOfExtension = tolower(substring(id, 0, indexof(id, "/extensions/"))),
        extensionType = properties.type,
        provisioningState = properties.provisioningState,
        storageAccount = properties.settings.StorageAccount,
        // Windows
        wadPerfCounters = properties.settings.WadCfg.DiagnosticMonitorConfiguration.PerformanceCounters.PerformanceCounterConfiguration,
        wadEventLogs = properties.settings.WadCfg.DiagnosticMonitorConfiguration.WindowsEventLog,
        // Linux
        ladPerfCounters = properties.settings.ladCfg.diagnosticMonitorConfiguration.performanceCounters.performanceCounterConfiguration,
        ladSyslog = properties.settings.ladCfg.diagnosticMonitorConfiguration.syslogEvents
    | extend
        // Windows
        isWadPerfCountersConfigured = iif(array_length(wadPerfCounters) > 0, true, false),
        isWadEventLogsConfigured = iif(isnotnull(wadEventLogs) and array_length(wadEventLogs.DataSource) > 0, true, false),
        // Linux
        isLadPerfCountersConfigured = iif(array_length(ladPerfCounters) > 0, true, false),
        isLadSyslogConfigured = isnotnull(ladSyslog)
    | project
        lowerCaseVmIdOfExtension,
        extensionType,
        provisioningState,
        storageAccount,
        isPerfCountersConfigured = case(extensionType =~ "IaaSDiagnostics", isWadPerfCountersConfigured, extensionType =~ "LinuxDiagnostic", isLadPerfCountersConfigured, false),
        isEventLogsConfigured = case(extensionType =~ "IaaSDiagnostics", isWadEventLogsConfigured, extensionType =~ "LinuxDiagnostic", isLadSyslogConfigured, false)
    )
    on $left.lowerCaseVmId == $right.lowerCaseVmIdOfExtension
| where isempty(lowerCaseVmIdOfExtension) or provisioningState !~ "Succeeded" or not(isPerfCountersConfigured and isEventLogsConfigured)
| extend
    param1 = strcat("DiagnosticSetting: ", iif(isnotnull(extensionType), strcat("Enabled, partially configured (", extensionType, ")"), "Not enabled")),
    param2 = strcat("ProvisioningState: ", iif(isnotnull(provisioningState), provisioningState, "n/a")),
    param3 = strcat("storageAccount: ", iif(isnotnull(storageAccount), storageAccount, "n/a")),
    param4 = strcat("PerformanceCounters: ", case(isnull(isPerfCountersConfigured), "n/a", isPerfCountersConfigured, "Configured", "Not configured")),
    param5 = strcat("EventLogs/Syslogs: ", case(isnull(isEventLogsConfigured), "n/a", isEventLogsConfigured, "Configured", "Not configured"))
| project recommendationId = "vm-21", name, id, tags, param1, param2, param3, param4, param5

Kullanılabilirlik alanı desteği

Azure kullanılabilirlik alanları, her Azure bölgesindeki en az üç fiziksel ayrı veri merkezi grubudur. Her bölgedeki veri merkezleri bağımsız güç, soğutma ve ağ altyapısı ile donatılmıştır. Yerel bölge hatası durumunda kullanılabilirlik alanları, bir bölge etkileniyorsa, bölgesel hizmetler, kapasite ve yüksek kullanılabilirlik kalan iki bölge tarafından desteklenecek şekilde tasarlanmıştır.

Hatalar, yazılım ve donanım arızalarından deprem, sel ve yangın gibi olaylara kadar değişebilir. Azure hizmetlerinin yedekliliği ve mantıksal yalıtımı ile hatalara dayanıklılık elde edilir. Azure'daki kullanılabilirlik alanları hakkında daha ayrıntılı bilgi için bkz . Bölgeler ve kullanılabilirlik alanları.

Azure kullanılabilirlik alanlarının etkinleştirildiği hizmetler, doğru güvenilirlik ve esneklik düzeyini sağlayacak şekilde tasarlanmıştır. Bunlar iki şekilde yapılandırılabilir. Alanlar arasında otomatik çoğaltma ile alanlar arası yedekli veya belirli bir bölgeye sabitlenmiş örneklerle bölgesel olabilir. Bu yaklaşımları da birleştirebilirsiniz. Bölgesel ve alanlar arası yedekli mimari hakkında daha fazla bilgi için bkz. kullanılabilirlik alanlarını ve bölgelerini kullanmak için Öneriler.

Sanal makineler, desteklenen Azure bölgesi başına üç kullanılabilirlik alanına sahip kullanılabilirlik alanlarını destekler ve ayrıca alanlar arası yedekli ve bölgeseldir. Daha fazla bilgi için bkz . kullanılabilirlik alanları desteği. Müşteri, sanal makinelerini kullanılabilirlik için yapılandırmak ve geçirmekten sorumludur.

Kullanılabilirlik alanı hazır olma seçenekleri hakkında daha fazla bilgi edinmek için bkz:

Önkoşullar

  • Sanal makine SKU'larınızın bölgenizdeki bölgelerde kullanılabilir olması gerekir. Hangi bölgelerin kullanılabilirlik alanlarını desteklediğini gözden geçirmek için desteklenen bölgelerin listesine bakın.

  • VM SKU'larınızın bölgenizdeki bölgelerde kullanılabilir olması gerekir. VM SKU kullanılabilirliğini denetlemek için aşağıdaki yöntemlerden birini kullanın:

SLA geliştirmeleri

Kullanılabilirlik alanları fiziksel olarak ayrı olduğundan ve ayrı güç kaynağı, ağ ve soğutma sağladığından, SLA'lar (Hizmet düzeyi sözleşmeleri) artar. Daha fazla bilgi için bkz. Sanal Makineler için SLA.

Kullanılabilirlik alanlarının etkinleştirildiği bir kaynak oluşturma

Aşağıdaki dağıtım seçeneklerinden kullanılabilirlik alanı etkinleştirilmiş bir sanal makine (VM) oluşturarak başlayın:

Bölgesel yük devretme desteği

Site Recovery hizmetini kullanarak sanal makineleri başka bir bölgeye yük devretmek üzere ayarlayabilirsiniz. Daha fazla bilgi için bkz . Site Recovery.

Hataya dayanıklılık

Sanal makineler, vm'nin işletim sistemi yeni sunucuda yeniden başlatılırken kümedeki başka bir sunucuya yük devredebilir. Olağanüstü durum kurtarma için yük devretme işlemine başvurmanız, kurtarma planlamasında sanal makineleri toplamanız ve hataya dayanıklılık çözümlerinin başarılı olduğundan emin olmak için olağanüstü durum kurtarma tatbikatları çalıştırmanız gerekir.

Daha fazla bilgi için bkz . site kurtarma işlemleri.

Bölge azaltma deneyimi

Bölge genelindeki bir kesinti sırasında, sanal makine hizmeti kendi kendini iyileştirene kadar performansta kısa bir düşüş bekleyebilirsiniz. Bu, iyi durumdaki bölgelere göre ayarlamak için temel kapasiteyi yeniden dengeler. Kendi kendini onarma, bölge geri yüklemeye bağımlı değildir; Microsoft tarafından yönetilen hizmet kendi kendine düzeltme durumunun, diğer bölgelerdeki kapasiteyi kullanarak kayıp bir bölgeyi dengelemesi beklenir.

Ayrıca tüm bölgede kesinti yaşanma olasılığına da hazırlıklı olmalısınız. Tüm bölge için hizmet kesintisi yaşanırsa verilerinizin yerel olarak yedekli kopyaları geçici olarak kullanılamaz duruma gelir. Coğrafi çoğaltma etkinleştirilirse Azure Depolama bloblarınızın ve tablolarınızın diğer üç kopyası farklı bir bölgede depolanır. Tam bir bölgesel kesinti veya birincil bölgenin kurtarılamayan bir olağanüstü durum olduğunda, Azure tüm DNS girdilerini coğrafi olarak çoğaltılan bölgeyle yeniden eşler.

Bölge kesintisi hazırlama ve kurtarma

Azure sanal makine uygulamanızın dağıtıldığı tüm bölgenin hizmet kesintisi sırasında Azure sanal makineleri için aşağıdaki kılavuz sağlanır:

Düşük gecikmeli tasarım

Bölgeler Arası (ikincil bölge), Abonelikler Arası (önizleme) ve Bölgeler Arası (önizleme) seçenekleri, düşük gecikme süreli bir sanal makine çözümü tasarlarken göz önünde bulundurulabilir. Bu seçenekler hakkında daha fazla bilgi için desteklenen geri yükleme yöntemlerine bakın.

Önemli

Alan algılayan dağıtımı geri çevirerek, temel alınan hataların yalıtılmasından vazgeçersiniz. Kullanılabilirlik alanlarını desteklemeyen veya kullanılabilirlik alanı yapılandırmasından vazgeçmeyen SKU'ların kullanılması, bölge yerleştirme ve ayırmaya uymayan kaynaklara (bu kaynakların temel bağımlılıkları dahil) bağımlılığa zorlar. Bu kaynakların bölge azaltma senaryolarında hayatta kalması beklenemez. Bu tür kaynaklardan yararlanan çözümler bir olağanüstü durum kurtarma stratejisi tanımlamalı ve çözümün başka bir bölgede kurtarılmasını yapılandırmalıdır.

Kasa dağıtım teknikleri

Kullanılabilirlik alanları yalıtımını tercih ettiğinizde, uygulama kodu ve uygulama yükseltmeleri için güvenli dağıtım tekniklerini kullanmanız gerekir. Azure Site Recovery'yi yapılandırmaya ve VM'ler için aşağıdaki güvenli dağıtım tekniklerinden birini uygulamaya ek olarak:

Microsoft düzenli aralıklarla planlı bakım güncelleştirmeleri gerçekleştirdikçe, bu güncelleştirmelerin temel altyapıya gerekli güncelleştirmeleri uygulamak için sanal makinenizin yeniden başlatılmasını gerektirdiği nadir örnekler olabilir. Daha fazla bilgi edinmek için bkz . Zamanlanmış bakım sırasında kullanılabilirlik konusunda dikkat edilmesi gerekenler .

Bir sonraki düğüm kümenizi başka bir bölgede yükseltmeden önce aşağıdaki görevleri gerçekleştirmeniz gerekir:

Kullanılabilirlik alanı desteğine geçiş

Vm'yi kullanılabilirlik alanı desteğine geçirmeyi öğrenmek için bkz. Sanal Makineler ve Sanal Makine Ölçek Kümeleri kullanılabilirlik alanı desteğine geçirme.

Bölgeler arası olağanüstü durum kurtarma ve iş sürekliliği

Olağanüstü durum kurtarma (DR), kapalı kalma süresi ve veri kaybına neden olan doğal afetler veya başarısız dağıtımlar gibi yüksek etkili olaylardan kurtarmayla ilgilidir. Nedeni ne olursa olsun, olağanüstü durum için en iyi çözüm iyi tanımlanmış ve test edilmiş bir DR planı ve DR'yi etkin bir şekilde destekleyen bir uygulama tasarımıdır. Olağanüstü durum kurtarma planınızı oluşturmaya başlamadan önce bkz. Olağanüstü durum kurtarma stratejisi tasarlamaya yönelik Öneriler.

DR söz konusu olduğunda, Microsoft paylaşılan sorumluluk modelini kullanır. Paylaşılan bir sorumluluk modelinde Microsoft, temel altyapı ve platform hizmetlerinin kullanılabilir olmasını sağlar. Aynı zamanda, birçok Azure hizmeti verileri otomatik olarak çoğaltmaz veya başarısız olan bir bölgeden geri dönerek başka bir etkin bölgeye çapraz çoğaltma yapamaz. Bu hizmetler için iş yükünüz için uygun bir olağanüstü durum kurtarma planı ayarlamak sizin sorumluluğunuzdadır. Hizmet olarak Azure platformu (PaaS) tekliflerinde çalışan hizmetlerin çoğu, DR'yi desteklemek için özellikler ve yönergeler sağlar ve DR planınızı geliştirmeye yardımcı olmak üzere hızlı kurtarmayı desteklemek için hizmete özgü özellikleri kullanabilirsiniz.

Eşleştirilmiş bölgeler aracılığıyla Azure VM'lerini geri yüklemek için Bölgeler Arası geri yüklemeyi kullanabilirsiniz. Bölgeler Arası geri yükleme ile, yedekleme ikincil bölgede yapılıyorsa seçili kurtarma noktası için tüm Azure VM'lerini geri yükleyebilirsiniz. Bölgeler Arası geri yükleme hakkında daha fazla bilgi için geri yükleme seçeneklerimizdeki Bölgeler Arası tablo satırı girdisine bakın.

Çok bölgeli coğrafyada olağanüstü durum kurtarma

Bölge genelinde hizmet kesintisi olması durumunda Microsoft, sanal makine hizmetini geri yüklemek için özenle çalışır. Ancak, en yüksek kullanılabilirlik düzeyini elde etmek için yine de uygulamaya özgü diğer yedekleme stratejilerini kullanmanız gerekir. Daha fazla bilgi için Olağanüstü durum kurtarma için veri stratejileri bölümüne bakın.

Kesinti algılama, bildirim ve yönetim

Sanal makine için donanım veya fiziksel altyapı beklenmedik bir şekilde başarısız olabilir. Beklenmeyen hatalar yerel ağ hataları, yerel disk hataları veya diğer raf düzeyi hataları içerebilir. Algılandığında, Azure platformu sanal makinenizi otomatik olarak aynı veri merkezindeki iyi durumdaki bir fiziksel makineye geçirir (iyileştirir). İyileştirme yordamı sırasında sanal makineler kapalı kalır (yeniden başlatma) ve bazı durumlarda geçici sürücü kaybı yaşar. Bağlı işletim sistemi ve veri diskleri her zaman korunur.

Sanal makine hizmeti kesintileri hakkında daha ayrıntılı bilgi için bkz . olağanüstü durum kurtarma kılavuzu.

Olağanüstü durum kurtarma ve kesinti algılamayı ayarlama

Sanal makineler için olağanüstü durum kurtarmayı ayarlarken Azure Site Recovery'nin neler sağladığını anlayın. Aşağıdaki yöntemlerle sanal makineler için olağanüstü durum kurtarmayı etkinleştirin:

Tek bölgeli coğrafyada olağanüstü durum kurtarma

Olağanüstü durum kurtarma kurulumuyla Azure VM'leri sürekli olarak farklı bir hedef bölgeye çoğaltılır. Bir kesinti oluşursa VM'lerin yükünü ikincil bölgeye devredebilir ve bunlara oradan erişebilirsiniz.

Site Recovery kullanarak Azure VM'lerini çoğalttığınızda, tüm VM diskleri zaman uyumsuz olarak hedef bölgeye sürekli olarak çoğaltılır. Kurtarma noktaları birkaç dakikada bir oluşturulur ve bu da size dakika sırasına göre bir Kurtarma Noktası Hedefi (RPO) verir. Üretim uygulamasını veya devam eden çoğaltmayı etkilemeden olağanüstü durum kurtarma tatbikatlarını istediğiniz kadar gerçekleştirebilirsiniz. Daha fazla bilgi için bkz . Azure'da olağanüstü durum kurtarma tatbikatı çalıştırma.

Daha fazla bilgi için bkz . Azure VM'leri mimari bileşenleri ve bölge eşleştirme.

Kapasite ve proaktif olağanüstü durum kurtarma dayanıklılığı

Microsoft ve müşterileri Paylaşılan Sorumluluk Modeli kapsamında çalışır. Paylaşılan sorumluluk, müşteri tarafından etkinleştirilen DR (müşteriden sorumlu hizmetler) için dağıttığı ve denetledikleri tüm hizmetler için DR'ye hitap etmeniz gerektiği anlamına gelir. Kurtarmanın proaktif olduğundan emin olmak için, önceden ayrılmamış olanlar için etki anında kapasite garantisi olmadığından her zaman ikincilleri önceden dağıtmanız gerekir.

Sanal makineleri dağıtmak için Sanal Makine Ölçek Kümeleri esnek düzenleme modunu kullanabilirsiniz. Tüm VM boyutları esnek düzenleme moduyla kullanılabilir. Esnek düzenleme modu ayrıca vm'leri bir bölge içinde veya kullanılabilirlik alanı içinde bulunan hata etki alanlarına yayarak yüksek kullanılabilirlik garantileri (1000 VM'ye kadar) sunar.

Sonraki adımlar