Öğretici: Ağ güvenlik grubuyla ağ trafiğini filtreleme
Makale
Azure sanal ağındaki Azure kaynaklarına gelen ve giden ağ trafiğini filtrelemek için bir ağ güvenlik grubu kullanabilirsiniz.
Ağ güvenlik grupları, ağ trafiğini IP adresi, bağlantı noktası ve protokole göre filtreleyen güvenlik kuralları içerir. Bir ağ güvenlik grubu bir alt ağ ile ilişkilendirildiğinde, bu alt ağda dağıtılan kaynaklara güvenlik kuralları uygulanır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
Ağ güvenlik grubu ve güvenlik kuralları oluşturma
Uygulama güvenlik grupları oluşturma
Bir sanal ağ oluşturma ve ağ güvenlik grubunu alt ağ ile ilişkilendirme
Sanal makineleri dağıtma ve ağ arabirimlerini uygulama güvenlik gruplarıyla ilişkilendirme
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturabilirsiniz.
Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturabilirsiniz.
Azure Cloud Shell
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
Seçenek
Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin.
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.
Kodu veya komutu çalıştırmak için Enter'ı seçin.
PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu makale Için Azure PowerShell modülünün 1.0.0 veya sonraki bir sürümü gerekir. Yüklü sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure ile bağlantı oluşturmak için de komutunu çalıştırmanız Connect-AzAccount gerekir.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu makale, Azure CLI'nın 2.0.28 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Aşağıdaki yordam, bir kaynak alt ağına sahip bir sanal ağ oluşturur.
Portalda Sanal ağlar'ı arayın ve seçin.
Sanal ağlar sayfasında + Oluştur'u seçin.
Sanal ağ oluştur'un Temel Bilgiler sekmesinde aşağıdaki bilgileri girin veya seçin:
Ayar
Value
Proje ayrıntıları
Abonelik
Aboneliğinizi seçin.
Kaynak grubu
Yeni oluştur’u seçin. Ad alanına test-rg girin. Tamam'ı seçin.
Örnek ayrıntıları
Veri Akışı Adı
vnet-1 girin.
Bölge
Doğu ABD 2’yi seçin.
Güvenlik sekmesine gitmek için İleri'yi seçin.
IP adresleri sekmesine gitmek için İleri'yi seçin.
Alt ağlar altındaki adres alanı kutusunda varsayılan alt ağı seçin.
Alt ağı düzenle bölmesinde aşağıdaki bilgileri girin veya seçin:
Ayar
Value
Alt ağ ayrıntıları
Alt ağ şablonu
Varsayılan değeri Varsayılan olarak bırakın.
Veri Akışı Adı
subnet-1 girin.
Başlangıç adresi
Varsayılan değeri 10.0.0.0 olarak bırakın.
Alt ağ boyutu
Varsayılan /24(256 adres) olarak bırakın.
Kaydet'i seçin.
Ekranın alt kısmındaki Gözden geçir ve oluştur'u seçin. Doğrulama başarılı olduktan sonra Oluştur'u seçin.
İlk olarak New-AzResourceGroup ile bu makalede oluşturulan tüm kaynaklar için bir kaynak grubu oluşturun. Aşağıdaki örnek westus2 konumunda bir kaynak grubu oluşturur:
New-AzVirtualNetworkSubnetConfig ile bir alt ağ yapılandırması oluşturun ve ardından Alt ağ yapılandırmasını Set-AzVirtualNetwork ile sanal ağa yazın. Aşağıdaki örnek sanal ağa subnet-1 adlı bir alt ağ ekler ve nsg-1 ağ güvenlik grubunu bu ağ ile ilişkilendirir:
az network vnet subnet create ile bir sanal ağa alt ağ ekleyin. Aşağıdaki örnek sanal ağa subnet-1 adlı bir alt ağ ekler ve nsg-1 ağ güvenlik grubunu bu ağ ile ilişkilendirir:
Portalın üst kısmındaki arama kutusuna Uygulama güvenlik grubu yazın. Arama sonuçlarında Uygulama güvenlik grupları'nı seçin.
+Oluştur'u seçin.
Uygulama güvenlik grubu oluştur'un Temel Bilgiler sekmesinde şu bilgileri girin veya seçin:
Ayar
Value
Proje ayrıntıları
Abonelik
Aboneliğinizi seçin.
Kaynak grubu
test-rg öğesini seçin.
Örnek ayrıntıları
Veri Akışı Adı
asg-web girin.
Bölge
Doğu ABD 2’yi seçin.
Gözden geçir ve oluştur’u seçin.
+Oluştur'u seçin.
Aşağıdaki değerleri belirterek önceki adımları yineleyin:
Ayar
Value
Proje ayrıntıları
Abonelik
Aboneliğinizi seçin.
Kaynak grubu
test-rg öğesini seçin.
Örnek ayrıntıları
Veri Akışı Adı
asg-mgmt girin.
Bölge
Doğu ABD 2’yi seçin.
Gözden geçir ve oluştur’u seçin.
Oluştur'u belirleyin.
New-AzApplicationSecurityGroup ile bir uygulama güvenlik grubu oluşturun. Uygulama güvenlik grubu, benzer bağlantı noktası filtreleme gereksinimlerine sahip sunucuları gruplandırmanızı sağlar. Aşağıdaki örnek iki uygulama güvenlik grubu oluşturur.
az network asg create ile bir uygulama güvenlik grubu oluşturun. Uygulama güvenlik grubu, benzer bağlantı noktası filtreleme gereksinimlerine sahip sunucuları gruplandırmanızı sağlar. Aşağıdaki örnek iki uygulama güvenlik grubu oluşturur.
Portalın üst kısmındaki arama kutusuna Ağ güvenlik grubu yazın. Arama sonuçlarında Ağ güvenlik grupları'nı seçin.
nsg-1'i seçin.
nsg-1'in Ayarlar bölümünde Alt ağlar'ı seçin.
Alt ağlar sayfasında + İlişkili'yi seçin:
Alt ağı ilişkilendir'in altında Sanal ağ için vnet-1 (test-rg) öğesini seçin.
Alt ağ için subnet-1'i ve ardından Tamam'ı seçin.
Get-AzVirtualNetwork komutunu kullanarak sanal ağ nesnesini alın ve ardından ağ güvenlik grubunu alt ağ ile ilişkilendirmek için Set-AzVirtualNetworkSubnetConfig komutunu kullanın. Aşağıdaki örnek sanal ağ nesnesini alır ve ağ güvenlik grubunu ilişkilendirmek için alt ağ yapılandırmasını güncelleştirir:
# Retrieve the virtual network
$vnet = Get-AzVirtualNetwork -Name "vnet-1" -ResourceGroupName "test-rg"
# Update the subnet configuration to associate the network security group
$subnetConfigParams = @{
VirtualNetwork = $vnet
Name = "subnet-1"
AddressPrefix = $vnet.Subnets[0].AddressPrefix
NetworkSecurityGroup = Get-AzNetworkSecurityGroup -Name "nsg-1" -ResourceGroupName "test-rg"
}
Set-AzVirtualNetworkSubnetConfig @subnetConfigParams
# Update the virtual network with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Ağ güvenlik grubunu alt ağ ile ilişkilendirmek için az network vnet subnet update komutunu kullanın. Aşağıdaki örnek nsg-1 ağ güvenlik grubunu subnet-1 alt ağıyla ilişkilendirir:
nsg-1'in Ayarlar bölümünden Gelen güvenlik kuralları'nı seçin.
Gelen güvenlik kuralları sayfasında + Ekle'yi seçin.
Asg-web uygulaması güvenlik grubuna 80 ve 443 bağlantı noktalarına izin veren bir güvenlik kuralı oluşturun. Gelen güvenlik kuralı ekle sayfasında aşağıdaki bilgileri girin veya seçin:
Ayar
Değer
Source
Varsayılan değeri Any olarak bırakın.
Kaynak bağlantı noktası aralıkları
Varsayılan olarak (*) bırakın.
Hedef
Uygulama güvenlik grubu'nun seçin.
Hedef uygulama güvenlik grupları
asg-web'i seçin.
Hizmet
Varsayılan Özel seçeneğini değiştirmeyin.
Hedef bağlantı noktası aralıkları
80.443 girin.
Protokol
TCP’yi seçin.
Eylem
Varsayılan olarak İzin Ver'i bırakın.
Öncelik
Varsayılan değeri 100 olarak bırakın.
Veri Akışı Adı
Tümüne izin ver yazın.
Ekle'yi seçin.
Önceki adımları aşağıdaki bilgilerle tamamlayın:
Ayar
Değer
Source
Varsayılan değeri Any olarak bırakın.
Kaynak bağlantı noktası aralıkları
Varsayılan olarak (*) bırakın.
Hedef
Uygulama güvenlik grubu'nun seçin.
Hedef uygulama güvenlik grubu
asg-mgmt öğesini seçin.
Hizmet
RDP'yi seçin.
Eylem
Varsayılan olarak İzin Ver'i bırakın.
Öncelik
Varsayılan değeri 110 olarak bırakın.
Veri Akışı Adı
allow-rdp-all girin.
Ekle'yi seçin.
Dikkat
Bu makalede, ASP (bağlantı noktası 3389), asg-mgmt uygulama güvenlik grubuna atanan VM için İnternet'te kullanıma sunulur.
Üretim ortamlarında, 3389 numaralı bağlantı noktasını İnternet'e açmak yerine VPN, özel ağ bağlantısı veya Azure Bastion kullanarak yönetmek istediğiniz Azure kaynaklarına bağlanmanız önerilir.
New-AzNetworkSecurityRuleConfig ile bir güvenlik kuralı oluşturun. Aşağıdaki örnek, 80 ve 443 bağlantı noktaları üzerinden İnternet'ten asg-web uygulaması güvenlik grubuna gelen trafiğe izin veren bir kural oluşturur:
Mevcut ağ güvenlik grubunu almak için Get-AzNetworkSecurityGroup kullanın ve ardından işleciyle += yeni kuralları ekleyin. Son olarak, ağ güvenlik grubunu Set-AzNetworkSecurityGroup ile güncelleştirin:
# Retrieve the existing network security group
$nsg = Get-AzNetworkSecurityGroup -Name "nsg-1" -ResourceGroupName "test-rg"
# Add the new rules to the security group
$nsg.SecurityRules += $webRule
$nsg.SecurityRules += $mgmtRule
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Dikkat
Bu makalede, ASP (bağlantı noktası 3389), asg-mgmt uygulama güvenlik grubuna atanan VM için İnternet'te kullanıma sunulur.
Üretim ortamlarında, 3389 numaralı bağlantı noktasını İnternet'e açmak yerine VPN, özel ağ bağlantısı veya Azure Bastion kullanarak yönetmek istediğiniz Azure kaynaklarına bağlanmanız önerilir.
az network nsg rule create ile bir güvenlik kuralı oluşturun. Aşağıdaki örnek, 80 ve 443 bağlantı noktaları üzerinden İnternet'ten asg-web uygulaması güvenlik grubuna gelen trafiğe izin veren bir kural oluşturur:
Bu makalede, asg-mgmt uygulama güvenlik grubuna atanan VM için SSH (bağlantı noktası 22) İnternet'e açıktır.
Üretim ortamlarında, 22 numaralı bağlantı noktasını İnternet'e açmak yerine VPN, özel ağ bağlantısı veya Azure Bastion kullanarak yönetmek istediğiniz Azure kaynaklarına bağlanmanız önerilir.
New-AzNetworkInterface ile iki ağ arabirimi oluşturun ve ağ arabirimine bir genel IP adresi atayın. Aşağıdaki örnek bir ağ arabirimi oluşturur ve public-ip-vm-web genel IP adresini bu arabirimle ilişkilendirir.
Daha sonraki bir adımda trafik filtrelemesini doğrulayabilmek için sanal ağda iki VM oluşturun.
New-AzVMConfig ile bir VM yapılandırması oluşturun ve ardından New-AzVM ile VM'yi oluşturun. Aşağıdaki örnek, web sunucusu olarak hizmet veren bir VM oluşturur. -AsJob seçeneği, sonraki adıma devam edebilmeniz için arka planda sanal makineyi oluşturur:
Sanal makinenin oluşturulması birkaç dakika sürer. Azure VM oluşturma işlemini tamamlayana kadar sonraki adıma geçmeyin.
Daha sonraki bir adımda trafik filtrelemesini doğrulayabilmek için sanal ağda iki VM oluşturun.
az vm create ile bir VM oluşturun. Aşağıdaki örnek, web sunucusu olarak hizmet veren bir VM oluşturur. Azure'ın --nsg "" VM'yi oluşturduğunda Azure'ın oluşturduğu ağ arabirimi için varsayılan bir ağ güvenlik grubu oluşturmasını önlemek için seçeneği belirtilir. Komut, VM için bir parola oluşturmanızı ister. Bu örnekte, bu makaledeki sonraki adımları kolaylaştırmak için SSH anahtarları kullanılmaz. Üretim ortamında güvenlik için SSH anahtarlarını kullanın.
az vm create ile bir VM oluşturun. Aşağıdaki örnek, yönetim sunucusu olarak hizmet veren bir VM oluşturur.
Aşağıdaki örnek bir VM oluşturur ve bir kullanıcı hesabı ekler. parametresi, --generate-ssh-keys CLI'nın içinde ~/.sshkullanılabilir bir ssh anahtarı aramasına neden olur. Bir anahtar bulunursa, bu anahtar kullanılır. Değilse, bir tane oluşturulur ve içinde ~/.sshdepolanır. Son olarak en son Ubuntu 22.04 görüntüyü dağıtacağız.
VM'leri oluşturduğunuzda, Azure her VM için bir ağ arabirimi oluşturmuş ve vm'ye eklemiş.
Her vm'nin ağ arabirimini daha önce oluşturduğunuz uygulama güvenlik gruplarından birine ekleyin:
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i ve ardından vm-web'i seçin.
vm-web'in Ağ bölümünden Uygulama güvenlik grupları'nı seçin.
Uygulama güvenlik grupları ekle'yi seçin, ardından Uygulama güvenlik grupları ekle sekmesinde asg-web'i seçin. Son olarak Ekle'yi seçin.
Uygulama güvenlik grupları ekle sekmesinde asg-mgmt'yi seçerek vm-mgmtiçin önceki adımları yineleyin.
Sanal makinenin ağ arabirimini almak için Get-AzNetworkInterface kullanın ve ardından uygulama güvenlik grubunu almak için Get-AzApplicationSecurityGroup kullanın. Son olarak, uygulama güvenlik grubunu ağ arabirimiyle ilişkilendirmek için Set-AzNetworkInterface komutunu kullanın. Aşağıdaki örnek, asg-web uygulaması güvenlik grubunu vm-web-nic ağ arabirimiyle ilişkilendirir:
Ağ arabirimini uygulama güvenlik grubuyla ilişkilendirmek için az network nic update komutunu kullanın. Aşağıdaki örnek, asg-web uygulaması güvenlik grubunu vm-web-nic ağ arabirimiyle ilişkilendirir:
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-web --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-web \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-web
asg-mgmt uygulama güvenlik grubunu vm-mgmt-nic ağ arabirimiyle ilişkilendirmek için komutunu yineleyin.
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-mgmt --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-mgmt \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-mgmt
Genel Bakış sayfasında Bağlandüğmesini ve ardından Yerel RDP'yi seçin.
RDP dosyasını indir’i seçin.
İndirilen rdp dosyasını açın ve Bağlan'ı seçin. VM'yi oluştururken belirttiğiniz kullanıcı adını ve parolayı girin.
Tamam'ı seçin.
Bağlantı işlemi sırasında bir sertifika uyarısı alabilirsiniz. Uyarıyı alırsanız, bağlantıya devam etmek için Evet veya Devam'ı seçin.
İnternet'ten asg-mgmt uygulama güvenlik grubuna gelen trafiğe 3389 numaralı bağlantı noktası üzerinden izin verildiğinden bağlantı başarılı olur.
vm-mgmt için ağ arabirimi asg-mgmt uygulama güvenlik grubuyla ilişkilendirilir ve bağlantıya izin verir.
vm-mgmt üzerinde bir PowerShell oturumu açın. Aşağıdakileri kullanarak vm-web'e bağlanın:
mstsc /v:vm-web
Aynı ağdaki sanal makineler varsayılan olarak herhangi bir bağlantı noktası üzerinden birbirleriyle iletişim kurabildiğinden, vm-mgmt'den vm-web'e RDP bağlantısı başarılı olur.
İnternet'ten vm-web sanal makinesine RDP bağlantısı oluşturamazsınız. asg-web güvenlik kuralı, 3389 numaralı bağlantı noktasına İnternet'ten gelen bağlantıları engeller. İnternet'ten gelen trafik varsayılan olarak tüm kaynaklara reddedilir.
Microsoft IIS'yi vm-web sanal makinesine yüklemek için, vm-web sanal makinesindeki bir PowerShell oturumundan aşağıdaki komutu girin:
IIS yüklemesi tamamlandıktan sonra, sizi vm-mgmt sanal makinesi uzak masaüstü bağlantısında bırakan vm-web sanal makinesi bağlantısını kesin.
vm-mgmt VM bağlantısını kesin.
Portal arama kutusunda vm-web araması yapın.
vm-web'in Genel Bakış sayfasında VM'nizin Genel IP adresini not edin. Aşağıdaki örnekte gösterilen adres 203.0.113.103'dür. Adresiniz farklı:
vm-web web sunucusuna İnternet'ten erişebildiğinizden emin olmak için, bilgisayarınızda bir internet tarayıcısı açın ve adresine http://<public-ip-address-from-previous-step>gidin.
İnternet'ten asg-web uygulaması güvenlik grubuna gelen trafiğe bağlantı noktası 80 üzerinden izin verildiğinden IIS varsayılan sayfasını görürsünüz.
vm-web için eklenen ağ arabirimi asg-web uygulaması güvenlik grubuyla ilişkilendirilir ve bağlantıya izin verir.
Bir VM'nin genel IP adresini döndürmek için Get-AzPublicIpAddress komutunu kullanın. Aşağıdaki örnek, vm-mgmt VM'sinin genel IP adresini döndürür:
Yerel bilgisayarınızdan vm-mgmt VM ile bir uzak masaüstü oturumu oluşturmak için aşağıdaki komutu kullanın.
mstsc /v:$publicIP
VM'yi oluştururken belirttiğiniz kullanıcı adını ve parolayı girin (VM'yi oluştururken girdiğiniz kimlik bilgilerini belirtmek için Diğer seçenekler'i ve ardından Farklı bir hesap kullan'ı seçmeniz gerekebilir) ve ardından Tamam'ı seçin. Oturum açma işlemi sırasında bir sertifika uyarısı alabilirsiniz. Bağlantıya devam etmek için Evet’i seçin.
Bağlantı başarılı olur. 3389 numaralı bağlantı noktasının internetten asg-mgmt uygulama güvenlik grubuna girmesine izin verilir. vm-mgmt VM'sine bağlı ağ arabirimi bu gruptadır.
PowerShell'den vm-mgmt VM'sinden vm-web VM'sine uzak masaüstü bağlantısı oluşturmak için aşağıdaki komutu kullanın:
mstsc /v:vm-web
Her bir ağ güvenlik grubu içindeki varsayılan güvenlik kuralı bir sanal ağ içindeki tüm IP adresleri arasında tüm bağlantı noktaları üzerinden trafiğe izin verdiği için bağlantı başarılı olur. asg-web için güvenlik kuralı 3389 numaralı bağlantı noktasının İnternet'ten gelen bağlantı noktasına izin vermediğinden, sanal makine-web VM'sine İnternet'ten uzak masaüstü bağlantısı oluşturamazsınız.
PowerShell'den vm-web VM'sine Microsoft IIS yüklemek için aşağıdaki komutu kullanın:
IIS yüklemesi tamamlandıktan sonra, sizi vm-mgmt VM uzak masaüstü bağlantısında bırakan vm-web VM bağlantısını kesin. IIS karşılama ekranını görüntülemek için bir internet tarayıcısı açın ve http://vm-web.
vm-mgmt VM bağlantısını kesin.
Bilgisayarınızda, vm-web sunucusunun genel IP adresini almak için PowerShell'den aşağıdaki komutu girin:
Vm-web web sunucusuna Azure dışından erişebildiğinizden emin olmak için, bilgisayarınızda bir internet tarayıcısı açın ve adresine http://<public-ip-address-from-previous-step>gidin. Bağlantı başarılı olur. 80 numaralı bağlantı noktasının internetten asg-web uygulaması güvenlik grubuna girmesine izin verilir. vm-web VM'sine eklenen ağ arabirimi bu gruptadır.
Seçtiğiniz bir SSH istemcisini kullanarak daha önce oluşturulan VM'lere bağlanın. Örneğin, aşağıdaki komut vm-mgmt VM ile SSH oturumu oluşturmak için Linux için Windows Alt Sistemi gibi bir komut satırı arabiriminden kullanılabilir. Microsoft Entra Id kimlik bilgilerinizi kullanarak sanal makinelerde oturum açabilir veya VM'leri oluşturmak için kullandığınız SSH anahtarını kullanabilirsiniz. Aşağıdaki örnekte, yönetim VM'sinde oturum açmak ve ardından yönetim VM'sinden web VM'sinde parolayla oturum açmak için SSH anahtarını kullanırız.
Linux VM'sinde SSH yapma ve Microsoft Entra KIMLIĞI ile oturum açma hakkında daha fazla bilgi için bkz . Microsoft Entra ID ve OpenSSH kullanarak Azure'da Linux sanal makinesinde oturum açma.
SSH için VM'nin IP adresini depolama
VM'nin IP adresini ortam değişkeni olarak depolamak için aşağıdaki komutu çalıştırın:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-mgmt --query publicIps --output tsv)
vm-mgmt VM'sine bağlı ağ arabirimi asg-mgmt uygulama güvenlik grubunda olduğundan bağlantı başarılı olur ve bu da 22 numaralı bağlantı noktasının İnternet'ten gelen bağlantı noktasına izin verir.
Vm-mgmt VM'sinden vm-web VM'sine SSH yapmak için aşağıdaki komutu kullanın:
ssh -o StrictHostKeyChecking=no azureuser@vm-web
Her bir ağ güvenlik grubu içindeki varsayılan güvenlik kuralı bir sanal ağ içindeki tüm IP adresleri arasında tüm bağlantı noktaları üzerinden trafiğe izin verdiği için bağlantı başarılı olur. Asg-web güvenlik kuralı İnternet'ten gelen 22 numaralı bağlantı noktasına izin vermediğinden, vm-web VM'sine İnternet'ten SSH yapamazsınız.
nginx web sunucusunu vm-web VM'sine yüklemek için aşağıdaki komutları kullanın:
Varsayılan güvenlik kuralı İnternet'e giden tüm trafiğe izin verdiğinden vm-web VM'sinin nginx alması için İnternet'e giden sanal makineye izin verilir. Sizi vm-mgmt VM isteminde username@vm-mgmt:~$ bırakan vm-web SSH oturumundan çıkın. vm-web VM'sinden nginx karşılama ekranını almak için aşağıdaki komutu girin:
curl vm-web
vm-mgmt VM oturumunu kapatın. Vm-web web sunucusuna Azure dışından erişebildiğinizden emin olmak için kendi bilgisayarınızdan girincurl <publicIpAddress>. Vm-web VM'sine bağlı ağ arabiriminin bulunduğu asg-web uygulaması güvenlik grubu İnternet'ten gelen 80 numaralı bağlantı noktasına izin verdiğinden bağlantı başarılı olur.
Azure, varsayılan olarak trafiği alt ağlar arasında yönlendirir. Bunun yerine, örneğin güvenlik duvarı olarak hizmet veren bir VM aracılığıyla alt ağlar arasındaki trafiği yönlendirmeyi seçebilirsiniz.
Yönlendirme tablosu oluşturma hakkında bilgi edinmek için sonraki öğreticiye geçin.