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.
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.
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
RESOURCEGROUPsanal ağı içeren kaynak grubunun adını yazın ve komutu girin:Get-AzNetworkSecurityGroup -ResourceGroupName "RESOURCEGROUP"az network nsg list --resource-group RESOURCEGROUPDaha 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
RESOURCEGROUPsanal ağı içeren kaynak grubunun adını yazın ve komutu girin:Get-AzRouteTable -ResourceGroupName "RESOURCEGROUP"az network route-table list --resource-group RESOURCEGROUPDaha fazla bilgi için Rota sorunlarını giderme belgesine bakın.
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:
- Azure portalını kullanarak HDInsight oluşturma
- Azure PowerShell kullanarak HDInsight oluşturma
- Azure Klasik CLI kullanarak HDInsight oluşturma
- Azure Resource Manager şablonu kullanarak HDInsight oluşturma
Ö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:
HDInsight 'ı yüklemeyi planladığınız Azure sanal ağında özel bir DNS sunucusu oluşturun.
Sanal ağı özel DNS sunucusunu kullanacak şekilde yapılandırın.
Sanal ağınız için Azure tarafından atanan DNS sonekini bulun. Bu değer ile
0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.netbenzerdir. DNS soneki bulma hakkında bilgi için Örnek: Özel DNS bölümüne bakın.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:
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 Typeaz 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>:8080ambarı '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.
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
- Kod örnekleri ve Azure sanal ağları oluşturma örnekleri için bkz. Azure HDInsight kümeleri için sanal ağlar oluşturma.
- HDInsight 'ı şirket içi ağa bağlanacak şekilde yapılandırmaya yönelik uçtan uca bir örnek için bkz. HDInsight 'ı Şirket içi ağa bağlama.
- Azure sanal ağları hakkında daha fazla bilgi için bkz. Azure sanal ağına genel bakış.
- Ağ güvenlik grupları hakkında daha fazla bilgi için bkz. ağ güvenlik grupları.
- Kullanıcı tanımlı rotalar hakkında daha fazla bilgi için bkz. Kullanıcı tanımlı rotalar ve IP iletimi.
- Güvenlik Duvarı tümleştirmesi dahil trafiği denetleme hakkında daha fazla bilgi için bkz. ağ trafiğini denetleme.