Azure HDInsight için sanal ağ planlama

Bu makalede Azure HDInsight ile Azure Sanal Ağlarını (VNet) kullanma hakkında arka plan bilgileri sağlanır. Ayrıca, HDInsight kümeniz için bir sanal ağ uygulayabilmeniz için önce alınması gereken tasarım ve uygulama kararlarını da açıklar. Planlama aşaması tamamlandıktan sonra Azure HDInsight kümeleri için sanal ağlar oluşturma bölümüne geçebilirsiniz. Ağ güvenlik gruplarını (NSG) ve kullanıcı tanımlı yolları düzgün yapılandırmak 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 senaryoları etkinleştirir:

  • HdInsight'a doğrudan şirket içi ağdan bağlanma.
  • HDInsight'ı Azure Sanal ağındaki veri depolarına bağlama.
  • İnternet üzerinden genel kullanıma açık olmayan Apache Hadoop hizmetlerine doğrudan erişme. Örneğin, Apache Kafka API'leri veya Apache HBase Java API'leri.

Önemli

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

Planlama

HdInsight'ı bir sanal ağa yüklemeyi planlarken yanıtlamanız gereken sorular şunlardır:

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

    Mevcut bir sanal ağ kullanıyorsanız HDInsight'ı yükleyebilmek için önce ağ yapılandırmasını değiştirmeniz gerekebilir. 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ğlardaki kaynaklarla kolayca çalışmak için özel bir DNS oluşturmanız ve DNS iletmeyi yapılandırmanız gerekebilir. Daha fazla bilgi için birden çok ağı bağlama bölümüne bakın.

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

    HDInsight,Azure veri merkezindeki belirli IP adresleriyle sınırsız iletişime sahip olmalıdır. İstemci 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 bir Azure Sanal Ağ yeni bir HDInsight eklemeyi öğrenmek için bu bölümdeki adımları kullanın.

Not

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

    HDInsight 3.4 ve üzeri için Resource Manager bir sanal ağ gerekir. HDInsight'ın önceki sürümlerinde klasik bir sanal ağ gerekiyordu.

    Mevcut ağınız klasik bir sanal ağsa, Resource Manager bir sanal ağ oluşturmanız ve ardından ikisini bağlamanız gerekir. Klasik sanal ağları yeni sanal ağlara bağlama.

    Katıldıktan sonra, Resource Manager ağına yüklenen HDInsight, klasik ağdaki kaynaklarla etkileşim kurabilir.

  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 merkezindeki çeşitli IP adreslerine 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 engellemeyin. Sanal gereç güvenlik duvarları üzerinden izin veren 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ı

      değerini sanal ağı içeren kaynak grubunun adıyla değiştirin RESOURCEGROUP ve komutunu girin:

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

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

      Önemli

      Ağ güvenlik grubu kuralları, kural önceliğine göre sırayla uygulanır. Trafik deseni ile eşleşen ilk kural uygulanır ve bu trafik için başka kural uygulanmaz. En izinliden en az izinliye kadar sipariş kuralları. Daha fazla bilgi için Ağ güvenlik gruplarıyla ağ trafiğini filtreleme belgesine bakın.

    • Kullanıcı tanımlı yollar

      değerini sanal ağı içeren kaynak grubunun adıyla değiştirin RESOURCEGROUP ve komutunu girin:

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

      Daha fazla bilgi için Yol 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

    HdInsight'ı bir sanal ağa eklemek isteğe bağlı bir yapılandırma adımıdır. Kümeyi yapılandırırken sanal ağı seçtiğinizden emin olun.

Birden çok ağı bağlama

Çok ağlı yapılandırmanın en büyük zorluğu, ağlar arasındaki ad çözümlemesidir.

Azure, bir sanal ağa yüklenen 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ını sağlar:

  • İnternet'te bulunan tüm kaynaklar. Örneğin, microsoft.com, windowsupdate.com.

  • Kaynağın iç DNS adını kullanarak aynı Azure Sanal Ağ olan tüm kaynaklar. Örneğin, varsayılan ad çözümlemesi kullanılırken, HDInsight çalışan düğümlerine atanan iç DNS adlarına örnekler aşağıda verilmiştir:

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

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

      Bu düğümlerin her ikisi de iç DNS adlarını 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 eklemek yaygın bir durum olabilir. Yalnızca varsayılan ad çözümlemesiyle HDInsight, şirket içi ağdaki kaynaklara ada göre erişemez. Bunun tersi de geçerlidir. Şirket içi ağınızdaki kaynaklar sanal ağdaki kaynaklara adlarıyla erişemez.

