App Service Ortamında ağ konusunda dikkat edilmesi gerekenler

Önemli

Bu makale, Yalıtılmış App Service planlarıyla kullanılan App Service Ortamı v2 hakkındadır. App Service Ortamı v2, 31 Ağustos 2024 tarihinde kullanımdan kaldırılacaktır. Kullanımı daha kolay olan ve daha güçlü bir altyapı üzerinde çalışan yeni bir App Service Ortamı sürümü vardır. Yeni sürüm hakkında daha fazla bilgi edinmek için App Service Ortamı giriş ile başlayın. Şu anda App Service Ortamı v2 kullanıyorsanız, yeni sürüme geçmek için lütfen bu makaledeki adımları izleyin.

29 Ocak 2024 itibarıyla ARM/Bicep şablonları, Azure Portalı, Azure CLI veya REST API gibi kullanılabilir yöntemlerden herhangi birini kullanarak yeni App Service Ortamı v2 kaynakları oluşturamıyabilirsiniz. Kaynak silme ve veri kaybını önlemek için 31 Ağustos 2024'e kadar App Service Ortamı v3'e geçmeniz gerekir.

App Service Ortamı, azure sanal ağınızdaki bir alt ağa Azure Uygulaması Hizmeti dağıtımıdır. bir App Service Ortamı için iki dağıtım türü vardır:

  • Dış: Bu dağıtım türü, barındırılan uygulamaları internet üzerinden erişilebilen bir IP adresi kullanarak kullanıma sunar. Daha fazla bilgi için bkz. Dış App Service Ortamı oluşturma.
  • İç yük dengeleyici: Bu tür bir dağıtım, barındırılan uygulamaları sanal ağınızdaki bir IP adresinde kullanıma sunar. İç uç nokta bir iç yük dengeleyicidir. Daha fazla bilgi için bkz. İç yük dengeleyici App Service Ortamı oluşturma ve kullanma.

Not

Bu makale, yalıtılmış App Service planlarıyla kullanılan App Service Ortamı v2 hakkındadır.

Dağıtım türü ne olursa olsun, tüm App Service Ortamı genel sanal IP'ye (VIP) sahiptir. Bu VIP, gelen yönetim trafiği için ve App Service Ortamı İnternet'e arama yaparken adres olarak kullanılır. Bu tür çağrılar sanal ağı App Service Ortamı için atanan VIP üzerinden bırakır.

Uygulamalar sanal ağınızdaki veya vpn genelindeki kaynaklara çağrı yaparsa, kaynak IP alt ağdaki IP'lerden biridir. App Service Ortamı sanal ağ içinde olduğundan, ek yapılandırma olmadan sanal ağ içindeki kaynaklara da erişebilir. Sanal ağ şirket içi ağınıza bağlıysa, uygulamalar ek yapılandırma olmadan oradaki kaynaklara da erişebilir.

Diagram that shows the elements of an external deployment. 

Dış dağıtımı olan bir App Service Ortamı varsa, genel VIP aynı zamanda uygulamalarınızın aşağıdakiler için çözümlendiği uç noktadır:

  • HTTP/S
  • FTP/S
  • Web dağıtımı
  • Uzaktan hata ayıklama

Diagram that shows the elements of an internal load balancer deployment.

İç yük dengeleyici dağıtımına sahip bir App Service Ortamı varsa, iç adresin adresi HTTP/S, FTP/S, web dağıtımı ve uzaktan hata ayıklama için uç noktadır.

Alt ağ boyutu

App Service Ortamı dağıtıldıktan sonra, barındırmak için kullanılan alt ağın boyutunu değiştiremezsiniz. App Service Ortamı hem her altyapı rolü hem de yalıtılmış App Service planı örneği için bir adres kullanır. Ayrıca Azure ağı, oluşturulan her alt ağ için beş adres kullanır.

App Service planı olmayan bir App Service Ortamı, uygulama oluşturmadan önce 12 adres kullanır. İç yük dengeleyici dağıtımını kullanırsanız, uygulama oluşturmadan önce 13 adres kullanır. Ölçeği genişlettıkça altyapı rollerinin App Service planı örneğinizin 15 ve 20 katının her katına eklendiğini unutmayın.

Önemli

Alt ağda App Service Ortamı dışında hiçbir şey olamaz. Gelecekte büyümeye olanak tanıyan bir adres alanı seçtiğinizden emin olun. Bu ayarı daha sonra değiştiremezsiniz. Boyutu /24 256 adresle önerilir.

