Öğretici: Azure CLI ile Linux sanal makineleri için Azure sanal ağlarını yönetme
Makale
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Azure sanal makineleri, iç ve dış ağ iletişimi için Azure ağını kullanır. Bu öğretici, iki sanal makineyi dağıtma ve bu VM’ler için Azure ağını yapılandırma konusunda rehberlik sunar. Bu öğreticideki örneklerde VM’lerde veritabanı arka ucuna sahip bir web uygulaması barındırıldığı varsayılır, ancak öğreticide uygulama dağıtılmaz. Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
Sanal ağ ve alt ağ oluşturma
Genel IP adresi oluşturma
Ön uç VM’si oluşturma
Ağ trafiğinin güvenliğini sağlama
Arka uç VM’si oluşturma
Bu öğreticide Azure Cloud Shell içindeki CLI sürekli olarak en son sürüme güncelleştirilmektedir. Cloud Shell'i açmak için herhangi bir kod bloğunun üst kısmından Deneyin'i seçin.
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. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
VM ağına genel bakış
Azure sanal ağları sanal makineler, İnternet ve Azure SQL Veritabanı gibi diğer Azure hizmetleri arasında güvenli ağ bağlantıları sağlar. Sanal ağlar, alt ağ adı verilen mantıksal segmentlere ayrılır. Alt ağlar, ağ akışını denetlemek için ve güvenlik sınırı olarak kullanılır. Bir VM dağıtılırken, genellikle bir alt ağa eklenmiş sanal ağ arabirimine sahiptir.
Öğreticiyi tamamlarken, aşağıdaki sanal ağ kaynakları oluşturulur:
myVNet - VM’lerin birbirleriyle ve İnternet’le iletişim kurmak için kullandığı sanal ağ.
myFrontendSubnet - Ön uç kaynakları tarafından kullanılan myVNet’teki alt ağ.
myPublicIPAddress - İnternet’ten myFrontendVM’ye erişmek için kullanılan genel IP adresi.
myFrontentNic - myBackendVM ile iletişim kurmak için myFrontendVM tarafından kullanılan ağ arabirimi.
myFrontendVM - İnternet ile myBackendVM arasında iletişim kurmak için kullanılan VM.
myBackendNSG - myFrontendVM ile myBackendVM arasındaki iletişimi denetleyen ağ güvenlik grubu.
myBackendSubnet - myBackendNSG ile ilişkilendirilmiş ve arka uç kaynakları tarafından kullanılan alt ağ.
myBackendNic - myFrontendVM ile iletişim kurmak için myBackendVM tarafından kullanılan ağ arabirimi.
myBackendVM - myFrontendVM ile iletişim kurmak için 22 ve 3306 numaralı bağlantı noktalarını kullanan VM.
Sanal ağ ve alt ağ oluşturma
Bu öğreticide iki alt ağa sahip tek bir sanal ağ oluşturulur. Web uygulamasını barındırmak için bir ön uç alt ağı ve veritabanı sunucusunu barındırmak için bir arka uç alt ağı.
Sanal ağ oluşturabilmek için önce az group create ile bir kaynak grubu oluşturun. Aşağıdaki örnekte eastus konumunda myRGNetwork adlı bir kaynak grubu oluşturulmaktadır.
Azure CLI
az group create --name myRGNetwork --location eastus
Sanal ağ oluşturma
Sanal ağ oluşturmak için az network vnet create komutunu kullanın. Bu örnekte ağ, mvVNet olarak adlandırılmaktadır ve 10.0.0.0/16 adres öneki belirtilmiştir. Ayrıca myFrontendSubnet adıyla ve 10.0.1.0/24 önekiyle bir alt ağ oluşturulmaktadır. Bu öğreticinin ilerleyen bölümlerinde bu alt ağa bir ön uç bağlanmaktadır.
az network vnet subnet create komutu kullanılarak sanal ağa yeni bir alt ağ eklenir. Bu örnekte alt ağ, myBackendSubnet olarak adlandırılmaktadır ve 10.0.2.0/24 adres öneki belirtilmiştir. Bu alt ağ tüm arka uç hizmetleriyle kullanılır.
Bu noktada ağ oluşturulur ve biri ön uç hizmetlerine, diğeri ise arka uç hizmetlerine yönelik olan iki alt ağ segmentine ayrılır. Sonraki bölümde sanal makineler oluşturulacak ve bu alt ağlara bağlanacak.
Genel IP adresi oluşturma
Genel IP adresi, Azure kaynaklarına İnternet’ten erişilmesine izin verir. Genel IP adresi ayırma yöntemi dinamik veya statik olarak yapılandırılabilir. Genel IP adresi varsayılan olarak dinamik biçimde ayrılır. Bir VM serbest bırakıldığında dinamik IP adresleri de serbest bırakılır. Bu davranış, VM’nin serbest bırakılmasını içeren tüm işlemlerde IP adresinin değişmesine neden olur.
Ayırma yöntemi statik olarak ayarlanabilir; bu yöntem, VM serbest bırakılsa bile IP adresinin VM’ye atanmış olarak kalmasını sağlar. Statik olarak ayrılan bir IP adresi kullanılırken IP adresi belirtilemez. Bunun yerine IP adresi, kullanılabilen adresler havuzundan ayrılır.
Azure CLI
az network public-ip create --resource-group myRGNetwork --name myPublicIPAddress
az vm create komutu ile bir VM oluşturulduğunda varsayılan genel IP adresi ayırma yöntemi dinamiktir. az vm create komutu kullanılarak bir sanal makine oluştururken statik genel IP adresi atamak için --public-ip-address-allocation static bağımsız değişkenini ekleyin. Bu işlem bu öğreticide gösterilmemektedir, ancak sonraki bölümde dinamik olarak ayrılan bir IP adresi statik olarak ayrılmış bir adrese dönüştürülecek.
Ayırma yöntemini değiştirme
IP adresi ayırma yöntemi az network public-ip update komutu kullanılarak değiştirilebilir. Bu örnekte, ön uç VM’nin IP adresi ayırma yöntemi statik olarak değiştirilmektedir.
Öncelikle VM’yi serbest bırakın.
Azure CLI
az vm deallocate --resource-group myRGNetwork --name myFrontendVM
Ayırma yöntemini güncelleştirmek için az network public-ip update komutunu kullanın. Bu durumda --allocation-method, static olarak ayarlanır.
Azure CLI
az network public-ip update --resource-group myRGNetwork --name myPublicIPAddress --allocation-method static
VM’yi başlatın.
Azure CLI
az vm start --resource-group myRGNetwork --name myFrontendVM --no-wait
Genel IP adresi yok
Çoğunlukla bir VM’nin İnternet’ten erişilebilir olmasına gerek yoktur. Genel IP adresi olmayan bir VM oluşturmak için --public-ip-address "" bağımsız değişkenini boş çift tırnaklar ile kullanın. Bu yapılandırma, öğreticinin sonraki bölümlerinde gösterilmektedir.
Ön uç VM’si oluşturma
az vm create komutunu kullanarak myPublicIPAddress adresini kullanan myFrontendVM adlı bir VM oluşturun.
Ağ güvenlik grubu (NSG), Azure Sanal Ağlara (VNet) bağlı kaynaklara ağ trafiğine izin veren veya reddeden güvenlik kurallarının listesini içerir. NSG’ler alt ağlarla veya tek tek ağ arabirimleriyle ilişkilendirilebilir. Bir NSG ağ arabirimiyle ilişkilendirildiğinde, yalnızca ilişkili VM için geçerli olur. Bir NSG bir alt ağ ile ilişkilendirildiğinde kurallar alt ağa bağlı tüm kaynaklar için geçerli olur.
Ağ güvenlik grubu kuralları
NSG kuralları trafiğe izin verilen veya trafiğin engellendiği ağ bağlantı noktalarını tanımlar. Trafiğin belirli sistemler veya alt ağlar arasında denetlenmesi için kurallar, kaynak ve hedef IP adresi aralıkları içerebilir. Ayrıca NSG kuralları öncelik (1 ile 4.096 arasında) içerir. Kurallar öncelik sırasına göre değerlendirilir. 100 önceliğine sahip bir kural, 200 önceliğine sahip kuraldan önce değerlendirilir.
Tüm NSG'ler bir varsayılan kurallar kümesini içerir. Varsayılan kurallar silinemez ancak en düşük önceliğe atanmış oldukları için sizin oluşturduğunuz kurallar tarafından geçersiz kılınabilirler.
NSG’ler için varsayılan kurallar şunlardır:
Sanal ağ - Kaynağı bir sanal ağ olan ve bir sanal ağda biten trafiğe hem gelen hem de giden yönlerde izin verilir.
İnternet - Giden trafiğe izin verilir, ancak gelen trafik engellenir.
Yük dengeleyici - VM’lerinizin ve rol örneklerinizin sistem durumunu araştıran Azure yük dengeleyicisine izin verir. Yük dengeli bir küme kullanmıyorsanız bu kuralı geçersiz kılabilirsiniz.
Ağ güvenlik grupları oluşturma
Ağ güvenlik grubu, az vm create komutu kullanılarak VM ile aynı anda oluşturulabilir. Bu işlem yapıldığında NSG, VM ağ arabirimi ile ilişkilendirilir ve herhangi bir kaynaktan 22 numaralı bağlantı noktası üzerinden gelen trafiğe izin veren NSG kuralı otomatik olarak oluşturulur. Bu öğreticinin önceki bölümlerinde ön uç NSG’si ön uç VM’si ile otomatik oluşturulmuştu. Ayrıca 22 numaralı bağlantı noktası için bir NSG kuralı otomatik olarak oluşturulmuştu.
Bazı durumlarda, örneğin varsayılan SSH kurallarının oluşturulmaması gerektiğinde veya NSG’nin bir alt ağa eklenmesi gerektiğinde NSG’yi önceden oluşturmak yararlı olabilir.
az network nsg create --resource-group myRGNetwork --name myBackendNSG
NSG, bir ağ arabirimiyle ilişkilendirilmek yerine bir alt ağla ilişkilendirilir. Bu yapılandırmada alt ağa eklenmiş tüm VM’ler NSG kurallarını devralır.
myBackendSubnet adlı mevcut alt ağı yeni NSG ile güncelleştirin.
Ön uç VM’si oluşturulduğunda 22 numaralı bağlantı noktasından gelen trafiğe izin veren bir NSG kuralı oluşturulur. Bu kural, VM ile SSH bağlantısı kurulmasına izin verir. Bu örnekte aynı zamanda 80 numaralı bağlantı noktasındaki trafiğe de izin verilmelidir. Bu yapılandırma VM’den web uygulamasına erişilmesine izin verir.
80 numaralı bağlantı noktası için bir kural oluşturmak üzere az network nsg rule create komutunu kullanın.
Ön uç VM’sine yalnızca 22 ve 80 numaralı bağlantı noktalarından erişilebilir. Diğer gelen trafiğin tümü, ağ güvenlik grubunda engellenir. NSG kuralı yapılandırmalarını görselleştirmek yararlı olabilir. NSG kuralı yapılandırmasını az network rule list komutu ile döndürün.
Azure CLI
az network nsg rule list --resource-group myRGNetwork --nsg-name myFrontendNSG --output table
VM’den VM’ye trafiğin güvenliğini sağlama
Ağ güvenlik grubu kuralları VM’ler arasında da uygulanabilir. Bu örnekte ön uç VM’sinin arka uç VM’siyle 22 ve 3306 numaralı bağlantı noktalarından iletişim kurması gerekiyor. Bu yapılandırma, ön uç VM’sinden SSH bağlantısı kurulmasına ve ön uçtaki bir uygulamanın arka uç MySQL veritabanı ile iletişim kurmasına izin verir. Diğer trafiğin tümünün ön uç ve arka uç sanal makineleri arasında engellenmesi gerekir.
22 numaralı bağlantı noktası için bir kural oluşturmak üzere az network nsg rule create komutunu kullanın. --source-address-prefix bağımsız değişkenin 10.0.1.0/24 değerini belirttiğini görebilirsiniz. Bu yapılandırma NSG’de yalnızca ön uç alt ağından gelen trafiğe izin verilmesini sağlar.
NSG’ler aynı VNet içinde yer alan VM’ler arasındaki tüm trafiğe izin veren bir varsayılan kurala sahiptir, bu nedenle arka uç NSG’lerinin tüm trafiği engellenmesi için bir kural oluşturulabilir. Burada --priority için, hem NSG hem de MySQL kurallarından küçük olan 300 değerinin belirtildiğini görebilirsiniz. Bu yapılandırma, NSG’de SSH ve MySQL trafiğine izin verilmesini sağlar.
myBackendSubnet’e eklenmiş bir sanal makine oluşturun. --nsg bağımsız değişkenin boş çift tırnak içerdiğini görebilirsiniz. VM ile bir NSG oluşturmak gerekemez. VM, önceden oluşturulmuş arka uç NSG’si ile korunan arka uç alt ağına eklenir. Bu NSG, VM için geçerlidir. Ayrıca burada --public-ip-address bağımsız değişkeninin boş çift tırnak değeri içerdiğini görebilirsiniz. Bu yapılandırma genel IP adresi olmayan bir VM oluşturur.
Arka uç VM’sine, ön uç alt ağından yalnızca 22 ve 3306 numaralı bağlantı noktaları üzerinden erişilebilir. Diğer gelen trafiğin tümü, ağ güvenlik grubunda engellenir. NSG kuralı yapılandırmalarını görselleştirmek yararlı olabilir. NSG kuralı yapılandırmasını az network rule list komutu ile döndürün.
Azure CLI
az network nsg rule list --resource-group myRGNetwork --nsg-name myBackendNSG --output table
Sonraki adımlar
Bu öğreticide sanal makinelerle ilgili Azure ağlarını oluşturup ve güvenliğini sağladınız. Şunları öğrendiniz:
Sanal ağ ve alt ağ oluşturma
Genel IP adresi oluşturma
Ön uç VM’si oluşturma
Ağ trafiğinin güvenliğini sağlama
Arka uç VM’si oluşturma
VM disklerinizi koruma hakkında bilgi edinmek için bkz . Diskler için yedekleme ve olağanüstü durum kurtarma.
Bu modülde, Azure sanal ağını kullanarak iş yüklerine güvenli erişim yapılandırma alıştırması yapın. Laboratuvar hem öğrenme hem de uygulamalı alıştırmayı bir araya getirir.
Bu öğreticide, Azure'da ilk kez önyükleme yaptıklarında Linux VM'lerini özelleştirmek için cloud-init ve Key Vault'un nasıl kullanılacağını öğreneceksiniz
Bir örneği başlatma ve durdurma veya ölçek kümesi kapasitesini değiştirme gibi bazı yaygın yönetim görevleriyle birlikte Bir Sanal Makine Ölçek Kümesi oluşturmak için Azure CLI'yi kullanmayı öğrenin.