Azure HDInsight için sanal ağ planlama
Bu makalede Azure HDInsight ile Azure Sanal Ağ(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 mevcut bir sanal ağa eklenen HDInsight 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'ın Azure veri merkezindeki belirli IP adresleriyle sınırsız iletişimi 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.
Mevcut bir sanal ağa HDInsight ekleme
Mevcut bir Azure Sanal Ağ yeni bir HDInsight eklemeyi keşfetmek 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.
Sanal ağ için klasik mi yoksa Resource Manager dağıtım modeli mi kullanıyorsunuz?
HDInsight 3.4 ve üzeri bir Resource Manager sanal ağı gerektirir. HDInsight'ın önceki sürümlerinde klasik bir sanal ağ gerekiyordu.
Mevcut ağınız klasik bir sanal ağsa, bir Resource Manager 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.
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çleri kullanıyor musunuz?
Yönetilen 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 gerecin 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ı
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 bkz . Ağ güvenlik gruplarıyla ilgili sorunları giderme belgesi.
Önemli
Ağ güvenlik grubu kuralları, kural önceliğine göre sırayla uygulanır. Trafik düzeniyle 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ğ trafiğini ağ güvenlik gruplarıyla 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 Sanal makine yönlendirme sorununu tanılama 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 belgelerdeki adımları kullanın:
- Azure portalını kullanarak HDInsight oluşturma
- Azure PowerShell kullanarak HDInsight oluşturma
- Klasik Azure 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ırken sanal ağı seçtiğinizden emin olun.
Birden çok ağı bağlama
Çok ağlı yapılandırmada en büyük zorluk, ağlar arasındaki ad çözümlemedir.
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ına olanak tanır:
İ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ümlemesini kullanı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. HdInsight, yalnızca varsayılan ad çözümlemesiyle ş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 ada göre 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:
HDInsight'ı yüklemeyi planladığınız Azure Sanal Ağ ö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 son ekini bulun. Bu değer ile
0owcbllr5hze3hxdja3mqlrhhe.ex.internal.cloudapp.net
benzerdir. DNS sonekini bulma hakkında bilgi için Örnek: Özel DNS bölümüne bakın.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 soneki için istekleri Azure özyinelemeli çözümleyiciye (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 bile 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 İnternet kaynaklarının çözümlenmesinden sorumludur.
Her ağ için DNS sunucusu, DNS sonekini temel alarak istekleri diğerine iletir. Diğer istekler Azure özyinelemeli çözümleyici 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.net
bağlanabilirsiniz. Bu adres, İnternet'ten gelen trafiği kısıtlamak için NSG'leri kullandıysanız erişilemeyen bir genel IP kullanır. Ayrıca, kümeyi bir sanal ağa dağıttığınızda özel uç noktasını https://CLUSTERNAME-int.azurehdinsight.net
kullanarak kümeye erişebilirsiniz. Bu uç nokta, küme erişimi için sanal ağın içindeki ö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:
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üğümde bir hizmete erişmeyi denerseniz ve bir 404 hatası döndürürse, diğer baş düğüme geçin.
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, birkaç yük dengeleyici de oluşturulur. Temel yük dengeleyicinin kullanımdan kaldırılması nedeniyle, yük dengeleyicilerin türü belirli kısıtlamaları olan standart SKU düzeyindedir. Standart yük dengeleyicilere gelen akışlar, bir ağ güvenlik grubu tarafından izin verilmediği sürece kapatılır. Bir ağ güvenliğini alt ağınıza bağlamanız ve ağ güvenlik kurallarını yapılandırmanız gerekebilir.
Standart yük dengeleyici için etkinleştirilmiş birkaç giden bağlantı yöntemi vardır. Varsayılan giden erişimin yakında kullanımdan kaldırılacağını belirtmek gerekir. Giden ağ erişimi sağlamak için bir NAT ağ geçidi benimsenirse, alt ağ temel yük dengeleyiciye sahip değildir. Bir NAT ağ geçidini bir alt ağa bağlamayı planlıyorsanız, bu alt ağda temel yük dengeleyici bulunmamalıdır. Nat ağ geçidi giden erişim yöntemi olarak kullanıldığında, yeni oluşturulan bir HDInsight kümesi, temel yük dengeleyicilerle önceden oluşturulmuş HDInsight kümeleriyle aynı alt ağı paylaşamaz.
Bir diğer kısıtlama da HDInsight yük dengeleyicilerinin silinmemesi veya değiştirilmemesidir. Sertifika yenilemeleri 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ştirilirse ve küme işlevselliğini etkilerse, kümeyi yeniden oluşturmanız gerekebilir.
Sonraki adımlar
- Kod örnekleri ve Azure Sanal Ağ 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ırmanın uçtan uca bir örneği 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ğ genel bakış.
- Ağ güvenlik grupları hakkında daha fazla bilgi için bkz . Ağ güvenlik grupları.
- Kullanıcı tanımlı yollar hakkında daha fazla bilgi için bkz . Kullanıcı tanımlı yollar ve IP iletme.
- Güvenlik duvarı tümleştirmesi de dahil olmak üzere trafiği denetleme hakkında daha fazla bilgi için bkz . Ağ trafiğini denetleme.