Veeam Backup for Microsoft Azure makale serisine devam ediyoruz ve serinin ikinci bölümünde sistem gereksinimlerine ve lisanslamaya değineceğiz. Serinin ilk makalesini okumak isteyenler bu linkten faydalanabilirler.
Not: Makalenin bundan sonraki bölümlerinde Veeam Backup for Microsoft Azure , VBfMA kısaltması ile kullanılacaktır.
Sistem gereksinimleri açısında dikkat etmeniz ve karşılamanız gerekenleri aşağıda madde madde belirtiyorum, sonrasında bu maddelerin detaylarına girip nasıl yapılacağını inceleyeceğiz.
- Portlar
- Azure Hesap izinleri
- Azure Servisleri
- Azure Servis Sağlayıcıları
VBfMA yedek alma sisteminin düzgün çalışabilmesi için için ilk gereksinim olarak karşımıza port’lar çıkıyor. Azure VM’lerle, Backup appliance ile, worker’lar kısaca VBfMA oluşturan bileşenlerle Azure ortamının sorunsuz iletişim kurabilmesi için gerekli protokol ve port’ların yapılandırılması gerekmekte. Aşağıdaki tablodan nereden nereye açılması gereken port’ların listesini görebilirsiniz.
From | To | Protocol | Port | Açıklama |
---|---|---|---|---|
Workstation web browser | Backup appliance | HTTPS | 443 | Kullandığınız bir laptop yada bilgisayardan Web arayüzünü erişmek için gereklidir. |
Worker instance | HTTPS | 443 | Dosya düzeyinde kurtarma (File Recovery Level) işlemi sırasında bir çalışan workers instances’da Veeam Dosya Düzeyinde Kurtarma tarayıcısına erişmek için gereklidir. | |
Backup appliance | Ubuntu Security Update repository (security.ubuntu.com) | HTTP | 80 | İşletim sistemi güncellemeleri için gereklidir. |
Veeam Update Notification Server (repository.veeam.com) | HTTPS | 443 | Mevcut ürün güncellemeleriyle ilgili bilgileri indirmek için gereklidir. | |
SMTP server | TCP | 25 | E-posta bildirimleri göndermek için kullanılan varsayılan bağlantı noktası. Not: TCP 25 bağlantı noktası, SMTP sunucuları tarafından en yaygın olarak kullanılan bağlantı noktasıdır. | |
Azure VM | Backup appliance | HTTPS | 443 | Windows tabanlı Azure VM’leri ile iletişim kurmak için gereklidir. |
Worker instance | Ubuntu Security Update repository (security.ubuntu.com) | HTTP | 80 | İşletim sistemi güvenlik güncellemeleri için gereklidir. |
ServiceBus service | Worker instance | HTTPS | 443 | Image-level yedekleme ve geri yükleme işlemlerini gerçekleştirmek için gereklidir. |
Backup appliance | HTTPS | 443 | Windows tabanlı Azure VM’leri ile iletişim kurmak için gereklidir. |
VBfMA appliance marketplace’den kurarken yukarıda bahsetmiş olduğumuz port ayarlarının büyük bir kısmını kendisi yapıyor. Ancak nereden yapabilirim diye merak edenler için aşağıdaki ekran görüntülerini paylaşmak istiyorum. Bunun için ilgili Azure sanal makinelerin Network Security Group’larına geleceksiniz ve eklemek istediğiniz protokolleri inbound yada outbound ( ihtiyaçınıza göre) ekleyeceksiniz.
Resim-1
Bir sonraki gereksinim olan Azure Hesap izinlerine (Azure Account Permissions) geçebiliriz. VBfMA appliance’nın sorunsuz şekilde yedek alabilmesi ve geri dönebilmesi için aşağıda belirtmiş olduğum hesapların ve izinlerinin oluşturulması gerekmektedir.
- Azure Service Account Permissions
- Azure Repository Account Permissions
İlk olarak Azure Service Account izinlerinin oluşturulmasını sizlere göstermek istiyorum, zaten bu kısımda yaptıklarınızın aynısını yaparak Azure Repository Account izinlerini de oluşturabilir ve rol ataması sağlarsınız.
Öncelikle bu izinleri subscription düzeyinde vermeniz gerektiği için Azure’daki aboneliğe gidiyorum ve aşağıdaki ekran görüntüsünde görmüş olduğunuz gibi Accces control’den (IAM’dan) Add custom role tıklıyorum.
Resim-2
Oluşturacağımız custom role ben Veeam Azure Service Account diyorum ve baseline permissions kısmında Start from JSON’ı seçiyorum ve ilerliyorum.
Resim-3
Sonrasında ise JSON kısmına kadar next’leyere ilerliyorum ve edit butonuna basıyorum.
Resim-4
Aşağıda yer alan izinleri JSON içerisindeki ilgili yerlere kopyalıyorum. Sizlerde buna göre yapmanız gerekmektedir.
Azure Service Account Permissions
“permissions”: [
{
“actions”: [
“Microsoft.Authorization/roleAssignments/read”,
“Microsoft.Commerce/RateCard/read”,
“Microsoft.Compute/disks/beginGetAccess/action”,
“Microsoft.Compute/disks/delete”,
“Microsoft.Compute/disks/endGetAccess/action”,
“Microsoft.Compute/disks/read”,
“Microsoft.Compute/disks/write”,
“Microsoft.Compute/snapshots/beginGetAccess/action”,
“Microsoft.Compute/snapshots/delete”,
“Microsoft.Compute/snapshots/endGetAccess/action”,
“Microsoft.Compute/snapshots/read”,
“Microsoft.Compute/snapshots/write”,
“Microsoft.Compute/virtualMachines/deallocate/action”,
“Microsoft.Compute/virtualMachines/delete”,
“Microsoft.Compute/virtualMachines/extensions/read”,
“Microsoft.Compute/virtualMachines/extensions/write”,
“Microsoft.Compute/virtualMachines/read”,
“Microsoft.Compute/virtualMachines/runCommand/action”,
“Microsoft.Compute/virtualMachines/start/action”,
“Microsoft.Compute/virtualMachines/write”,
“Microsoft.DevTestLab/Schedules/write”,
“Microsoft.Network/networkInterfaces/delete”,
“Microsoft.Network/networkInterfaces/join/action”,
“Microsoft.Network/networkInterfaces/read”,
“Microsoft.Network/networkInterfaces/write”,
“Microsoft.Network/networkSecurityGroups/join/action”,
“Microsoft.Network/networkSecurityGroups/read”,
“Microsoft.Network/publicIPAddresses/join/action”,
“Microsoft.Network/publicIPAddresses/read”,
“Microsoft.Network/publicIPAddresses/delete”,
“Microsoft.Network/publicIPAddresses/write”,
“Microsoft.Network/virtualNetworks/read”,
“Microsoft.Network/virtualNetworks/subnets/join/action”,
“Microsoft.Network/virtualNetworks/write”,
“Microsoft.Network/virtualNetworks/delete”,
“Microsoft.Network/virtualNetworks/checkIpAddressAvailability/read”,
“Microsoft.Resources/subscriptions/resourceGroups/moveResources/action”,
“Microsoft.Resources/subscriptions/resourceGroups/delete”,
“Microsoft.Resources/subscriptions/resourceGroups/read”,
“Microsoft.Resources/subscriptions/resourceGroups/write”,
“Microsoft.ServiceBus/namespaces/queues/authorizationRules/ListKeys/action”,
“Microsoft.ServiceBus/namespaces/queues/authorizationRules/read”,
“Microsoft.ServiceBus/namespaces/queues/authorizationRules/write”,
“Microsoft.ServiceBus/namespaces/queues/delete”,
“Microsoft.ServiceBus/namespaces/queues/read”,
“Microsoft.ServiceBus/namespaces/queues/write”,
“Microsoft.ServiceBus/namespaces/read”,
“Microsoft.ServiceBus/namespaces/write”,
“Microsoft.ServiceBus/register/action”,
“Microsoft.Sql/locations/*”,
“Microsoft.Sql/managedInstances/databases/delete”,
“Microsoft.Sql/managedInstances/databases/read”,
“Microsoft.Sql/managedInstances/databases/write”,
“Microsoft.Sql/managedInstances/encryptionProtector/read”,
“Microsoft.Sql/managedInstances/read”,
“Microsoft.Sql/servers/databases/azureAsyncOperation/read”,
“Microsoft.Sql/servers/databases/read”,
“Microsoft.Sql/servers/databases/transparentDataEncryption/read”,
“Microsoft.Sql/servers/databases/usages/read”,
“Microsoft.Sql/servers/databases/write”,
“Microsoft.Sql/servers/databases/delete”,
“Microsoft.Sql/servers/elasticPools/read”,
“Microsoft.Sql/servers/read”,
“Microsoft.Sql/servers/databases/syncGroups/read”,
“Microsoft.Sql/servers/encryptionProtector/read”,
“Microsoft.Storage/storageAccounts/blobServices/read”,
“Microsoft.Storage/storageAccounts/listKeys/action”,
“Microsoft.Storage/storageAccounts/managementPolicies/write”,
“Microsoft.Storage/storageAccounts/read”,
“Microsoft.Storage/storageAccounts/write”,
“Microsoft.Authorization/roleDefinitions/write”,
“Microsoft.Compute/diskEncryptionSets/read”,
“Microsoft.KeyVault/vaults/read”,
“Microsoft.KeyVault/vaults/keys/versions/read”,
“Microsoft.KeyVault/vaults/deploy/action”
]
}
]
Ayrıca Azure Key Vault’ları ve anahtarlarını kullanarak bir yedekleme havuzunda depolanan verileri şifrelemek için hizmet hesaplarını kullanmayı planlıyorsanız, hizmet hesaplarına aşağıdaki izinler atanmalıdır;
“dataActions”: [
“Microsoft.KeyVault/vaults/keys/read”,
“Microsoft.KeyVault/vaults/keys/encrypt/action”,
“Microsoft.KeyVault/vaults/keys/decrypt/action”
]
Bu yapılanların ekran görüntüsü de aşağıda yer almaktadır. Save butonu ile kaydettikten sonra, review + create ile rolu oluşturup tamamlıyoruz.
Resim-5
Şimdi sıra yukarıda bahsettiğim gibi aynı adımlarla Azure Repository Account Permissions’ını vermekte. Buraya sadece verilecek izin kodlarını paylaşıyorum, çünkü tüm işlemler birbirinin aynısı.
“permissions”: [
{
“actions”: [
“Microsoft.Authorization/roleAssignments/read”,
“Microsoft.Resources/subscriptions/resourceGroups/read”,
“Microsoft.Storage/storageAccounts/read”,
“Microsoft.Storage/storageAccounts/listKeys/action”,
“Microsoft.Storage/storageAccounts/blobServices/read”,
“Microsoft.Authorization/roleDefinitions/write”,
“Microsoft.KeyVault/vaults/read”,
“Microsoft.KeyVault/vaults/keys/versions/read”,
“Microsoft.KeyVault/vaults/deploy/action”
]
}
]
“dataActions”: [
“Microsoft.KeyVault/vaults/keys/read”,
“Microsoft.KeyVault/vaults/keys/encrypt/action”,
“Microsoft.KeyVault/vaults/keys/decrypt/action”
]
Azure hesap izinlerinden sonra Azure servisleri ile ilgili gereksinimlere geldik, VBfMA appliance ve worker instances’lar aşağıdaki Azure hizmetlerine outbound’dan network erişimlerine sahip olmaları gerekmektedir.
- Azure Active Directory
- Azure Resource Manager
- Azure Storage Accounts
- Azure Cost Management
- Azure Instance Metadata Service (AzurePlatformIMDS)
- Microsoft Identity Platform
- Azure’s Ubuntu Repository
- Azure Service Bus
- Azure Key Vault
Resource Providers, yani kaynak sağlayacılar Azure’da kullanmak istediğimiz yada kullandığımız bir kaynağın sağlanmasını sağlar. Örneğin bir depolama hesabında bir obje saklayacaksanız kaynak Microsoft.Storage sağlayıcısı ile çalışırsınız. Bu kaynak sağlayıcısı, bir obje için blob storage adlı bir kaynak türü sağlar. Aşağıda VBfMA tarafından kullanılacak kaynak sağlayıcıların register olması gerekmektedir.
- Microsoft.Authorization
- Microsoft.Commerce
- Microsoft.Compute
- Microsoft.DevTestLab
- Microsoft.KeyVault
- Microsoft.Network
- Microsoft.Resources
- Microsoft.ServiceBus
- Microsoft.Storage
- Microsoft.Sql
- Microsoft.ManagedServices
Yukarıda sıralanan kaynak sağlayacılarını nereden görebilirim ve nasıl register edebilirim diyorsanız, bunun için Azure portal’da arama bölümüne subscription yazın ilgili subscription’ı seçin ve settings bölümünün altından resource providers’a gelin arama yapın ve register değilse register edin yada aşağıdaki powershell komutunu kullanabilirsiniz.
Register-AzResourceProvider -ProviderNamespace Microsoft.KeyVault
Resim-6
Sistem gereksinimleri bölümünü tamamladıktan sonra bugünkü makale serimizin son bölümü olan lisanslama kısmını geldik. Aslına bakarsanız VBfMA için lisanslama çok basit, korunan her bir instance başına 1 lisans alımı gerekmektedir. Örneğin Azure’da 20 VM’iniz var bunları korumak istiyorsanız 20 instance lisans almanız gerekiyor.
Bunlar dışında bilmeniz gerekenler, bir Azure VM, son 31 gün içinde bir yedekleme ilkesi tarafından oluşturulmuş bir geri yükleme noktasına (anlık görüntü veya yedekleme) sahipse, korunduğu kabul edilmektedir. Aynı şekilde bir Azure VM’de bulunan en az bir veritabanının son 31 gün içinde bir yedekleme ilkesi tarafından oluşturulmuş bir yedeği varsa, bir Azure SQL Sunucusunun korunduğu kabul edilmektedir. Lisanslama konusu içerisinde bir bilgi daha vermek istiyorum Azure VM’lerinin manuel olarak oluşturulan anlık görüntüleri (snap shot) ve Azure SQL veritabanlarının manuel olarak oluşturulan yedekleri içn herhangi bir lisans birimi tüketilmez.
Temel olarak VBfMA’da iki tip lisans bulumaktadır. Bunlar;
Free License – Ücretsiz lisans varsayılanda gelen lisanstır ve 10 adete kadar kullanım izni verir.
BYOL (Bring Your Own License) – Kendi Lisansını Getir sürümü, abonelik süresinin sonunda sona eren abonelik tabanlı bir lisanstır. VBfMA tarafından yönetilen maksimum Azure instance sayısı, lisansınızda belirtilen birim sayısına bağlıdır.
VBfMA makale serisinin üçüncü bölümünde genel mimari üzerine konuşacağız, bir sonraki makalede görüşüne kadar sağlıkla kalın.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: Veeam Backup for Azure, Azure VM backup, Veeam ile Azure VM yedekleme, Veeam Backup for Microsoft Azure sistem gereksinimleri, Veeam Backup for Microsoft Azure lisanslama