Öğretici: Özel site erişimi Azure İşlevleri oluşturma

Bu öğreticide, Azure İşlevleri ile özel site erişimini etkinleştirme gösterilmektedir. Özel site erişimini kullanarak işlev kodunuzun yalnızca belirli bir sanal ağdan tetiklenmiş olmasını gerektirebilirsiniz.

Özel site erişimi, işlev uygulamasına erişimin belirli bir sanal ağ ile sınırlandırılması gereken senaryolarda kullanışlıdır. Örneğin işlev uygulaması yalnızca belirli bir kuruluşun çalışanları veya belirtilen sanal ağ içindeki hizmetler (başka bir Azure İşlevi, Azure Sanal Makinesi veya AKS kümesi gibi) için geçerli olabilir.

İşlevler uygulamasının sanal ağ içindeki Azure kaynaklarına erişmesi veya hizmet uç noktaları aracılığıyla bağlanması gerekiyorsa sanal ağ tümleştirmesi gerekir.

Bu öğreticide, işlev uygulamanız için özel site erişimini yapılandırmayı öğreneceksiniz:

  • Sanal makine oluşturun
  • Azure Bastion hizmeti oluşturma
  • Azure İşlevleri uygulaması oluşturma
  • Sanal ağ hizmet uç noktasını yapılandırma
  • Azure İşlevi oluşturma ve dağıtma
  • İşlevi dışarıdan ve sanal ağ içinden çağırma

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Topoloji

Aşağıdaki diyagramda oluşturulacak çözümün mimarisi gösterilmektedir:

High-level architecture diagram for private site access solution

Önkoşullar

Bu öğreticide, IP adresleme ve alt ağ oluşturma konularını anlamanız önemlidir. Adresleme ve alt ağ oluşturmayla ilgili temel bilgileri kapsayan bu makaleyle başlayabilirsiniz. Çevrimiçi ortamda daha birçok makale ve video mevcuttur.

Azure portalda oturum açın

Azure Portal oturum açın.

Sanal makine oluşturun

Bu öğreticinin ilk adımı, bir sanal ağ içinde yeni bir sanal makine oluşturmaktır. Sanal makine, erişimini yalnızca sanal ağ içinden kullanılabilir olacak şekilde kısıtladıktan sonra işlevinize erişmek için kullanılır.

  1. Kaynak oluştur düğmesini seçin.

  2. Arama alanına Windows Server yazın ve arama sonuçlarında Windows Server'ı seçin.

  3. Windows Server seçenekleri listesinden Windows Server 2019 Datacenter'ı seçin ve Oluştur düğmesine basın.

  4. Temel Bilgiler sekmesinde, görüntünün altındaki tabloda belirtilen VM ayarlarını kullanın:

    Basics tab for a new Windows VM

    Ayar Önerilen değer Açıklama
    Abonelik Aboneliğiniz Kaynaklarınızın oluşturulduğu abonelik.
    Kaynak grubu myResourceGroup Bu öğreticinin tüm kaynaklarını içerecek kaynak grubunu seçin. Aynı kaynak grubunu kullanmak, bu öğreticiyi tamamladığınızda kaynakları temizlemeyi kolaylaştırır.
    Sanal makine adı myVM VM adının kaynak grubunda benzersiz olması gerekir
    Bölge (ABD) Orta Kuzey ABD Size yakın veya erişilecek işlevlerin yakınında bir bölge seçin.
    Genel gelen bağlantı noktaları Hiçbiri sanal makineye İnternet'ten gelen bağlantı olmadığından emin olmak için Yok'a tıklayın. VM'ye uzaktan erişim, Azure Bastion hizmeti aracılığıyla yapılandırılır.
  5. sekmesini seçin ve yeni bir sanal ağ yapılandırmak için Yeni oluştur'u seçin.

    Screenshot that shows the

  6. Sanal ağ oluştur bölümünde, görüntünün altındaki tabloda yer alan ayarları kullanın:

    Create a new virtual network for the new VM

    Ayar Önerilen değer Veri Akışı Açıklaması
    Dosya Adı myResourceGroup-vnet Sanal ağınız için oluşturulan varsayılan adı kullanabilirsiniz.
    Adres aralığı 10.10.0.0/16 Sanal ağ için tek bir adres aralığı kullanın.
    Alt ağ adı Öğretici Alt ağın adı.
    Adres aralığı (alt ağ) 10.10.1.0/24 Alt ağ boyutu, alt ağa kaç arabirim eklenebileceğini tanımlar. Bu alt ağ VM tarafından kullanılır. /24 alt ağı 254 ana bilgisayar adresi sağlar.
  7. Sanal ağı oluşturmak için Tamam'ı seçin.

  8. Ağ sekmesine döndüğünüzde Genel IP için Hiçbiri'nin seçili olduğundan emin olun.

  9. Yönetim sekmesini seçin, ardından Tanılama depolama hesabı'nda Yeni oluştur'u seçerek yeni bir Depolama hesabı oluşturun.

  10. Kimlik, Otomatik kapatma ve Yedekleme bölümleri için varsayılan değerleri bırakın.

  11. Gözden geçir ve oluştur’u seçin. Doğrulama tamamlandıktan sonra Oluştur'u seçin. VM oluşturma işlemi birkaç dakika sürer.