Ölçeği artırdığınızda veya azalttığınızda, uygun boyutta yeni roller eklenir ve iş yükleriniz geçerli boyuttan hedef boyuta geçirilir. Özgün VM'ler yalnızca iş yükleri geçirildikten sonra kaldırılır. Örneğin, 100 App Service planı örneğine sahip bir App Service Ortamı varsa, vm sayısını iki katına almanız gereken bir süre vardır.

Gelen ve giden bağımlılıklar

Aşağıdaki bölümlerde, App Service Ortamı için dikkat etmeniz gereken bağımlılıklar ele alınmalıdır. Başka bir bölümde DNS ayarları ele alınmaktadır.

Gelen bağımlılıklar

Yalnızca App Service Ortamının çalışması için şu bağlantı noktalarının açık olması gerekir:

Kullanma İlk Son
Yönetim App Service yönetim adresleri App Service Ortamı alt ağı: 454, 455
App Service Ortamı iç iletişim App Service Ortamı alt ağı: Tüm bağlantı noktaları App Service Ortamı alt ağı: Tüm bağlantı noktaları
Azure yük dengeleyici gelen izin ver Azure yük dengeleyici App Service Ortamı alt ağı: 16001

Bağlantı noktası 7564 ve 1221 bağlantı noktaları, bağlantı noktası taramada açık olarak gösterilebilir. Bir IP adresiyle yanıt verir ve başka bir şey yanıtlamaz. İsterseniz bunları engelleyebilirsiniz.

Gelen yönetim trafiği, sistem izlemenin yanı sıra App Service Ortamı komut ve denetimi sağlar. Bu trafiğin kaynak adresleri App Service Ortamı yönetim adreslerinde listelenir. Ağ güvenlik yapılandırmasının 454 ve 455 bağlantı noktalarındaki App Service Ortamı yönetim adreslerinden erişime izin verebilmesi gerekir. Bu adreslerden erişimi engellerseniz, App Service Ortamı iyi durumda olmaz ve sonra askıya alınır. 454 ve 455 numaralı bağlantı noktalarında gelen TCP trafiğinin aynı VIP'den geri dönmesi gerekir, aksi takdirde asimetrik yönlendirme sorununuz olur.

Alt ağ içinde, iç bileşen iletişimi için kullanılan birçok bağlantı noktası vardır ve bunlar değişebilir. Bunun için alt ağdaki tüm bağlantı noktalarının alt ağdan erişilebilir olması gerekir.

Azure yük dengeleyici ile App Service Ortamı alt ağı arasındaki iletişim için, açık olması gereken en düşük bağlantı noktaları 454, 455 ve 16001'dir. İç yük dengeleyici dağıtımı kullanıyorsanız trafiği yalnızca 454, 455, 16001 bağlantı noktalarına kilitleyebilirsiniz. Dış dağıtım kullanıyorsanız normal uygulama erişim bağlantı noktalarını dikkate almanız gerekir. Bunlar özellikle şunlardır:

Kullanma Bağlantı Noktaları
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Visual Studio uzaktan hata ayıklama 4020, 4022, 4024
Web dağıtım hizmeti 8172

Uygulama bağlantı noktalarını engellerseniz, App Service Ortamı hala çalışabilir, ancak uygulamanız çalışmayabilir. Dış dağıtımda uygulama tarafından atanan IP adreslerini kullanıyorsanız uygulamalarınıza atanan IP'lerden alt ağa giden trafiğe izin vermeniz gerekir. App Service Ortamı portalından IP adreslerine gidin ve trafiğe izin vermeniz gereken bağlantı noktalarını görün.

Giden bağımlılıklar

Giden erişim için, bir App Service Ortamı birden çok dış sistemlere bağlıdır. Bu sistem bağımlılıklarının çoğu DNS adlarıyla tanımlanır ve sabit bir IP adresleri kümesiyle eşlenemez. Bu nedenle, App Service Ortamı çeşitli bağlantı noktaları genelinde alt ağdan tüm dış IP'lere giden erişim gerektirir.

App Service Ortamı aşağıdaki bağlantı noktalarından İnternet'e erişilebilen adreslerle iletişim kurar:

Kullanımlar Bağlantı Noktaları
DNS 53
NTP 123
CRL, Windows güncelleştirmeleri, Linux bağımlılıkları, Azure hizmetleri 80/443
Azure SQL 1433
İzleme 12000

