Terraform kullanarak Azure'da merkez-uç hibrit ağ topolojisi oluşturma

Terraform , bulut altyapısının tanımlanmasını, önizlemesini ve dağıtımını sağlar. Terraform kullanarak HCL söz dizimlerini kullanarak yapılandırma dosyaları oluşturursunuz. HCL söz dizimi, Azure gibi bulut sağlayıcısını ve bulut altyapınızı oluşturan öğeleri belirtmenize olanak tanır. Yapılandırma dosyalarınızı oluşturduktan sonra, altyapı değişikliklerinizin dağıtılmadan önce önizlemesini görüntülemenizi sağlayan bir yürütme planı oluşturursunuz. Değişiklikleri doğruladıktan sonra, altyapıyı dağıtmak için yürütme planını uygularsınız.

Bu makale serisinde Terraform'un Azure'da merkez-uç ağ topolojisi uygulamak için nasıl kullanılacağı gösterilmektedir.

Merkez-uç topolojisi, ortak hizmetleri paylaşırken iş yüklerini yalıtma yöntemidir. Bu hizmetler kimlik ve güvenlik içerir. Merkez, şirket içi ağa merkezi bir bağlantı noktası işlevi gören bir sanal ağdır (VNet). Uçlar, merkezle eşlenen sanal ağlardır. Paylaşılan hizmetler hub'a dağıtılırken, tek tek iş yükleri uç ağlarında dağıtılır.

Bu makalede şunları öğreneceksiniz:

  • Merkez-uç karma ağ başvuru mimarisi kaynaklarını düzenle
  • Hub ağ gereci kaynakları oluşturma
  • Tüm kaynaklar için ortak nokta olarak hareket etmek için Azure'da merkez ağı oluşturma
  • Azure'da bağımsız iş yüklerini uç sanal ağları olarak oluşturma
  • Şirket içi ve Azure ağları arasında ağ geçitleri ve bağlantılar oluşturma
  • Uç ağlarına sanal ağ eşlemeleri oluşturma

1. Ortamınızı yapılandırma

  • Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

2. Merkez-uç topoloji mimarisini anlama

Merkez-uç topolojisinde merkez bir sanal ağdır. Sanal ağ, şirket içi ağınıza yönelik merkezi bir bağlantı noktası işlevi görür. Uçlar ise merkezle eşlenen sanal ağlardır ve iş yüklerini yalıtmak için kullanılabilirler. Şirket içi veri merkezi ile merkez arasındaki trafik akışı bir ExpressRoute veya VPN ağ geçidi bağlantısı üzerinden gerçekleşir. Aşağıdaki görüntüde merkez-uç topolojisindeki bileşenler gösterilmektedir:

Hub and spoke topology architecture in Azure

Merkez-uç topolojisinin avantajları

Merkez-uç ağ topolojisi, ortak hizmetleri paylaşırken iş yüklerini yalıtma yöntemidir. Bu hizmetler kimlik ve güvenlik içerir. Merkez, şirket içi ağa merkezi bir bağlantı noktası işlevi gören bir sanal ağdır. Uçlar, merkezle eşlenen sanal ağlardır. Paylaşılan hizmetler hub'a dağıtılırken, tek tek iş yükleri uç ağlarında dağıtılır. Merkez-uç ağ topolojisinin bazı avantajları şunlardır:

  • Hizmetleri birden çok iş yükü tarafından paylaşılabilen tek bir konumda merkezileştirerek maliyet tasarrufu sağlar. Bu iş yükleri ağ sanal gereçlerini ve DNS sunucularını içerir.
  • Abonelik sınırlarını aşma: Farklı aboneliklere ait sanal ağlar merkeze eşlenerek sınırlar aşılabilir.
  • İşlerin ayrılması: Merkezi BT (SecOps, InfraOps) ve iş yüklerini (DevOps) ilgilendiren konular ayrılır.

Merkez-uç mimarisi için tipik kullanımlar