Azure Bastion'ı yapılandırma

Azure Bastion , sanal makinelere doğrudan Azure portalından güvenli RDP ve SSH erişimi sağlayan tam olarak yönetilen bir Azure hizmetidir. Azure Bastion hizmetinin kullanılması, RDP erişimiyle ilgili ağ ayarlarını yapılandırma gereksinimini ortadan kaldırır.

  1. Portalda, kaynak grubu görünümünün üst kısmındaki Ekle'yi seçin.

  2. Arama alanına Bastion yazın.

  3. Arama sonuçlarında Bastion'ı seçin.

  4. Yeni bir Azure Bastion kaynağı oluşturma işlemine başlamak için Oluştur'u seçin. Henüz bir AzureBastionSubnet alt ağı olmadığından Sanal ağ bölümünde bir hata iletisiyle karşılaşırsınız. Alt ağ aşağıdaki adımlarda oluşturulur. Resmin altındaki tabloda yer alan ayarları kullanın:

    Start of creating Azure Bastion

    Ayar Önerilen değer Veri Akışı Açıklaması
    Dosya Adı myBastion Yeni Bastion kaynağının adı
    Bölge Orta Kuzey ABD Kendinize veya işlevinizin erişeceği diğer hizmetlere yakın bir bölge seçin.
    Sanal ağ myResourceGroup-vnet Bastion kaynağının oluşturulacağı sanal ağ
    Alt ağ AzureBastionSubnet Sanal ağınızdaki yeni Bastion ana bilgisayar kaynağının dağıtılacağı alt ağ. AzureBastionSubnet ad değerini kullanarak bir alt ağ oluşturmanız gerekir. Bu değer, Azure'ın Bastion kaynaklarının dağıtılacağı alt ağı bilmesini sağlar. En az /27 veya daha büyük bir alt ağ (/27 , /26 vb.) kullanmanız gerekir.

    Dekont

    Azure Bastion kaynağı oluşturmaya yönelik ayrıntılı ve adım adım kılavuz için Azure Bastion konağı oluşturma öğreticisine bakın.

  5. Azure'ın Azure Bastion ana bilgisayarını sağlayabildiği bir alt ağ oluşturun. Alt ağ yapılandırmasını yönet'i seçtiğinizde yeni bir alt ağ tanımlayabileceğiniz yeni bir bölme açılır. Yeni bir alt ağ oluşturmak için + Alt ağ'ı seçin.

  6. Alt ağ AzureBastionSubnet adında olmalı ve alt ağ ön eki en az /27 olmalıdır. Alt ağı oluşturmak için Tamam'ı seçin.

    Create subnet for Azure Bastion host

  7. Bastion Oluştur sayfasında, kullanılabilir alt ağlar listesinden yeni oluşturulan AzureBastionSubnet'i seçin.

    Create an Azure Bastion host with specific subnet

  8. Gözden Geçir ve Oluştur'u seçin. Doğrulama tamamlandıktan sonra Oluştur'u seçin. Azure Bastion kaynağının oluşturulması birkaç dakika sürer.

