Azure Batch düğümler ve havuzlar
Azure Batch bir iş akışında, bir işlem düğümü (veya düğümü), uygulamanızın iş yükünün bir bölümünü işleyen bir sanal makinedir. Havuz , uygulamanızın üzerinde çalışacağı bu düğümlerin bir koleksiyonudur. Bu makalede düğümler ve havuzlar hakkında daha fazla bilgi verilmektedir ve bunları bir Azure Batch iş akışında oluşturma ve kullanma konusunda dikkat edilecek noktalar açıklanmaktadır.
Düğümler
Düğüm, uygulamanızın iş yükünün bir kısmını işlemeye ayrılmış bir Azure sanal makinesi (VM) veya bulut hizmeti sanal makinedir. Bir düğümün boyutu CPU çekirdeklerinin sayısını, bellek kapasitesini ve düğüme ayrılan yerel dosya sistemi boyutunu belirler.
Azure Cloud Services’ı, Microsoft Azure Sanal Makineler Market görüntülerini veya kendi hazırladığınız özel görüntüleri kullanarak Windows veya Linux düğümleri içeren havuzlar oluşturabilirsiniz.
Düğümler, düğümün işletim sistemi ortamı tarafından desteklenen herhangi bir yürütülebilir dosyayı ya da komut dosyasını çalıştırabilir. yürütülebilir dosyalar veya betikler *.exe, * . cmd, *.bat ve PowerShell betikleri (Windows için) ve ikili dosyalar, kabuk ve Python betikleri (Linux için) içerir.
Batch içindeki tüm işlem düğümleri ayrıca şunları içerir:
- Standart bir klasör yapısı ve görevlere göre başvurulabilen ilişkili ortam değişkenleri.
- Erişimi denetlemek için yapılandırılan Güvenlik Duvarı ayarları.
- hem Windows (Uzak Masaüstü Protokolü (RDP)) hem de Linux (Secure Shell (SSH)) düğümlerine uzaktan erişim ( havuzunuzu uzaktan erişim devre dışı olarak oluşturmadığınızmüddetçe).
Varsayılan olarak, düğümler birbirleriyle iletişim kurabilir, ancak aynı havuzun parçası olmayan sanal makinelerle iletişim kuramaz. Düğümlerin diğer sanal makinelerle veya şirket içi bir ağla güvenli bir şekilde iletişim kurmasına izin vermek için, havuzu bir Azure sanal ağı (VNet) alt ağındasağlayabilirsiniz. Bunu yaptığınızda, düğümlerine genel IP adreslerinden erişebilirsiniz. Bu genel IP adresleri Batch tarafından oluşturulur ve havuzun ömrü boyunca değişebilir. Ayrıca, denetlediğiniz statik genel IP adreslerine sahip bir havuz oluşturabilir ve bu sayede beklenmedik şekilde değişmemesini sağlayabilirsiniz.
Havuzlar
Havuz, uygulamanızın üzerinde çalıştığı düğümlerin koleksiyonudur.
Azure Batch havuzları temel Azure işlem platformu üzerinde derlenir. Bunlar, bir havuzdaki işlem düğümlerinin sayısı için büyük ölçekli ayırma, uygulama yüklemesi, veri dağıtımı, sistem durumu izleme ve esnek ayarlama (ölçeklendirme) sağlar.
Bir havuza eklenen her düğüme benzersiz bir ad ve IP adresi atanır. Bir düğüm havuzdan kaldırıldığında, işletim sistemi ya da dosyalara yapılan tüm değişiklikler kaybedilir ve düğümün adı ile IP adresi gelecekte kullanım için boşta kalır. Bir düğüm havuzdan ayrıldığında ömrü sona erer.
Bir havuz yalnızca içinde oluşturulduğu Batch hesabı tarafından kullanılabilir. Bir Batch hesabı, çalıştırılacağı uygulamaların kaynak gereksinimlerini karşılamak için birden çok havuz oluşturabilir.
Havuz el ile veya yapılacak işleri belirttiğinizde Batch hizmeti tarafından otomatik olarak oluşturulabilir. Bir havuz oluşturduğunuzda aşağıdaki öznitelikleri belirtebilirsiniz:
- Düğüm işletim sistemi ve sürümü
- Düğüm türü ve hedef düğüm sayısı
- Düğüm boyutu
- Otomatik ölçeklendirme ilkesi
- Görev zamanlama ilkesi
- İletişim durumu
- Başlangıç görevleri
- Uygulama paketleri
- Sanal ağ ve güvenlik duvarı yapılandırması
- Ömür
Önemli
Batch hesaplarının, bir Batch hesabındaki çekirdek sayısını sınırlayan varsayılan bir kotası vardır. Çekirdek sayısı, işlem düğümü sayısına karşılık gelir. Varsayılan kotaları ve kota artırma yönergelerini Azure Batch hizmeti için kotalar ve limitler bölümünde bulabilirsiniz. Havuzunuzun hedef düğüm sayısına ulaşmamasının nedeni çekirdek kotası olabilir.
İşletim sistemi ve sürümü
Bir Batch havuzu oluşturduğunuzda, havuzdaki her bir işlem düğümünde çalıştırmak istediğiniz Azure sanal makine yapılandırmasını ve işletim sistemi türünü belirtirsiniz.
Yapılandırmalar
Toplu Işte kullanılabilen iki tür havuz yapılandırması vardır.
Önemli
Şu anda iki yapılandırmayı kullanarak havuzlar oluşturmadığınıza karşın, yeni havuzların yapılandırma Cloud Services değil, sanal makine yapılandırması kullanılarak yapılandırılması gerekir. Tüm geçerli ve yeni toplu Işlem özellikleri, sanal makine yapılandırma havuzları tarafından desteklenecektir. Cloud Services yapılandırma havuzları tüm özellikleri desteklemez ve yeni bir özellik planlanmaz. Yeni ' CloudServiceConfiguration ' havuzları oluşturamaz veya 29 şubat 2024 ' den sonravar olan havuzlara yeni düğümler ekleyemeyeceksiniz.
Sanal makine yapılandırması
Sanal makine yapılandırması , havuzun Azure sanal makinelerinden oluştuğunu belirtir. Bu VM'ler Linux veya Windows görüntülerinden oluşturulabilir.
Batch düğüm Aracısı , havuzdaki her düğüm üzerinde çalışan ve düğüm ile Batch hizmeti arasında komut ve denetim arabirimini sağlayan bir programdır. Farklı işletim sistemleri için SKU olarak bilinen düğüm aracısının farklı uygulamaları vardır. Sanal Makine Yapılandırmasını temel alan bir havuz oluşturduğunuzda, yalnızca düğümlerin boyutunu ve onları oluşturmak için kullanılan görüntülerin kaynağını değil, aynı zamanda sanal makine görüntü başvurusunu ve düğümlere yüklenecek Batch düğümü aracı SKU'sunu da belirtmeniz gerekir. Bu havuz özelliklerini belirtme hakkında daha fazla bilgi için bkz. Azure Batch havuzlarında Linux işlem düğümlerini hazırlama. İsteğe bağlı olarak Market görüntülerinden oluşturulmuş havuz VM'lerine bir veya daha fazla boş veri diski ekleyebilir veya VM'leri oluşturmak için kullanılan özel görüntülere veri diskleri dahil edebilirsiniz. Veri disklerini dahil etmek için, diskleri kullanmak üzere bir VM içinden bağlamanız ve biçimlendirmeniz gerekir.
Cloud Services yapılandırması
Uyarı
Cloud Services yapılandırma havuzları kullanım dışıdır. Lütfen bunun yerine sanal makine yapılandırma havuzlarını kullanın. Daha fazla bilgi için bkz. Cloud Services Batch havuzu yapılandırmasını sanal makineye geçirme.
Cloud Services yapılandırması , havuzun Azure Cloud Services düğümlerinden oluştuğunu belirtir. Cloud Services yalnızca Windows işlem düğümleri sağlar.
Cloud Services yapılandırma havuzları için kullanılabilir işletim sistemleri, Azure Konuk işletim sistemi sürümleri ve SDK uyumluluk matrisi' nda listelenir ve kullanılabilir işlem düğümü boyutları, Cloud Services için Boyutlarbölümünde listelenmiştir. Cloud Services düğümleri içeren bir havuz oluşturduğunuzda, düğüm boyutunu ve Işletim sistemi ailesini belirtirsiniz (hangi .NET sürümlerinin işletim sistemine yükleneceğini belirler). Cloud Services, Windows çalıştıran sanal makinelerden daha hızlı bir şekilde dağıtılır. Windows işlem düğümlerinden oluşan havuzlar oluşturmak istiyorsanız, Cloud Services'ın dağıtım süresi açısından daha iyi bir performans sunduğunu görebilirsiniz.
Cloud Services içindeki çalışan rollerinde olduğu gibi bir Işletim sistemi sürümü de belirtebilirsiniz. Latest (*)Düğümlerin otomatik olarak yükseltilmesi Için Işletim sistemi sürümü için belirtmenizi öneririz ve yeni yayınlanan sürümlere geçmek için gereken bir iş yoktur. Belirli bir işletim sistemi sürümünün seçildiği birincil kullanım durumu, sürümün güncelleştirilmesine izin vermeden önce geriye dönük uyumluluk testinin gerçekleştirilmesine izin vererek uygulama uyumluluğunun sağlandığından emin olmaktır. Doğrulamadan sonra, havuzun Işletim sistemi sürümü güncelleştirilemeyebilir ve yeni işletim sistemi görüntüsü yüklenebilirler. Çalışan tüm görevler kesintiye uğrar ve yeniden kuyruğa.
Düğüm Aracısı SKU 'Ları
Havuz oluştururken VHD'nizin temel görüntüsünün işletim sistemine bağlı olarak uygun nodeAgentSkuId değerini seçmeniz gerekir. Desteklenen düğüm Aracısı SKU 'Larını Listele işlemini çağırarak, Işletim sistemi görüntüsü başvurularına kullanılabilir düğüm Aracısı SKU kimliklerinin eşlemesini alabilirsiniz.
Sanal Makine havuzları için özel görüntüler
Özel görüntülerle havuz oluşturmayı öğrenmek için bkz. özel bir havuz oluşturmak Için Azure Işlem galerisini kullanma.
Alternatif olarak, yönetilen bir görüntü kaynağı kullanarak sanal makineler için özel bir havuz oluşturabilirsiniz. Azure VM'lerinden özel Linux görüntüleri hazırlama hakkında bilgi için bkz. Sanal makine veya VHD görüntüsü oluşturma. Azure sanal makinelerinden özel Windows görüntüleri hazırlama hakkında daha fazla bilgi için bkz. Azure'da genelleştirilmiş VM'nin yönetilen görüntüsünü oluşturma.
Sanal Makine havuzlarında kapsayıcı desteği
Batch API'lerini kullanarak Sanal Makine Yapılandırma havuzu oluştururken havuzu görevleri Docker kapsayıcılarında çalıştıracak şekilde ayarlayabilirsiniz. Şu anda Docker kapsayıcılarını destekleyen bir görüntü kullanarak havuz oluşturmanız gerekir. Azure Market'teki Windows Server 2016 Datacenter with Containers görüntüsünü kullanın veya Docker Community Edition ya da Enterprise Edition ile gerekli sürücüleri içeren özel bir VM görüntüsü sağlayın. Havuz ayarları, kapsayıcı görüntülerini havuz oluşturulduğunda VM'lere kopyalayan bir kapsayıcı yapılandırması içermelidir. Havuzda çalışan görevler, kapsayıcı görüntülerine ve kapsayıcı çalıştırma seçeneklerine başvurabilir.
Daha fazla bilgi için bkz. Azure Batch’te Docker kapsayıcı uygulamaları çalıştırma.
Düğüm türü ve hedefi
Bir havuz oluşturduğunuzda istediğiniz düğüm türlerini ve her biri için hedef numarayı belirtebilirsiniz. İki düğüm türü şunlardır:
- Ayrılmış düğümler. Adanmış bir işlem düğümleri, iş yükleriniz için ayrılmıştır. Bunlar düşük öncelikli düğümlerinden daha pahalıdır, ancak hiçbir zaman etkisiz hale getirilmeyeceği garanti edilir.
- Düşük öncelikli düğümler. Düşük öncelikli düğümler, Batch iş yüklerinizi çalıştırmak için Azure’daki fazla kapasiteden yararlanır. Düşük öncelikli düğümler, adanmış düğümlere göre saat başına daha az maliyetlidir ve önemli işlem gücü gerektiren iş yüklerini etkinleştirir. Daha fazla bilgi için bkz. Batch ile düşük öncelikli VM’ler kullanma.
Azure yetersiz fazla kapasiteye sahip olduğunda düşük öncelikli düğümler ön kullanılabilir. Görevler çalıştırılırken bir düğüm etkisiz hale getirilirse, işlem düğümü yeniden kullanılabilir olduğunda görevler yeniden kuyruğa alınır ve tekrar çalıştırılır. Düşük öncelikli düğümler, iş tamamlama süresinin esnek olduğu ve işin çok sayıda düğüme dağıtıldığı iş yükleri için iyi bir seçenektir. Senaryonuzda düşük öncelikli düğümleri kullanmaya karar vermeden önce, önalım kaynaklı iş kaybının minimum düzeyde olacağından ve kolayca yeniden oluşturulabileceğinden emin olun.
Aynı havuzda hem düşük öncelikli hem de adanmış işlem düğümleri olabilir. Her düğüm türünün, istediğiniz düğüm sayısını belirtebilirsiniz kendi hedef ayarı vardır.
Bazı durumlarda havuzunuz istenilen düğüm sayısına ulaşmayabileceğinden işlem düğümleri sayısı hedef olarak adlandırılır. Örneğin, bir havuz ilk olarak Batch hesabınızın çekirdek kotasına ulaşırsa hedefe ulaşamayabilir. Veya havuza maksimum düğüm sayısını sınırlayan bir otomatik ölçeklendirme formülü uyguladıysanız havuz hedefe ulaşamayabilirsiniz.
Hem düşük öncelikli hem de ayrılmış düğümler için fiyatlandırma bilgileri için bkz. Batch Fiyatlandırması.
Düğüm boyutu
Azure Batch havuzu oluşturduğunuzda, neredeyse Azure'da bulunan tüm VM aileleri ve boyutları arasından seçim yapabilirsiniz. Azure farklı iş yükleri için HPC veya GPU etkin VM boyutları da dahil olmak üzere çeşitli VM boyutları sunar. Düğüm boyutlarının yalnızca bir havuz oluşturulduğunda seçill olduğunu unutmayın. Başka bir deyişle, havuz oluşturulduktan sonra düğüm boyutu değiştirilemez.
Daha fazla bilgi için bkz. Azure Batch havuzunda işlem düğümleri için VM boyutunu seçme.
Otomatik ölçeklendirme ilkesi
Dinamik iş yükleri için havuza otomatik ölçeklendirme ilkesi uygulayabilirsiniz. Batch hizmeti formülünü düzenli aralıklarla değerlendirir ve işlem senaryonun geçerli iş yüküne ve kaynak kullanımına göre havuzdaki düğüm sayısını dinamik olarak ayarlar. Bu, yalnızca ihtiyacınız olan kaynakları kullanarak ve ihtiyacınız olmayanları bırakarak uygulamanızı çalıştırmaya ilişkin genel maliyeti düşürmenizi sağlar.
Bir otomatik ölçeklendirme formülü yazıp bu formülü bir havuzla ilişkilendirerek otomatik ölçeklendirmeyi etkinleştirebilirsiniz. Batch hizmeti, sonraki ölçeklendirme aralığı (sizin yapılandırabileceğiniz bir aralık) için havuzdaki düğümlerin hedef sayısını belirlemek amacıyla bu formülü kullanır. Bir havuzu oluştururken otomatik ölçeklendirme ayarlarını belirtebilir ya da bir havuz üzerinde ölçeklendirmeyi daha sonra etkinleştirebilirsiniz. Ölçeklendirme özellikli bir havuz üzerinde ölçeklendirme ayarlarını da güncelleştirebilirsiniz.
Örneğin bir iş, yürütülecek çok sayıda görev göndermenizi gerektiriyor olabilir. Havuza, kuyruğa alınmış görevlerin mevcut sayısı ve iş içindeki görevlerin tamamlanma oranı temelinde havuzdaki düğüm sayısını ayarlayan bir ölçeklendirme formülü atayabilirsiniz. Batch hizmeti düzenli aralıklarla formülü değerlendirir ve havuzu, iş yükü ile diğer formül ayarlarınız temelinde yeniden boyutlandırır. Hizmet, kuyrukta çok sayıda görev olduğunda düğüm ekler, kuyrukta veya çalışan görev olmadığında ise düğümleri kaldırır.
Ölçeklendirme formülü aşağıdaki ölçümleri temel alabilir:
- Zaman ölçümleri belirtilen saat sayısınca beş dakikada bir toplanan istatistikleri temel alır.
- Kaynak ölçümleri CPU kullanımı, bant genişliği kullanımı, bellek kullanımı ve düğüm sayısını temel alır.
- Görev ölçümleri; Etkin (kuyruğa alınmış) Çalışıyor veya Tamamlandı gibi görev durumlarını temel alır.
Otomatik ölçeklendirme bir havuzdaki işlem düğümlerinin sayısını azalttığında, azaltma işlemi sırasında çalışan görevlerin nasıl ele alınacağını göz önünde bulundurmanız gerekir. Batch bunu karşılamak için formüllerinize dahil etmek için bir düğüm ayırma seçeneği sunar. Örneğin, çalışmakta olan görevlerin hemen durdurulacağını, ardından başka bir düğüm üzerinde yeniden kuyruğa alınacağını veya düğüm havuzdan kaldırılmadan önce bitmesine izin verileceğini belirtebilirsiniz. Düğüm ayırmayı geri alma seçeneğinin veya olarak ayarlandıktan sonra tüm görevler tamamlanana veya tüm görev saklama sürelerinin süresi dolana kadar havuz yeniden boyutlandırma işlemlerinin taskcompletion retaineddata önleyecektir.
Bir uygulamayı otomatik olarak ölçeklendirme hakkında daha fazla bilgi için bkz. Azure Batch havuzunda işlem düğümlerini otomatik olarak ölçeklendirme.
İpucu
İşlem kaynağından en iyi şekilde faydalanabilmek için işin sonundaki düğüm sayısını sıfır olarak ayarlayın ancak çalışan görevlerin bitmesine izin verin.
Görev zamanlama ilkesi
Düğüm başına en fazla görev yapılandırma seçeneği havuzdaki her bir işlem düğümünde paralel olarak çalıştırabilecek en fazla görev sayısını belirler.
Varsayılan yapılandırma bir düğümde tek seferde bir görevin çalışacağını belirtir, ancak bir düğümde aynı anda iki veya daha fazla görev yürütülmesinin faydalı olduğu senaryolar da vardır. Düğüm başına birden fazla görevden nasıl yararlanabileceğinizi görmek için eşzamanlı düğüm görevleri makalesindeki örnek senaryoya bakın.
Batch'in görevleri bir havuza tüm düğümlere tek tek ya da başka bir düğüme atamadan önce her düğümü en fazla görev sayısıyla paketleyip yaymaycazı belirleyen bir dolgu türü de belirtebilirsiniz.
İletişim durumu
Çoğu senaryoda görevler bağımsız olarak çalışır ve birbirleriyle iletişim kurmaları gerekmez. Ancak, MPI senaryolarında olduğu gibi içinde görevlerin iletişim kurması gereken bazı uygulamalar olabilir.
Bir havuzu düğümler arası iletişime izin verecek şekilde yapılandırarak havuz içindeki düğümlerin çalışma zamanında iletişim kurabilirsiniz. Düğümler arası iletişim etkinleştirildiğinde, Cloud Services havuzlarındaki düğümler 1100'den büyük bağlantı noktaları üzerinde birbiriyle iletişim kurabilir ve Sanal Makine Yapılandırması havuzları hiçbir bağlantı noktası üzerinde trafiği kısıtlamaz.
Düğümler arası iletişimin etkinleştirilmesi, düğümlerin kümeler içinde yerleştirilmesini de etkiler ve dağıtım kısıtlamaları nedeniyle havuz içindeki en fazla düğüm sayısını sınırlar. Uygulamanız düğümler arasında iletişim gerektirmiyorsa Batch hizmeti, artan paralel işleme gücünü etkinleştirmek amacıyla birçok kümeden ve veri merkezinden çok sayıda düğümü havuza ayırabilir.
Başlangıç görevleri
İsterseniz, bu düğüm havuza katıldıktan sonra ve bir düğüm her yeniden başlatıldığında ya da yeniden başlatıldığında her düğümde yürütülecek bir başlangıç görevi eklemeye başlayabilirsiniz. Başlangıç görevi, görevlerinizin işlem düğümlerinde çalıştıracağı uygulamaları yükleme gibi görevlerin yürütülmesi için özellikle işlem düğümlerinin hazırlanmasında yararlıdır.
Uygulama paketleri
Havuzdaki işlem düğümlerine dağıtım yapacak uygulama paketlerini belirtebilirsiniz. Uygulama paketleri, görevlerinizin çalıştırdığı uygulamaların dağıtımını ve sürüm oluşturma işlemlerini basitleştirir. Havuz için belirttiğiniz uygulama paketleri, bir düğüm her yeniden başlatıldığında veya görüntüsü yeniden oluşturduğunda o havuza katılan her düğüme yüklenir.
Uygulama paketlerini kullanarak uygulamalarınızı Batch düğümlerine dağıtma hakkında daha fazla bilgi için bkz. Batch uygulama paketleriyle işlem düğümlerine uygulama dağıtımı.
Sanal ağ ve güvenlik duvarı yapılandırması
Batch'te işlem düğümlerinden oluşan bir havuz sağladığınızda, havuzu bir Azure sanal ağının alt ağı ile ilişkilendirebilirsiniz. Azure sanal ağı kullanmak için Batch istemci API'sinin Azure Active Directory (AD) kimlik doğrulamasını kullanması gerekir. Azure AD için Azure Batch desteği, Batch hizmeti çözümlerinin kimliğini Active Directory ile doğrulama makalesinde belirtilmiştir.
Sanal ağ gereksinimleri
Genel gereksinimler
Sanal ağın havuzunuzu oluşturmak için kullandığınız Batch hesabıyla aynı abonelikte ve bölgede olması gerekir.
Havuz için belirtilen alt ağda havuz için hedeflenen VM sayısına yetecek kadar atanmamış IP adresi bulunması gerekir. Başka bir deyişle bu değerin havuzun
targetDedicatedNodesvetargetLowPriorityNodesözelliklerinin toplamı olması gerekir. Alt ağda yeterli sayıda atanmamış IP adresi yoksa havuz işlem düğümlerini kısmen ayırır ve bir yeniden boyutlandırma hatası oluşur.Azure Depolama uç noktanızın sanal ağınızda kullanılan özel DNS sunucuları tarafından çözümlenebilmesi gerekir. Özellikle
<account>.table.core.windows.net,<account>.queue.core.windows.netve<account>.blob.core.windows.netbiçimindeki URL'ler çözümlenebilir.Aynı VNet 'te veya aynı alt ağda birden çok havuz oluşturulabilir (yeterli adres alanı olduğu sürece). Birden çok VNET veya alt ağ arasında tek bir havuz bulunamaz.
Batch havuzunun Sanal Makine yapılandırmasında veya Cloud Services yapılandırmasında olma durumunda göre ek sanal ağ gereksinimleri farklı olabilir. Sanal ağa yapılacak yeni havuz dağıtımları için Sanal Makine yapılandırmasının kullanılması önerilir.
Sanal Makine yapılandırmasındaki havuzlar
Desteklenen ağlar - Yalnızca Azure Resource Manager tabanlı sanal ağlar
Alt ağ kimliği - Alt ağı Batch API'leri ile belirtirken alt ağın kaynak tanımlayıcısını kullanın. Alt ağ tanımlayıcısı şu biçimdedir:
/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}
İzinler - Sanal ağ aboneliği veya kaynak grubu güvenlik ilkelerinin veya kilitlerinin belirli bir kullanıcının sanal ağ yönetim izinlerini kısıtlayıp kısıtlamadığını kontrol edin.
Ek ağ kaynakları -Batch, VNET 'i içeren kaynak grubunda ek ağ kaynakları otomatik olarak oluşturur.
Önemli
Her 100 adanmış veya düşük öncelikli düğümler için Batch oluşturulur: bir ağ güvenlik grubu (NSG), bir genel IP adresi ve bir yük dengeleyici. Bu kaynaklar, aboneliğin kaynak kotalarıyla sınırlıdır. Büyük havuzlar için bu kaynaklardan birinde veya daha fazlasında kota artışı istemeniz gerekebilir.
Ağ güvenlik grupları: Batch varsayılanı
Alt ağın işlem düğümlerinde görev zamanlayabilmek için Batch hizmetinden gelen iletişim isteklerine, Azure Depolama veya diğer kaynaklarla iletişim kurabilmek için de giden iletişim isteklerine iş yükünüzün gerektirdiği gibi izin vermesi gerekir. Batch, Sanal Makine yapılandırmasındaki havuzlar için VM'lere ekli ağ arabirimleri (NIC) düzeyinde NSG'ler ekler. Bu NSG’ler aşağıdaki ek kurallar ile yapılandırılır:
BatchNodeManagementhizmet etiketine karşılık gelen Batch hizmeti IP adreslerinden 29876 ve 29877 numaralı bağlantı noktalarına gelen TCP trafiği.- Uzaktan erişime izin vermek için 22 (Linux düğümleri) veya 3389 (Windows düğümler) numaralı bağlantı noktasından gelen TCP trafiği. Linux üzerindeki belirli türde çok örnekli görevler (MPI gibi) için Batch işlem düğümlerini içeren alt ağdaki IP’ler için SSH bağlantı noktası 22 trafiğine de izin vermeniz gerekir. Bu, alt ağ düzeyindeki NSG kurallarına göre engellenebilir (aşağıya bakın).
- Sanal ağa giden herhangi bir bağlantı noktasında giden trafik. Bu, alt ağ düzeyindeki NSG kurallarına göre değiştirilebilir (aşağıya bakın).
- İnternete giden herhangi bir bağlantı noktasında giden trafik. Bu, alt ağ düzeyindeki NSG kurallarına göre değiştirilebilir (aşağıya bakın).
Önemli
Batch ile yapılandırılmış NSG 'lerdeki gelen veya giden kuralları değiştirirseniz veya eklerseniz dikkatli olun. Belirtilen alt ağdaki işlem düğümlerine yönelik iletişim bir NSG tarafından reddedilirse Batch hizmeti, işlem düğümlerinin durumunu kullanılamıyor olarak ayarlar. Ayrıca, bir havuzu silme gibi kullanıcı tarafından başlatılan eylemlerin bir sonucu olarak kaynakların temizlenmesini önleyebildiğinden, toplu Işlem tarafından oluşturulan herhangi bir kaynağa kaynak kilidi uygulanmamalıdır.
Ağ güvenlik grupları: Alt ağ düzeyi kuralları belirtme
Toplu işlem düğümlerinin dağıtıldığı alt ağ ile ilişkili bir NSG varsa veya varsayılan değerleri geçersiz kılmak için özel NSG kuralları uygulamak isterseniz, bu NSG 'yi aşağıdaki tablolarda gösterilen en az gelen ve giden güvenlik kurallarıyla yapılandırmanız gerekir.
3389 (Windows) veya 22 (Linux) numaralı bağlantı noktalarına gelen trafiği yalnızca dış kaynaklardaki işlem düğümlerine uzaktan erişim izni vermeniz gerekiyorsa yapılandırın. Belirli MPI çalışma zamanlarıyla çoklu örnek görevleri için destek istiyorsanız Linux’ta 22 numaralı bağlantı noktası kurallarını etkinleştirmeniz gerekir. Havuz işlem düğümlerinin kullanılabilir olması için bu bağlantı noktalarındaki trafiğe kesinlikle izin verilmesi gerekmez.
Uyarı
Batch hizmeti IP adresleri zamanla değişebilir. Bu nedenle, BatchNodeManagement Aşağıdaki tablolarda gösterilen NSG kuralları için hizmet etiketi (veya bölgesel bir varyant) kullanmanızı kesinlikle öneririz. NSG kurallarını belirli Batch hizmeti IP adresleriyle doldurmaktan kaçının.
Gelen güvenlik kuralları
| Kaynak IP adresleri | Kaynak hizmeti etiketi | Kaynak bağlantı noktaları | Hedef | Hedef bağlantı noktaları | Protokol | Eylem |
|---|---|---|---|---|---|---|
| Yok | BatchNodeManagementhizmet etiketi (bölgesel bir varyant kullanılıyorsa, Batch hesabınızla aynı bölgede) |
* | Herhangi biri | 29876-29877 | TCP | İzin Ver |
| Gerekirse Linux çok örnekli görevler için işlem düğümlerine ve/veya işlem düğümü alt ağlarına uzaktan erişim için kullanıcı kaynağı IP’leri. | Yok | * | Herhangi biri | 3389 (Windows), 22 (Linux) | TCP | İzin Ver |
Giden güvenlik kuralları
| Kaynak | Kaynak bağlantı noktaları | Hedef | Hedef hizmet etiketi | Hedef bağlantı noktaları | Protokol | Eylem |
|---|---|---|---|---|---|---|
| Herhangi biri | * | Hizmet etiketi | Storage (bölgesel varyant kullanılıyorsa Batch hesabınızla aynı bölgede) |
443 | TCP | İzin Ver |
| Herhangi biri | * | Hizmet etiketi | BatchNodeManagement (bölgesel varyant kullanılıyorsa Batch hesabınızla aynı bölgede) |
443 | TCP | İzin Ver |
BatchNodeManagementIş Yöneticisi görevleri gibi işlem düğümlerinde Batch hizmetine iletişim için giden bağlantısı gereklidir.
Bulut Hizmetleri yapılandırmasındaki havuzlar
Uyarı
Cloud Services yapılandırma havuzları kullanım dışıdır. Lütfen bunun yerine sanal makine yapılandırma havuzlarını kullanın.
Desteklenen sanal ağlar - Yalnızca klasik sanal ağlar
Alt ağ kimliği - Alt ağı Batch API'leri ile belirtirken alt ağın kaynak tanımlayıcısını kullanın. Alt ağ tanımlayıcısı şu biçimdedir:
/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.ClassicNetwork /virtualNetworks/{network}/subnets/{subnet}
İzinler - Microsoft Azure Batch hizmet sorumlusu Classic Virtual Machine Contributor belirtilen sanal ağ için Azure rolüne sahip olmalıdır.
Ağ güvenlik grupları
İşlem düğümlerinde görev zamanlayabilmek için alt ağın Batch hizmetinden gelen iletişim isteklerine, Azure Depolama veya diğer kaynaklarla iletişim kurabilmek için de giden iletişim isteklerine izin vermesi gerekir.
Batch iletişimi yalnızca Batch IP adreslerinden havuz düğümlerine gelen iletişime izin verecek şekilde yapılandırdığından NSG belirtmenize gerek yoktur. Ancak belirtilen alt ağ ile ilişkilendirilmiş NSG'ler ve/veya güvenlik duvarı varsa gelen ve giden güvenlik kurallarını aşağıdaki tablolarda gösterilen şekilde yapılandırın. Belirtilen alt ağdaki işlem düğümlerine yönelik iletişim bir NSG tarafından reddedilirse Batch hizmeti, işlem düğümlerinin durumunu kullanılamıyor olarak ayarlar.
Windows için 3389 numaralı bağlantı noktalarına gelen trafiği yalnızca havuzdaki düğümlere RDP erişim izni vermeniz gerekiyorsa yapılandırın. Bu, havuz düğümlerinin kullanılabilir olması için gerekli değildir.
Gelen güvenlik kuralları
| Kaynak IP adresleri | Kaynak bağlantı noktaları | Hedef | Hedef bağlantı noktaları | Protokol | Eylem |
|---|---|---|---|---|---|
| Herhangi biri Bunun için "tümüne izin ver" izni gerekli olsa da Batch hizmeti her düğümün düzeyinde Batch harici IP adreslerini filtreleyen bir ACL kuralı uygular. |
* | Herhangi biri | 10100, 20100, 30100 | TCP | İzin Ver |
| İşlem düğümlerine RDP erişimi izni vermek için isteğe bağlı. | * | Herhangi biri | 3389 | TCP | İzin Ver |
Giden güvenlik kuralları
| Kaynak | Kaynak bağlantı noktaları | Hedef | Hedef bağlantı noktaları | Protokol | Eylem |
|---|---|---|---|---|---|
| Herhangi biri | * | Herhangi biri | 443 | Herhangi biri | İzin Ver |
Bir sanal ağda Batch havuzu oluşturma hakkında daha fazla bilgi için bkz. Sanal ağınızda sanal makine havuzu oluşturma.
İpucu
Düğümlere erişmek için kullanılan genel IP adreslerinin değişmesini sağlamak için, denetiminde belirtilen genel IP adreslerine sahip bir havuz oluşturabilirsiniz.
Havuz ve işlem düğümü ömrü
Sanal ağ çözüm Azure Batch, havuzların nasıl ve ne zaman oluşturulacaklarını ve bu havuzlar içindeki işlem düğümlerinin ne kadar süreyle kullanılabilir durumda tutulacaklarını belirtmeniz gerekir.
Spektrumun bir ucunda, gönderdiğiniz her iş için bir havuz oluşturabilir ve görevlerin yürütülmesi biter bitmez havuzu silebilirsiniz. Düğümler yalnızca ihtiyaç duyulduktan sonra ve boşta olduğunda kapatılmaları nedeniyle bu, kullanımı en üst düzeye çıkartır. Bu, işin düğümlerin ayrılırken beklemesi gerektiğini ifade ederken, düğümler tek tek ayrılır ve başlangıç görevi tamamlandıktan hemen sonra görevlerin yürütme için zamanlandığına dikkat etmek önemlidir. Batch, görevler düğümlere atamadan önce havuzdaki tüm düğümlerin kullanılabilir olmasını beklemez. Böylece kullanılabilir tüm düğümlerden en iyi şekilde faydalanılmasını sağlar.
Spektrumun diğer ucunda, işlerin hemen başlatılması en yüksek önceliğe sahipse işler gönderilmeden önce bir havuz oluşturabilir ve bu havuzun düğümlerini kullanıma sunabilirsiniz. Bu senaryoda görevler hemen başlayabilir, ancak görevlerin atanmasını beklerken düğümler boşta kalmaya devam edebilir.
Birleşik yaklaşım genellikle değişken ancak devam eden yükü işleme için kullanılır. Birden çok işin gönder olduğu bir havuza sahip olabilir ve düğüm sayısını iş yüküne göre yukarı veya aşağı ölçeklendirebilirsiniz. Mevcut yüke bağlı olarak reaktif bir şekilde ya da yük öngörülebiliyorsa proaktif olarak bu işlemi yapabilirsiniz. Daha fazla bilgi için bkz. Otomatik ölçeklendirme ilkesi.
Otomatik havuzlar
Otomatik havuz, havuzda çalıştırılan işlerden önce oluşturulmak yerine bir iş göndererek Batch hizmeti tarafından oluşturulan bir havuz olur. Batch hizmeti, belirttiğiniz özelliklere göre otomatik havuzun ömrünü yönetir. Bu havuzlar genellikle işleri tamamlandıktan sonra otomatik olarak silinecek şekilde ayarlanır.
Sertifikalar ile güvenlik
Azure Depolama hesabı anahtarı gibi, görevler için hassas bilgileri şifrelerken ya da bunların şifrelerini çözerken genelde sertifikalar kullanmanız gerekir. Bunu desteklemek için düğümlere sertifikalar yükleyebilirsiniz. Şifrelenmiş parolalar komut satırı parametreleri aracılığıyla düğümlere geçirilir ya da görev kaynaklarından birine eklenir ve yüklü sertifikalar bunların şifrelerini çözmek için kullanılabilir.
Batch hesabına bir sertifika eklemek için Sertifika ekle işlemini (Batch REST) ya da CertificateOperations.CreateCertificate yöntemini (Batch .NET) kullanırsınız. Sonra sertifikayı yeni ya da mevcut bir havuzla ilişkilendirebilirsiniz.
Sertifika bir havuzla ilişkilendirildiğinde, Batch hizmeti havuzdaki her düğüme sertifikayı yükler. Batch hizmeti, düğüm başlatıldığında, herhangi bir görevi başlatmadan önce (başlangıç görevi ve iş yöneticisi görevi dahil) uygun sertifikaları yüklür.
Mevcut bir havuza sertifika eklersiniz, sertifikanın düğümlere uygulanması için işlem düğümlerini yeniden başlatmanız gerekir.