Azure'da birden çok ağ arabirim kartıyla Linux sanal makinesi oluşturma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Bu makalede, Azure CLI ile birden çok NIC'ye sahip bir VM'nin nasıl oluşturulacağı ayrıntılı olarak açıklanır.

Destekleyici kaynaklar oluşturma

En son Azure CLI'yi yükleyin ve az login kullanarak bir Azure hesabında oturum açın.

Aşağıdaki örneklerde, örnek parametre adlarını kendi değerlerinizle değiştirin. Örnek parametre adları myResourceGroup, mystorageaccount ve myVM'yi içerir.

Öncelikle az group create komutuyla bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur:

az group create --name myResourceGroup --location eastus

az network vnet create ile sanal ağı oluşturun. Aşağıdaki örnek myVnet adlı bir sanal ağ ve mySubnetFrontEnd adlı alt ağ oluşturur:

az network vnet create \
    --resource-group myResourceGroup \
    --name myVnet \
    --address-prefix 10.0.0.0/16 \
    --subnet-name mySubnetFrontEnd \
    --subnet-prefix 10.0.1.0/24

az network vnet subnet create komutuyla arka uç trafiği için bir alt ağ oluşturun. Aşağıdaki örnek mySubnetBackEnd adlı bir alt ağ oluşturur:

az network vnet subnet create \
    --resource-group myResourceGroup \
    --vnet-name myVnet \
    --name mySubnetBackEnd \
    --address-prefix 10.0.2.0/24

az network nsg create ile bir ağ güvenlik grubu oluşturun. Aşağıdaki örnek myNetworkSecurityGroup adında bir ağ güvenlik grubu oluşturur:

az network nsg create \
    --resource-group myResourceGroup \
    --name myNetworkSecurityGroup

Birden çok NIC oluşturma ve yapılandırma

az network nic create ile iki NIC oluşturun. Aşağıdaki örnek, ağ güvenlik grubuna bağlı myNic1 ve myNic2 adlı iki NIC oluşturur ve her alt ağa bir NIC bağlanır:

az network nic create \
    --resource-group myResourceGroup \
    --name myNic1 \
    --vnet-name myVnet \
    --subnet mySubnetFrontEnd \
    --network-security-group myNetworkSecurityGroup
az network nic create \
    --resource-group myResourceGroup \
    --name myNic2 \
    --vnet-name myVnet \
    --subnet mySubnetBackEnd \
    --network-security-group myNetworkSecurityGroup

VM oluşturma ve NIC'leri ekleme

VM'yi oluşturduğunuzda, ile --nicsoluşturduğunuz NIC'leri belirtin. Ayrıca VM boyutunu seçerken de dikkatli olmanız gerekir. Vm'ye ekleyebileceğiniz toplam NIC sayısı için sınırlar vardır. Linux VM boyutları hakkında daha fazla bilgi edinin.

az vm create ile bir VM oluşturun. Aşağıdaki örnek myVM adlı bir VM oluşturur:

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --size Standard_DS3_v2 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --nics myNic1 myNic2

Konuk işletim sistemini birden çok NIC için yapılandırma bölümündeki adımları tamamlayarak konuk işletim sistemine yönlendirme tabloları ekleyin.

VM'ye NIC ekleme

Önceki adımlar birden çok NIC'ye sahip bir VM oluşturmuştur. Azure CLI ile mevcut bir VM'ye NIC de ekleyebilirsiniz. Farklı VM boyutları farklı sayıda NIC'yi desteklediğinden VM'nizi uygun şekilde boyutlandırın. Gerekirse vm'yi yeniden boyutlandırabilirsiniz.

az network nic create ile başka bir NIC oluşturun. Aşağıdaki örnek, önceki adımlarda oluşturulan arka uç alt ağına ve ağ güvenlik grubuna bağlı myNic3 adlı bir NIC oluşturur:

az network nic create \
    --resource-group myResourceGroup \
    --name myNic3 \
    --vnet-name myVnet \
    --subnet mySubnetBackEnd \
    --network-security-group myNetworkSecurityGroup

Var olan bir VM'ye NIC eklemek için önce az vm deallocate ile VM'yi serbest bırakma. Aşağıdaki örnekte myVM adlı VM serbest bırakılır:

az vm deallocate --resource-group myResourceGroup --name myVM

az vm nic add ile NIC ekleyin. Aşağıdaki örnek myVM'ye myNic3 ekler:

az vm nic add \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --nics myNic3

az vm start ile VM'yi başlatın:

az vm start --resource-group myResourceGroup --name myVM

Konuk işletim sistemini birden çok NIC için yapılandırma bölümündeki adımları tamamlayarak konuk işletim sistemine yönlendirme tabloları ekleyin.

VM'den NIC kaldırma

Mevcut bir VM'den bir NIC'yi kaldırmak için önce az vm deallocate ile VM'yi serbest bırakma. Aşağıdaki örnekte myVM adlı VM serbest bırakılır:

az vm deallocate --resource-group myResourceGroup --name myVM

az vm nic remove komutuyla NIC'yi kaldırın. Aşağıdaki örnek myNic3 öğesini myVM'den kaldırır:

az vm nic remove \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --nics myNic3

az vm start ile VM'yi başlatın:

az vm start --resource-group myResourceGroup --name myVM

Resource Manager şablonları kullanarak birden çok NIC oluşturma

