Azure HDInsight için bir sanal ağ planlayın

Bu makalede, Azure HDInsight ile Azure sanal ağları (VNet) kullanmayla ilgili arka plan bilgileri sağlanmaktadır. Ayrıca, HDInsight kümeniz için bir sanal ağ uygulayabilmeniz için yapılması gereken tasarım ve uygulama kararlarını da açıklar. Planlama aşaması tamamlandığında, Azure HDInsight kümeleri için sanal ağlar oluşturmayadevam edebilirsiniz. Ağ güvenlik grupları (NSG 'ler) ve Kullanıcı tanımlı yolların düzgün şekilde yapılandırılması için gereken HDInsight yönetim IP adresleri hakkında daha fazla bilgi için bkz. HDInsight YÖNETIM IP adresleri.

Azure sanal ağı kullanmak aşağıdaki senaryolara izin vermez:

  • HDInsight 'a doğrudan şirket içi ağdan bağlanma.
  • HDInsight 'ı bir Azure sanal ağındaki veri depolarına bağlama.
  • Internet üzerinden genel olarak kullanılamayan Apache Hadoop hizmetlere doğrudan erişme. Örneğin, Apache Kafka API 'Ler veya Apache HBase Java API 'SI.

Önemli

VNET 'te HDInsight kümesi oluşturmak, NIC 'ler ve yük dengeleyiciler gibi çeşitli ağ kaynakları oluşturur. Kümenizin VNET ile düzgün çalışması için gerektiğinden, bu ağ kaynaklarını silmeyin.

28 Şubat 2019 ' den sonra, VNET 'te oluşturulan yenı HDInsight kümeleri için ağ kaynakları (örneğin, NIC 'ler, LBs vb.), aynı HDInsight kümesi kaynak grubunda sağlanacak. Daha önce bu kaynaklar VNET kaynak grubunda sağlandı. Geçerli çalışan kümelerde ve VNET olmadan oluşturulan kümelerdeki hiçbir değişiklik yoktur.

Planlama

Aşağıda, HDInsight 'ı bir sanal ağa yüklemeye planlarken yanıtlamanız gereken sorular verilmiştir:

  • HDInsight 'ı mevcut bir sanal ağa yüklemeniz gerekiyor mu? Yoksa yeni bir ağ mi oluşturuyorsunuz?

    Mevcut bir sanal ağı kullanıyorsanız HDInsight'ı yükleymeden önce ağ yapılandırmasını değiştirmeniz gerekir. Daha fazla bilgi için var olan bir sanal ağa HDInsight ekleme bölümüne bakın.

  • HDInsight içeren sanal ağı başka bir sanal ağa mı yoksa şirket içi ağınıza mı bağlamak istiyorsunuz?

    Ağlar arasında kaynaklarla kolayca çalışmak için özel bir DNS oluşturmanız ve DNS iletmeyi yapılandırmanız gerekir. Daha fazla bilgi için birden çok ağı bağlama bölümüne bakın.

  • HdInsight'a gelen veya giden trafiği kısıtlamak/yeniden yönlendirmek istiyor musunuz?

    HDInsight'ın Azure veri merkezinde belirli IP adresleriyle sınırsız iletişimi olması gerekir. Ayrıca istemci iletişimi için güvenlik duvarları üzerinden izin verilen birkaç bağlantı noktası da vardır. Daha fazla bilgi için bkz. Ağ trafiğini denetleme.

HdInsight'ı mevcut bir sanal ağa ekleme

Mevcut Azure Sanal Ağına yeni bir HDInsight ekleme adımlarını keşfetmek için bu bölümdeki adımları kullanın.

Not

  • Var olan bir HDInsight kümesi sanal ağa ek olamaz.
  • Oluşturulan sanal ağ ve küme aynı abonelikte olmalıdır.
  1. Sanal ağ için klasik veya Resource Manager bir dağıtım modeli mi kullanıyorsunuz?

    HDInsight 3.4 ve daha büyük bir sanal Resource Manager gerektirir. HDInsight'ın önceki sürümlerinde klasik bir sanal ağ gerekirdi.

    Mevcut ağınız klasik bir sanal ağ ise, bir sanal Resource Manager oluşturmanız ve ardından iki ağı bağlamanız gerekir. Klasik VNet'leri yeni sanal ağlara bağlama.

    Bir kez birleştirildikten sonra, Resource Manager hdinsight klasik ağ içinde kaynaklarla etkileşime olabilir.

  2. Sanal ağa gelen veya giden trafiği kısıtlamak için ağ güvenlik gruplarını, kullanıcı tanımlı yolları veya Sanal Ağ Gereçlerini kullanıyor musunuz?

    Yönetilen bir hizmet olarak HDInsight, Azure veri merkezinde birkaç IP adresine sınırsız erişim gerektirir. Bu IP adresleriyle iletişime izin vermek için mevcut ağ güvenlik gruplarını veya kullanıcı tanımlı yolları güncelleştirin.

    HDInsight, çeşitli bağlantı noktaları kullanan birden çok hizmeti barındırıyor. Bu bağlantı noktalarına gelen trafiği engelleme. Sanal gereç güvenlik duvarları aracılığıyla izin verecek bağlantı noktalarının listesi için Güvenlik bölümüne bakın.

    Mevcut güvenlik yapılandırmanızı bulmak için aşağıdaki Azure PowerShell Veya Azure CLI komutlarını kullanın:

    • Ağ güvenlik grupları

      yerine RESOURCEGROUP sanal ağı içeren kaynak grubunun adını yazın ve komutu girin:

      Get-AzNetworkSecurityGroup -ResourceGroupName  "RESOURCEGROUP"
      
      az network nsg list --resource-group RESOURCEGROUP
      

      Daha fazla bilgi için Ağ güvenlik gruplarında sorun giderme belgesine bakın.

      Önemli

      Ağ güvenlik grubu kuralları kural önceliğini temel alarak sırayla uygulanır. Trafik deseniyle eşleşen ilk kural uygulanır ve bu trafik için başka kural uygulanmaz. Kuralları en izinliden en az izinliye doğru sırala. Daha fazla bilgi için Ağ güvenlik gruplarıyla ağ trafiğini filtreleme belgesine bakın.

    • Kullanıcı tanımlı yollar

      yerine RESOURCEGROUP sanal ağı içeren kaynak grubunun adını yazın ve komutu girin:

      Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"
      
      az network route-table list --resource-group RESOURCEGROUP
      

      Daha fazla bilgi için Rota sorunlarını giderme belgesine bakın.

  3. HdInsight kümesi oluşturun ve yapılandırma sırasında Azure Sanal Ağ'ı seçin. Küme oluşturma işlemini anlamak için aşağıdaki belgelerde yer alan adımları kullanın:

    Önemli

    Sanal ağa HDInsight eklemek isteğe bağlı bir yapılandırma adımıdır. Kümeyi yapılandırıyorsanız sanal ağı seçmeyi emin olun.

Birden çok ağı bağlama

Birden çok ağ yapılandırması ile en büyük zorluk, ağlar arasında ad çözümlemesine sahiptir.

Azure, bir sanal ağda yüklü olan Azure hizmetleri için ad çözümlemesi sağlar. Bu yerleşik ad çözümlemesi, HDInsight 'ın tam etki alanı adı (FQDN) kullanarak aşağıdaki kaynaklara bağlanmasına izin verir:

  • İnternet 'te kullanılabilir olan herhangi bir kaynak. Örneğin, microsoft.com, windowsupdate.com.

  • Kaynağın Iç DNS adını kullanarak aynı Azure sanal ağında olan herhangi bir kaynak. Örneğin, varsayılan ad çözümlemesi kullanıldığında, HDInsight çalışan düğümlerine atanan iç DNS adları örnekleri aşağıda verilmiştir:

    • <workername1>.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

    • <workername2>.0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net

      Bu düğümler, iç DNS adları kullanarak, birbirleriyle ve HDInsight 'taki diğer düğümlerle doğrudan iletişim kurabilir.

Varsayılan ad çözümlemesi, HDInsight 'ın sanal ağa katılmış ağlardaki kaynakların adlarını çözümlemesine izin vermez . Örneğin, şirket içi ağınızı sanal ağa katmak yaygındır. HDInsight yalnızca varsayılan ad çözümlemesi ile şirket içi ağdaki kaynaklara ada göre erişemez. Tersi de geçerlidir, şirket içi ağınızdaki kaynaklar sanal ağdaki kaynaklara ada göre erişemez.

Uyarı

HDInsight kümesini oluşturmadan önce özel DNS sunucusunu oluşturmanız ve sanal ağı bunu kullanacak şekilde yapılandırmanız gerekir.

Birleşik ağlardaki sanal ağ ve kaynaklar arasında ad çözümlemesini etkinleştirmek için aşağıdaki eylemleri gerçekleştirmeniz gerekir:

  1. HDInsight 'ı yüklemeyi planladığınız Azure sanal ağında özel bir DNS sunucusu oluşturun.

  2. Sanal ağı özel DNS sunucusunu kullanacak şekilde yapılandırın.

  3. Sanal ağınız için Azure tarafından atanan DNS sonekini bulun. Bu değer ile 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net benzerdir. DNS soneki bulma hakkında bilgi için Örnek: Özel DNS bölümüne bakın.

  4. DNS sunucuları arasında iletmeyi yapılandırma. Yapılandırma, uzak ağın türüne bağlıdır.

    • Uzak ağ bir şirket içi ağ ise DNS'yi aşağıdaki gibi yapılandırabilirsiniz:

      • Özel DNS (sanal ağ içinde):

        • Sanal ağın DNS soneki için istekleri Azure recursive çözümleyiciye (168.63.129.16) iletin. Azure, sanal ağ içinde kaynaklar için istekleri işleme

        • Diğer tüm istekleri şirket içi DNS sunucusuna iletin. Şirket içi DNS diğer tüm ad çözümleme isteklerini, hatta şirket içi dns gibi İnternet kaynaklarına Microsoft.com.

      • Şirket içi DNS: Sanal ağ DNS soneki için istekleri özel DNS sunucusuna iletin. Özel DNS sunucusu daha sonra Azure'da yineleyici çözümleyiciye iletir.

        Bu yapılandırma, sanal ağın DNS soneki içeren tam etki alanı adları için istekleri özel DNS sunucusuna yönlendirer. Diğer tüm istekler (genel İnternet adresleri için bile) şirket içi DNS sunucusu tarafından işleme alındı.

    • Uzak ağ başka bir Azure Sanal Ağı ise DNS'yi aşağıdaki gibi yapılandırabilirsiniz:

      • Özel DNS (her sanal ağ için):

        • Sanal ağların DNS soneki için istekler özel DNS sunucularına iletildi. Her sanal ağ içindeki DNS, ağı içindeki kaynakları çözümlemekle sorumludur.

        • Diğer tüm istekleri Azure'da tekrarlayan çözümleyiciye iletin. Yerel ve internet kaynaklarını çözümlemek,cursive çözümleyicinin sorumluluğundadır.

        Her ağın DNS sunucusu, DNS son ekine bağlı olarak istekleri birbirlerine iletir. Diğer istekler Azure özyinelemeli çözümleyici kullanılarak çözümlenir.

      Her yapılandırmanın bir örneği için bkz. özel DNS bölümü.

Daha fazla bilgi için bkz. VM 'ler ve rol örnekleri Için ad çözümlemesi belgesi.

Apache Hadoop hizmetlerine doğrudan bağlanma

Üzerinde kümeye bağlanabilirsiniz https://CLUSTERNAME.azurehdinsight.net . Bu adres, internet 'ten gelen trafiği kısıtlamak için NSG 'ler kullandıysanız ulaşılamaz olabilecek genel bir IP kullanır. Ayrıca, kümeyi bir sanal ağda dağıttığınızda özel uç nokta kullanarak erişebilirsiniz https://CLUSTERNAME-int.azurehdinsight.net . Bu uç nokta, küme erişimi için VNet 'in içindeki özel bir IP 'ye çözümlenir.

Apache ambarı ve diğer Web sayfalarına sanal ağ üzerinden bağlanmak için aşağıdaki adımları kullanın:

  1. HDInsight küme düğümlerinin iç tam etki alanı adlarını (FQDN) öğrenmek için aşağıdaki yöntemlerden birini kullanın:

    RESOURCEGROUPÖğesini sanal ağı içeren kaynak grubunun adıyla değiştirin ve ardından şu komutu girin:

    $clusterNICs = Get-AzNetworkInterface -ResourceGroupName "RESOURCEGROUP" | where-object {$_.Name -like "*node*"}
    
    $nodes = @()
    foreach($nic in $clusterNICs) {
        $node = new-object System.Object
        $node | add-member -MemberType NoteProperty -name "Type" -value $nic.Name.Split('-')[1]
        $node | add-member -MemberType NoteProperty -name "InternalIP" -value $nic.IpConfigurations.PrivateIpAddress
        $node | add-member -MemberType NoteProperty -name "InternalFQDN" -value $nic.DnsSettings.InternalFqdn
        $nodes += $node
    }
    $nodes | sort-object Type
    
    az network nic list --resource-group RESOURCEGROUP --output table --query "[?contains(name,'node')].{NICname:name,InternalIP:ipConfigurations[0].privateIpAddress,InternalFQDN:dnsSettings.internalFqdn}"
    

    Döndürülen düğüm listesinde, baş düğümlerin FQDN 'sini bulun ve bu, ambarı ve diğer Web hizmetlerine bağlanmak için FQDN 'leri kullanın. Örneğin, http://<headnode-fqdn>:8080 ambarı 'na erişmek için kullanın.

    Önemli

    Baş düğümlerde barındırılan bazı hizmetler tek seferde yalnızca bir düğümde etkindir. Bir baş düğümde bir hizmete erişmeyi denerseniz ve 404 hatası döndürürse, diğer bir baş düğüme geçin.

  2. Bir hizmetin kullanılabilir olduğu düğüm ve bağlantı noktasını öğrenmek için bkz. HDInsight 'Ta Hadoop Hizmetleri tarafından kullanılan bağlantı noktaları .

Yük dengeleme

Bir HDInsight kümesi oluşturduğunuzda, bir yük dengeleyici de oluşturulur. Bu yük dengeleyicinin türü, belirli kısıtlamalara sahip olan temel SKU düzeyindebulunur. Bu kısıtlamalardan biri, farklı bölgelerde iki sanal ağınız varsa temel yük dengeleyicilere bağlanamazsınız. Daha fazla bilgi için bkz. sanal ağlar SSS: genel VNET eşlemesi üzerindeki kısıtlamalar.

Sonraki adımlar