Giden bağımlılıklar, App Service Ortamı kilitleme bölümünde listelenir. App Service Ortamı bağımlılıklarına erişimi kaybederse çalışmayı durdurur. Bu durum yeterince uzun bir süre olduğunda askıya alınır.

Müşteri DNS'i

Sanal ağ müşteri tanımlı bir DNS sunucusuyla yapılandırılmışsa, kiracı iş yükleri bunu kullanır. App Service Ortamı yönetim amacıyla Azure DNS kullanır. Sanal ağ müşteri tarafından seçilen bir DNS sunucusuyla yapılandırılmışsa, DNS sunucusuna alt ağdan erişilebilir olmalıdır.

Not

App Service Ortamı v2'deki Depolama bağlamaları veya kapsayıcı görüntüsü çekme işlemleri, sanal ağda veya uygulama ayarı aracılığıyla WEBSITE_DNS_SERVER müşteri tanımlı DNS kullanamaz.

Web uygulamanızdan DNS çözümlemesini test etmek için konsol komutunu nameresolverkullanabilirsiniz. Uygulamanızın sitenizde hata ayıklama penceresine scm gidin veya portalda uygulamaya gidip konsolu seçin. Kabuk isteminden, aramak istediğiniz DNS adıyla birlikte komutunu nameresolverda vekleyebilirsiniz. Geri elde ettiğiniz sonuç, uygulamanızın aynı aramayı yaparken elde edecekleri sonuçla aynıdır. kullanıyorsanız nslookup, bunun yerine Azure DNS kullanarak bir arama yaparsınız.

App Service Ortamı'nizin içinde olduğu sanal ağın DNS ayarını değiştirirseniz yeniden başlatmanız gerekir. Yeniden başlatmayı önlemek için, App Service Ortamı oluşturmadan önce sanal ağınız için DNS ayarlarınızı yapılandırmak iyi bir fikirdir.

Portal bağımlılıkları

Önceki bölümlerde açıklanan bağımlılıklara ek olarak, portal deneyimiyle ilgili dikkat etmeniz gereken bazı ek noktalar vardır. Azure portalındaki bazı özellikler kaynak denetim yöneticisi (SCM) sitesine doğrudan erişime bağlıdır. Azure Uygulaması Hizmeti'ndeki her uygulama için iki URL vardır. İlk URL, uygulamanıza erişmektir. İkinci URL, Kudu konsolu olarak da adlandırılan SCM sitesine erişmektir. SCM sitesini kullanan özellikler şunlardır:

  • Web işleri
  • İşlevler
  • Günlük akışı
  • Kudu
  • Uzantıları
  • İşlem Gezgini
  • Konsol

İç yük dengeleyici kullandığınızda, SCM sitesine sanal ağın dışından erişilemez. Bazı özellikler, bir uygulamanın SCM sitesine erişim gerektirdiğinden uygulama portalında çalışmaz. SCM sitesine portalı kullanmak yerine doğrudan bağlanabilirsiniz.

İç yük dengeleyiciniz etki alanı adı contoso.appserviceenvironment.netise ve uygulama adınız testapp ise, uygulamaya adresinden testapp.contoso.appserviceenvironment.netulaşılır. Onunla birlikte gelen SCM sitesine adresinden testapp.scm.contoso.appserviceenvironment.netulaşılır.

IP adresleri

Bir App Service Ortamı dikkat etmeniz gereken birkaç IP adresi vardır. Bunlar:

  • Genel gelen IP adresi: Dış dağıtımdaki uygulama trafiği ve hem iç hem de dış dağıtımlardaki yönetim trafiği için kullanılır.
  • Giden genel IP: Sanal ağdan ayrılan giden bağlantılar için "kimden" IP'si olarak kullanılır. Bu bağlantılar bir VPN'e yönlendirilmeyen bağlantılardır.
  • İç yük dengeleyici IP adresi: Bu adres yalnızca bir iç dağıtımda bulunur.
  • Uygulama tarafından atanan IP tabanlı TLS/SSL adresleri: Bu adresler yalnızca bir dış dağıtımla ve IP tabanlı TLS/SSL bağlaması yapılandırıldığında mümkündür.

Bu IP adreslerinin tümü Azure portalında App Service Ortamı kullanıcı arabiriminden görülebilir. bir iç dağıtımınız varsa, iç yük dengeleyicinin IP'si listelenir.

Not

App Service Ortamı çalışıyor olduğu sürece bu IP adresleri değişmez. App Service Ortamı askıya alınır ve sonra geri yüklenirse, kullanılan adresler değişir. Askıya alma işleminin normal nedeni, gelen yönetim erişimini engellemeniz veya bir bağımlılık erişimini engellemenizdir.

