Struktur komponen yang indah di cloud Microsoft Azure

Microsoft Azure adalah salah satu platform cloud terbesar di dunia. Walaupun saya kurang bersimpati pada perusahaan yang membuatnya, saya harus mengakui bahwa platform ini memiliki sejumlah fasilitas dibandingkan dengan para pesaingnya. Tetapi tidak ada barel madu tanpa lalat di salep, dan sendok di Microsoft Azure ini adalah nama komponen sistem. Jika mengganti nama komponen di AWS adalah masalah dua klik, maka dalam nama Azure terikat erat dengan komponen, dan mengubahnya tanpa menari dengan rebana kadang-kadang tidak mungkin. Oleh karena itu, sangat penting ketika bekerja dengan Azure untuk awalnya membuat struktur yang benar.

gambar

Jadi, mari kita coba di Microsoft Azure untuk membuat mesin virtual dengan nama server-01 dan pengaturan default. Gambar berikut dengan jelas menunjukkan kekacauan yang kita miliki pada akhirnya.

gambar

Jika semuanya sesuai untuk Anda di sini, maka Anda tidak dapat membaca lebih lanjut. Nah, jika Anda, seperti saya, menyukai urutan total dalam administrasi, maka saya berisiko mengusulkan skema penamaan yang indah untuk komponen Microsoft Azure, yang telah saya gunakan selama beberapa tahun terakhir.

Skema ini memungkinkan Anda untuk membawa seluruh sistem ke formulir terpadu berikut:
{Grup Komponen} __ {Elemen}
{Komponen} - {Nomor} __ {Elemen} - {Nomor}

Jadi, mari kita mulai ...

Tambahkan grup sumber daya

Resource groups >> +Add Resource group name: servers 

Buat jaringan virtual dan subnet

Secara default, Microsoft Azure memperluas subnet di seluruh jaringan virtual. Ini tidak nyaman, karena jika perlu akan sangat sulit untuk menambahkan subnet baru (misalnya, subnet VPN). Oleh karena itu, saya biasanya memberikan dua oktet terakhir (mask 16) untuk jaringan virtual, dan untuk subnet - oktet terakhir (mask 24).

 Virtual networks >> +Add Name: servers__network Address space: 10.0.0.0/16 Subnet: Name: default Address range: 10.0.0.0/24 Network interfaces: +Add Name: server-01__ip-private-01 Virtual network: servers__network Subnet: default Private IP address: Static/10.0.0.101 

Beberapa alamat pertama dari subnet (10.0.0.01 ... 03) digunakan oleh Azure sesuai dengan kebutuhannya, jadi saya memindahkan alamat kantor ke kisaran di atas 100. Dengan demikian, nomor server akan sesuai dengan digit terakhir dari alamat IP: server-01 = 10.0.0.101, server-02 = 10.0.0.102, server-43 = 10.0.0.143, dll.

Alamat eksternal dan grup keamanan

Jika direncanakan bahwa mesin virtual akan terlihat di luar, maka buat alamat publik dan grup keamanan.

 Public IP addresses: +Add Name: server-01__ip-public-01 IP address assignment: Static Public IP addresses >>  server-01__ip-public-01 >> Associate: Resource type >> Network interface: server-01__ip-private-01 

Di Azure, grup keamanan dapat dibuat untuk mesin tunggal dan subnet secara keseluruhan. Tergantung pada variannya, nama-nama akan bervariasi.

 Network security groups >> +Add 

Opsi grup keamanan untuk satu host:

  Name: server-01__security-group Network interfaces >> +Associate: server-01__ip-private-01 

Grup keamanan untuk subnet:

  Name: servers__network-security-group Subnets >> +Associate: Virtual network: servers__network Subnet: default 

Berkendara

Sayangnya, Azure tidak memungkinkan Anda untuk membuat disk dengan nama yang berubah-ubah, jadi di sini Anda perlu melakukan solusi dengan membuat mesin virtual fiktif, dan kemudian menggunakan disknya sebagai blank untuk membuat mesin yang berfungsi.

Buat mesin virtual dummy

 Virtual machines >> +Add Basics: Name: server-01-raw VM disk type: Premium SSD Username: your-name SSH public key: your-public-key Settings: Availability set: None Network: servers__network Subnet: default Public IP address: None Select public inbound ports: No public inbound ports Monitoring: Disabled 

Setelah membuat mesin boneka, Anda dapat menghapus semua komponen (termasuk mesin itu sendiri) yang ditandai dengan akhiran baku kecuali untuk disk.

Kami menghapus snapshot disk

 Disks >>  disk server-01-raw_OsDisk_... >> +Create snapshot Name: server-01-raw-snapshot 

Berdasarkan snapshot, buat disk kerja baru:

 Disks >> +Add Name: server-01__disk-01 Source type: Snapshot Source snapshot: server-01-raw-snapshot 