Azure İşlevleri uygulaması oluşturma

Sonraki adım, Tüketim planını kullanarak Azure'da bir işlev uygulaması oluşturmaktır. İşlev kodunuzu öğreticinin ilerleyen bölümlerinde bu kaynağa dağıtacaksınız.

  1. Portalda, kaynak grubu görünümünün üst kısmındaki Ekle'yi seçin.

  2. İşlem > İşlevi Uygulaması'nı seçin

  3. Temel Bilgiler bölümünde, aşağıdaki tabloda belirtilen işlev uygulaması ayarlarını kullanın.

    Ayar Önerilen değer Açıklama
    Kaynak Grubu myResourceGroup Bu öğreticinin tüm kaynaklarını içerecek kaynak grubunu seçin. İşlev uygulaması ve VM için aynı kaynak grubunu kullanmak, bu öğreticiyi tamamladığınızda kaynakları temizlemeyi kolaylaştırır.
    İşlev Uygulamasının adı Genel olarak benzersiz bir ad Yeni işlev uygulamanızı tanımlayan ad. Geçerli karakterler a-z (büyük/küçük harfe duyarsız), 0-9 ve -'dır.
    Yayınla 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.
    Bölge Orta Kuzey ABD Kendinize veya işlevinizin erişeceği diğer hizmetlere yakın bir bölge seçin.

    İleri: Barındırma > düğmesini seçin.

  4. Barındırma bölümünde, aşağıdaki tabloda açıklandığı gibi uygun Depolama hesabını, İşletim sistemini ve Plan'ı seçin.

    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.
    Plan Tüketim Barındırma planı, işlev uygulamasının nasıl ölçeklendirilip her örnek için kullanılabilir kaynaklara sahip olacağını belirler.
  5. Uygulama yapılandırma seçimlerini gözden geçirmek için Gözden Geçir + Oluştur'u seçin.

  6. İşlev uygulamasını sağlamak ve dağıtmak için Oluştur'u seçin.

Erişim kısıtlamalarını yapılandırma

Sonraki adım, yalnızca sanal ağdaki kaynakların işlevi çağıramasını sağlamak için erişim kısıtlamalarını yapılandırmaktır.

Özel site erişimi, işlev uygulaması ile belirtilen sanal ağ arasında bir Azure Sanal Ağ hizmet uç noktası oluşturularak etkinleştirilir. Erişim kısıtlamaları hizmet uç noktaları aracılığıyla uygulanır. Hizmet uç noktaları yalnızca belirtilen sanal ağ içinden gelen trafiğin belirlenen kaynağa erişebilmesini sağlar. Bu durumda, belirlenen kaynak Azure İşlevi'dir.

  1. İşlev uygulamasında, Ayarlar bölüm üst bilgisinin altındaki Ağ bağlantısını seçin.

  2. sayfası, Azure Front Door'un, Azure CDN'nin ve ayrıca Erişim Kısıtlamaları'nın yapılandırılması için başlangıç noktasıdır.

  3. Özel site erişimini yapılandırmak için Erişim Kısıtlamalarını Yapılandır'ı seçin.

  4. Erişim Kısıtlamaları sayfasında yalnızca varsayılan kısıtlamayı görürsünüz. Varsayılan ayar, işlev uygulamasına erişime herhangi bir kısıtlama uygulamaz. Özel site erişim kısıtlama yapılandırması oluşturmak için Kural ekle'yi seçin.

  5. Erişim Kısıtlaması Ekle bölmesinde, yeni kural için bir Ad, Öncelik ve Açıklama sağlayın.

  6. Tür açılan kutusundan Sanal Ağseçin, daha önce oluşturulmuş sanal ağı ve ardından Öğretici alt ağını seçin.

    Dekont

    Hizmet uç noktasının etkinleştirilmesi birkaç dakika sürebilir.

  7. Erişim Kısıtlamaları sayfası artık yeni bir kısıtlama olduğunu gösteriyor. Uç Nokta durumunun, Sağlama yoluyla Devre Dışı'ndan Etkin olarak değiştirilmesi birkaç saniye sürebilir.

    Önemli

    Her işlev uygulamasının, işlev uygulaması dağıtımlarını yönetmek için kullanılan bir Gelişmiş Araç (Kudu) sitesi vardır. Bu siteye aşağıdaki gibi bir URL'den erişilir: <FUNCTION_APP_NAME>.scm.azurewebsites.net. Kudu sitesinde erişim kısıtlamalarının etkinleştirilmesi, proje kodunun yerel geliştirici iş istasyonundan dağıtılmasını engeller ve ardından dağıtımı gerçekleştirmek için sanal ağ içinde bir aracı gerekir.

