dağıtım yuvalarını Azure İşlevleri
Azure İşlevleri dağıtım yuvaları, işlev uygulamanızın yuva olarak adlandırılan farklı örnekleri çalıştırmasına olanak tanır. Yuvalar, genel kullanıma açık bir uç nokta aracılığıyla kullanıma sunulan farklı ortamlardır. Bir uygulama örneği her zaman üretim yuvasına eşlenir ve isteğe bağlı olarak bir yuvaya atanan örnekleri değiştirebilirsiniz.
Kullanılabilir yuvaların sayısı, belirli barındırma seçeneğinize bağlıdır:
Barındırma seçeneği | Yuvalar (üretim dahil) |
---|---|
Tüketim planı | 2 |
Esnek Tüketim planı | Şu anda desteklenmiyor |
Premium plan | 3 |
Ayrılmış (App Service) planı | 1-20 |
Container Apps | Düzeltmeleri Kullanır |
Aşağıdakiler işlevlerin yuva değiştirme işlemlerinden nasıl etkilendiğini yansıtır:
- Trafik yeniden yönlendirme sorunsuz; değiştirme nedeniyle hiçbir istek bırakılmaz. Bu sorunsuz davranış, bir sonraki işlev tetikleyicisinin değiştirildiği yuvaya yönlendirildiği için oluşur.
- Şu anda yürütülen işlev değiştirme sırasında sonlandırılır. Durum bilgisi olmayan ve savunma işlevleri yazmayı öğrenmek için bkz. Azure İşlevleri performansını ve güvenilirliğini geliştirme.
Yuvalar neden kullanılır?
Dağıtım yuvalarını kullanmanın birçok avantajı vardır:
- Farklı amaçlar için farklı ortamlar: Farklı yuvalar kullanmak, üretim veya hazırlama yuvasına geçmeden önce uygulama örneklerini ayırt etme fırsatı sunar.
- Önceden hazırlama: Doğrudan üretim yerine bir yuvaya dağıtmak, uygulamanın canlı yayına geçmeden önce ısınmasını sağlar. Ayrıca yuvaların kullanılması, HTTP ile tetiklenen iş yükleri için gecikme süresini azaltır. Örnekler dağıtımdan önce ısınarak yeni dağıtılan işlevlerin soğuk başlangıcını azaltır.
- Kolay geri dönüşler: Üretimle değiştirme işleminden sonra, önceden hazırlanmış bir uygulamaya sahip yuva artık önceki üretim uygulamasına sahiptir. Üretim yuvasında değiştirilen değişiklikler beklediğiniz gibi değilse, "bilinen son iyi örneğinizi" geri almak için değiştirme işlemini hemen tersine çevirebilirsiniz.
- Yeniden başlatmaları en aza indirme: Üretim yuvasında uygulama ayarlarının değiştirilmesi, çalışan uygulamanın yeniden başlatılmasını gerektirir. Bunun yerine hazırlama yuvasındaki ayarları değiştirebilir ve ayarları önceden hazır bir örnekle üretime değiştirebilirsiniz. Yuvalar, en yüksek kullanılabilirliği korurken İşlevler çalışma zamanı sürümleri arasında geçiş yapmak için önerilen yoldur. Daha fazla bilgi edinmek için bkz . En düşük kapalı kalma süresi güncelleştirmesi.
Değiştirme işlemleri
Değiştirme sırasında, bir yuva kaynak olarak kabul edilir ve diğeri hedeftir. Kaynak yuva, hedef yuvaya uygulanan uygulamanın örneğine sahiptir. Aşağıdaki adımlar, hedef yuvanın değiştirme sırasında kapalı kalma süresi yaşamamasını sağlar:
Ayarları uygula: Hedef yuvadaki ayarlar kaynak yuvanın tüm örneklerine uygulanır. Örneğin, üretim ayarları hazırlama örneğine uygulanır. Uygulanan ayarlar aşağıdaki kategorileri içerir:
- Yuvaya özgü uygulama ayarları ve bağlantı dizesi (varsa)
- Sürekli dağıtım ayarları (etkinse)
- App Service kimlik doğrulama ayarları (etkinse)
Yeniden başlatmaları ve kullanılabilirliği bekleyin: Değiştirme işlemi, kaynak yuvadaki her örneğin yeniden başlatılmasını ve istekler için kullanılabilir olmasını bekler. Herhangi bir örnek yeniden başlatılamazsa, değiştirme işlemi kaynak yuvadaki tüm değişiklikleri geri döndürür ve işlemi durdurur.
Güncelleştirme yönlendirmesi: Kaynak yuvadaki tüm örnekler başarıyla ısınırsa, iki yuva yönlendirme kurallarını değiştirerek değiştirme işlemini tamamlar. Bu adımdan sonra hedef yuvada (örneğin, üretim yuvası) daha önce kaynak yuvada ısıtılmış olan uygulama bulunur.
İşlemi yineleme: Artık kaynak yuvada önceden hedef yuvada preswap uygulaması olduğuna göre, tüm ayarları uygulayarak ve kaynak yuva için örnekleri yeniden başlatarak aynı işlemi tamamlayın.
Aşağıdaki noktaları göz önünde bulundurun:
Değiştirme işleminin herhangi bir noktasında, değiştirilen uygulamaların başlatılması kaynak yuvada gerçekleşir. Kaynak yuva hazırlanırken, değiştirmenin başarılı veya başarısız olmasına bakılmaksızın hedef yuva çevrimiçi kalır.
Hazırlama yuvasını üretim yuvasıyla değiştirmek için üretim yuvasının her zaman hedef yuva olduğundan emin olun. Bu şekilde, değiştirme işlemi üretim uygulamanızı etkilemez.
Değiştirme işlemine başlamadan önce olay kaynakları ve bağlamalarla ilgili ayarların dağıtım yuvası ayarları olarak yapılandırılması gerekir. Bunları önceden "yapışkan" olarak işaretlemek, olayların ve çıkışların uygun örneğe yönlendirilmesini sağlar.
Yeni bir hazırlama yuvası oluşturduğunuzda, ayarın yapışkanlığı ne olursa olsun, üretim yuvasındaki tüm mevcut ayarlar yeni yuvada oluşturulur.
Ayarları yönetme
Bazı yapılandırma ayarları yuvaya özeldir. Aşağıdaki listede yuvaları değiştirdiğinizde hangi ayarların değiştirildiği ve hangi ayarların aynı kaldığı listelenir.
Yuvaya özgü ayarlar:
- Yayımlama uç noktaları
- Özel etki alanı adları
- Abonelik dışı sertifikalar ve TLS/SSL ayarları
- Ölçek ayarları
- IP kısıtlamaları
- Her Zaman Açık
- Tanılama ayarları
- Çıkış noktaları arası kaynak paylaşımı (CORS)
- Özel uç noktalar
Yuvaya özgü olmayan ayarlar:
- Çerçeve sürümü, 32/64 bit, web yuvaları gibi genel ayarlar
- Uygulama ayarları (yuvaya bağlı kalmak için yapılandırılabilir)
- Bağlantı dizeleri (yuvaya bağlı kalmak için yapılandırılabilir)
- İşleyici eşlemeleri
- Ortak sertifikalar
- Karma bağlantılar *
- Sanal ağ tümleştirmesi *
- Hizmet uç noktaları *
- Azure Content Delivery Network *
Yıldız işareti (*) ile işaretlenmiş özellikler tasarım gereği değiştirilmez.
Not
Eşlenmemiş ayarlara uygulanan bazı uygulama ayarları da değiştirilmez. Örneğin, tanılama ayarları değiştirilmediğinden ve gibi WEBSITE_HTTPLOGGING_RETENTION_DAYS
DIAGNOSTICS_AZUREBLOBRETENTIONDAYS
ilgili uygulama ayarları yuva ayarları olarak gösterilmese bile değiştirilmez.
Dağıtım ayarı oluşturma
Ayarları bir dağıtım ayarı olarak işaretleyebilirsiniz ve bu da bunu yapışkan hale getirir. Yapışkan bir ayar, uygulama örneğiyle değiştirmez.
Bir yuvada dağıtım ayarı oluşturursanız, değiştirme işlemine dahil olan diğer yuvalarda benzersiz bir değerle aynı ayarı oluşturduğunuzdan emin olun. Bu şekilde, bir ayarın değeri değişmese de, ayar adları yuvalar arasında tutarlı kalır. Bu ad tutarlılığı, kodunuzun bir yuvada tanımlanan ancak başka bir yuvada tanımlanmayan bir ayara erişmeye çalışmamasını sağlar.
Dağıtım ayarı oluşturmak için aşağıdaki adımları kullanın:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
Yapılandırma'yı seçin ve ardından geçerli yuvaya bağlı kalmak istediğiniz ayar adını seçin.
Dağıtım yuvası ayarı'nın ardından Tamam'ı seçin.
Ayar bölümü kaybolduktan sonra, değişiklikleri korumak için Kaydet'i seçin
Dağıtım
Yuva oluşturduğunuzda yuvalar boş olur. Uygulamanızı bir yuvaya dağıtmak için desteklenen dağıtım teknolojilerinden herhangi birini kullanabilirsiniz.
Ölçeklendirme
Tüm yuvalar, üretim yuvasıyla aynı sayıda çalışana ölçeklendirilir.
- Tüketim planları için yuva, işlev uygulaması ölçeklendirildikçe ölçeklendirilir.
- App Service planları için uygulama, sabit sayıda çalışana ölçeklendirilir. Yuvalar, uygulama planıyla aynı sayıda çalışan üzerinde çalışır.
Yuvaları görüntüleme
Mevcut yuvalarla ilgili bilgileri Azure CLI'yi kullanarak veya Azure portalı üzerinden görüntüleyebilirsiniz.
Portalda yeni bir yuva oluşturmak için şu adımları kullanın:
İşlev uygulamanıza gidin.
Dağıtım yuvaları'nı seçtiğinizde mevcut yuvalar gösterilir.
Yuva ekleme
Azure CLI'yi kullanarak veya Azure portalı aracılığıyla yuva ekleyebilirsiniz.
Portalda yuva oluşturmak için şu adımları kullanın:
İşlev uygulamanıza gidin.
Dağıtım yuvaları'yı ve ardından + Yuva Ekle'yi seçin.
Yuvanın adını yazın ve Ekle'yi seçin.
Erişim yuvası kaynakları
Hazırlama yuvasındaki kaynaklara (HTTP tetikleyicileri ve yönetici uç noktaları) üretim yuvasıyla aynı şekilde erişebilirsiniz. Ancak, işlev uygulaması ana bilgisayar adı yerine, yuvaya özgü anahtarlarla birlikte istek URL'sinde yuvaya özgü ana bilgisayar adını kullanırsınız. Hazırlama yuvaları canlı uygulamalar olduğundan, işlevlerinizi üretim yuvasında olduğu gibi bir hazırlama yuvasında güvenli bir şekilde korumanız gerekir.
Yuvaları değiştirme
Azure CLI'yi veya Azure portalını kullanarak üretim dışı bir ortamdaki yuvaları değiştirebilirsiniz.
Hazırlama yuvasını üretime değiştirmek için şu adımları kullanın:
İşlev uygulamasına gidin.
Dağıtım yuvaları'nın ardından Değiştir'i seçin.
Değiştirme işleminizin yapılandırma ayarlarını doğrulayın ve Değiştir'i seçin
Değiştirme işlemi birkaç saniye sürebilir.
Değiştirme işlemini geri alma
Değiştirme işlemi hatayla sonuçlanırsa veya yalnızca değiştirme işlemini "geri almak" istiyorsanız, ilk duruma geri dönebilirsiniz. Önceden belirtilmiş duruma dönmek için başka bir değiştirme işlemi gerçekleştirerek değiştirme işlemini ters çevirin.
Yuvayı kaldırma
Yuvayı Azure CLI'yi kullanarak veya Azure portalı üzerinden kaldırabilirsiniz.
Portalda uygulamanızdan bir yuvayı kaldırmak için şu adımları kullanın:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
Sil'i seçin.
Silmek istediğiniz dağıtım yuvasının adını yazın ve sil'i seçin.
Onay bölmesini kapatın.
App Service planını değiştir
App Service planı altında çalışan bir işlev uygulamasıyla, yuva için temel alınan App Service planını değiştirebilirsiniz.
Not
Tüketim planı altında yuvanın App Service planını değiştiremezsiniz.
Yuvanın App Service planını değiştirmek için aşağıdaki adımları kullanın:
İşlev uygulamasında Dağıtım yuvaları'na gidin ve yuva adını seçin.
App Service planı'nın altında App Service planını değiştir'i seçin.
Yükseltmek istediğiniz planı seçin veya yeni bir plan oluşturun.
Tamam'ı seçin.
Dikkat edilmesi gereken noktalar
Azure İşlevleri dağıtım yuvaları aşağıdaki noktalara sahiptir:
- Bir uygulamanın kullanabileceği yuva sayısı plana bağlıdır. Tüketim planına yalnızca bir dağıtım yuvası izin verilir. Diğer planlarda çalışan uygulamalar için daha fazla yuva mevcuttur. Ayrıntılar için bkz . Hizmet sınırları.
- Yuva değiştirme işlemi, değerine eşit
files
birAzureWebJobsSecretStorageType
uygulama ayarına sahip uygulamalar için anahtarları sıfırlar. - Yuvalar etkinleştirildiğinde, işlev uygulamanız portalda salt okunur moda ayarlanır.
- İşlev uygulamanız varsayılan depolama hesabı (içinde ayarlanmış) olarak güvenli bir depolama hesabı kullandığında
AzureWebJobsStorage
yuva değiştirme işlemleri başarısız olabilir. Daha fazla bilgi için başvuruyaWEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
bakın. - 32 karakterden kısa işlev uygulaması adlarını kullanın. 32 karakterden uzun adlar konak kimliği çakışmalarına neden olma riski altındadır.