Uygulama tarafından atanan IP adresleri

Dış dağıtımla, tek tek uygulamalara IP adresleri atayabilirsiniz. Bunu bir iç dağıtımla yapamazsınız. Uygulamanızı kendi IP adresine sahip olacak şekilde yapılandırma hakkında daha fazla bilgi için bkz. Azure Uygulaması Service'te TLS/SSL bağlaması ile özel bir DNS adının güvenliğini sağlama.

Bir uygulamanın kendi IP tabanlı SSL adresi olduğunda, App Service Ortamı bu IP adresine eşlemek için iki bağlantı noktası ayırır. Bir bağlantı noktası HTTP trafiği, diğer bağlantı noktası ise HTTPS içindir. Bu bağlantı noktaları, App Service Ortamı portalınızın IP adresleri bölümünde listelenir. Trafiğin VIP'den bu bağlantı noktalarına ulaşabilmesi gerekir. Aksi takdirde, uygulamalara erişilemez. Bu gereksinim, ağ güvenlik gruplarını (NSG) yapılandırdığınızda anımsamak önemlidir.

Ağ güvenlik grupları

NSG'ler , sanal ağ içinde ağ erişimini denetleme olanağı sağlar. Portalı kullandığınızda, her şeyi reddetmek için en düşük önceliğe sahip örtük bir reddetme kuralı vardır. Oluşturduğunuz şey, izin verme kurallarınızdır.

App Service Ortamı barındırmak için kullanılan VM'lere erişiminiz yoktur. Bunlar Microsoft'un yönettiği bir aboneliktedir. Uygulamalara erişimi kısıtlamak istiyorsanız alt ağda NSG'leri ayarlayın. Bunu yaparken bağımlılıklara dikkat edin. Herhangi bir bağımlılığı engellerseniz, App Service Ortamı çalışmayı durdurur.

NSG'leri Azure portalı veya PowerShell aracılığıyla yapılandırabilirsiniz. Buradaki bilgiler Azure portalını gösterir. NSG'leri portalda Ağ altında üst düzey bir kaynak olarak oluşturur ve yönetirsiniz.

NSG'de gerekli girişler trafiğe izin vermektir:

Gelen

  • 454, 455 numaralı bağlantı noktalarındaki IP hizmeti etiketinden AppServiceManagement TCP
  • 16001 numaralı bağlantı noktasında yük dengeleyiciden TCP
  • App Service Ortamı alt ağından tüm bağlantı noktalarındaki App Service Ortamı alt ağından

Giden

  • 53 numaralı bağlantı noktasındaki tüm IP'lere UDP
  • 123 numaralı bağlantı noktasındaki tüm IP'lere UDP
  • 80, 443 numaralı bağlantı noktalarındaki tüm IP'lere TCP
  • 1433 numaralı bağlantı noktasında IP hizmeti etiketine Sql TCP
  • 12000 numaralı bağlantı noktasındaki tüm IP'lere TCP
  • Tüm bağlantı noktalarında App Service Ortamı alt aya

Bu bağlantı noktaları, uygulamalarınızın başarılı bir şekilde kullanılması için gereken bağlantı noktalarını içermez. Örneğin, uygulamanızın 3306 numaralı bağlantı noktasında bir MySQL sunucusu çağırması gerektiğini varsayalım. 123 numaralı bağlantı noktasındaki Ağ Zaman Protokolü (NTP), işletim sistemi tarafından kullanılan zaman eşitleme protokolüdür. NTP uç noktaları App Service'e özgü değildir, işletim sistemine göre farklılık gösterebilir ve iyi tanımlanmış bir adres listesinde yer almaz. Zaman eşitleme sorunlarını önlemek için 123 numaralı bağlantı noktasındaki tüm adreslere UDP trafiğine izin vermeniz gerekir. 12000 numaralı bağlantı noktasına giden TCP trafiği, sistem desteği ve analizi içindir. Uç noktalar dinamiktir ve iyi tanımlanmış bir adres kümesinde değildir.

Normal uygulama erişim bağlantı noktaları şunlardır:

Kullanma Bağlantı Noktaları
HTTP/HTTPS 80, 443
FTP/FTPS 21, 990, 10001-10020
Visual Studio uzaktan hata ayıklama 4020, 4022, 4024
Web Dağıtımı hizmeti 8172

