Aracılığıyla paylaş


Azure İşlevleri ağ seçenekleri

Bu makalede, Azure İşlevleri barındırma seçeneklerinde kullanılabilen ağ özellikleri açıklanmaktadır. Aşağıdaki ağ seçenekleri, gelen ve giden ağ özellikleri olarak kategorilere ayırılabilir. Gelen özellikler uygulamanıza erişimi kısıtlamanıza olanak tanırken, giden özellikler uygulamanızı bir sanal ağ tarafından güvenliği sağlanan kaynaklara bağlamanıza ve giden trafiğin nasıl yönlendirilmiş olduğunu denetlemenize olanak tanır.

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 Esnek Tüketim planı Tüketim planı Premium plan Ayrılmış plan/ASE Container Apps1
Gelen IP kısıtlamaları
Gelen Özel Uç Noktalar
Sanal ağ tümleştirmesi 2 3
Giden IP kısıtlamaları
  1. Daha fazla bilgi için bkz . Azure Container Apps ortamında ağ.
  2. Sanal ağ tetikleyicileriyle çalışırken dikkat edilmesi gereken özel noktalar vardır.
  3. Yalnızca Ayrılmış/ASE planı ağ geçidi için gerekli sanal ağ tümleştirmesini destekler.

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.

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ızın içinden 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.

Flex Consumption, Elastic Premium ve Dedicated (App Service) planlarında barındırılan işlevleriniz için Özel Uç Nokta'yı 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. Özel uç noktayı yönetmek için uç nokta adresini bilmeniz ve ulaşmaya çalıştığınız uç noktaya başvurmak için bir A kaydı kullanmanız 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. Güvenli bir hizmet uç noktasına erişmek için şu adımları izleyin:

  1. Belirli bir alt ağa bağlanmak için işlev uygulamanızla bölgesel sanal ağ tümleştirmesini yapılandırın.
  2. 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, daha sonra alt ağda etkinleştirdiğiniz hizmet uç noktaları için yapılandırılmıştır.

Sanal Ağ türü seçili durumdaki

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.

Giden ağ özellikleri

Uygulamanız tarafından yapılan giden bağlantıları yönetmek için bu bölümdeki özellikleri kullanabilirsiniz.

Sanal ağ tümleştirmesi

Bu bölümde, İşlevler'in uygulamanızdan giden verileri denetlemek için desteklediği özellikler ayrıntılı olarak açıklanır.

Sanal ağ tümleştirmesi, işlev uygulamanızın sanal ağınızdaki kaynaklara erişmesini sağlar. Tümleştirildikten sonra uygulamanız giden trafiği sanal ağ üzerinden yönlendirir. Bu, uygulamanızın yalnızca belirli alt ağlardan gelen trafiğe izin veren kurallarla özel uç noktalara veya kaynaklara erişmesine olanak tanır. Hedef sanal ağın dışındaki bir IP adresi olduğunda, nat ağ geçidi yapılandırmadığınız sürece kaynak IP yine de uygulamanızın özelliklerinde listelenen adreslerden birinden gönderilir.

Azure İşlevleri iki tür sanal ağ tümleştirmesini destekler:

Sanal ağ tümleştirmesini ayarlamayı öğrenmek için bkz . Sanal ağ tümleştirmesini etkinleştirme.

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ıyla ilgili dikkat edilmesi gerekenler:

  • Uygulama ve sanal ağ aynı bölgede olmalıdır.
  • Bu yönergeleri izleyerek Azure kaynak sağlayıcısının Microsoft.App aboneliğiniz için etkinleştirildiğinden emin olun. Bu, alt ağ temsilcisi için gereklidir.
  • Flex Consumption planında çalışırken gereken alt ağ temsilcisidir Microsoft.App/environments. Bu, farklı bir temsil gereksinimi olan Elastik Premium ve Ayrılmış (App Service) planlarından farklıdır.
  • 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ş 15 Esnek Tüketim işlevi uygulamanız varsa, en çok kullanılan 15x40 = 600 IP adresini planlamanız gerekir. 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 uygulamanın aynı alt ağdaki diğer kullanıcıların performansını etkilemesine neden olabilir.
  • Container Apps ortamı ile Flex Consumption uygulaması arasında aynı alt ağı paylaşamazsınız.
  • Flex Consumption planı şu anda alt çizgi (_) karakterleri içeren adlara sahip alt ağları desteklememektedir.