Merkez-uç mimarisi için tipik kullanımlardan bazıları şunlardır:

  • Birçok müşterinin farklı ortamlarda dağıtılan iş yükleri vardır. Bu ortamlar geliştirme, test ve üretim içerir. Çoğu zaman bu iş yüklerinin DNS, IDS, NTP veya AD DS gibi hizmetleri paylaşması gerekir. Bu paylaşılan hizmetler merkez sanal aya yerleştirilebilir. Bu şekilde, her ortam yalıtımı korumak için bir uçta dağıtılır.
  • Birbirine bağlantı gerektirmeyen ancak paylaşılan hizmetlere erişim gerektiren iş yükleri.
  • Güvenlik yönleri üzerinde merkezi denetim gerektiren kuruluşlar.
  • Her uçtaki iş yükleri için ayrı yönetim gerektiren kuruluşlar.

3. Tanıtım bileşenlerinin önizlemesini görüntüleme

Bu serideki her makalede çalışırken, farklı Terraform betiklerinde çeşitli bileşenler tanımlanır. Oluşturulan ve dağıtılan tanıtım mimarisi aşağıdaki bileşenlerden oluşur:

  • Şirket içi ağı. Bir kuruluşla çalışan özel bir yerel ağ. Merkez-uç başvuru mimarisinde, şirket içi ağın benzetimini yapmak için Azure'da bir sanal ağ kullanılır.

  • VPN cihazı. VPN cihazı veya hizmeti, şirket içi ağa dış bağlantı sağlar. VPN cihazı bir donanım gereci veya yazılım çözümü olabilir.

  • Merkezi sanal ağ. Merkez, şirket içi ağınıza bağlantının merkezi noktası ve hizmetleri barındırmak için bir yerdir. Bu hizmetler uç sanal ağlarında barındırılan farklı iş yükleri tarafından kullanılabilir.

  • Ağ geçidi alt ağı. Sanal ağ geçitleri aynı alt ağda tutulur.

  • Uç sanal ağları. Uçlar, iş yüklerini diğer uçlardan ayrı olarak yönetilen kendi sanal ağlarında yalıtmak için kullanılabilir. Her iş yükü birden fazla katman içerebilir. Birden fazla alt ağ, Azure yük dengeleyicileri aracılığıyla birbirine bağlanır.

  • Sanal ağ eşlemesi. Eşleme bağlantısı kullanılarak iki sanal ağ bağlanabilir. Eşleme bağlantıları, sanal ağlar arasındaki geçişsiz ve gecikme süresi düşük bağlantılardır. Eşlendikten sonra sanal ağlar, yönlendiriciye gerek kalmadan Azure omurgasını kullanarak trafik alışverişinde bulunur. Merkez-uç ağ topolojisinde, hub'ı her uça bağlamak için sanal ağ eşlemesi kullanılır. Sanal ağları aynı bölgede veya farklı bölgelerde eşleyebilirsiniz.

4. Terraform kodunu uygulama

  1. Çok makaleli serinin tamamı için örnek kodu içerecek bir dizin oluşturun.

  2. adlı main.tf bir dosya oluşturun ve aşağıdaki kodu ekleyin:

    terraform {
    
      required_version = ">=0.12"
    
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>2.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. Proje değişkenlerini içerecek adlı variables.tf bir dosya oluşturun ve aşağıdaki kodu ekleyin:

    variable "location" {
        description = "Location of the network"
        default     = "eastus"
    }
    
    variable "username" {
        description = "Username for Virtual Machines"
        default     = "azureuser"
    }
    
    variable "password" {
        description = "Password for Virtual Machines"
    }
    
    variable "vmsize" {
        description = "Size of the VMs"
        default     = "Standard_DS1_v2"
    }
    

    Önemli noktalar:

    • Bu makalede, çağrısı terraform planyaparken girdiğiniz bir parola kullanılır. Gerçek dünyadaki bir uygulamada SSH ortak/özel anahtar çifti kullanmayı düşünebilirsiniz.
    • SSH anahtarları ve Azure hakkında daha fazla bilgi için bkz . Azure'da Windows ile SSH anahtarlarını kullanma.

Azure'da Terraform sorunlarını giderme

Azure'da Terraform kullanırken karşılaşılan yaygın sorunları giderme

Sonraki adımlar