Azure Virtual Network Part 1
Azure hakkında ki yazılarıma sanal network yapısıyla devam ediyorum. Azure üzerinde yarattığımız tüm VM ve bazı servisler mutlaka bir sanal network’e dâhil olmak zorundadırlar. Bu network on-premise yapımızla S2S bağlantıda bulunabileceği gibi bizim belirlediğimiz ip aralığında atama yapabilir ve DNS sunucusunu kullandırabilir. Azure üzerinde ki tüm servisleri Powershell yardımıyla kolaylıkla yapılandırılabilirken azure virtual network için durum böyle değildir.
Azure virtual network ayarlarımızı okumak ve aynı şekilde uygulamak için xml’den yararlanmamız gerekmektedir. Mevcut network yapılandırmamızı bir dosyaya almak için “Get-AzureVNetConfig” komutundan yararlanmaktayızdır.
Mutlaka yukarıda gösterdiğim gibi –ExportToFile parametresini kullanmanız gerekmektedir. Bunun sebebi direk terminal üzerinden parametreleri görüntüleyemiyoruz ama xml dosyası olarak çıktıyı alırsak herhangi bir text editörü sayesinde okuyabilir. Dosyayı açıp incelerseniz aşağıdakine benzer bir yapı göreceksinizdir.
<?xml version=”1.0″ encoding=”utf-8″?>
<NetworkConfiguration xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration”>
<VirtualNetworkConfiguration>
<Dns>
<DnsServers>
<DnsServer name=”emrePubDNS” IPAddress=”192.168.1.10″ />
</DnsServers>
</Dns>
<LocalNetworkSites>
<LocalNetworkSite name=”Emre_Azure_Network”>
<AddressSpace>
<AddressPrefix>192.168.0.0/8</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress> 78.171.137.53 </VPNGatewayAddress>
</LocalNetworkSite>
</LocalNetworkSites>
<VirtualNetworkSites>
<VirtualNetworkSite name=” Emre_Azure_Network ” AffinityGroup=”EMRE-AG-NE”>
<AddressSpace>
<AddressPrefix>192.168.1.0/24</AddressPrefix>
</AddressSpace>
<Subnets>
<Subnet name=”GatewaySubnet”>
<AddressPrefix>192.168.1.1/29</AddressPrefix>
</Subnet>
</Subnets>
<DnsServersRef>
<DnsServerRef name=” emrePubDNS ” />
</DnsServersRef>
<Gateway>
<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name=” Emre_Azure_Network “>
<Connection type=”IPsec” />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>
</Gateway>
</VirtualNetworkConfiguration>
</NetworkConfiguration>
Yukarıda ki XML dosyası gayet net ve anlaşılır bir etiket yapısına sahip, değişiklik yapmak istediğimiz özelliği değiştirerek kayıt edelim ve “Set-AzureVNetConfig” komutuyla yapılandırmayı tekrar Azure üzerine uygulayalım.
Set-AzureVNetConfig –ConfigurationPath “Azurenetwork.xml”
Dinamik olarak azure virtual network yaratmaya başlamadan önce bu XML dosyasının içeriğini iyi anlamanızı öneririm. Gerekli yerlere değişkenler tanımlayarak dinamik bir virtual network yapılandırması oluşturabilirsiniz.
Yeni bir DNS,subnet veya local network eklemek isterseniz mevcut yapılandırma dosyasını güncelleyip tekrardan “Set-AzureVNetConfig” komutunu çağırmanız gereklidir. Bir şekilde bu sanal network’ü silmek isterseniz “Remove-AzureVNetConfig” komutunu çalıştırabilirsiniz ama eğer her hangi bir VM veya servis sanal network üzerinde tanımlıysa kaldırmayacaktır.
Azure Virtual Network IP Yönetimi:
IP yönetimi başlı başına dikkat edilmesi gereken bir konudur, bir VM’i başlattığımızda(Yarattığımız zaman değil) dâhil olduğu ağ içerisindeki boş ip’leri sırayla almaktadır. Azure bir subnet’teki ilk 4 ip adresini kendi kullanımı için tutmaktadır bunun haricinde ki tüm ip’ler sırayla VM’lere dağıtılabilir. Burada ki sıkıntı eğer bir VM’i kapatır ve daha sonra tekrar başlatırsanız aynı ip adresini almama ihtimali bulunmaktadır. Bunun için VM’e statik ip tanımlamamız gerekmektedir. Azure VM’e statik ip tanımlamak için “Set-AzureStaticVNetIP” fonksiyonu kullanılmaktadır.
Get-AzureVM -ServiceName $serviceName -Name testVM | Set-AzureStaticVNetIP -IPAddress "192.168.1.100" | Update-AzureVM
Statik ip tanımlayabildiğimiz gibi VM’i update ederek mevcut subnet’inide değiştirebiliriz. Bunun içinse “Set-AzureSubnet” fonksiyonu kullanılmaktadır.
Get-AzureVM -ServiceName $serviceName -Name testVM | Set-AzureSubnet –SubnetName “NorthSub” | Update-AzureVM
Bir sonra ki yazımda hibrit bulut yapısını nasıl kuracağımızdan ve yöntemlerinden bahsedeceğim.
Okuduğunuz için teşekkürler.