Azure İşlevleri ağ seçenekleri
Bu makalede, Azure İşlevleri barındırma seçeneklerinde kullanılabilen ağ özellikleri açıklanmaktadır. Aşağıdaki tüm ağ seçenekleri, İnternet'e yönlendirilebilir adresleri kullanmadan kaynaklara erişmenizi veya bir işlev uygulamasına İnternet erişimini kısıtlamanızı sağlar.
Barındırma modellerinin farklı ağ yalıtımı düzeyleri vardır. Doğru olanı seçmek, ağ yalıtımı gereksinimlerinizi karşılamanıza yardımcı olur.
Özellik | Tüketim planı | Esnek Tüketim planı | Premium plan | Ayrılmış plan/ASE | Container Apps* |
---|---|---|---|---|---|
Gelen IP kısıtlamaları | ✅Evet | ✅Evet | ✅Evet | ✅Evet | ✅Evet |
Gelen Özel Uç Noktalar | ❌Hayır | ✅Evet | ✅Evet | ✅Evet | ❌Hayır |
Sanal ağ tümleştirmesi | ❌Hayır | ✅Evet (Bölgesel) | ✅Evet (Bölgesel) | ✅Evet (Bölgesel ve Ağ Geçidi) | ✅Evet |
Sanal ağ tetikleyicileri (HTTP olmayan) | ❌Hayır | ✅Evet | ✅Evet | ✅Evet | ✅Evet |
Karma bağlantılar (yalnızca Windows) | ❌Hayır | ❌ Hayır | ✅Evet | ✅Evet | ❌Hayır |
Giden IP kısıtlamaları | ❌Hayır | ✅Evet | ✅Evet | ✅Evet | ✅Evet |
*Daha fazla bilgi için bkz . Azure Container Apps ortamında ağ.
Hızlı başlangıç kaynakları
Azure İşlevleri ağ senaryolarını hızla kullanmaya başlamak için aşağıdaki kaynakları kullanın. Bu kaynaklara makale boyunca başvurulur.
- ARM şablonları, Bicep dosyaları ve Terraform şablonları:
- Yalnızca ARM şablonları:
- Azure Depolama özel uç noktalarıyla işlev uygulaması.
- Sanal Ağ Tümleştirmesi ile Azure işlev uygulaması.
- Öğreticiler:
Gelen ağ özellikleri
Aşağıdaki özellikler, işlev uygulamanıza gelen istekleri filtrelemenize olanak tanır.
Gelen erişim kısıtlamaları
Uygulamanıza erişim izni verilen veya erişimi reddedilen IP adreslerinin öncelik sırasına göre bir listesini tanımlamak için erişim kısıtlamalarını kullanabilirsiniz. Liste IPv4 ve IPv6 adreslerini veya hizmet uç noktalarını kullanan belirli sanal ağ alt ağlarını içerebilir. Bir veya birden fazla girdi olduğunda, listenin sonunda örtük bir "tümünü reddet" girdisi vardır. IP kısıtlamaları tüm işlev barındırma seçenekleriyle çalışır.
Erişim kısıtlamaları Esnek Tüketim planı, Elastik Premium, Tüketim ve App Service'te kullanılabilir.
Not
Ağ kısıtlamaları varken, yalnızca sanal ağınızdan veya Azure portalına erişmek için kullandığınız makinenin IP adresini Güvenilir Alıcılar listesine yerleştirdiğinizde dağıtabilirsiniz. Ancak, portalı kullanarak işlevi yönetmeye devam edebilirsiniz.
Daha fazla bilgi edinmek için bkz. Azure Uygulaması Hizmet statik erişim kısıtlamaları.
Özel uç noktalar
Azure Özel Uç Nokta, Azure Özel Bağlantı destekli bir hizmete özel ve güvenli bir şekilde bağlanmanızı sağlayan ağ arabirimidir. Özel Uç Nokta, sanal ağınızdaki bir özel IP adresini kullanır ve bu sayede hizmeti sanal ağınıza getirir.
Premium ve App Service planlarında barındırılan işlevleriniz için Özel Uç Nokta kullanabilirsiniz.
Özel Uç Noktalara çağrı yapmak istiyorsanız, DNS aramalarınızın özel uç noktaya çözümlenmesinden emin olmanız gerekir. Bu davranışı aşağıdaki yollardan biriyle zorunlu kılabilirsiniz:
- Azure DNS özel bölgeleriyle tümleştirme. Sanal ağınızda özel bir DNS sunucusu olmadığında bu işlem otomatik olarak yapılır.
- Uygulamanız tarafından kullanılan DNS sunucusunda özel uç noktayı yönetin. Bunu yapmak için özel uç nokta adresini bilmeniz ve ardından A kaydı kullanarak ulaşmaya çalıştığınız uç noktayı bu adrese işaret etmeniz gerekir.
- Kendi DNS sunucunuzu Azure DNS özel bölgelerine iletecek şekilde yapılandırın.
Daha fazla bilgi edinmek için bkz . Web Apps için Özel Uç Noktaları kullanma.
Depolama veya hizmet veri yolu gibi özel uç nokta bağlantısı olan diğer hizmetleri çağırmak için uygulamanızı özel uç noktalara giden çağrılar yapacak şekilde yapılandırdığından emin olun. İşlev uygulamanızın depolama hesabıyla özel uç noktaları kullanma hakkında daha fazla bilgi için bkz . Depolama hesabınızı bir sanal ağ ile kısıtlama.
Hizmet uç noktaları
Hizmet uç noktalarını kullanarak, daha yüksek bir güvenlik düzeyi sağlamak için birçok Azure hizmetini seçili sanal ağ alt ağlarıyla kısıtlayabilirsiniz. Bölgesel sanal ağ tümleştirmesi, işlev uygulamanızın hizmet uç noktalarıyla güvenliği sağlanan Azure hizmetlerine ulaşmasını sağlar. Bu yapılandırma, sanal ağ tümleştirmeyi destekleyen tüm planlarda desteklenir. Uç nokta güvenliği sağlanan bir hizmete erişmek için aşağıdakileri yapmanız gerekir:
- Belirli bir alt ağa bağlanmak için işlev uygulamanızla bölgesel sanal ağ tümleştirmesini yapılandırın.
- Hedef hizmete gidin ve tümleştirme alt ağıyla hizmet uç noktalarını yapılandırın.
Daha fazla bilgi edinmek için bkz . Sanal ağ hizmet uç noktaları.
Hizmet Uç Noktalarını Kullanma
Belirli bir alt ağa erişimi kısıtlamak için Sanal Ağ türüne sahip bir kısıtlama kuralı oluşturun. Daha sonra erişime izin vermek veya erişimi reddetmek istediğiniz aboneliği, sanal ağı ve alt ağı seçebilirsiniz.
Seçtiğiniz alt ağ için hizmet uç noktaları henüz etkinleştirilmemişseMicrosoft.Web
, Eksik Microsoft.Web hizmeti uç noktalarını yoksay onay kutusunu seçmediğiniz sürece bunlar otomatik olarak etkinleştirilir. Uygulamada hizmet uç noktalarını etkinleştirmek isteyebileceğiniz ancak alt ağı etkinleştirmemek isteyebileceğiniz senaryo, temel olarak bunları alt ağda etkinleştirme izinlerinizin olup olmadığına bağlıdır.
Alt ağda hizmet uç noktalarını etkinleştirmek için başka birine ihtiyacınız varsa Eksik Microsoft.Web hizmet uç noktalarını yoksay onay kutusunu seçin. Uygulamanız, hizmet uç noktaları için daha sonra alt ağda etkinleştirilmelerini beklemektedir.
Bir App Service Ortamı çalışan uygulamalara erişimi kısıtlamak için hizmet uç noktalarını kullanamazsınız. Uygulamanız bir App Service Ortamı olduğunda, IP erişim kuralları uygulayarak uygulamaya erişimi denetleyebilirsiniz.
Hizmet uç noktalarını ayarlamayı öğrenmek için bkz. Özel site erişimi Azure İşlevleri oluşturma.
Sanal ağ tümleştirmesi
Sanal ağ tümleştirmesi, işlev uygulamanızın bir sanal ağ içindeki kaynaklara erişmesini sağlar. Azure İşlevleri iki tür sanal ağ tümleştirmesini destekler:
- Temel, Standart, Premium, Premium v2 ve Premium v3 içeren ayrılmış işlem fiyatlandırma katmanları.
- Ayrılmış destek altyapısıyla doğrudan sanal ağınıza dağıtılan ve Yalıtılmış ve Yalıtılmış v2 fiyatlandırma katmanlarını kullanan App Service Ortamı.
Sanal ağ tümleştirme özelliği, Azure Uygulaması Hizmeti ayrılmış işlem fiyatlandırma katmanlarında kullanılır. Uygulamanız bir App Service Ortamı ise, zaten bir sanal ağdadır ve aynı sanal ağdaki kaynaklara ulaşmak için sanal ağ tümleştirme özelliğinin kullanılmasını gerektirmez. Tüm ağ özellikleri hakkında daha fazla bilgi için bkz . App Service ağ özellikleri.
Sanal ağ tümleştirmesi, uygulamanızın sanal ağınızdaki kaynaklara erişmesine izin verir, ancak sanal ağdan uygulamanıza gelen özel erişim izni vermez. Özel site erişimi, bir uygulamanın yalnızca azure sanal ağı içinde olduğu gibi özel bir ağ üzerinden erişilebilir olmasını ifade eder. Sanal ağ tümleştirmesi yalnızca uygulamanızdan sanal ağınıza giden çağrılar yapmak için kullanılır. Sanal ağ tümleştirme özelliği, aynı bölgedeki sanal ağlarla ve diğer bölgelerdeki sanal ağlarla kullanıldığında farklı davranır. Sanal ağ tümleştirme özelliğinin iki varyasyonu vardır:
- Bölgesel sanal ağ tümleştirmesi: Aynı bölgedeki sanal ağlara bağlandığınızda, tümleştirdiğiniz sanal ağda ayrılmış bir alt ağınız olmalıdır.
- Ağ geçidi için gerekli sanal ağ tümleştirmesi: Diğer bölgelerdeki sanal ağlara veya aynı bölgedeki klasik bir sanal ağa doğrudan bağlandığınızda, hedef sanal ağda oluşturulmuş bir Azure Sanal Ağ ağ geçidine ihtiyacınız vardır.
Sanal ağ tümleştirme özelliği:
- Desteklenen bir Temel veya Standart, Premium, Premium v2, Premium v3 veya Elastik Premium App Service fiyatlandırma katmanı gerektirir.
- TCP ve UDP'i destekler.
- App Service uygulamaları ve işlev uygulamalarıyla çalışır.
Sanal ağ tümleştirmenin desteklemediği bazı şeyler vardır, örneğin:
- Sürücü takma.
- Windows Server Active Directory etki alanına katılma.
- NetBIOS.
Ağ geçidi için gerekli sanal ağ tümleştirmesi yalnızca hedef sanal ağdaki veya eşleme veya VPN'lerle hedef sanal ağa bağlı ağlardaki kaynaklara erişim sağlar. Ağ geçidi için gerekli sanal ağ tümleştirmesi, Azure ExpressRoute bağlantılarında kullanılabilen kaynaklara erişimi etkinleştirmez veya hizmet uç noktalarıyla çalışmaz.
Hangi sürüm kullanılırsa kullansın, sanal ağ tümleştirmesi uygulamanızın sanal ağınızdaki kaynaklara erişmesini sağlar, ancak sanal ağdan uygulamanıza gelen özel erişim izni vermez. Özel site erişimi, uygulamanızın yalnızca azure sanal ağı içinde olduğu gibi özel bir ağ üzerinden erişilebilir olmasını ifade eder. Sanal ağ tümleştirmesi yalnızca uygulamanızdan sanal ağınıza giden çağrılar yapmak içindir.
Azure İşlevleri'da sanal ağ tümleştirmesi, App Service web uygulamalarıyla paylaşılan altyapıyı kullanır. İki sanal ağ tümleştirmesi türü hakkında daha fazla bilgi edinmek için bkz:
Sanal ağ tümleştirmesini ayarlamayı öğrenmek için bkz . Sanal ağ tümleştirmesini etkinleştirme.
Sanal ağ tümleştirmesini etkinleştirme
Azure portalındaki işlev uygulamanızda Ağ'ı ve ardından Sanal Ağ Tümleştirmesi'nin altında Yapılandırmak için buraya tıklayın'ı seçin.
Sanal ağ ekle'yi seçin.
Açılan liste, aboneliğinizdeki aynı bölgedeki tüm Azure Resource Manager sanal ağlarını içerir. Tümleştirmek istediğiniz sanal ağı seçin.
İşlevler Esnek Tüketim ve Elastik Premium planları yalnızca bölgesel sanal ağ tümleştirmesini destekler. Sanal ağ aynı bölgedeyse yeni bir alt ağ oluşturun veya boş, önceden var olan bir alt ağı seçin.
Başka bir bölgedeki bir sanal ağı seçmek için noktadan siteye etkin bir sanal ağ geçidi sağlanmış olmalıdır. Bölgeler arasında sanal ağ tümleştirmesi yalnızca Ayrılmış planlar için desteklenir, ancak genel eşlemeler bölgesel sanal ağ tümleştirmesiyle çalışır.
Tümleştirme sırasında uygulamanız yeniden başlatılır. Tümleştirme tamamlandığında, tümleştirdiğiniz sanal ağda ayrıntıları görürsünüz. Varsayılan olarak, Tümünü Yönlendir etkindir ve tüm trafik sanal ağınıza yönlendirilir.
Yalnızca özel trafiğinizin (RFC1918 trafik) yönlendirilmesi istiyorsanız lütfen app service belgelerindeki adımları izleyin.
Bölgesel sanal ağ tümleştirmesi
Bölgesel sanal ağ tümleştirmesini kullanmak, uygulamanızın aşağıdakilere erişmesini sağlar:
- Uygulamanızla aynı sanal ağdaki kaynaklar.
- Uygulamanızın tümleşik olduğu sanal ağ ile eşlenen sanal ağlardaki kaynaklar.
- Hizmet uç noktası güvenliği sağlanan hizmetler.
- Azure ExpressRoute bağlantıları genelindeki kaynaklar.
- Azure ExpressRoute bağlantılarını içeren eşlenmiş bağlantılar arasındaki kaynaklar.
- Özel uç noktalar
Bölgesel sanal ağ tümleştirmesini kullandığınızda aşağıdaki Azure ağ özelliklerini kullanabilirsiniz:
- Ağ güvenlik grupları (NSG): Tümleştirme alt ağınıza yerleştirilen bir NSG ile giden trafiği engelleyebilirsiniz. Uygulamanıza gelen erişim sağlamak için sanal ağ tümleştirmesini kullanamadığınızdan gelen kurallar geçerli değildir.
- Yönlendirme tabloları (UDF'ler): Giden trafiği istediğiniz yere göndermek için tümleştirme alt asına bir yönlendirme tablosu yerleştirebilirsiniz.
Not
Tüm giden trafiğinizi sanal ağınıza yönlendirdiğinizde, tümleştirme alt ağınıza uygulanan NSG'lere ve UDF'lere tabi olur. Sanal ağ tümleştirildiğinde, trafiği başka bir yere yönlendiren yollar sağlamadığınız sürece işlev uygulamanızın genel IP adreslerine giden trafiği uygulama özelliklerinizde listelenen adreslerden gönderilmeye devam eder.
Bölgesel sanal ağ tümleştirmesi 25 numaralı bağlantı noktasını kullanamaz.
Esnek Tüketim planı için:
- Bu yönergeleri izleyerek Azure kaynak sağlayıcısının
Microsoft.App
aboneliğiniz için etkinleştirildiğinden emin olun. Flex Consumption uygulamaları için gereken alt ağ temsilcisidirMicrosoft.App/environments
. - Flex Consumption uygulamaları için gereken alt ağ temsilcisidir
Microsoft.App/environments
. Bu, farklı bir temsilci seçme gereksinimi olan Elastik Premium ve App Service'ten yapılan bir değişikliktir. - Uygulama 40'ın ötesine ölçeklendirilse bile bir işlev uygulaması için en fazla 40 IP adresi kullanılmasını planlayabilirsiniz. Örneğin, aynı alt ağ ile tümleştirilmiş VNet olacak on beş Esnek Tüketim işlevi uygulamanız varsa, en çok kullanılan 15x40 = 600 IP adresi için plan yapabilirsiniz. Bu sınır değiştirilebilir ve uygulanmaz.
- Alt ağ başka amaçlarla (özel veya hizmet uç noktaları gibi) veya başka bir barındırma planına veya hizmetine temsilci olarak atanamaz. Aynı alt ağı birden çok Flex Consumption uygulamasıyla paylaşabilirsiniz ancak ağ kaynakları bu işlev uygulamaları arasında paylaşılır ve bu da bir işlev uygulamasının aynı alt ağdaki diğer kullanıcıların performansını etkilemesine neden olabilir.
Sanal ağ kullanımıyla ilgili bazı sınırlamalar vardır:
- Bu özellik Flex Consumption, Elastic Premium ve App Service Premium V2 ve Premium V3 ile kullanılabilir. Standart'ta da kullanılabilir ancak yalnızca daha yeni App Service dağıtımlarında kullanılabilir. Daha eski bir dağıtımdaysanız bu özelliği yalnızca Premium V2 App Service planından kullanabilirsiniz. Bu özelliği Standart App Service planında kullanabileceğinizden emin olmak istiyorsanız, uygulamanızı Premium V3 App Service planında oluşturun. Bu planlar yalnızca en yeni dağıtımlarımızda desteklenir. Bundan sonra isterseniz ölçeği azaltabilirsiniz.
- Tümleştirme alt ağı yalnızca bir App Service planı tarafından kullanılabilir.
- Bu özellik, bir App Service Ortamı olan Yalıtılmış plan uygulamaları tarafından kullanılamaz.
- Bu özellik, Azure Resource Manager sanal ağında /28 veya daha büyük kullanılmayan bir alt ağ gerektirir.
- Uygulama ve sanal ağ aynı bölgede olmalıdır.
- Tümleşik bir uygulamayla sanal ağı silemezsiniz. Sanal ağı silmeden önce tümleştirmeyi kaldırın.
- App Service planı başına en fazla iki bölgesel sanal ağ tümleştirmesine sahip olabilirsiniz. Aynı App Service planındaki birden çok uygulama aynı tümleştirme alt akını kullanabilir.
- Bölgesel sanal ağ tümleştirmesi kullanan bir uygulama varken bir uygulamanın veya planın aboneliğini değiştiremezsiniz.
Alt ağlar
Sanal ağ tümleştirmesi ayrılmış bir alt ağa bağlıdır. Bir alt ağ sağladığınızda, Azure alt ağı başlangıçtan itibaren beş IP kaybeder. Elastik Premium ve App Service planları için, her plan örneği için tümleştirme alt ağından bir adres kullanılır. Uygulamanızı dört örneğe ölçeklendirdiğinizde dört adres kullanılır. Esnek Tüketim için bu geçerli değildir ve örnekler IP adreslerini paylaşır.
Ölçeği artırdığınızda veya azalttığınızda, gerekli adres alanı kısa bir süre için iki katına çıkar. Bu, belirli bir alt ağ boyutu için gerçek, kullanılabilir desteklenen örnekleri etkiler. Aşağıdaki tabloda hem CIDR bloğu başına kullanılabilir en yüksek adres sayısı hem de bunun yatay ölçek üzerindeki etkisi gösterilmektedir:
CIDR blok boyutu | En fazla kullanılabilir adres | Maksimum yatay ölçek (örnekler)* |
---|---|---|
/28 | 11 | 5 |
/27 | 27 | 13 |
/26 | 59 | 29 |
*Bir noktada boyut veya SKU'da ölçeği artırmanız veya azaltmanız gerektiğini varsayar.
Atamadan sonra alt ağ boyutu değiştirilemediğinden, uygulamanızın ulaşabileceği ölçeklere uyum sağlamak için yeterince büyük bir alt ağ kullanın. İşlevler Elastik Premium planlarının alt ağ kapasitesiyle ilgili sorunları önlemek için Windows için 256 adres içeren bir /24 ve Linux için 64 adresi olan bir /26 kullanmanız gerekir. Sanal ağ ile tümleştirmenin bir parçası olarak Azure portalında alt ağlar oluştururken Windows ve Linux için sırasıyla en az /24 ve /26 boyutu gerekir.
Başka bir plandaki uygulamalarınızın başka bir plandaki uygulamalar tarafından zaten bağlı olan bir sanal ağa ulaşmasını istiyorsanız, önceden var olan sanal ağ tümleştirmesi tarafından kullanılandan farklı bir alt ağ seçin.
Bu özellik, özel kapsayıcılar dahil olmak üzere hem Windows hem de Linux uygulamaları için tam olarak desteklenir. Tüm davranışlar Windows uygulamaları ve Linux uygulamaları arasında aynı şekilde davranır.
Ağ güvenlik grupları
Sanal ağdaki kaynaklara gelen ve giden trafiği engellemek için ağ güvenlik gruplarını kullanabilirsiniz. Bölgesel sanal ağ tümleştirmesi kullanan bir uygulama, sanal ağınızdaki veya İnternet'teki kaynaklara giden trafiği engellemek için bir ağ güvenlik grubu kullanabilir. Genel adreslere giden trafiği engellemek için Tümünü Yönlendir özelliği etkin sanal ağ tümleştirmesine sahip olmanız gerekir. Sanal ağ tümleştirmesi yalnızca uygulamanızdan giden trafiği etkilediğinden NSG'deki gelen kurallar uygulamanıza uygulanmaz.
Uygulamanıza gelen trafiği denetlemek için Erişim Kısıtlamaları özelliğini kullanın. Tümleştirme alt ağınıza uygulanan bir NSG, tümleştirme alt ağınıza uygulanan yollardan bağımsız olarak etkindir. İşlev uygulamanız Tümünü Yönlendir özelliği etkin sanal ağ ile tümleştirilmişse ve tümleştirme alt ağınızda genel adres trafiğini etkileyen herhangi bir yolunuz yoksa, giden trafiğinizin tümü tümleştirme alt ağınıza atanmış NSG'lere tabidir. Tümünü Yönlendir etkinleştirilmediğinde NSG'ler yalnızca RFC1918 trafiğe uygulanır.
Rotalar
Uygulamanızdan giden trafiği istediğiniz yere yönlendirmek için yönlendirme tablolarını kullanabilirsiniz. Varsayılan olarak, yönlendirme tabloları yalnızca RFC1918 hedef trafiğinizi etkiler. Tümünü Yönlendir etkinleştirildiğinde, tüm giden çağrılarınız etkilenir. Tümünü Yönlendir devre dışı bırakıldığında, yol tablolarınızdan yalnızca özel trafik (RFC1918) etkilenir. Tümleştirme alt ağınızda ayarlanan yollar, gelen uygulama isteklerinin yanıtlarını etkilemez. Yaygın hedefler güvenlik duvarı cihazlarını veya ağ geçitlerini içerebilir.
Tüm giden trafiği şirket içinde yönlendirmek istiyorsanız, tüm giden trafiği ExpressRoute ağ geçidinize göndermek için bir yönlendirme tablosu kullanabilirsiniz. Trafiği bir ağ geçidine yönlendirirseniz, yanıtları geri göndermek için dış ağdaki yolları ayarladığınızdan emin olun.
Sınır Ağ Geçidi Protokolü (BGP) yolları da uygulama trafiğinizi etkiler. ExpressRoute ağ geçidi gibi bir ağ geçidinden BGP yollarınız varsa, uygulama giden trafiğiniz etkilenir. Varsayılan olarak, BGP yolları yalnızca RFC1918 hedef trafiğinizi etkiler. İşlev uygulamanız Tümünü Yönlendir özelliği etkin sanal ağ ile tümleştirildiğinde, giden tüm trafik BGP yollarınızdan etkilenebilir.
Azure DNS özel bölgeleri
Uygulamanız sanal ağınızla tümleştirildikten sonra, sanal ağınızın yapılandırıldığı DNS sunucusunu kullanır ve sanal ağa bağlı Azure DNS özel bölgeleriyle çalışır.
Depolama hesabınızı bir sanal ağ ile kısıtlama
Not
Depolama hesabında özel uç noktaların etkinleştirildiği bir işlev uygulamasını hızla dağıtmak için lütfen şu şablona bakın: Azure Depolama özel uç noktalarına sahip işlev uygulaması.
İşlev uygulaması oluşturduğunuzda Blob, Kuyruk ve Tablo depolamayı destekleyen genel amaçlı bir Azure Depolama hesabı oluşturmanız veya bu hesaba bağlanmanız gerekir. Bu depolama hesabını, hizmet uç noktaları veya özel uç noktalarla güvenliği sağlanan bir hesapla değiştirebilirsiniz.
Bu özellik Ayrılmış (App Service) planındaki tüm Windows ve Linux sanal ağ destekli SKU'lar ve Esnek Premium planlarının yanı sıra Esnek Tüketim planı için desteklenir. Tüketim planı desteklenmez. Özel ağ ile sınırlı bir depolama hesabıyla işlev ayarlamayı öğrenmek için bkz . Depolama hesabınızı sanal ağ ile kısıtlama.
Key Vault başvurularını kullanma
Azure İşlevleri uygulamanızda kod değişikliğine gerek kalmadan Azure Key Vault'taki gizli dizileri kullanmak için Azure Key Vault başvurularını kullanabilirsiniz. Azure Key Vault, erişim ilkeleri ve denetim geçmişi üzerinde tam kontrol sahibi olarak merkezi gizli dizi yönetimi sağlar.
Uygulama için sanal ağ tümleştirmesi yapılandırıldıysa, ağ kısıtlanmış bir kasadan gizli dizileri almak için Key Vault başvuruları kullanılabilir.
Sanal ağ tetikleyicileri (HTTP olmayan)
Şu anda, sanal ağ içinden HTTP olmayan tetikleyici işlevlerini iki yoldan biriyle kullanabilirsiniz:
- İşlev uygulamanızı Elastik Premium planında çalıştırın ve sanal ağ tetikleyicisi desteğini etkinleştirin.
- İşlev uygulamanızı Flex Consumption, App Service planında veya App Service Ortamı çalıştırın.
Sanal ağ tetikleyicileri ile elastik Premium planı
Elastik Premium planı, bir sanal ağ içindeki hizmetler tarafından tetiklenen işlevler oluşturmanıza olanak tanır. BU HTTP olmayan tetikleyiciler sanal ağ tetikleyicileri olarak bilinir.
Varsayılan olarak, sanal ağ tetikleyicileri işlev uygulamanızın önceden ısıtılan örnek sayısının ötesine ölçeklendirilmesine neden olmaz. Ancak bazı uzantılar, işlev uygulamanızın dinamik olarak ölçeklendirilmesine neden olan sanal ağ tetikleyicilerini destekler. İşlev uygulamanızda desteklenen uzantılar için bu dinamik ölçek izlemeyi şu yollardan biriyle etkinleştirebilirsiniz:
Ayarlar'ın altında Yapılandırma'yı seçin, ardından İşlev çalışma zamanı ayarları sekmesinde Çalışma Zamanı Ölçeği İzleme'yi Açık olarak ayarlayın.
kaydet'i seçerek işlev uygulaması yapılandırmasını güncelleştirin ve uygulamayı yeniden başlatın.
İpucu
Sanal ağ tetikleyicilerinin izlenmesinin etkinleştirilmesi uygulamanızın performansını etkileyebilir, ancak bu etki büyük olasılıkla çok küçük olabilir.
Sanal ağ tetikleyicilerinin dinamik ölçek izleme desteği İşlevler çalışma zamanının 1.x sürümünde kullanılamaz.
Bu tablodaki uzantılar, sanal ağ tetikleyicilerinin dinamik ölçek izlemesini destekler. En iyi ölçeklendirme performansını elde etmek için hedef tabanlı ölçeklendirmeyi de destekleyen sürümlere yükseltmeniz gerekir.
Uzantı (en düşük sürüm) | Yalnızca çalışma zamanı ölçeği izleme | Hedef tabanlı ölçeklendirme ile |
---|---|---|
Microsoft.Azure.WebJobs.Extensions.CosmosDB | > 3.0.5 | > 4.1.0 |
Microsoft.Azure.WebJobs.Extensions.DurableTask | > 2.0.0 | yok |
Microsoft.Azure.WebJobs.Extensions.EventHubs | > 4.1.0 | > 5.2.0 |
Microsoft.Azure.WebJobs.Extensions.ServiceBus | > 3.2.0 | > 5.9.0 |
Microsoft.Azure.WebJobs.Extensions.Storage | > 3.0.10 | > 5.1.0* |
* Yalnızca kuyruk depolama alanı.
Önemli
Sanal ağ tetikleyicisi izlemeyi etkinleştirdiğinizde, yalnızca bu uzantılara yönelik tetikleyiciler uygulamanızın dinamik olarak ölçeklendirilmesine neden olabilir. Bu tabloda yer almayan uzantılardan gelen tetikleyicileri kullanmaya devam edebilirsiniz, ancak bunlar önceden ısıtılmış örnek sayısının ötesinde ölçeklendirmeye neden olmaz. Tüm tetikleyici ve bağlama uzantılarının tam listesi için bkz . Tetikleyiciler ve bağlamalar.
App Service planı ve sanal ağ tetikleyicileriyle App Service Ortamı
İşlev uygulamanız bir App Service planında veya App Service Ortamı çalıştığında, HTTP olmayan tetikleyici işlevlerini kullanabilirsiniz. İşlevlerinizin doğru tetiklenebilmesi için tetikleyici bağlantısında tanımlanan kaynağa erişimi olan bir sanal ağa bağlı olmanız gerekir.
Örneğin, Azure Cosmos DB'yi yalnızca bir sanal ağdan gelen trafiği kabul etmek üzere yapılandırmak istediğinizi varsayalım. Bu durumda, işlev uygulamanızı bu sanal ağ ile sanal ağ tümleştirmesi sağlayan bir App Service planına dağıtmanız gerekir. Tümleştirme, bir işlevin bu Azure Cosmos DB kaynağı tarafından tetiklenebilir olmasını sağlar.
Karma Bağlantılar
Karma Bağlantılar , Azure Relay'in diğer ağlardaki uygulama kaynaklarına erişmek için kullanabileceğiniz bir özelliğidir. Uygulamanızdan bir uygulama uç noktasına erişim sağlar. Bunu uygulamanıza erişmek için kullanamazsınız. Karma Bağlantılar, Tüketim planı dışında Tüm Windows'ta çalışan işlevler için kullanılabilir.
Azure İşlevleri'de kullanıldığı gibi, her karma bağlantı tek bir TCP konağı ve bağlantı noktası bileşimiyle bağıntılıdır. Bu, TCP dinleme bağlantı noktasına eriştiğiniz sürece karma bağlantının uç noktasının herhangi bir işletim sisteminde ve herhangi bir uygulamada olabileceği anlamına gelir. Karma Bağlantılar özelliği, uygulama protokollerinin ne olduğunu veya nelere eriştiğinizi bilmiyor veya umursamıyor. Yalnızca ağ erişimi sağlar.
Daha fazla bilgi edinmek için Bkz . Karma Bağlantılar için App Service belgeleri. Bu yapılandırma adımları Azure İşlevleri destekler.
Önemli
Karma Bağlantılar yalnızca Windows planlarında desteklenir. Linux desteklenmez.
Giden IP kısıtlamaları
Giden IP kısıtlamaları bir Esnek Tüketim planında, Elastik Premium planında, App Service planında veya App Service Ortamı kullanılabilir. App Service Ortamı dağıtılan sanal ağ için giden kısıtlamaları yapılandırabilirsiniz.
İşlev uygulamasını Elastik Premium planıyla veya App Service planıyla sanal ağ ile tümleştirdiğinizde, uygulama varsayılan olarak İnternet'e giden çağrılar yapmaya devam edebilir. İşlev uygulamanızı Tümünü Yönlendir özelliği etkin bir sanal ağ ile tümleştirerek, giden trafiğin tamamının trafiği kısıtlamak için ağ güvenlik grubu kurallarının kullanılabildiği sanal ağınıza gönderilmesini zorlamış olursunuz. Esnek Tüketim için tüm trafik zaten sanal ağ üzerinden yönlendirilir ve Tümünü Yönlendir gerekli değildir.
Sanal ağ kullanarak giden IP'yi denetlemeyi öğrenmek için bkz. Öğretici: Azure sanal ağı NAT ağ geçidiyle giden IP'yi Azure İşlevleri denetleme.
Otomasyon
Aşağıdaki API'ler bölgesel sanal ağ tümleştirmelerini program aracılığıyla yönetmenizi sağlar:
- Azure CLI: Bölgesel bir sanal ağ tümleştirmesi eklemek, listelemek veya kaldırmak için komutlarını kullanın
az functionapp vnet-integration
. - ARM şablonları: Bölgesel sanal ağ tümleştirmesi bir Azure Resource Manager şablonu kullanılarak etkinleştirilebilir. Tam bir örnek için bu İşlevler hızlı başlangıç şablonuna bakın.
Test konusunda dikkat edilmesi gerekenler
İşlev uygulamasındaki işlevleri özel uç noktalarla test ederken, testinizi aynı sanal ağın içinden (örneğin, o ağdaki bir sanal makinede (VM) yapmalısınız. Portalda bu VM'den Kod + Test seçeneğini kullanmak için işlev uygulamanıza aşağıdaki CORS çıkış noktalarını eklemeniz gerekir:
https://functions-next.azure.com
https://functions-staging.azure.com
https://functions.azure.com
https://portal.azure.com
İşlev uygulamanıza erişimi özel uç noktalarla veya başka bir erişim kısıtlamasıyla kısıtladıysanız, hizmet etiketini AzureCloud
de izin verilenler listesine eklemeniz gerekir. İzin verilenler listesini güncelleştirmek için:
İşlev uygulamanıza gidin ve Ayarlar>Ağ'ı ve ardından Gelen erişim yapılandırması>Genel ağ erişimi'ni seçin.
Belirli sanal ağlardan ve IP adreslerinden Genel ağ erişiminin Etkin olarak ayarlandığından emin olun.
Site erişimi ve kuralları altına bir kural ekleyin:
Kaynak ayarları Türü ve Hizmet Etiketi olarak seçin
Service Tag
.AzureCloud
Eylemin İzin Ver olduğundan emin olun ve istediğiniz adı ve önceliği ayarlayın.
Sorun giderme
Özelliği ayarlamak kolaydır, ancak bu, deneyiminizin sorunsuz olacağı anlamına gelmez. İstediğiniz uç noktaya erişirken sorunlarla karşılaşırsanız, uygulama konsolundan bağlantıyı test etmek için kullanabileceğiniz bazı yardımcı programlar vardır. Kullanabileceğiniz iki konsol vardır. Bunlardan biri Kudu konsolu, diğeri de Azure portalındaki konsoldur. Uygulamanızdan Kudu konsoluna ulaşmak için Araçlar>Kudu'ya gidin. [sitename].scm.azurewebsites.net adresinden De Kudo konsoluna ulaşabilirsiniz. Web sitesi yükledikten sonra Hata ayıklama konsolu sekmesine gidin. Uygulamanızdan Azure portalında barındırılan konsola ulaşmak için Araçlar>Konsolu'na gidin.
Araçlar
Yerel Windows uygulamalarında ping, nslookup ve tracert araçları güvenlik kısıtlamaları nedeniyle konsolda çalışmaz (bunlar özel Windows kapsayıcılarında çalışır). Boşluğu doldurmak için iki ayrı araç eklenir. DNS işlevselliğini test etmek için nameresolver.exe adlı bir araç ekledik. Söz dizimi aşağıdaki gibidir:
nameresolver.exe hostname [optional: DNS Server]
Uygulamanızın bağımlı olduğu konak adlarını denetlemek için nameresolver kullanabilirsiniz. Bu şekilde, DNS'nizle yanlış yapılandırılmış bir şey olup olmadığını veya dns sunucunuza erişiminizin olup olmadığını test edebilirsiniz. Uygulamanızın kullandığı DNS sunucusunu konsolda WEBSITE_DNS_SERVER ve WEBSITE_DNS_ALT_SERVER ortam değişkenlerine bakarak görebilirsiniz.
Not
nameresolver.exe aracı şu anda özel Windows kapsayıcılarında çalışmıyor.
Bir konak ve bağlantı noktası bileşimine TCP bağlantısını test etmek için bir sonraki aracı kullanabilirsiniz. Bu araç tcpping olarak adlandırılır ve söz dizimi şöyledir:
tcpping.exe hostname [optional: port]
Tcpping yardımcı programı, belirli bir ana bilgisayara ve bağlantı noktasına ulaşıp ulaşamadığını bildirir. Yalnızca konak ve bağlantı noktası bileşimini dinleyen bir uygulama varsa ve uygulamanızdan belirtilen ana bilgisayara ve bağlantı noktasına ağ erişimi varsa başarıyı gösterebilir.
Sanal ağ tarafından barındırılan kaynaklara erişimde hata ayıklama
Uygulamanızın belirli bir ana bilgisayara ve bağlantı noktasına ulaşmasını engelleyebilecek birkaç şey vardır. Çoğu zaman şu şeylerden biridir:
- Güvenlik duvarı yolda. Bu yolda bir güvenlik duvarınız varsa TCP zaman aşımına çarptınız. Bu durumda TCP zaman aşımı 21 saniyedir. Bağlantıyı test etmek için tcpping aracını kullanın. TCP zaman aşımları, güvenlik duvarlarının ötesinde birçok şeyden kaynaklanabilir, ancak buradan başlayın.
- DNS erişilebilir değil. DNS zaman aşımı, DNS sunucusu başına 3 saniyedir. İki DNS sunucunuz varsa zaman aşımı 6 saniyedir. DNS'nin çalışıp çalışmadiğini görmek için nameresolver kullanın. Sanal ağınızın yapılandırıldığı DNS'yi kullanmadığından nslookup kullanamazsınız. Erişilemiyorsa, DNS'ye erişimi engelleyen bir güvenlik duvarınız veya NSG'niz olabilir veya devre dışı olabilir.
Bu öğeler sorunlarınızı yanıtlamıyorsa, önce aşağıdakiler gibi şeyler arayın:
Bölgesel sanal ağ tümleştirmesi
- Hedefiniz RFC1918 olmayan bir adres mi ve Tümünü Yönlendir etkin değil mi?
- Tümleştirme alt ağınızdan bir NSG engelleme çıkışı var mı?
- Azure ExpressRoute veya VPN üzerinden gidiyorsanız, şirket içi ağ geçidiniz trafiği Azure'a geri yönlendirmek için yapılandırılmış mı? Sanal ağınızdaki uç noktalara ulaşabiliyor ancak şirket içinde ulaşamıyorsanız rotalarınızı denetleyin.
- Tümleştirme alt ağı üzerinde temsilci ayarlamak için yeterli izniniz var mı? Bölgesel sanal ağ tümleştirme yapılandırması sırasında tümleştirme alt ağınız Microsoft.Web/serverFarms'a devredilir. Sanal ağ tümleştirme kullanıcı arabirimi, alt ağı otomatik olarak Microsoft.Web/serverFarms'a devreder. Hesabınız temsilci seçmeyi ayarlamak için yeterli ağ izinlerine sahip değilse, alt ağı temsilci olarak atamak için tümleştirme alt ağınızda öznitelikleri ayarlayabilen birine ihtiyacınız olacaktır. Tümleştirme alt ağına el ile temsilci atamak için Azure Sanal Ağ alt ağ kullanıcı arabirimine gidin ve Microsoft.Web/serverFarms için temsilci seçmeyi ayarlayın.
Ağ geçidi için gerekli sanal ağ tümleştirmesi
- RFC 1918 aralıklarındaki noktadan siteye adres aralığıdır (10.0.0.0-10.255.255.255 / 172.16.2 0.0-172.31.255.255 / 192.168.0.0-192.168.255.255)?
- Ağ geçidi portalda görünüyor mu? Ağ geçidiniz çalışmıyorsa yeniden açın.
- Sertifikalar eşitlenmiş olarak mı gösteriliyor yoksa ağ yapılandırmasının değiştirildiğinden mi şüpheleniyorsunuz? Sertifikalarınız eşitlenmemişse veya sanal ağ yapılandırmanızda ASP'lerinizle eşitlenmemiş bir değişiklik yapıldığından şüpheleniyorsanız Ağı Eşitle'yi seçin.
- Bir VPN üzerinden gidiyorsanız, şirket içi ağ geçidi trafiği Azure'a geri yönlendirmek için yapılandırılmış mı? Sanal ağınızdaki uç noktalara ulaşabiliyor ancak şirket içinde ulaşamıyorsanız rotalarınızı denetleyin.
- Hem noktadan siteye hem de ExpressRoute'u destekleyen bir birlikte var olan ağ geçidi mi kullanmaya çalışıyorsunuz? Bir arada bulunma ağ geçitleri sanal ağ tümleştirmesi ile desteklenmez.
Belirli bir konak:bağlantı noktası bileşimine erişimi engelleyen özellikleri göremediğinizden ağ sorunlarının hatalarını ayıklamak zor bir sorundur. Bazı nedenler şunlardır:
- Ana bilgisayarınızda noktadan siteye IP aralığınızdan uygulama bağlantı noktasına erişimi engelleyen bir güvenlik duvarınız var. Alt ağları aşmak genellikle genel erişim gerektirir.
- Hedef konağınız çalışmıyor.
- Uygulamanız çalışmıyor.
- Yanlış IP veya ana bilgisayar adına sahipsiniz.
- Uygulamanız beklediğinizden farklı bir bağlantı noktasında dinliyor. İşlem kimliğinizi, uç nokta ana bilgisayarında "netstat -aon" kullanarak dinleme bağlantı noktasıyla eşleştirebilirsiniz.
- Ağ güvenlik gruplarınız, noktadan siteye IP aralığınızdan uygulama konağınıza ve bağlantı noktanıza erişimi engelleyecek şekilde yapılandırılır.
Uygulamanızın gerçekte hangi adresi kullandığını bilmiyorsunuz. Tümleştirme alt ağından veya noktadan siteye adres aralığındaki herhangi bir adres olabilir, bu nedenle adres aralığının tamamından erişime izin vermeniz gerekir.
Diğer hata ayıklama adımları şunlardır:
- Sanal ağınızdaki bir VM'ye bağlanın ve oradan kaynak konağınıza:bağlantı noktasına erişmeye çalışabilirsiniz. TCP erişimini test etmek için Test-NetConnection PowerShell komutunu kullanın. Söz dizimi aşağıdaki gibidir:
Test-NetConnection hostname [optional: -Port]
- VM'de bir uygulama getirin ve tcpping kullanarak uygulamanızdan konsoldan bu konağa ve bağlantı noktasına erişimi test edin.
Şirket içi kaynaklar
Uygulamanız şirket içi bir kaynağa ulaşamıyorsa, sanal ağınızdan kaynağa ulaşılıp ulaşılamadığını denetleyin. TCP erişimini denetlemek için Test-NetConnection PowerShell komutunu kullanın. VM'niz şirket içi kaynağınıza ulaşamıyorsa VPN veya ExpressRoute bağlantınız düzgün yapılandırılmamış olabilir.
Sanal ağ tarafından barındırılan VM'niz şirket içi sisteminize ulaşabiliyorsa ancak uygulamanız ulaşamıyorsa, bunun nedeni büyük olasılıkla aşağıdaki nedenlerden biridir:
- Yollarınız, şirket içi ağ geçidinizde alt ağınızla veya noktadan siteye adres aralıklarınızla yapılandırılmaz.
- Ağ güvenlik gruplarınız noktadan siteye IP aralığınız için erişimi engelliyor.
- Şirket içi güvenlik duvarlarınız noktadan siteye IP aralığınızdan gelen trafiği engelliyor.
- Bölgesel sanal ağ tümleştirme özelliğini kullanarak RFC 1918 olmayan bir adrese ulaşmaya çalışıyorsunuz.
Sanal ağ tümleştirmesinin bağlantısını kesmeden önce App Service planını veya web uygulamasını silme
Önce sanal ağ tümleştirmesinin bağlantısını kesmeden web uygulamasını veya App Service planını sildiyseniz, silinen kaynakla tümleştirme için kullanılan sanal ağda veya alt ağda herhangi bir güncelleştirme/silme işlemi yapamazsınız. Alt ağınıza 'Microsoft.Web/serverFarms' alt ağ temsilcisi atanır ve güncelleştirme/silme işlemlerini engeller.
Alt ağı veya sanal ağı yeniden güncelleştirmek/silmek için VNet tümleştirmesini yeniden oluşturmanız ve ardından bağlantısını kesmeniz gerekir:
- App Service planını ve web uygulamasını yeniden oluşturun (öncekiyle aynı web uygulaması adını kullanmak zorunludur).
- Web uygulamasında 'Ağ' dikey penceresine gidin ve sanal ağ tümleştirmesini yapılandırın.
- Sanal ağ tümleştirmesi yapılandırıldıktan sonra 'Bağlantıyı Kes' düğmesini seçin.
- App Service planını veya web uygulamasını silin.
- Alt ağı veya sanal ağı güncelleştirin/silin.
Yukarıdaki adımları takip ettikten sonra da sanal ağ tümleştirmesiyle ilgili sorunlarla karşılaşıyorsanız lütfen Microsoft Desteği başvurun.
Ağ sorun gidericisi
Bağlantı sorunlarını çözmek için Ağ sorun gidericisini de kullanabilirsiniz. Ağ sorun gidericisini açmak için Azure portalında uygulamaya gidin. Tanılama'yı seçip sorunu çözün ve ardından Ağ sorun gidericisi'ni arayın.
Bağlantı sorunları - Özel IP'nin planın tüm örneklerine ve DNS ayarlarına atanıp atanmadığını denetlemek de dahil olmak üzere sanal ağ tümleştirmesinin durumunu denetler. Özel dns yapılandırılmamışsa, varsayılan Azure DNS uygulanır. Sorun giderici ayrıca Azure Depolama ve diğer bağlama bağımlılıkları için bağlantı da dahil olmak üzere yaygın İşlev uygulaması bağımlılıklarını denetler.
Yapılandırma sorunları - Bu sorun giderici, alt ağınızın sanal ağ Tümleştirmesi için geçerli olup olmadığını denetler.
Alt ağ/sanal ağ silme sorunu - Bu sorun giderici, alt ağınızda kilit olup olmadığını ve sanal ağın/alt ağın silinmesini engelleyebilecek kullanılmayan Hizmet İlişkilendirme Bağlantıları olup olmadığını denetler.
Sonraki adımlar
Ağ ve Azure İşlevleri hakkında daha fazla bilgi edinmek için:
- Sanal ağ tümleştirmesini kullanmaya başlama öğreticisini izleyin
- İşlevler ağı hakkında SSS bölümünü okuyun
- App Service/İşlevler ile sanal ağ tümleştirmesi hakkında daha fazla bilgi edinin
- Azure'da sanal ağlar hakkında daha fazla bilgi edinin
- App Service Ortamı ile daha fazla ağ özelliği ve denetimi etkinleştirme
- Karma Bağlantılar'ı kullanarak güvenlik duvarı değişiklikleri olmadan tek tek şirket içi kaynaklara bağlanma