Azure App Service'te Yönetilen Örneği Yapılandırma (önizleme)

Azure App Service'te Yönetilen Örnek (önizleme), İşletim Sistemi (OS) özelleştirmesi, isteğe bağlı özel ağ ve Azure kaynaklarıyla güvenli tümleştirme gerektiren Windows web uygulamaları için plan odaklı bir barındırma seçeneğidir. Bu makalede, yönetilen örneğin önemli alanlarda nasıl yapılandırılır açıklanmaktadır:

  • İdare edilen kimlik
  • Yapılandırma (yükleme) betikleri
  • Depolama montajları
  • Kayıt defteri anahtarları
  • Uzak Masaüstü Protokolü (RDP) erişimi

Önemli

Yönetilen Örnek önizleme aşamasındadır, belirli bölgelerdeki Windows web uygulamaları için kullanılabilir ve Pv4 ve Pmv4 fiyatlandırma planları ile sınırlıdır. Daha fazla bölge daha eklenecek. Linux ve kapsayıcılar desteklenmez.

** Yönetilen bir kimlik ekleyin (App Service planına)

Plan düzeyinde yönetilen kimlikler, başlatma sırasında Azure Depolama'ya erişen yapılandırma (yükleme) betikleri, Key Vault'tan gizli dizileri çeken kayıt defteri bağdaştırıcıları ve Azure Dosyalar'da kimlik doğrulaması yapılan depolama bağlamaları gibi platform katmanında gerçekleşen altyapı işlemleri için kimlik doğrulamasını etkinleştirir. Bu bileşenler, plandaki birden çok uygulamanın tükettiği paylaşılan kaynaklardır. Örneğin, plan düzeyinde kimlik, yönetilen örneğin altyapı bileşenleri için bir kez kimlik doğrulaması yapmasına olanak tanırken, tek tek uygulamalar veritabanları ve uygulama gizli dizileri gibi uygulamaya özgü kaynaklar için kendi kimliklerini korur.

App Service planı için yönetilen kimlikler aşağıdaki senaryolarda gereklidir:

  • Azure Depolama'dan yapılandırma betiğinizi güvenle erişip alabilmek için.
  • Depolama Bağlamaları ve Kayıt Defteri Anahtar Bağdaştırıcıları için kimlik bilgilerini ve değerleri sağlamak için Anahtar Kasalarına erişin.

Yönetilen kimlik oluşturmak için bkz. kullanıcı tarafından atanan yönetilen kimlikleri yönetme .

Yönetilen Örnek planına Yönetilen Kimlik eklemek için:

  1. Azure portalında Yönetilen Örneğinize gidin.
  2. Kimlik>Kullanıcı Tarafından Atanan seçin.
  3. + Ekle'yi seçin.
  4. Aboneliği ve yönetilen kimliği seçin.
  5. Plana kimlik eklemek için Ekle'yi seçin.

Yapılandırma (yükleme) betikleri ekleme

Yapılandırma (yükleme) betikleri, kalıcı özelleştirme uygulamak için örnek başlangıcında çalışır. Örnek olarak Bileşen Nesne Modeli (COM) kaydı, Microsoft/Windows Installers (MSI) yüklemeleri, Internet Information Services (IIS Server) yapılandırması, ACL değişiklikleri, Windows Özelliklerini etkinleştirme, ortam değişkenlerini ayarlama verilebilir.

Yapılandırma (yükleme) betiklerini kullanmak için aşağıdakilere ihtiyacınız vardır:

  • App Service planına atanan yönetilen kimlik
  • Yapılandırma (yükleme) betik paketini (zip) tutan bir Blob kapsayıcısı olan bir depolama hesabı.
  • Kökünde Install.ps1 (giriş noktası) bulunan tek bir zip dosyası
  • Storage Blob Data Reader depolama hesabı, kapsayıcı veya kaynak grubu rolü

Yapılandırma betiği eklemek için şu adımları izleyin:

  1. Azure portalında Yönetilen Örnek App Service planınıza gidin.

  2. Yapılandırma>Genel Ayarları'nı seçin.

  3. Yapılandırma betiği bölümünde, betiğinizi yapılandırarak başlayın.

    Setting Değer
    Depolama Hesabı Depolama hesabınızı seçin
    Container Kapsayıcınızın adını girin
    Zip dosyası Zip dosyasının adını girin
    Değer Bu değerin doğru olduğunu doğrulayın
  4. Değişiklikleri kaydetmek için Uygula'yı seçin.

Yapılandırma komut dosyası en iyi uygulamaları

  • Betikleri tekrarlanabilir hale getirin (yüklemeden önce kontrol edin).
  • Yıkıcı işlemleri koruyun (korumalı Windows sistem dizinlerini değiştirmekten kaçının).
  • Başlatma gecikme süresini azaltmak için ağır yüklemeleri kademeleyin.