Kami menyebarkan mesin yang bekerja berdasarkan disk baru

 Disks >>  server-01__disk-01 >> + Create VM Basics: Name: server-01 Settings: Availability set: None Network: servers__network Subnet: default Public IP address: None Select public inbound ports: No public inbound ports Monitoring: Disabled 

Antarmuka jaringan

Kelalaian lain dari Microsoft - saat membuat mesin virtual dari disk di GUI, tidak ada cara untuk melampirkan antarmuka jaringan yang dibuat sebelumnya untuk itu. Oleh karena itu, kami menghentikan mesin, menghapus antarmuka jaringan dan melampirkan antarmuka yang kami buat di atasnya.

 Virtual machines >>  VM server-01 >> Stop Virtual machines >>  VM server-01 >> Networking: Attach network interface >> server-01__ip-private-01 Detach network interface >> server-01982 

Pembuangan sampah

Sentuhan terakhir adalah penghilangan puing yang tersisa dari manipulasi yang kami buat.

Hapus:

antarmuka jaringan server-01982,
server grup keamanan-01-nsg,
berkendara dari mesin boneka: server-01-raw_OsDisk ...
snapshot server-01-raw-snapshot

Inilah hasilnya:

gambar

CLI


Anda mungkin sudah memperhatikan bahwa membawa kecantikan ke Azure adalah tugas yang agak menyusahkan. Tetapi semuanya sangat disederhanakan jika Anda menggunakan baris perintah (CLI). Microsoft Azure menyediakan CLI untuk konsol PowerShell dan Linux aslinya. Opsi terakhir akan dijelaskan di bawah ini.

Login:

 az login -u AzureUserName 

Dapatkan daftar lokasi yang tersedia

 az account list-locations 

Dapatkan daftar ukuran mesin virtual:

 az vm list-sizes --location locationName 

Kami menetapkan daftar parameter jaringan dan mesin virtual (dalam semua perintah selanjutnya, data ini akan dikirimkan melalui variabel):

 location="westindia" resource_group="servers" virt_network="servers__network" virt_network_range="10.0.0.0/16" subnet="default" subnet_range="10.0.0.0/24" user="username" ssh_key="ssh-public-key" name="server-01" image="UbuntuLTS" ip="10.0.0.101" interface_suffix="__ip-private-01" disk_suffix="__disk-01" size="Standard_B1s" ### SSD = "Premium_LRS"; HDD = "Standard_LRS" storage_type="Premium_LRS" 

Buat grup sumber daya:

 az group create --location ${location} --name ${resource_group} 

Buat jaringan dan subnet virtual:

 az network vnet create --location ${location} --resource-group ${resource_group} --name ${virt_network} --address-prefixes ${virt_network_range} 

 az network vnet subnet create --resource-group ${resource_group} --vnet-name ${virt_network} --name ${subnet} --address-prefix ${subnet_range} 

Buat antarmuka jaringan:

 az network nic create --resource-group ${resource_group} --location ${location} --name ${name}${interface_suffix} --subnet ${subnet} --vnet-name ${virt_network} --private-ip-address ${ip} 

Buat mesin virtual dummy:

 az vm create --name ${name} --admin-username ${user} --ssh-key-value "${ssh_key}" --resource-group ${resource_group} --location ${location} --image ${image} --size ${size} --nics ${name}${interface_suffix} --storage-sku ${storage_type} 

Normalisasikan disk:

 az vm stop --name ${name} --resource-group ${resource_group} disk_old=$(az vm get-instance-view --name ${name} --resource-group ${resource_group} | grep -o "${name}_OsDisk[0-9a-z\_]\{1,\}" | head -1) az disk create --location ${location} --resource-group ${resource_group} --name ${name}${disk_suffix} --source ${disk_old} --sku ${storage_type} 

Kami menghapus mesin boneka dan menggunakan yang berfungsi:

 az vm delete --name ${name} --resource-group ${resource_group} --yes az vm create --name ${name} --resource-group ${resource_group} --location ${location} --size ${size} --nics ${name}${interface_suffix} --attach-os-disk ${name}${disk_suffix} --os-type Linux ${availability_set_as_option} 

Hapus dummy disk:

 az disk delete --resource-group ${resource_group} --name ${disk_old} --yes 

Otomasi


Untuk mengotomatiskan proses penempatan mesin virtual di cloud Microsoft Azure, saya menggabungkan semua perintah di atas menjadi satu skrip bash, azure-create-vm.sh, yang dapat diambil dari Github . Buka skrip dalam editor teks apa pun, masukkan data Anda dan Anda dapat menggunakan mesin virtual dengan nama-nama indah dengan menekan beberapa tombol.

Source: https://habr.com/ru/post/id422211/


All Articles