Varsayılan kural, sanal ağdaki IP'lerin alt ağ ile konuşmasını sağlar. Başka bir varsayılan kural, genel VIP olarak da bilinen yük dengeleyicinin App Service Ortamı ile iletişim kurmasını sağlar. Varsayılan kuralları görmek için Varsayılan kurallar'ı seçin (Ekle simgesinin yanında).

Diğer her şeyi reddet kuralını varsayılan kuralların önüne koyarsanız, VIP ile App Service Ortamı arasındaki trafiği engellersiniz. Sanal ağın içinden gelen trafiği önlemek için gelenlere izin vermek için kendi kuralınızı ekleyin. Hedefi Any olan ve bağlantı noktası aralığı *olan, değerine eşit AzureLoadBalancerbir kaynak kullanın. NSG kuralı alt ağa uygulandığından, hedefe özgü olmanız gerekmez.

Uygulamanıza bir IP adresi atadıysanız bağlantı noktalarını açık tuttuğunuzdan emin olun. Bağlantı noktalarını görmek için App Service Ortamı> IP adreslerini seçin.  

NSG'leriniz tanımlandıktan sonra bunları alt ağa atayın. Sanal ağı veya alt ağı anımsamıyorsanız, App Service Ortamı portalından görebilirsiniz. NSG'yi alt ağınıza atamak için alt ağ kullanıcı arabirimine gidin ve NSG'yi seçin.

Rotalar

Zorlamalı tünel, giden trafiğin doğrudan İnternet'e gitmemesi için sanal ağınızdaki yolları ayarladığınız zamandır. Bunun yerine trafik, Azure ExpressRoute ağ geçidi veya sanal gereç gibi başka bir yere gider. App Service Ortamı bu şekilde yapılandırmanız gerekiyorsa bkz. App Service Ortamı zorlamalı tünelle yapılandırma.

Portalda bir App Service Ortamı oluşturduğunuzda, alt ağda otomatik olarak bir rota tabloları kümesi oluşturursunuz. Bu yollar yalnızca giden trafiği doğrudan İnternet'e göndermeyi ifade eder.

Aynı yolları el ile oluşturmak için şu adımları izleyin:

  1. Azure portalına gidin ve Ağ Yolu Tabloları'nı> seçin.

  2. Sanal ağınızla aynı bölgede yeni bir yol tablosu oluşturun.

  3. Rota tablosu kullanıcı arabiriminizin içinden Rotalar>Ekle'yi seçin.

  4. Sonraki atlama türünü İnternet olarak, Adres ön ekini de 0.0.0.0/0 olarak ayarlayın. Kaydet'i seçin.

    Ardından aşağıdakine benzer bir şey görürsünüz:

    Screenshot that shows functional routes.

  5. Yeni yol tablosunu oluşturduktan sonra alt ağa gidin. Portaldaki listeden rota tablonuzu seçin. Değişikliği kaydettikten sonra alt ağınızla birlikte belirtilen NSG'leri ve yolları görmeniz gerekir.

    Screenshot that shows NSGs and routes.

Hizmet uç noktaları

Hizmet uç noktaları, çok kiracılı hizmetlere erişimi bir dizi Azure sanal ağı ve alt ağıyla kısıtlamanıza olanak tanır. Daha fazla bilgi için bkz. hizmet uç noktalarını Sanal Ağ.

Bir kaynakta hizmet uç noktalarını etkinleştirdiğinizde, diğer tüm yollardan daha yüksek öncelikli oluşturulmuş yollar vardır. Herhangi bir Azure hizmetinde zorlamalı tünel App Service Ortamı hizmet uç noktalarını kullanırsanız, bu hizmetlere giden trafik zorlamalı tünel oluşturmaz.

Azure SQL örneği olan bir alt ağda hizmet uç noktaları etkinleştirildiğinde, bu alt ağdan bağlı tüm Azure SQL örneklerinin hizmet uç noktaları etkinleştirilmiş olmalıdır. Aynı alt ağdan birden fazla Azure SQL örneğine erişmek istiyorsanız, tek bir Azure SQL örneğinde hizmet uç noktalarını etkinleştirebilir, başka bir örnekte etkinleştiremezsiniz. Başka hiçbir Azure hizmeti, hizmet uç noktalarına göre Azure SQL gibi davranmaz. Azure Depolama ile hizmet uç noktalarını etkinleştirdiğinizde, alt ağınızdan bu kaynağa erişimi kilitlersiniz. Ancak hizmet uç noktaları etkin olmasa bile diğer Azure Depolama hesaplarına erişebilirsiniz.

Diagram that shows service endpoints.