Örnek minimal zip yapısı:

Install.ps1
myInstallerfileNameGoesHere.msi
config.xml

Örnek yapılandırma betiği:

# Install Components, for example Crystal Reports, Control Library, Database Driver
$ComponentInstaller = "myInstallerFileNameGoesHere.msi"
try {
    $Component = Join-Path $PSScriptRoot $ComponentInstaller
    Start-Process $Component -ArgumentList "/q" -Wait -ErrorAction Stop
} catch {
    Write-Error "Failed to install ${ComponentInstaller}: $_"
    exit 1
}

Depolama bağlamalarını yapılandırma

Depolama bağlamaları, uygulamanız için erişilebilir kalıcı dış depolama alanı (örneğin Azure Dosyaları) sağlar. Gizli veriler için değil, paylaşılan dosya sistemi erişimine ihtiyaç duyan eski kodlar için kullanın (Key Vault kullanın). Yerel (geçici) depolama da kullanılabilir olsa da kalıcı değişiklikler için depolama bağlamaları gerekir.

Depolama bağlamalarını yapılandırmak için aşağıdakilere ihtiyacınız vardır:

  • Yönetilen kimlik (Key Vault erişimi için)
  • Key Vault gizli (kimlik doğrulama kaynağı)

Depolama bağlamalarını yapılandırmak için:

  1. Azure portalında Yönetilen Örneğinize gidin.
  2. Yapılandırma>Bağlantılar seçin.
  3. + Yeni depolama bağlantısı'nı seçin.

Depolama bağlamasını yapılandırmak için aşağıdaki ayrıntıları sağlayın:

Setting Değer
İsim Bağlama adı girin
Depolama türü Azure dosyaları, Özel veya Yerel (geçici depolama)
Depolama hesabı Depolama hesabı seçme veya girme
Dosya paylaşımı Dosya paylaşımı seçme
Değer Anahtar kasası seçme
Gizli Anahtar kasası sırrını seçin
Sürücü harfini bağlama Sürücü harfi yolunu seçin

Yönetilen Örneğinize dış depolama bağlayabilirsiniz. Bağlı depolama, yeniden başlatmalar arasında kalıcıdır ve uygulamanızın dosya sisteminden erişilebilir.

Azure Dosyaları ile depolama bağlama noktalarını yapılandırma

Azure Dosyalar depolama birimini yapılandırmak için:

  1. Azure Depolama Hesabı ve Azure Dosyalar paylaşımı oluşturun.
  2. Bağlantı kimlik bilgisini Key Vault'ta bir sır olarak depolayın. Desteklenen gizli içerikler: (Örn: DefaultEndpointsProtocol=...;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net)
  3. Yönetilen Örneğe montajı ekleyin (Azure portalı veya ARM/Bicep/Terraform).

İpucu

Gelişmiş güvenlik için Azure RBAC + paylaşım ACL'leri aracılığıyla paylaşım düzeyi izinleri zorunlu tutma.

Özel UNC ile depolama bağlantı noktalarını yapılandırma

Harici olarak (şirket içi, VM veya Microsoft dışı) barındırılan SMB paylaşımları için mount etme işlemlerini kullanın. Ağ bağlantısını (sanal ağ entegrasyonu / özel uç noktalar / güvenlik duvarları) sağlayın.

  1. Kimlik bilgileri gerekiyorsa, bunları bir Key Vault sırrında şu biçimde depolayın: username=<user>,password=<password>
    • Etki alanı yönetici hesaplarından kaçının; en az ayrıcalıklı bir hizmet kimliği kullanın.
  2. Bağlamayı Yönetilen Örnek'e ekleyin.

Kayıt defteri anahtarlarını yapılandırma

Bazı uygulamalar, Windows Kayıt Defteri'nden okunan değerlere bağlıdır. Kayıt Defteri Anahtarı bağdaştırıcısı ile kayıt defteri anahtarları oluşturabilir ve Azure Key Vault'tan gizli anahtarları değer olarak kullanabilirsiniz.

Kayıt defteri anahtarlarını yapılandırmak için aşağıdakilere ihtiyacınız vardır:

  • Yönetilen kimlik (Key Vault erişimi için)
  • Key Vault sırrı (kimlik bilgisi kaynağı)

Kayıt defteri anahtarlarını yapılandırmak için:

  1. Yapılandırma>Kayıt Defteri Anahtarları'na gidin.

  2. + Ekle'yi seçin.

    Setting Değer
    Yol Kayıt defteri yolunu girin
    Kasa Mevcut kasa adını girin
    Gizli Anahtar kasası gizli bilgisini seçin veya girin
    Türü Dize veya DWORD
  3. Kayıt defteri anahtarını eklemek için Ekle'yi seçin.