Elastik Premium, Ayrılmış (App Service) ve Container Apps planları için dikkat edilmesi gerekenler:

  • Bu özellik Elastic Premium ve App Service Premium V2 ve Premium V3 için 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.
  • Bu özellik, bir App Service Ortamı olan Yalıtılmış plan uygulamaları tarafından kullanılamaz.
  • Uygulama ve sanal ağ aynı bölgede olmalıdır.
  • Bu özellik, Azure Resource Manager sanal ağında /28 veya daha büyük kullanılmayan bir alt ağ gerektirir.
  • Tümleştirme alt ağı yalnızca bir App Service planı tarafından kullanılabilir.
  • 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.
  • Alt ağ, başka amaçlarla (özel veya hizmet uç noktaları gibi), Esnek Tüketim planına veya başka bir hizmete devredilmiş olamaz. Aynı alt ağı aynı App Service planındaki birden çok uygulamayla paylaşabilirsiniz ancak ağ kaynakları bu işlev uygulamaları arasında paylaşılır ve bu da bir uygulamanın aynı alt ağdaki diğer kullanıcıların performansını etkilemesine neden olabilir.
  • Tümleşik bir uygulamayla sanal ağı silemezsiniz. Sanal ağı silmeden önce tümleştirmeyi kaldırın.
  • Bölgesel sanal ağ tümleştirmesi kullanan bir uygulama varken bir uygulamanın veya planın aboneliğini değiştiremezsiniz.

Sanal ağ tümleştirmesini etkinleştirme

  1. 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.

  2. Sanal ağ ekle'yi seçin.

    Uygulamanızda sanal ağ tümleştirmesini etkinleştirebileceğiniz sanal ağ tümleştirme sayfasının ekran görüntüsü.

  3. 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.

    Sanal ağı seçin

    • Flex Consumption ve Elastic Premium barındırma 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önlendirilmiş olmasını tercih ediyorsanız, bu App Service makalesindeki adımları izleyin.

Alt ağlar

Sanal ağ tümleştirmesi ayrılmış bir alt ağa bağlıdır. Bir alt ağ oluşturduğunuzda, 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.

Elastik Premium ve Ayrılmış (App Service) planlarında, örnek boyutu ölçeğini artırıp azalttığınızda gerekli adres alanı kısa bir süre için iki katına çıkarılır. 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 (on üç)
/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şturduğunuzda, Windows ve Linux için sırasıyla en az /24 ve /26 boyutu gerekir.

Flex Tüketim planı, Flex Consumption planında çalışan birden çok uygulamanın aynı alt ağ ile tümleştirilmesine olanak tanır. Elastik Premium ve Ayrılmış (App Service) barındırma planları için bu durum geçerli değildir. Bu planlar, her App Service planına yalnızca iki sanal ağın bağlanmasına izin verir. Tek bir App Service planındaki birden çok uygulama aynı alt ağa katılabilir, ancak farklı bir plandaki uygulamalar aynı alt ağı kullanamaz.

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ğınızdaki kaynaklar arasındaki trafiği denetlemek için ağ güvenlik gruplarını kullanabilirsiniz. Örneğin, uygulamanızın giden trafiğinin sanal ağınızdaki bir kaynağa ulaşmasını veya ağdan ayrılmasını engelleyen bir güvenlik kuralı oluşturabilirsiniz. Bu güvenlik kuralları, sanal ağ tümleştirmesini yapılandırmış uygulamalar için geçerlidir. Genel adreslere giden trafiği engellemek için sanal ağ tümleştirmesi ve Tümünü Yönlendir özelliğinin etkin olması 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. Fonksiyon uygulamanız Tümünü Yönlendir özelliği etkin bir sanal ağ ile entegre edildiğinde, giden tüm trafik BGP yönlendirmelerinizden etkilenebilir.

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.

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.

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.

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 işlev uygulamanız Windows üzerinde çalıştığında desteklenir. Linux uygulamaları desteklenmez.

Sanal ağ üzerinden Azure Hizmetleri'ne bağlanma