Uyarı

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

Sanal ağ ile birleştirilmiş ağlardaki 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ğ ö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 son ekini bulun. Bu değer ile 0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.netbenzerdir. DNS sonekini bulma hakkında bilgi için Örnek: Özel DNS bölümüne bakın.

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

    • Uzak ağ bir şirket içi ağsa DNS'yi aşağıdaki gibi yapılandırın:

      • Özel DNS (sanal ağda):

        • Sanal ağın DNS son eki için istekleri Azure özyinelemeli çözümleyicisine (168.63.129.16) iletin. Azure, sanal ağdaki kaynaklar için istekleri işler

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

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

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

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

      • Özel DNS (her sanal ağda):

        • Sanal ağların DNS soneki istekleri özel DNS sunucularına iletilir. Her sanal ağdaki DNS, kendi ağındaki kaynakları çözümlemekle sorumludur.

        • Diğer tüm istekleri Azure özyinelemeli çözümleyicisine iletin. Özyinelemeli çözümleyici, yerel ve internet kaynaklarını çözümlemekle sorumludur.

        Her ağın DNS sunucusu, DNS sonekini temel alarak istekleri diğerine iletir. Diğer istekler Azure özyinelemeli çözümleyicisi kullanılarak çözülür.

      Her yapılandırma örneği için Örnek: Özel DNS bölümüne bakın.

Daha fazla bilgi için VM'ler ve Rol Örnekleri için Ad Çözümlemesi belgesine bakın.

Apache Hadoop hizmetlerine doğrudan bağlanma

adresinden kümeye https://CLUSTERNAME.azurehdinsight.netbağlanabilirsiniz. Bu adres, İnternet'ten gelen trafiği kısıtlamak için NSG'ler kullandıysanız erişilemeyen bir genel IP kullanır. Ayrıca, kümeyi bir sanal ağda dağıttığınızda özel uç noktasını https://CLUSTERNAME-int.azurehdinsight.netkullanarak kümeye erişebilirsiniz. Bu uç nokta, küme erişimi için sanal ağın içinde özel bir IP'ye çözümler.

Sanal ağ üzerinden Apache Ambari'ye ve diğer web sayfalarına bağlanmak için aşağıdaki adımları kullanın:

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

    değerini sanal ağı içeren kaynak grubunun adıyla değiştirin RESOURCEGROUP ve komutunu 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üğümler listesinde baş düğümler için FQDN'yi bulun ve FQDN'leri kullanarak Ambari'ye ve diğer web hizmetlerine bağlanın. Örneğin, Ambari'ye erişmek için kullanın http://<headnode-fqdn>:8080 .

    Önemli

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

  2. Bir hizmetin kullanılabilir olduğu düğümü ve bağlantı noktasını belirlemek için HDInsight üzerinde Hadoop hizmetleri tarafından kullanılan bağlantı noktaları belgesine bakın.

Yük dengeleme

HDInsight kümesi oluşturduğunuzda, bir yük dengeleyici de oluşturulur. Bu yük dengeleyicinin türü, belirli kısıtlamaları olan temel SKU düzeyindedir. Bu kısıtlamalardan biri, farklı bölgelerde iki sanal ağınız varsa temel yük dengeleyicilere bağlanamamanızdır. Daha fazla bilgi için bkz . sanal ağlar hakkında SSS: Genel sanal ağ eşleme kısıtlamaları.

Bir diğer kısıtlama da HDInsight yük dengeleyicilerinin silinmemesi veya değiştirilmemesidir. Sertifika yenileme gibi belirli bakım olayları sırasında yük dengeleyici kurallarında yapılan tüm değişikliklerin üzerine yazılır. Yük dengeleyiciler değiştirildiyse ve küme işlevselliğini etkiliyorsa, kümeyi yeniden oluşturmanız gerekebilir.

Sonraki adımlar