Dikkat

Sistem açısından kritik kayıt defteri yollarını değiştirirken dikkatli olun. Yanlış değişiklikler örnek kararlılığını etkileyebilir.

RDP (Bastion) erişimini yapılandırma

Hızlı Başlangıç: Azure Bastion'ı dağıtma özelliği, Vm örneklerinize Uzak Masaüstü Protokolü (RDP) aracılığıyla otomatik olarak güvenli bir şekilde bağlanmanızı sağlar. Azure Bastion aracılığıyla RDP, geçici tanılama için kullanılır (günlük denetimi, hızlı doğrulama). Bastion'ı portal aracılığıyla kullanmayı planlıyorsanız Bastion kaynağınızı standart fiyatlandırma katmanına yükseltin ve Yerel İstemci Desteği ve IP-Based Bağlantısı'nı seçin.

Bastion/RDP erişimi için aşağıdaki kaynaklara ihtiyacınız vardır:

  • Yönetilen Örnek sanal ağ ile tümleşik olmalıdır
  • Hedef sanal ağda Azure Bastion konağı
  • Bastion alt ağı NSG'sinden App Service Planı alt ağı NSG'sine 3389 numaralı bağlantı noktasına izin verilmelidir

Bastion'ı yapılandırmak için:

  1. Yapılandırma>Bastion/RDP'ye gidin.
  2. Sanal Ağın bağlı olduğunu doğrulayın.
  3. Uzak Masaüstüne İzin Ver (Bastion aracılığıyla) seçeneğini belirleyin.

Dikkat

El ile yükleyicileri veya yapılandırma değişikliklerini yalnızca RDP aracılığıyla uygulamayın. Geri dönüşümde veya yapılandırma kaymalarında değişiklikler kaybolur.

Sık Sorulan Sorular (SSS)

Azure App Service'te Yönetilen Örnekte hangi işletim sistemi (os) çalıştırılıyor?

Windows Server 2022.

Daha fazla Windows rolü ve özelliği etkinleştirebilir miyim?

Evet, bir yapılandırma betiği aracılığıyla. Ancak, Windows Server’ın gelecekteki bir sürümünden kaldırılan özellikler Yönetilen Örnekte kullanılamaz durumda olmayacaktır.

Azure App Service'te Yönetilen Örnek normal platform ve uygulama yığını güncelleştirmeleri alıyor mu?

Evet, örnekler rutin platform güncelleştirmelerini ve bakımlarını alır. Önceden yüklenmiş uygulama yığınları da düzenli olarak güncelleştirilir. Yapılandırma (yükleme) betikleri aracılığıyla yüklenen tüm bileşenleri korumanız gerekir.

Azure App Service'te Yönetilen Örneğe hangi programlama dilleri yüklenir?

Microsoft .NET Framework 3.5, 4.8 ve Microsoft .NET 8.0. Başka çalışma zamanlarına ihtiyacınız varsa bunları bir yapılandırma betiği kullanarak yükleyebilirsiniz. Azure App Service platform bakımı kapsamında ek çalışma zamanları tutmaz ve bunları el ile güncelleştirmeniz gerekir.

Yapılandırma (yükleme) betikleriyle ilgili sınırlamalar nelerdir?