Sanal ağ tümleştirmesi, işlev uygulamanızın bir sanal ağdaki kaynaklara erişmesini sağlar. Bu bölümde, uygulamanızı belirli hizmetlere bağlamaya çalışırken göz önünde bulundurmanız gerekenler ele alınmalıdır.

Depolama hesabınızı bir sanal ağ ile kısıtlama

Not

Depolama hesabında özel uç noktaları etkinleştirilmiş bir işlev uygulamasını hızla dağıtmak için şu şablona bakın: Azure Depolama özel uç noktalarıyla 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.

Flex Consumption, Elastic Premium ve Dedicated (App Service) planlarında işlev uygulamalarıyla ağ kısıtlı depolama hesabı kullanabilirsiniz; Tüketim planı desteklenmez. Elastik Premium ve Ayrılmış planlar için özel içerik paylaşımı yönlendirmenin yapılandırıldığından emin olmanız gerekir. İşlev uygulamanızı sanal ağ ile güvenliği sağlanan bir depolama hesabıyla yapılandırmayı öğrenmek için bkz . Depolama hesabınızı bir 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ıtlı bir kasadan gizli bilgileri almak için Key Vault referansları kullanılabilir.

Sanal ağ tetikleyicileri (HTTP olmayan)

İş yükünüz, uygulamanızın sanal ağ tarafından korunan bir olay kaynağından tetik alınmasını gerektirebilir. Uygulamanızın HTTP olmayan tetikleyici kaynaklarından alınan olay sayısına göre dinamik olarak ölçeklendirilmesini istiyorsanız iki seçenek vardır:

  • İşlev uygulamanızı Bir Flex Consumption içinde çalıştırın.
  • İşlev uygulamanızı Elastik Premium planında çalıştırın ve sanal ağ tetikleyicisi desteğini etkinleştirin.

Ayrılmış (App Service) planlarında çalışan işlev uygulamaları olaylara göre dinamik olarak ölçeklendirilemez. Bunun yerine ölçeği genişletme, tanımladığınız otomatik ölçeklendirme kuralları tarafından dikte edilir.

Sanal ağ tetikleyicileri ile elastik Premium planı

Elastik Premium planı, sanal ağ tarafından güvenliği sağlanan 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 uyarı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:

  1. Azure portalında işlev uygulamanıza gidin.

  2. 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.

  3. kaydet'i seçerek işlev uygulaması yapılandırmasını güncelleştirin ve uygulamayı yeniden başlatın.

VNETToggle

İpucu

Sanal ağ tetikleyicilerinin izlenmesini etkinleştirmek uygulamanızın performansını etkileyebilir, ancak etki büyük olasılıkla 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 değiştirilmiş ö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, sanal ağ tarafından güvenliği sağlanan kaynaklar tarafından tetiklenen işlevler yazabilirsiniz. İşlevlerinizin doğru tetiklenebilmesi için uygulamanızın tetikleyici bağlantısında tanımlanan kaynağa erişimi olan bir sanal ağa bağlı olması 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.

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ığınızda, hizmet etiketini AzureCloud de izin verilenler listesine eklemeniz gerekir. İzin verilenler listesini güncelleştirmek için:

  1. İşlev uygulamanıza gidin ve Ayarlarardından Gelen erişim yapılandırması>

  2. Belirli sanal ağlardan ve IP adreslerinden Genel ağ erişiminin Etkin olarak ayarlandığından emin olun.

  3. Site erişimi ve kuralları altına bir kural ekleyin:

    1. Kaynak ayarları Türü ve Hizmet EtiketiService Tagseçin.AzureCloud

    2. 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çlargidin. [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çlargidin.

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:

  1. App Service planını ve web uygulamasını yeniden oluşturun (öncekiyle aynı web uygulaması adını kullanmak zorunludur).
  2. Web uygulamasında 'Ağ' dikey penceresine gidin ve sanal ağ tümleştirmesini yapılandırın.
  3. Sanal ağ tümleştirmesi yapılandırıldıktan sonra 'Bağlantıyı Kes' düğmesini seçin.
  4. App Service planını veya web uygulamasını silin.
  5. 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.

Bağlantı sorunları için çalışan sorun gidericiyi gösteren ekran görüntüsü.

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.

Yapılandırma sorunları için çalışan sorun gidericiyi gösteren ekran görüntüsü.

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: