Öğretici: Azure sanal ağı NAT ağ geçidiyle giden IP Azure İşlevleri denetleme
Sanal ağ adresi çevirisi (NAT), sanal ağlar için yalnızca giden İnternet bağlantısını basitleştirir. Bir alt ağda yapılandırıldığında, tüm giden bağlantılar belirttiğiniz statik genel IP adreslerinizi kullanır. NAT, güvenlik önlemi olarak ip adresinin izin verilenler listesini kullanan bir üçüncü taraf hizmeti kullanması gereken uygulamalar için yararlı olabilir. Daha fazla bilgi edinmek için bkz. Azure NAT Gateway nedir?.
Bu öğreticide, HTTP ile tetiklenen bir işlevden giden trafiği yönlendirmek için NAT ağ geçitlerinin nasıl kullanılacağı gösterilmektedir. Bu işlev kendi giden IP adresini denetlemenize olanak tanır. Bu öğretici sırasında şunları yapacaksınız:
- Sanal ağ oluşturma
- Premium plan işlev uygulaması oluşturma
- Genel IP adresi oluşturma
- NAT ağ geçidi oluşturma
- giden trafiği NAT ağ geçidi üzerinden yönlendirmek için işlev uygulamasını yapılandırma
Topoloji
Aşağıdaki diyagramda, oluşturduğunuz çözümün mimarisi gösterilmektedir:
Premium planında çalışan işlevler, VNet Tümleştirme özelliğini içeren Azure App Service'daki web uygulamalarıyla aynı barındırma özelliklerine sahiptir. Sorun giderme ve gelişmiş yapılandırma dahil olmak üzere sanal ağ tümleştirmesi hakkında daha fazla bilgi edinmek için bkz. Uygulamanızı Azure sanal ağıyla tümleştirme.
Önkoşullar
Bu öğreticide, IP adreslediğini ve alt ağ oluşturma işlemini anlamanız önemlidir. Adresleme ve alt ağ oluşturma ile ilgili temel bilgileri kapsayan bu makaleyle başlayabilirsiniz. Çevrimiçi ortamda daha birçok makale ve video mevcuttur.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
İşlevleri bir Azure sanal ağıyla tümleştirme öğreticisini tamamladıysanız HTTP tetikleyici işlevi oluşturma bölümüne atlayabilirsiniz.
Sanal ağ oluşturma
Azure portalı menüsünden Kaynak oluştur'u seçin. Azure Market AğSanal ağı'nı> seçin.
Sanal ağ oluştur bölümünde, aşağıdaki tabloda gösterildiği gibi belirtilen ayarları girin veya seçin:
Ayar Değer Abonelik Aboneliğinizi seçin. Kaynak grubu Yeni oluştur'u seçin, myResourceGroup yazın ve Tamam'ı seçin. Name myResourceGroup-vnet girin. Konum Doğu ABD’yi seçin. İleri: IP Adresleri'ne tıklayın ve IPv4 adres alanı için 10.10.0.0/16 girin.
Alt ağ ekle'yi seçin, ardından Alt ağ adı için Tutorial-Net ve Alt ağ adres aralığı için 10.10.1.0/24 girin.
Ekle'yi ve ardından Gözden geçir ve oluştur'u seçin. Gerisini varsayılan olarak bırakın ve Oluştur'u seçin.
Sanal ağ oluştur bölümünde Oluştur'u seçin.
Ardından Premium planda bir işlev uygulaması oluşturacaksınız. Bu plan, sanal ağ tümleştirmeyi desteklerken sunucusuz ölçek sağlar.
Premium planda işlev uygulaması oluşturma
Bu öğreticide, premium planda işlev uygulamanızı nasıl oluşturacağınız gösterilmektedir. Ayrılmış (App Service) planı kullanılırken de aynı işlevsellik kullanılabilir.
Not
Bu öğreticideki en iyi deneyim için çalışma zamanı yığını için .NET'i ve işletim sistemi için Windows'u seçin. Ayrıca, işlev uygulamanızı sanal ağınızla aynı bölgede oluşturun.
Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.
Yeni sayfasında İşlem>İşlevi Uygulaması'nı seçin.
Temel Bilgiler sayfasında, aşağıdaki tabloda belirtilen işlev uygulaması ayarlarını kullanın:
Ayar Önerilen değer Açıklama Abonelik Aboneliğiniz Bu yeni işlev uygulamasının oluşturulduğu abonelik. Kaynak Grubu myResourceGroup İşlev uygulamanızın oluşturulacağı yeni kaynak grubunun adı. İşlev Uygulamasının adı Genel olarak benzersiz bir ad Yeni işlev uygulamanızı tanımlayan ad. Geçerli karakterler şunlardır: a-z
(büyük/küçük harf duyarsız),0-9
ve-
.Yayımla Kod Kod dosyalarını veya Docker kapsayıcısını yayımlama seçeneği. Çalışma zamanı yığını Tercih edilen dil Tercih ettiğiniz işlev programlama dilini destekleyen bir çalışma zamanı seçin. Portal içi düzenleme şu anda Python geliştirme için desteklenmemekte. Bölge Tercih edilen bölge Size yakın veya işlevlerinizin eriştirileceği diğer hizmetlere yakın bir bölge seçin. İleri: Barındırma'ya tıklayın. Barındırma sayfasında aşağıdaki ayarları girin:
Ayar Önerilen değer Açıklama Depolama hesabı Genel olarak benzersiz bir ad İşlev uygulamanız tarafından kullanılan bir depolama hesabı oluşturun. Depolama hesabı adları 3 ile 24 karakter arasında olmalı ve yalnızca sayıyla küçük harf içermelidir. Depolama hesabı gereksinimlerini karşılaması gereken mevcut bir hesabı da kullanabilirsiniz. İşletim sistemi Tercih edilen işletim sistemi Çalışma zamanı yığını seçiminize göre bir işletim sistemi sizin için önceden seçilmiştir, ancak gerekirse ayarı değiştirebilirsiniz. Python yalnızca Linux'ta desteklenir. Portal içi düzenleme yalnızca Windows'ta desteklenir. Planlama Premium Kaynakların işlev uygulamanıza nasıl ayrılacağını tanımlayan barındırma planı. Premium'a tıklayın. Varsayılan olarak yeni bir App Service planı oluşturulur. Varsayılan Sku ve boyutEP1'dir ve BURADA EP esnek premium anlamına gelir. Daha fazla bilgi edinmek için Premium SKU'ların listesine bakın.
Premium planda JavaScript işlevlerini çalıştırırken daha az vCPU içeren bir örnek seçmelisiniz. Daha fazla bilgi için bkz. Tek çekirdekli Premium planları seçme.İleri: İzleme'yi seçin. İzleme sayfasında aşağıdaki ayarları girin:
Ayar Önerilen değer Açıklama Application Insights Varsayılan Desteklenen en yakın bölgede aynı Uygulama adına sahip bir Application Insights kaynağı oluşturur. Bu ayarı genişleterek Yeni kaynak adını değiştirebilir veya verilerinizi depolamak için Azure coğrafyasında farklı bir Konum seçebilirsiniz. Uygulama yapılandırma seçimlerini gözden geçirmek için Gözden geçir ve oluştur'u seçin.
gözden geçir ve oluştur sayfasında ayarlarınızı gözden geçirin ve ardından oluştur'u seçerek işlev uygulamasını sağlayın ve dağıtın.
Portalın sağ üst köşesindeki Bildirimler simgesini seçin ve Dağıtım başarılı iletisi için watch.
Yeni işlev uygulamanızı görüntülemek için Kaynağa git’i seçin. Panoya sabitle'yi de seçebilirsiniz. Sabitleme, panonuzdan bu işlev uygulaması kaynağına geri dönmeyi kolaylaştırır.
İşlev uygulamanızı sanal ağa bağlama
Artık işlev uygulamanızı sanal ağa bağlayabilirsiniz.
İşlev uygulamanızda soldaki menüden Ağ'ı seçin, ardından Sanal Ağ Tümleştirmesi'nin altında Yapılandırmak için buraya tıklayın'ı seçin.
VNET Tümleştirme sayfasında Sanal Ağ Ekle'yi seçin.
Ağ Özelliği Durumu'nda görüntünün altındaki tabloda yer alan ayarları kullanın:
Ayar Önerilen değer Açıklama Sanal Ağ MyResourceGroup-vnet Bu sanal ağ, daha önce oluşturduğunuz sanal ağdır. Alt ağ Yeni Alt Ağ Oluştur İşlev uygulamanızın kullanması için sanal ağda bir alt ağ oluşturun. Sanal Ağ Tümleştirmesi boş bir alt ağ kullanacak şekilde yapılandırılmalıdır. Alt ağ adı Function-Net Yeni alt ağın adı. Sanal ağ adres bloğu 10.10.0.0/16 Tanımlanmış yalnızca bir adres bloğunuz olmalıdır. Alt Ağ Adres Bloğu 10.10.2.0/24 Alt ağ boyutu, Premium plan işlev uygulamanızın ölçeğini genişletebileceği toplam örnek sayısını kısıtlar. Bu örnekte 254 kullanılabilir ana bilgisayar adresi içeren bir /24
alt ağ kullanılır. Bu alt ağ fazla sağlanmış ancak kolayca hesaplanıyor.Alt ağı eklemek için Tamam'ı seçin. İşlev uygulama sayfanıza dönmek için Sanal Ağ Tümleştirmesi ve Ağ Özelliği Durumu sayfalarını kapatın.
İşlev uygulaması artık sanal ağa erişebilir. Bağlantı etkinleştirildiğinde, vnetrouteallenabled
site ayarı olarak 1
ayarlanır. Bu site ayarının veya eski WEBSITE_VNET_ROUTE_ALL
uygulama ayarının olarak 1
ayarlanmış olması gerekir.
Ardından işlev uygulamasına HTTP ile tetiklenen bir işlev ekleyeceksiniz.
HTTP tetikleyici işlevi oluşturma
İşlevler penceresinin sol menüsünden İşlevler'i ve ardından üstteki menüden Ekle'yi seçin.
Yeni İşlev penceresinde Http tetikleyicisi'ni seçin ve Yeni İşlev için varsayılan adı kabul edin veya yeni bir ad girin.
Kod + Test bölümünde şablon tarafından oluşturulan C# betiği (.csx) kodunu aşağıdaki kodla değiştirin:
#r "Newtonsoft.Json" using System.Net; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using Newtonsoft.Json; public static async Task<IActionResult> Run(HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); var client = new HttpClient(); var response = await client.GetAsync(@"https://ifconfig.me"); var responseMessage = await response.Content.ReadAsStringAsync(); return new OkObjectResult(responseMessage); }
Bu kod, çağıranın IP adresini döndüren bir dış web sitesini çağırır ve bu durumda bu işlevdir. Bu yöntem, işlev uygulamanız tarafından kullanılan giden IP adresini kolayca belirlemenizi sağlar.
Artık işlevi çalıştırmaya ve geçerli giden IP'leri denetlemeye hazırsınız.
Geçerli giden IP'leri doğrulama
Artık işlevini çalıştırabilirsiniz. Ancak önce portala göz atın ve işlev uygulaması tarafından hangi giden IP'lerin kullanıldığını görün.
İşlev uygulamanızda Özellikler'i seçin ve Giden IP Adresleri alanını gözden geçirin.
Şimdi HTTP tetikleyici işlevinize dönün, Kod + Test'i ve ardından Test/Çalıştır'ı seçin.
İşlevi yürütmek için Çalıştır'ı seçin ve çıkışa geçin.
HTTP yanıt gövdesindeki IP adresinin, daha önce görüntülediğiniz giden IP adreslerindeki değerlerden biri olduğunu doğrulayın.
Artık bu giden IP adresini değiştirmek için bir genel IP oluşturabilir ve NAT ağ geçidi kullanabilirsiniz.
Genel IP oluşturma
Kaynak grubunuzdan Ekle'yi seçin, Azure Market Genel IP adresi için arama yapın ve Oluştur'u seçin. Resmin altındaki tabloda yer alan ayarları kullanın:
Ayar Önerilen değer IP Sürümü IPv4 SKU Standart Katman Bölgesel Ad Giden-IP Abonelik aboneliğinizin görüntülendiğinden emin olun Kaynak grubu myResourceGroup (veya kaynak grubunuz için atadığınız ad) Konum Doğu ABD (veya diğer kaynaklarınıza atadığınız konum) Kullanılabilirlik Alanı Bölge Yok Dağıtımı göndermek için Oluştur'u seçin.
Dağıtım tamamlandıktan sonra yeni oluşturduğunuz Genel IP Adresi kaynağınıza gidin ve Genel Bakış'ta IP Adresini görüntüleyin.
NAT ağ geçidi oluşturma
Şimdi NAT ağ geçidini oluşturalım.
Önceki sanal ağ öğreticisiyle başladığınızda, Function-Net
önerilen alt ağ adı ve MyResourceGroup-vnet
bu öğreticide önerilen sanal ağ adıydı.
Kaynak grubunuzdan Ekle'yi seçin, Azure Market NAT ağ geçidi için arama yapın ve Oluştur'u seçin. Temel Bilgiler sekmesini doldurmak için resmin altındaki tabloda yer alan ayarları kullanın:
Ayar Önerilen değer Abonelik Aboneliğiniz Kaynak grubu myResourceGroup (veya kaynak grubunuz için atadığınız ad) NAT ağ geçidi adı myNatGateway Bölge Doğu ABD (veya diğer kaynaklarınıza atadığınız konum) Kullanılabilirlik Alanı Hiçbiri İleri: Giden IP'yi seçin. Genel IP adresleri alanında, önceden oluşturulmuş genel IP adresini seçin. Genel IP Ön Eklerini seçili bırakın.
İleri: Alt Ağ'ı seçin. Sanal ağ alanında myResourceGroup-vnet kaynağını ve Function-Net alt ağını seçin.
Dağıtımı göndermek için Gözden Geçir + Oluştur'u ve ardından Oluştur'u seçin.
Dağıtım tamamlandıktan sonra NAT ağ geçidi, işlev uygulaması alt ağınızdaki trafiği İnternet'e yönlendirmeye hazır duruma gelir.
Yeni giden IP'leri doğrulama
İşlevi yeniden çalıştırmak için önceki adımları yineleyin. Şimdi işlev çıkışında gösterilen NAT'de yapılandırdığınız giden IP adresini görmeniz gerekir.
Kaynakları temizleme
Bu öğreticiyi tamamlamak için kaynaklar oluşturdunuz. Hesap durumunuz ve hizmet fiyatlandırmanıza bağlı olarak bu kaynaklar için faturalandırılırsınız. Ek maliyetler doğurmamak için, daha uzun süre ihtiyaç duyduğunuzda kaynakları silin.
Azure portalında Kaynak grubu sayfasına gidin.
İşlev uygulaması sayfasından bu sayfaya ulaşmak için Genel Bakış sekmesini ve ardından Kaynak grubu altındaki bağlantıyı seçin.
Panodan bu sayfaya ulaşmak için Kaynak grupları'nı ve ardından bu makalede kullandığınız kaynak grubunu seçin.
Kaynak grubu sayfasında, eklenen kaynakların listesini gözden geçirin ve bunların silmek istediğiniz kaynaklar olduğunu doğrulayın.
Kaynak grubunu sil'i seçin ve yönergeleri izleyin.
Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.