Yapılandırma (yükleme) betikleri bağımlılıkları yükleyebilir, rolleri ve özellikleri etkinleştirebilir ve işletim sistemini özelleştirebilir. Ancak yıkıcı işlemler (örneğin, Windows\System32'nin silinmesi gibi) desteklenmez ve instance dengesizliğine neden olabilir.

Yapılandırma (yükleme) betiği hangi izin düzeyinde yürütülür?

Yapılandırma (yükleme) betikleri, sistem düzeyinde bileşenlerin yüklenmesine ve yapılandırılmasına izin vermek için Yönetici izinleriyle yürütülür.

Bir işleç Bastion kullanarak bir örneğe bağlanırken hangi rol izinlerine sahip olur?

Bastion aracılığıyla bağlanan kullanıcılar oturum sırasında Yönetici ayrıcalıklarına sahiptir.

Yapılandırma (yükleme) betiğim veya kayıt defteri/depolama bağdaştırıcılarım ile ilgili hataları nasıl giderebilirim?

Sorun gidermek için yapılandırma (yükleme) betiklerinin günlüklerini gözden geçirin. Bunlar örnekte (web uygulamasında değil) C:\InstallScripts\Script\Install.log içinde bulunabilir. Alternatif olarak, App Service konsol günlükleri Azure İzleyici ve Log Analytics'e gönderilebilir.

Bağdaştırıcı günlükleri makinenin ana dizininde bulunabilir, alternatif olarak App Service Platform Günlüklerine kaydedilir.

Azure App Service çalışan örneğinde bir Managed Instance'ın adreslenebilir belleği nedir?

Azure App Service çalışan örneğindeki yönetilen örneğin adreslenebilir belleği, seçilen fiyatlandırma planına bağlı olarak değişir. Aşağıdaki tabloda, Azure App Service çalışan örneğindeki Yönetilen Örnek için adreslenebilir bellek listelenir. Daha fazla bileşen, hizmet vb. yükleyen bir yapılandırma betiğiniz olup olmadığını göz önünde bulundurmanız önemlidir. Bu kaynaklar, web uygulamalarınız tarafından kullanılabilen bellek miktarını etkiler.

Fiyatlandırma planı Çekirdekler Bellek (MB)
P0v4 1 2048
P1v4 2 5952
P2v4 4 13440
P3v4 8 28672
P1Mv4 2 13440
P2Mv4 4 28672
P3Mv4 8 60160
P4Mv4 16 121088
P5Mv4 32 246016

Yapılandırma (yükleme) betiğini karşıya yüklemek için hangi Azure Depolama hizmetini kullanmalıyım?

Betiği ve gerekli bağımlılıkları karşıya yüklemek için Azure Depolama Blob Hizmeti'ni kullanın.

Yapılandırma (yükleme) betiği için adlandırma ve biçimlendirmeyle ilgili bir kısıtlama var mı?

Evet, betiğin adı Install.ps1olmalıdır. Yalnızca PowerShell desteklenir. Yapılandırma betiğini ve bağımlılıklarını tek bir .zip dosyası olarak karşıya yüklediğinizden emin olun.

Zip dosyasının bir parçası olarak karşıya yükleyebildiğim bağımlılıklar için boyut sınırı var mı?

Boyut sınırı uygulanmaz. Bağımlılıkların genel boyutunun örnek sağlama süresini etkilediğini unutmayın.

App Service plan bağdaştırıcılarında Yönetilen Örnek ekleme veya düzenleme, plan örneklerini yeniden başlatır mı?

Evet, Yönetilen Örnek planı bağdaştırıcılarını ekleme veya düzenleme (yapılandırma betiği/depolama/kayıt defteri) temel alınan örnekleri yeniden başlatır ve plana dağıtılan tüm web uygulamalarını etkiler. Örneğin yeniden başlatılmasının, bir RDP oturumu aracılığıyla yapılan tüm değişiklikleri kaldıracağını unutmayın. Bağımlılık yüklemesini veya gerekli diğer yapılandırma değişikliklerini kalıcı hale getirmek için her zaman yapılandırma (yükleme) betiğini kullanın.

Yönetilen Örnek planımda birden çok örnek var, tek bir örneği yeniden başlatabilir miyim?

Evet, Yönetilen Örneğe göz atın ve sol menüden Örnekler'i seçin. Ardından örnek adının yanındaki yeniden başlat'ı seçin.

App Service'te Yönetilen Örneğim planımda birden çok web uygulaması var, tek bir web uygulamasını yeniden başlatabilir miyim?

Evet, uygulamanın Genel Bakış sayfasına göz atın ve Yeniden Başlat'ı seçin.

App Service planındaki Yönetilen Örnek içinde yer alan web uygulamama Yönetilen Kimlik atayabilir miyim?

Evet, Yönetilen Örnek içindeki bir web uygulamasına farklı bir Yönetilen kimlik atayabilirsiniz. Yönetilen Kimlik kılavuzunu izleyin

App Service planında Yönetilen Örnek için oluşturabildiğim bağdaştırıcı sayısıyla ilgili bir sınırlama var mı?

Hayır, depolama veya kayıt defteri bağdaştırıcılarının sayısında bir sınır yoktur. App Service planında Yönetilen Örnek için yalnızca bir tane yapılandırma (yükleme) betik uyarlayıcısı oluşturabilirsiniz. Bağdaştırıcı sayısındaki artış, Yönetilen Örnek için provizyon süresini etkileyebilir.

App Service'te Yönetilen Örnek için hangi bölgelerin desteği vardır?

Şu anda App Service'te Managed Instance desteği Doğu ABD, Orta Batı ABD, Doğu Asya, Kuzey Avrupa, Doğu Avustralya, Orta Hindistan ve Güney Hindistan ile sınırlıdır. Önizlemeye zaman içinde daha fazla bölge eklenecektir. Bölgelerin güncelleştirilmiş listesini almak için aşağıdaki CLI komutunu kullanabilirsiniz (Azure CLI sürüm 2.82.0 veya üzerini kullanıyor olmanız gerekir).

az appservice list-locations --managed-instance-enabled --sku <Pv4 or PmV4 sku your require, for example P1v4>