Azure Resource Manager şablonları ortamınızı tanımlamak için bildirim temelli JSON dosyalarını kullanır. Azure Resource Manager genel bakışını okuyabilirsiniz. Resource Manager şablonları, birden çok NIC oluşturma gibi dağıtım sırasında bir kaynağın birden çok örneğini oluşturmanın bir yolunu sağlar. Oluşturulacak örnek sayısını belirtmek için kopyalamayı kullanırsınız:

"copy": {
    "name": "multiplenics"
    "count": "[parameters('count')]"
}

Kopyalama kullanarak birden çok örnek oluşturma hakkında daha fazla bilgi edinin.

Ayrıca, kaynak copyIndex() adına bir sayı eklemek için de kullanabilirsiniz; bu da , vbmyNic2. oluşturmanıza myNic1olanak tanır. Aşağıda dizin değerini ekleme örneği gösterilmektedir:

"name": "[concat('myNic', copyIndex())]",

Resource Manager şablonları kullanarak birden çok NIC oluşturmanın tam bir örneğini okuyabilirsiniz.

Konuk işletim sistemini birden çok NIC için yapılandırma bölümündeki adımları tamamlayarak konuk işletim sistemine yönlendirme tabloları ekleyin.

Birden çok NIC için konuk işletim sistemini yapılandırma

Önceki adımlar bir sanal ağ ve alt ağ, ekli NIC'ler ve ardından bir VM oluşturmuştur. SSH trafiğine izin veren bir genel IP adresi ve ağ güvenlik grubu kuralları oluşturulmadı. Konuk işletim sistemini birden çok NIC için yapılandırmak için uzak bağlantılara izin vermeniz ve komutları VM'de yerel olarak çalıştırmanız gerekir.

SSH trafiğine izin vermek için az network nsg rule create komutuyla aşağıdaki gibi bir ağ güvenlik grubu kuralı oluşturun:

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name allow_ssh \
    --priority 101 \
    --destination-port-ranges 22

az network public-ip create ile bir genel IP adresi oluşturun ve az network nic ip-config update ile ilk NIC'ye atayın:

az network public-ip create --resource-group myResourceGroup --name myPublicIP

az network nic ip-config update \
    --resource-group myResourceGroup \
    --nic-name myNic1 \
    --name ipconfig1 \
    --public-ip myPublicIP

VM'nin genel IP adresini görüntülemek için az vm show komutunu şu şekilde kullanın:

az vm show --resource-group myResourceGroup --name myVM -d --query publicIps -o tsv

Şimdi VM'nizin genel IP adresine SSH ekleyin. Önceki adımda sağlanan varsayılan kullanıcı adı azureuser'dı. Kendi kullanıcı adınızı ve genel IP adresinizi belirtin:

ssh azureuser@137.117.58.232

İkincil bir ağ arabirimine veya arabiriminden göndermek için, her ikincil ağ arabirimi için işletim sistemine el ile kalıcı yollar eklemeniz gerekir. Bu makalede eth1 , ikincil arabirimdir. İşletim sistemine kalıcı yollar ekleme yönergeleri dağıtıma göre farklılık gösterir. Yönergeler için dağıtım belgelerine bakın.

yolu işletim sistemine eklerken ağ arabiriminin içinde olduğu alt ağın ilk adresi ağ geçidi adresidir. Örneğin, alt ağa 10.0.2.0/24 aralığı atanmışsa, yol için belirttiğiniz ağ geçidi 10.0.2.1'dir veya alt ağa 10.0.2.128/25 aralığı atanmışsa, yol için belirttiğiniz ağ geçidi 10.0.2.129'dır. Arabirimin tüm trafiğinin belirtilen ağ geçidinden gitmesini istiyorsanız, yolun hedefi için belirli bir ağ tanımlayabilir veya 0.0.0.0 hedefini belirtebilirsiniz. Her alt ağın ağ geçidi sanal ağ tarafından yönetilir.

İkincil arabirim için yolu ekledikten sonra, yolun ile route -nyol tablonuzda olduğunu doğrulayın. Aşağıdaki örnek çıktı, bu makalede vm'ye iki ağ arabiriminin eklendiği yol tablosuna yöneliktir:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 eth0
0.0.0.0         10.0.2.1        0.0.0.0         UG    0      0        0 eth1
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
168.63.129.16   10.0.1.1        255.255.255.255 UGH   0      0        0 eth0
169.254.169.254 10.0.1.1        255.255.255.255 UGH   0      0        0 eth0

Yeniden başlatma sonrasında yol tablonuzu yeniden denetleyerek, eklediğiniz yolun yeniden başlatmalar arasında kalıcı olduğunu onaylayın. Bağlantıyı test etmek için aşağıdaki komutu girebilirsiniz; örneğin eth1 , ikincil bir ağ arabiriminin adıdır:

ping bing.com -c 4 -I eth1

Sonraki adımlar

Birden çok NIC'ye sahip bir VM oluşturmaya çalışırken Linux VM boyutlarını gözden geçirin. Her VM boyutunun desteklediği maksimum NIC sayısına dikkat edin.

VM'lerinizin güvenliğini daha da sağlamak için tam zamanında VM erişimini kullanın. Bu özellik gerektiğinde ve belirli bir süre için SSH trafiği için ağ güvenlik grubu kurallarını açar. Daha fazla bilgi için bkz. Tam zamanında özelliğini kullanarak sanal makine erişimini yönetme.