İşlevler uygulamasına erişme

  1. Daha önce oluşturulan işlev uygulamasına dönün. Genel Bakış bölümünde URL'yi kopyalayın.

    Get the Function app URL

    İşlev uygulamasına sanal ağınızın dışındaki bilgisayarınızdan erişmeye çalışırsanız, erişimin yasak olduğunu belirten bir HTTP 403 sayfası alırsınız.

  2. Kaynak grubuna dönün ve daha önce oluşturulan sanal makineyi seçin. Siteye VM'den erişmek için Azure Bastion hizmeti aracılığıyla VM'ye bağlanmanız gerekir.

  3. Bağlan'ı ve ardından Bastion'ı seçin.

  4. Sanal makinede oturum açmak için gerekli kullanıcı adını ve parolayı belirtin.

  5. Bağlan'ı seçin. Sanal makineyle etkileşim kurmanızı sağlayan yeni bir tarayıcı penceresi açılır. Sanal makine sanal ağ üzerinden siteye eriştiğinden, siteye VM'de web tarayıcısından erişmek mümkündür. Siteye yalnızca belirlenen sanal ağ içinden erişilebilir olsa da, bir genel DNS girişi kalır.

İşlev oluşturma

Bu öğreticideki bir sonraki adım, HTTP ile tetiklenen bir Azure İşlevi oluşturmaktır. İşlevin HTTP GET veya POST aracılığıyla çağrılması "Hello, {name}" yanıtıyla sonuçlanmalıdır.

  1. Azure İşlevleri uygulamanızı oluşturmak ve dağıtmak için aşağıdaki hızlı başlangıçlardan birini izleyin.

  2. Azure İşlevleri projenizi yayımlarken, bu öğreticinin önceki bölümlerinde oluşturduğunuz işlev uygulaması kaynağını seçin.

  3. İşlevin dağıtıldığından emin olun.

    Deployed function in list of functions

İşlevi doğrudan çağırma

  1. İşleve erişimi test etmek için işlev URL'sini kopyalamanız gerekir. Dağıtılan işlevi seçin ve ardından İşlev Url'sini Al'ı seçin. Ardından URL'yi panonuza kopyalamak için Kopyala düğmesine tıklayın.

    Copy the function URL

  2. URL'yi bir web tarayıcısına yapıştırın. Artık sanal ağınızın dışındaki bir bilgisayardan işlev uygulamasına erişmeye çalıştığınızda, uygulamaya erişimin yasak olduğunu belirten bir HTTP 403 yanıtı alırsınız.

İşlevi sanal ağdan çağırma

İşleve sanal ağda yapılandırılan VM'de bir web tarayıcısı (Azure Bastion hizmetini kullanarak) aracılığıyla erişmek başarılı olur!

Access the Azure Function via Azure Bastion

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.

Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.

myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.

Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.

Sonraki adımlar