Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, mevcut işlev uygulamalarınızı Tüketim planındanEsnek Tüketim planına nasıl geçirebilirsiniz? Çoğu uygulama için bu geçiş basittir ve kodunuzun değiştirilmesi gerekmez.
Önemli
Tüketim planında Linux'ta işlev uygulamaları barındırma desteği 30 Eylül 2028'de kullanımdan kaldırıldı. Bugünden itibaren Linux Tüketim planında özellik ve dil geliştirmeleri yapılmaz. Bunun yerine, Tüketim planı uygulamalarınızı Flex Consumption planında çalışacak şekilde geçirmek için bu makaleyi izleyin. Linux Tüketim planı destek bitiş tarihleri hakkında daha fazla bilgi edinmek için bkz. Azure İşlevleri Tüketim planı barındırma (eski).
Geçiş yöntemleri
Bu makale hem Linux hem de Windows uygulamaları için Esnek Tüketim planında bir Linux işlev uygulamasına geçişi destekler. İşlevler, özellikle Linux uygulamaları için geçiş adımlarının çoğunu kolaylaştırmak için çeşitli yollar sağlar.
Aşağıdaki tabloda, her işletim sistemi için hangi geçiş yöntemlerinin kullanılabildiği ve bu makalede ele alındığı gösterilmektedir.
| Geçiş yöntemi | Açıklama | Linux | Windows |
|---|---|---|---|
| GitHub Copilot'taki Azure Becerileri. | Copilot'un, geçişinizi etkileşimli olarak yönlendirip otomatikleştirmesine izin verin (Linux için önerilir). | ✅ | ❌ |
| CLI geçiş komutu | Geçişi otomatikleştirmek için kullanın az functionapp flex-migration . |
✅ | ❌ |
| Standart CLI komutları | Azure CLI komutlarını kullanarak adım adım geçiş. | ➖ | ✅ |
| Azure portalı | Azure portalında adım adım geçiş. | ✅ | ✅ |
| Kod olarak altyapı | ARM şablonlarını, Bicep dosyalarını veya Terraform'u kullanarak yinelenebilir geçiş kodu oluşturun. | ➖ | ➖ |
✅ Desteklenen ve öne çıkan | ➖ Destekleniyor, öne çıkan değil | ❌ Desteklenmiyor
Uygulamanızın doğru yönergelerini görmek için makalenin üst kısmındaki işletim sisteminizi seçin.
Ne beklenmeli
Tüketim planı uygulamanızı geçirmek için gereken belirli adımlar hem işletim sistemine hem de belirli geçiş yönteminize bağlıdır:
Azure becerisi, geçişin çoğunu sizin için otomatikleştirir. Üst düzey adımlarınız şunlardır:
Tavsiye
GitHub Copilot tabanlı geçişinize hızlı bir başlangıç yapmak için bkz. Hızlı Başlangıç: GitHub Copilot kullanarak Linux Tüketimi uygulamalarını Esnek Tüketime Taşıma.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Geçiş yönteminizden bağımsız olarak, geçişin genel ilkeleri şunlardır:
- Kodunuz aynı kalır. Flex Consumption tarafından desteklenen bir dil sürümü kullanıyorsanız işlevlerinizi yeniden yazmanız gerekmez. Bu kılavuz, denetlemenize yardımcı olur.
- Yeni bir uygulama oluşturmanız gerekir. Geçiş işlemi, mevcut esnek tüketim uygulamanızın yanı sıra yeni bir Flex Consumption uygulaması oluşturur, böylece geçiş öncesinde test edebilirsiniz.
- Aynı kaynak grubunu kullanın. Yeni uygulamanız aynı bağımlılıklara erişimi olan aynı kaynak grubunda çalışır.
- Zamanlamayı siz kontrol edebilirsiniz. Trafiği yeniden yönlendirmeden ve eskisini kullanımdan kaldırmadan önce yeni uygulamanızı kapsamlı bir şekilde test edin.
Uyarı
Azure Kamu kullanıyorsanız Esnek Tüketim henüz orada mevcut değildir. Kullanıma sunulduğunda hazır olmanız için bu kılavuzu şimdi gözden geçirin.
Esnek Tüketime geçişin avantajları
Geçiş yaptığınızda, işlevleriniz kodunuzu değiştirmeden şu avantajları elde edersiniz:
- Daha hızlı soğuk başlangıçlar: Her zaman hazır örnekler, işlevlerin daha hızlı yanıt vermesini sağlar.
- Daha iyi ölçeklendirme: İşlev başına ölçeklendirme ve eşzamanlılık denetimleri size daha fazla denetim sağlar.
- Sanal ağ desteği: İşlevlerinizi özel ağlara bağlayın ve özel uç noktaları kullanın.
- Aktif yatırım: Esnek Tüketim, yeni özelliklerin ve geliştirmelerin ilk önce geldiği yerdir.
Daha fazla bilgi için bkz . Esnek Tüketim planı avantajları ve barındırma planı karşılaştırması.
Kaynak tabanlı dağıtımlar
Bu makalede geçiş için kod olarak altyapının (IaC) nasıl kullanılacağı açıkça gösterilmez. Ancak ARM şablonlarınızı, Bicep dosyalarınızı ve Terraform yapılandırmalarınızı dönüştürmek için aynı geçiş adımlarını izleyebilirsiniz.
Esnek Tüketim planı, functionAppConfig kaynak tanımında çeşitli eski uygulama ayarlarının yerini alan yeni bir Microsoft.Web/sites bölümü ekler. Bu değişikliklerle ilgili ayrıntılar için bkz. Esnek Tüketim planı kapsamdan çıkarmalar.
Bu kaynaklar Flex Consumption kaynak dağıtımlarını kullanmaya başlamanıza yardımcı olabilir:
- Kaynak dağıtımını otomatikleştirme , kaynak yapılandırma ayrıntılarının tamamını kapsar.
- ARM şablonları, Bicep ve Terraform için kullanıma hazır örnekler sağlanır.
Başarılı bir geçiş sonrasında kaynak dağıtım dosyalarınızı yeni Flex Consumption yapılandırmasıyla eşleşecek şekilde güncelleştirin.
Önkoşullar
Geçirilmesi gereken bir veya daha fazla işlev uygulaması içeren Azure aboneliğine erişim. Geçiş görevlerini gerçekleştirmek için kullanılan hesabın aşağıdaki izinlere sahip olması gerekir:
- İşlev uygulamaları ve App Service barındırma planları oluşturun ve yönetin.
- Yönetilen kimliklere roller atama.
- Depolama hesapları oluşturma ve yönetme.
- Application Insights kaynaklarını oluşturun ve yönetin.
- uygulamanızın Azure Key Vault, Azure Service Bus veya Azure Event Hubs gibi tüm bağımlı kaynaklarına erişin.
Kaynak grubunuzdaki Sahip veya Katkıda Bulunan rollerini atamak genellikle yeterli izinler sağlar.
Azure CLI veya GitHub Copilot kullanarak geçiş yapmak için:
- Azure CLI, sürüm 2.77.0 veya üzeri. Azure CLI komutları kullanılırken gereklidir. Betikler Azure Cloud Shell içinde Azure CLI kullanılarak test edilir.
-
az loginçalıştırarak Azure CLI oturum açın. Geçirmek istediğiniz işlev uygulamalarını içeren abonelikte oturum açtığınızdan emin olun.
-
komutunu kullanarak yükleyebileceğiniz
az extension adduzantısı:
az extension add --name resource-graph- JSON
jqçıkışıyla çalışmak için kullanılan araç.
GitHub Copilot kullanarak geçiş yapmak için GitHub Copilot istediğiniz modda yapılandırın:
Henüz yapmadıysanız Azure CLI oturum açın:
az loginGeçirmek istediğiniz işlev uygulamalarını içeren abonelikte oturum açtığınızdan emin olun.
Copilot CLI'yi başlatın:
copilotMarket kaynağını ekleyin (yalnızca ilk kez):
/plugin marketplace add microsoft/azure-skillsEklentiyi yükleyin:
/plugin install azure@azure-skillsYüklemeden sonra Model Bağlam Protokolü (MCP) sunucularını yeniden yükleyin:
/mcp reloadYüklemeyi doğrulayın:
/mcp showAzure eklentisini onay işaretiyle birlikte listelenmiş olarak görmeniz gerekir. Araç
functionappbu eklentinin bir parçasıdır.
Tavsiye
Copilot yanlış aboneliği hedeflediyse, belirli bir abonelik kimliğini kullanmasını isteyin. komutunu çalıştırarak
az account show --query id -o tsvabonelik kimliğinizi bulabilirsiniz. Copilot yanlış Azure kiracıya bağlanıyorsa, Copilot Azure çağrıları yaparken belirli bir kiracı kimliğinizi kullanmasını isteyin. kiracı kimliğinizi komutunu çalıştırarakaz account show --query tenantId -o tsvbulabilirsiniz.
Taşınacak olası uygulamaları belirleme
Tavsiye
Zaten hangi uygulamayı taşıyacağınızı biliyor musunuz? Bu bölümü atlayabilir ve doğrudan Mevcut uygulamanızı değerlendirme bölümüne gidebilirsiniz.
Birden çok işlev uygulamanız varsa ve hangilerinin geçirilmesi gerektiğinden emin değilseniz, bu bölüm bunları bulmanıza yardımcı olur. Uygulama adlarının, kaynak gruplarının, konumların ve çalışma zamanı yığınlarının listesini alırsınız.
Aboneliğinizi tarayan ve hangi uygulamaların geçirileceğini seçmenizi isteyen etkileşimli bir geçiş başlatmak için şu istemi kullanın:
migrate my linux function apps in azure from consumption to flex consumption
Copilot, geçiş yapabileceğiniz uygun Linux Tüketim uygulamalarınızı belirler, hangilerini taşıyacağınıza karar vermenize olanak tanır ve ardından her bir uygulama için değerlendirme, uygulama oluşturma, yapılandırma ve dağıtım süreçlerinde size rehberlik eder. Geçiş adımlarına geçin.
Geçişi başlatmadan hangi uygulamaların uygun olduğunu görmek istiyorsanız bunun yerine şu istemi kullanın:
list my linux consumption apps eligible for flex consumption migration
Copilot uygun ve uygun olmayan uygulamaların listesini ve uyumsuzlukların nedenlerini döndürür. Daha sonra Linux Geçişini Başlat'taki komut istemini kullanarak belirli bir uygulamayı geçirebilirsiniz.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Mevcut uygulamanızı değerlendirme
Azure becerisi bu görevleri sizin için otomatik olarak gerçekleştirir. Azure becerisini kullanırken doğrudan Geçişi başlatma gidin.
Geçişten önce, uygulamanızın hazır olduğundan emin olmak için bu hızlı denetim listesini çalıştırın. Uygulamaların çoğu bu denetimleri sorunsuz bir şekilde geçirir:
Bölge uyumluluğunu onaylama
Flex Tüketim Planı'nın şu anda taşımak istediğiniz Tüketim planı uygulamasıyla aynı bölgede desteklendiğini onaylayın.
Confirmed:
az functionapp flex-migration listkomut çıktısı veya Copilot değerlendirmesi uygulamanızıeligible_appslistesinde içeriyorsa, Esnek Tüketim planı geçerli Linux Tüketim uygulamanız tarafından kullanılan bölgede desteklenir. Bu durumda Dil yığını uyumluluğunu doğrulamaya devam edebilirsiniz.
Eylem gerekli: Eğer çıktı, uygulamanız
ineligible_appslistesinde yer alıyorsa,The site '<name>' is not in a region supported in Flex Consumption. Please see the list of regions supported in Flex Consumption by running az functionapp list-flexconsumption-locationsbelirten bir hata iletisi görürsünüz. Bu durumda Esnek Tüketim planı geçerli Linux Tüketim uygulamanız tarafından kullanılan bölgede desteklenmez.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Bölgeniz desteklenmiyorsa ve yine de işlev uygulamanızı taşımayı seçerseniz, uygulamanızın Esnek Tüketim planının desteklendiği farklı bir bölgede çalışması gerekecektir. Ancak uygulamanızı diğer bağlı hizmetlerden farklı bir bölgede çalıştırmak ek gecikme süresine neden olabilir. Geçişi tamamlamadan önce yeni bölgenin uygulamanızın performans gereksinimlerini karşılayabildiğinden emin olun.
Dil yığını uyumluluğunu doğrulama
Esnek Tüketim planları henüz tüm İşlevler dil yığınlarını desteklememektedir. Bu tablo, şu anda hangi dil yığınlarının desteklendiği gösterir:
| Yığın ayarı | Yığın adı | Destekleniyor |
|---|---|---|
dotnet-isolated |
.NET (yalıtılmış çalışan modeli) | ✅ Evet |
node |
JavaScript/TypeScript | ✅ Evet |
java |
Java | ✅ Evet |
python |
Python | ✅ Evet |
powershell |
PowerShell | ✅ Evet |
dotnet |
.NET (işlem içi model) | ❌ Hayır |
custom |
Özel işleyiciler | ✅ Evet |
Onaylandı: Eğer
az functionapp flex-migration listkomutu veya Copilot değerlendirmesi uygulamanızıeligible_appslistesine eklemişse, Linux Tüketim uygulamanız Flex Consumption tarafından desteklenen bir dil yığınını zaten kullanıyor demektir ve dil yığını sürüm uyumluluğunu doğrulamaya devam edebilirsiniz.
Eylem gerekli: Çıkışta uygulamanızın
ineligible_appslistesine öğesini belirtenRuntime '<name>' not supported for function apps on the Flex Consumption plan.bir hata iletisi eklendiyse, Linux Tüketim uygulamanız Flex Consumption tarafından desteklenen bir çalışma zamanı çalıştırmıyor.
İşlev uygulamanız desteklenmeyen bir çalışma zamanı yığını kullanıyorsa:
- Çalışma zamanı (
dotnet) ile işlem halinde çalışan C# uygulamaları için önce uygulamanızı yalıtılmış .NET'e geçirmeniz gerekir. Daha fazla bilgi için bkz. C# uygulamalarını işlem içi modelden yalıtılmış çalışan modeline geçirme.
Yığın sürümü uyumluluğunu doğrulama
Taşımadan önce, geçerli bölgedeki bir Flex Consumption planında çalıştığında uygulamanızın çalışma zamanı yığını sürümünün desteklendiğinden emin olun.
Onaylandı:
az functionapp flex-migration listkomutu veya Copilot değerlendirmesi uygulamanızıeligible_appslistesinde içeriyorsa, Linux Tüketim uygulamanız Flex Consumption tarafından desteklenen bir dil yığını sürümünü zaten kullanıyor ve Dağıtım yuvalarının kullanımını doğrulamaya devam edebilirsiniz.
Eylem gerekli: Çıkışta, uygulamanız
ineligible_appslistesindeInvalid version {0} for runtime {1} for function apps on the Flex Consumption plan. Supported versions for runtime {1} are {2}.hata mesajıyla yer alıyorsa, Linux Tüketim uygulamanız, Flex Consumption tarafından desteklenen bir çalışma zamanı üzerinde çalışmıyor demektir.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
İşlev uygulamanız desteklenmeyen bir dil yığını sürümü kullanıyorsa, Flex Consumption planına geçmeden önce uygulama kodunuzu desteklenen bir sürüme yükseltin .
Dağıtım yuvalarının kullanımını doğrulama
Tüketim planı uygulamalarının tanımlı bir dağıtım yuvası olabilir. Daha fazla bilgi için bkz. Azure İşlevleri dağıtım yuvaları. Ancak Flex Tüketim planı şu anda dağıtım yuvalarını desteklememektedir. Geçiş yapmadan önce, uygulamanızın dağıtım yuvası olup olmadığını belirleyin. Varsa, Flex Consumption planında çalışırken uygulamanızı dağıtım yuvaları olmadan yönetmeye yönelik bir strateji tanımlayın.
Confirmed: Geçerli uygulamanızda dağıtım yuvaları etkinleştirildiğinde,
az functionapp flex-migration listkomutu veya Copilot değerlendirmesi işlev uygulamanızı uyarı olmadaneligible_appslistesinde gösterir. Sertifikaların kullanımını doğrulamaya devam edin.
Eylem gerekli: Geçerli uygulamanızda dağıtım yuvaları etkindir ve çıkışta işlev uygulamanız
eligible_appslistede gösterilir ancak şunu belirten bir uyarı eklenir:The site '<name>' has slots configured. This condition doesn't block migration, but please note that slots aren't supported in Flex Consumption.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
İşlev uygulamanız şu anda dağıtım yuvaları kullanıyorsa, şu anda Flex Consumption planında bu işlevselliği yeniden oluşturamazsınız. Geçirmeden önce aşağıdaki seçenekleri göz önünde bulundurun:
- Uygulamanızı ayrı işlev uygulamaları kullanacak şekilde yeniden oluşturun. Bu şekilde işlev kodunuzu yuvaları kullanmak yerine ikinci bir üretim dışı uygulama geliştirebilir, test edebilir ve dağıtabilirsiniz.
- Dağıtım yuvasındaki tüm yeni kodları veya özellikleri ana (üretim) yuvasına geçirin.
Sertifikaların kullanımını doğrulama
Esnek Tüketim planı, şu anda önizleme aşamasında olan site kapsamlı bir sertifika modeli aracılığıyla TLS/SSL sertifikalarını destekler. Sertifikaların aynı bölgedeki ve kaynak grubundaki uygulamalar arasında paylaşıldığı diğer barındırma planlarından farklı olarak, Flex Consumption sertifikalarının kapsamı her bir uygulama kapsamındadır. Mevcut uygulamanız sertifika kullanıyorsa şu farklara dikkat edin:
- Uygulama
WEBSITE_LOAD_CERTIFICATESayarı Esnek Tüketim planında kullanılmaz. Bunun yerine, portaldaki Uygulama kodu için erişilebilir geçiş düğmesini kullanarak her sertifikayı kodunuz için erişilebilir hale getirirsiniz. Daha fazla bilgi için bkz. Sertifikayı kodunuz için erişilebilir hale getirme. - Flex Consumption Linux üzerinde çalıştığından, kodunuz sertifikaları Windows sertifika deposundan değil, dosya yollarından (genel için
/var/ssl/certs, özel için/var/ssl/private) yüklemelidir. - Her uygulama en fazla üç özel sertifikayı ve üç genel sertifikayı (.cer) destekler.
Onaylandı:
az functionapp flex-migration listkomutu veya Copilot değerlendirmesi uygulamanızıeligible_appslistesinde içeriyorsa, Linux Consumption uygulamanız uyumludur ve Blob depolama tetikleyicilerinizi doğrulamaya devam edebilirsiniz. Uygulamanız sertifikaları kullanıyorsa, bunları geçiş sonrasında yeni uygulamaya eklemeniz gerekir.
Eylem gerekli: Çıktı, uygulamanızı
ineligible_appslistesinde sertifika ile ilgili bir hatayla içeriyorsa site kapsamındaki sertifikalarla ilgili dikkat edilmesi gereken hususları gözden geçirin ve uygulamanızın sertifika sınırları içinde çalışabildiğini doğrulayın.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Uygulamanız sertifikaları kullanıyorsa, site kapsamlı sertifika işlemini kullanarak geçiş sonrasında bunları yeni Flex Consumption uygulamasına yeniden eklemeyi planlayın. Uygulamanızın sertifikasının site kapsamındaki sınırlara (uygulama başına 3 özel + 3 genel) uygun olduğundan emin olun.
Blob depolama tetikleyicilerinizi doğrulayın
Esnek Tüketim planı şu anda yalnızca SourceEventGrid ayarıyla tanımlanan Azure Blob depolama için olay tabanlı tetikleyicileri destekler. Plan, kapsayıcı yoklaması kullanan ve ayarını Source kullanan Blob depolama tetikleyicilerini LogsAndContainerScandesteklemez. Kapsayıcı yoklaması varsayılan olduğundan, Blob depolama tetikleyicilerinizden herhangi birinin varsayılan LogsAndContainerScan kaynak ayarını kullanıp kullanmadığını belirlemeniz gerekir. Daha fazla bilgi için Blob kapsayıcısında tetikleme başlığına bakın.
Confirmed:
az functionapp flex-migration listkomutu veya Copilot değerlendirmesi uygulamanızıeligible_appslistesinde içeriyorsa, Linux Tüketim uygulamanız kaynak olarakEventGridolan Blob depolama tetikleyicilerini kullanmaz. Bağımlı hizmetleri göz önünde bulundurmaya devam edebilirsiniz.
Eylem gerekli: Çıkışta uygulamanızın
ineligible_appslistesinde yer alıyor veThe site '<name>' has blob storage triggers that don't use Event Grid as the source: <list> Flex Consumption only supports Event Grid-based blob triggers. Please convert these triggers to use Event Grid or replace them with Event Grid triggers before migration.bir hata iletisi veriliyorsa, demek ki Linux Tüketim uygulamanız Flex Consumption ile uyumlu değildir.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Uygulamanızın Event Grid kaynağı olmayan blob depolama tetikleyicileri varsa, Flex Consumption planına geçiş yapmadan önce Event Grid kaynağına geçmeniz gerekir.
Mevcut Blob depolama tetikleyicisini Event Grid kaynağına değiştirmenin temel adımları şunlardır:
Blob depolama tetikleyici tanımınızda
sourceözelliğini ekleyin veya güncelleştirinEventGridve uygulamayı yeniden dağıtın.Olay aboneliği tarafından kullanılan işlev uygulamanızda uç nokta URL'sini oluşturun.
Blob depolama kapsayıcınızda bir olay aboneliği oluşturun.
Daha fazla bilgi için bkz. Öğretici: Bir etkinlik aboneliği kullanarak blob kapsayıcılarında Azure İşlevleri çalıştırma.
Bağımlı hizmetleri göz önünde bulundurun
Tavsiye
Basit yalnızca HTTP uygulaması mı? İşlevleriniz yalnızca HTTP tetikleyicileri kullanıyorsa ve diğer Azure hizmetlerine bağlanmıyorsa, büyük olasılıkla bu bölümün çoğunu atlayabilirsiniz. Geçiş sonrasında yeni uygulamanızın URL'sine işaret eden istemcileri güncelleştirmeyi unutmayın.
Azure İşlevleri bir işlem hizmeti olduğundan, geçişin uygulamanızın hem yukarı hem de aşağı akışı üzerindeki veri ve hizmetler üzerindeki etkisini göz önünde bulundurun.
Veri koruma stratejileri
Geçiş sırasında hem yukarı hem de aşağı akış verilerini korumak için şu stratejileri kullanın:
- Eşitlik: İşlevlerinizin aynı iletiyi olumsuz yan etkiler olmadan birden çok kez güvenli bir şekilde işleyebildiğinden emin olun. Daha fazla bilgi için bkz. Azure İşlevlerini Aynı Girdi İçin Tasarlama.
- Günlüğe kaydetme ve izleme: İleti işlemeyi izlemek için geçiş sırasında her iki uygulamada da ayrıntılı günlüğe kaydetmeyi etkinleştirin. Daha fazla bilgi için Azure İşlevleri'da yürütmeleri izleme başlığına bakın.
- Denetim noktası oluşturma: Event Hubs tetikleyicisi gibi akış tetikleyicileri için işleme konumunu izlemek için doğru denetim noktası davranışlarını uygulayın. Daha fazla bilgi için bkz. Azure İşlevleri reliable event processing.
- Paralel işleme: Tam geçiş sırasında her iki uygulamayı da geçici olarak paralel olarak çalıştırmayı göz önünde bulundurun. Verilerin yukarı akış hizmetinden nasıl işlendiğini dikkatle izlediğinizden ve doğruladığından emin olun. Daha fazla bilgi için bkz. Dayanıklılık için özel çok bölgeli çözümler.
- Aşamalı tam geçiş: Yüksek hacimli sistemler için trafiğin bölümlerini yeni uygulamaya yönlendirerek aşamalı tam geçiş uygulamayı göz önünde bulundurun. Azure API Management veya Azure Application Gateway gibi hizmetleri kullanarak uygulamalarınızdan isteklerin yukarı akışını yönetebilirsiniz.
Tetikleyici türüne göre azaltmalar
Uygulamanızdaki belirli işlev tetikleyicilerine yönelik verileri korumak için risk azaltma stratejilerini planlayın:
| Tetikleyici | Verilere yönelik risk | Strateji |
|---|---|---|
| Azure Blob depolama | Yüksek | Yeni uygulamada olay tabanlı tetikleyici için ayrı bir kapsayıcı oluşturun. Yeni uygulama çalışırken, istemcileri yeni kapsayıcıyı kullanacak şekilde değiştirin. Eski uygulamayı durdurmadan önce özgün kapsayıcının tamamen işlenmesine izin verin. |
| Azure Cosmos DB | Yüksek | Yeni uygulama için özel bir "kiralık konteyner" oluşturun. Bu yeni kira kapsayıcısını yeni uygulamanızın leaseCollectionName konfigürasyonu olarak belirleyin.İşlevlerinizin idempotent olmasını veya yinelenen değişiklik akışı işleme sonuçlarını yönetebilmenizi gerektirir. Yeni uygulamada akışın tamamının yeniden işlenmesini önlemek için yapılandırmayı StartFromBeginningfalse olarak ayarlayın. |
| Azure Event Grid | Orta | Yeni uygulamada aynı olay aboneliğini yeniden oluşturun. İşlevlerinizin idempotent olması veya yinelenen olay işleme sonuçlarını işleyebilmeniz gerekir. |
| Azure Event Hubs | Orta | Yeni uygulama tarafından kullanılmak üzere yeni bir tüketici grubu oluşturun. Daha fazla bilgi için bkz . Event Grid tetikleyicileri için geçiş stratejileri. |
| Azure Service Bus | Yüksek | Yeni uygulama tarafından kullanılmak üzere yeni bir konu veya kuyruk oluşturun. Gönderenleri ve istemcileri yeni konuyu veya kuyruğu kullanacak şekilde güncelleştirin. Özgün konu boş olduktan sonra eski uygulamayı kapatın. |
| Azure Depolama kuyruğu | Yüksek | Yeni uygulama tarafından kullanılmak üzere yeni bir kuyruk oluşturun. Gönderenleri ve istemcileri yeni kuyruğu kullanacak şekilde güncelleştirin. Özgün kuyruk boş olduktan sonra eski uygulamayı kapatın. |
| HTTP | Düşük | Geçiş sonrasında yeni HTTP uç noktalarını hedeflemek için istemcileri ve diğer uygulamaları veya hizmetleri değiştirmeyi unutmayın. |
| Zamanlayıcı | Düşük | Tam geçiş sırasında, her iki uygulamanın da aynı anda yürütülmesini önlemek için zamanlayıcı zamanlamasını iki uygulama arasında kaydırdığından emin olun. Yeni uygulama başarıyla çalıştırıldıktan sonra eski uygulamada zamanlayıcı tetikleyicisini devre dışı bırakın. |
Premigration görevleri
Yeni Flex Consumption uygulamanızı oluşturmadan önce geçerli uygulamanız hakkında bazı bilgiler toplayın. Bu adım, geçiş sırasında hiçbir ayarı kaybetmeyebilirsiniz.
Tavsiye
Bu adım çoğunlukla kopyalama yapıştırma işlemidir. Yeni uygulamaya uygulayabilmeniz için mevcut uygulamanızdan ayarları toplayın.
Taşımadan önce bu görevleri tamamlayın:
Uygulama ayarlarını toplama
Aynı tetikleyiciyi kullanmayı planlıyorsanız ve uygulama ayarlarından kaynakları ve diğer ayarları bağlamayı planlıyorsanız, önce mevcut Tüketim planı uygulamanızdaki geçerli uygulama ayarlarını not alın.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Dikkat
Uygulama ayarları genellikle anahtarları ve diğer paylaşılan gizli bilgileri içerir. Uygulama ayarlarını her zaman güvenli bir şekilde depolayın, ideal olarak şifrelenir. Gelişmiş güvenlik için paylaşılan gizli diziler yerine yeni Flex Tüketim planı uygulamasında yönetilen kimliklerle Microsoft Entra ID kimlik doğrulamasını kullanın.
Uygulama yapılandırmalarını toplama
Uygulama ayarlarının ötesinde başka uygulama yapılandırmaları da vardır. Bu yapılandırmaları yeni uygulamada düzgün bir şekilde yeniden oluşturabilmeniz için mevcut uygulamanızdan yakalayın.
Bu ayarları gözden geçirin. Bunlardan herhangi biri geçerli uygulamada varsa, bunları yeni Flex Consumption planı uygulamasında yeniden oluşturup oluşturmamaya karar verin:
| Konfigürasyon | Ayarlar | Yorum |
|---|---|---|
| CORS ayarları | cors |
İstemcilerinizin gerektirebileceği mevcut çıkış noktaları arası kaynak paylaşımı (CORS) ayarlarını belirler. |
| Özel alan adları | Uygulamanız şu anda *.azurewebsites.net dışında bir etki alanı kullanıyorsa, bu özel etki alanı eşlemesini yeni uygulamanızla değiştirmelisiniz. |
|
| HTTP sürümü | http20Enabled |
Uygulamanız için HTTP 2.0'ın gerekli olup olmadığını belirler. |
| Yalnızca HTTPS | httpsOnly |
Uygulamanıza erişmek için TSL/SSL gerekip gerekmediğini belirler. |
| Gelen istemci sertifikaları | clientCertEnabledclientCertModeclientCertExclusionPaths |
Kimlik doğrulaması için sertifika kullanan istemci isteklerinin gereksinimlerini ayarlar. |
| Maksimum ölçek genişletme sınırı | WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT |
Ölçeklendirilmiş örneklerin sınırını ayarlar. Varsayılan en yüksek değer 200'dür. Bu değer uygulama ayarlarınızda bulunur, ancak bir Flex Tüketim planı uygulamasında bunun yerine site ayarı (maximumInstanceCount) olarak eklenir. |
| En düşük gelen TLS sürümü | minTlsVersion |
Uygulamanız için gereken en düşük TLS sürümünü ayarlar. |
| En düşük gelen TLS Şifresi | minTlsCipherSuite |
Uygulamanız için en düşük TLS şifreleme gereksinimini ayarlar. |
| Bağlı Azure Dosyalar paylaşımları | azureStorageAccounts |
Uygulamanızda açıkça bağlanmış dosya paylaşımları olup olmadığını belirler (yalnızca Linux). |
| SCM kimlik doğrulaması için temel yayımlama bilgileri | scm.allow |
Yayımlama sitesinin etkinleştirilip etkinleştirilmediğiniscm belirler. Güvenlik için önerilmez, ancak bazı yayımlama yöntemleri bunu gerektirir. |
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Yönetilen kimlikleri ve rol tabanlı erişimi tanımlama
Geçiş yapmadan önce, uygulamanızın sistem tarafından atanan yönetilen kimliğe mi yoksa kullanıcı tarafından atanan yönetilen kimliklere mi bağlı olduğunu belgele. Bu kimliklere verilen rol tabanlı erişim denetimi (RBAC) izinlerini belirleyin. Sistem tarafından atanan yönetilen kimliği ve yeni uygulamanızdaki rol atamalarını yeniden oluşturmanız gerekir. Kullanıcı tarafından atanan yönetilen kimliklerinizi yeni uygulamanızda yeniden kullanabilirsiniz.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Yerleşik kimlik doğrulama ayarlarını belirleme
Esnek Tüketim'e geçmeden önce yerleşik kimlik doğrulama yapılandırmaları hakkında bilgi toplayın. Uygulamanızın aynı istemci kimlik doğrulama davranışlarını kullanmasını istiyorsanız, bunları yeni uygulamada yeniden oluşturmanız gerekir. Daha fazla bilgi için bkz. Azure İşlevlerinde Kimlik Doğrulama ve Yetkilendirme.
Kimliği doğrulanmış kullanıcılar için sorunsuz bir geçiş sağlamak için yeniden yönlendirme URI'lerine, izin verilen dış yönlendirmelere ve belirteç ayarlarına özellikle dikkat edin.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Gelen erişim kısıtlamalarını gözden geçirme
Tüketim planındaki uygulamalarda gelen erişim kısıtlamalarını ayarlayabilirsiniz. Yeni uygulamanızda bu kısıtlamaları korumak isteyebilirsiniz. Tanımladığınız her kısıtlama için şu özellikleri yakaladığınıza emin olun:
- IP adresleri veya CIDR aralıkları
- Öncelik değerleri
- Eylem türü (İzin Ver/Reddet)
- Kuralların adları
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Flex Consumption planında çalışırken, bu gelen IP tabanlı kısıtlamaları yeniden oluşturabilirsiniz. Sanal ağ tümleştirmesi ve gelen özel uç noktalar gibi diğer ağ kısıtlamalarını uygulayarak uygulamanızın güvenliğini daha da artırabilirsiniz. Daha fazla bilgi için bkz . Sanal ağ tümleştirmesi.
Geçişi başlatma
Tanımla bölümünde bulma istemini kullandıysanız, beceri yeni Flex Consumption uygulamanızı zaten değerlendirmiş, oluşturmuş ve yapılandırmıştır. Bu bölümü atlayabilir ve Geçiş adımlarına geçebilirsiniz.
Eğer hangi uygulamayı taşıyacağınızı biliyorsanız şu komutu kullanın:
migrate my app <APP_NAME> to flex consumption
Beceri, değerlendirme, uygulama oluşturma ve yapılandırma geçişini otomatik olarak işler; komut ve doğrulama adımlarına eşdeğerdir az functionapp flex-migration start .
Geçişi başarıyla başlattıktan sonra Kod dağıtım paketini alma bölümüne geçin.
Kod dağıtım paketini alma
Uygulamanızı yeniden dağıtmak için projenizin kaynak dosyalarına veya dağıtım paketine ihtiyacınız vardır. İdeal olarak, işlev kodunu yeni uygulamanıza kolayca yeniden dağıtabilmek için proje dosyalarınızı kaynak denetiminde tutarsınız. Kaynak kod dosyalarınız varsa bu bölümü atlayabilir ve Performans karşılaştırmalarını yakalama (isteğe bağlı) bölümüne devam edebilirsiniz.
Proje kaynak dosyalarınıza artık erişiminiz yoksa, Azure'daki mevcut Tüketim planı uygulamasından geçerli dağıtım paketini indirebilirsiniz. Dağıtım paketinin konumu, Linux'ta mı yoksa Windows mi çalıştırdığınıza bağlıdır.
Linux'taki tüketim planı uygulamaları dağıtım zip paketi dosyasını şu konumlardan birinde tutar:
Varsayılan konak depolama hesabında (
scm-releases)AzureWebJobsStorageadlı Azure Blob depolama kapsayıcısı. Bu kapsayıcı, Linux'ta tüketim planı uygulaması için varsayılan dağıtım kaynağıdır.Uygulamanızın URL olan bir
WEBSITE_RUN_FROM_PACKAGEayarı varsa paket, koruduğunuz dışarıdan erişilebilir bir konumdadır. Dış paket, kısıtlı erişime sahip bir blob depolama kapsayıcısında barındırılmalıdır. Daha fazla bilgi için bkz. Dış paket URL'si.
Tavsiye
Depolama hesabınızı yalnızca yönetilen kimlik erişimiyle kısıtlarsanız, Azure hesabınıza Storage Blob Data Reader rolüne ekleyerek depolama kapsayıcısına okuma erişimi vermeniz gerekebilir.
Dağıtım paketi, squashfs biçimi kullanılarak sıkıştırılır. Paketin içinde neler olduğunu görmek için bu biçimin sıkıştırmasını kaldırabilecek araçları kullanmanız gerekir.
Dağıtım paketini geçerli uygulamanızdan indirmek için şu adımları kullanın:
Copilot geçiş becerisi, mevcut kod projenizi indirmeyi ve yeni uygulamanıza yeniden dağıtmayı dener. Başarısız olursa, bunun yerine geçiş iş akışının bir parçası olarak kod paketinizi edinme ve dağıtma konusunda size yol gösterir. Bu bölümü atlayabilir ve Geçiş Adımları'na devam edebilirsiniz.
Proje kaynak dosyalarınızın konumu aşağıdaki gibi uygulama ayarına WEBSITE_RUN_FROM_PACKAGE bağlıdır:
WEBSITE_RUN_FROM_PACKAGE değer |
Kaynak dosya konumu |
|---|---|
1 |
Dosyalar, WEBSITE_CONTENTAZUREFILECONNECTIONSTRING ayarı tarafından tanımlanan depolama hesabının Azure Dosyalar paylaşımında depolanan bir zip paketindedir. ayarı, WEBSITE_CONTENTSHARE dosya paylaşımının adını tanımlar. |
| Uç nokta URL'si | Dosyalar, bakımını yaptığınız dışarıdan erişilebilir bir konumdaki bir zip paketinde bulunur. Dış paket, kısıtlı erişime sahip bir blob depolama kapsayıcısında barındırılmalıdır. Daha fazla bilgi için bkz. Dış paket URL'si. |
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Performans karşılaştırmalarını yakalama (isteğe bağlı)
Flex Consumption planına geçişe bağlı olarak uygulamanızda performans iyileştirmesini doğrulamayı planlıyorsanız, geçerli planınızın performans karşılaştırmalarını yakalamayı göz önünde bulundurun. Ardından, bunları Flex Consumption planında çalışan uygulamanız için aynı karşılaştırmalarla karşılaştırabilirsiniz.
Tavsiye
Günün saati, haftanın günü ve istemci yükü gibi benzer koşullar altında performansı her zaman karşılaştırın. İki karşılaştırmayı mümkün olduğunca birbirine yakın bir şekilde çalıştırmayı deneyin.
Yapılandırılmış performans testinizde göz önünde bulundurmanız gereken bazı karşılaştırmalar şunlardır:
| Önerilen karşılaştırma | Yorum |
|---|---|
| Soğuk başlangıç | Boşta kalma süresinden sonraki ilk istekten ilk yanıta kadar olan süreyi ölçün. |
| İşlem hızı | Uygulamanın eşzamanlı istekleri nasıl işlediğini belirlemek için yük testi araçlarını kullanarak saniyede en fazla isteği ölçün. |
| Gecikme süresi |
P50Çeşitli yük koşullarında , P95ve P99 yanıt sürelerini izleyin. Bu ölçümleri Application Insights'ta izleyebilirsiniz. |
Application Insights'ta önerilen gecikme süresi yanıt sürelerini gözden geçirmek için bu Kusto sorgusunu kullanın:
requests
| where timestamp > ago(1d)
| summarize percentiles(duration, 50, 95, 99) by bin(timestamp, 1h)
| render timechart
Göç Adımları
İşlevlerinizi tüketim planı uygulamasından Flex Consumption planı uygulamasına geçirmek için şu ana adımları izleyin:
Flex Consumption uygulamasının oluşturulduğunu ve yapılandırıldığını doğrulama
az functionapp flex-migration start komutunu çalıştırdıktan sonra yeni Flex Consumption uygulamanızın başarıyla ve düzgün yapılandırıldığını doğrulayın. Geçiş sonuçlarını doğrulamaya yönelik bazı adımlar şunlardır:
Copilot geçiş becerisi, geçişin bir parçası olarak yeni uygulamayı otomatik olarak doğrular. Eğer geçişi Linux için Geçiş Başlat kısmında bir Copilot isteği kullanarak başlattıysanız, beceri uygulamanın doğru bir şekilde oluşturulup yapılandırıldığını zaten doğrulamıştır. Bu bölümü atlayabilir ve Yerleşik kimlik doğrulamasını yapılandırmaya devam edebilirsiniz.
Geçiş özetini gözden geçirme
Otomatik geçiş komutu çoğu yapılandırmayı aktarır. Ancak bu öğelerin taşındığını manuel olarak doğrulayın. Bunları el ile yapılandırmanız gerekebilir:
- Sertifikalar: TLS/SSL sertifikaları esnek tüketimde henüz desteklenmemektedir.
- Dağıtım yuvaları: Esnek Tüketim'de desteklenmez.
- Yerleşik kimlik doğrulama ayarları: Bu ayarları el ile yeniden yapılandırmanız gerekir.
- CORS ayarları: Yapılandırmanıza bağlı olarak bu ayarları el ile doğrulamanız gerekebilir.
Kritik ayarlar eksik veya yanlışsa, bu makalenin Windows geçiş işlemi bölümlerinde açıklanan adımları kullanarak bunları el ile yapılandırın.
- Planın son incelemesi
- Flex Consumption planında uygulama oluşturma
- Geçirilen uygulama ayarlarını yeni uygulamaya uygulama
- Diğer uygulama yapılandırmalarını uygulama
- Ölçek ve eşzamanlılık ayarlarını yapılandırma
- Tüm özel etki alanlarını ve CORS erişimini yapılandırma
- Yönetilen kimlikleri yapılandırma ve rol atama
- Ağ Erişim Kısıtlamalarını Yapılandırma
- İzlemeyi etkinleştir
- Yerleşik kimlik doğrulamayı yapılandırma
- Uygulama kodunuzu yeni Flex Consumption kaynağına dağıtma
Planın son incelemesi
Geçiş işlemine devam etmeden önce, şu son hazırlık adımlarını gerçekleştirmek için bir dakika bekleyin:
Toplanan tüm bilgileri gözden geçirin: Önceki değerlendirme ve geçiş öncesi bölümlerinde belgelediğiniz tüm notları, yapılandırma ayrıntılarını ve uygulama ayarlarını gözden geçirin. Net olmayan bir şey varsa, Azure CLI komutlarını yeniden çalıştırın veya portaldan bilgileri alın.
Geçiş planınızı tanımlama: Bulgularınıza göre geçişiniz için şunları vurgulayan bir denetim listesi oluşturun:
- Özel dikkat gerektiren tüm ayarlar
- Geçiş sırasında etkilenebilen tetikleyiciler ve bağlamalar veya diğer bağımlılıklar
- Geçiş sonrası doğrulama için test stratejisi
- Beklenmeyen sorunlar varsa geri alma planı
Kapalı kalma süresi planlaması: Hem veri kaybını hem de olayların yinelenen işlenmesini önlemek için özgün işlev uygulamasını ne zaman durdurabileceğinizi ve bu geçişin kullanıcılarınızı veya aşağı akış sistemlerinizi nasıl etkileyebileceğini göz önünde bulundurun. Bazı durumlarda, uygulamanın tamamını durdurmadan önce belirli işlevleri devre dışı bırakmanız gerekebilir.
Dikkatli bir son inceleme, daha sorunsuz bir geçiş süreci sağlamaya yardımcı olur ve önemli yapılandırmaları gözden kaçırma riskini en aza indirir.
Flex Consumption planında uygulama oluşturma
Esnek Tüketim planında, gerekli diğer Azure kaynaklarıyla birlikte çeşitli yollarla bir işlev uygulaması oluşturabilirsiniz:
| Oluştur seçeneği | Kaynak makaleler |
|---|---|
| Azure CLI | Flex Consumption uygulaması oluşturun |
| Azure portalı | Azure portalında işlev uygulaması oluşturma |
| Kod olarak altyapı |
ARM şablonu azd Bicep Terraform |
| Visual Studio Code | Visual Studio Code dağıtımı |
| Visual Studio | Visual Studio dağıtımı |
Tavsiye
Mümkün olduğunda, paylaşılan anahtarları içeren bağlantı dizeleri yerine kimlik doğrulaması için Microsoft Entra ID kullanın. Yönetilen kimliklerin kullanılması, paylaşılan gizli dizileri doğrudan uygulama ayarlarında depolama gereksinimini ortadan kaldırarak güvenliği geliştiren en iyi yöntemdir. Özgün uygulamanız bağlantı dizelerini kullandıysa Flex Consumption planı yönetilen kimlikleri destekler. Bu bağlantıların çoğu, işlev uygulamanızda yönetilen kimlikleri etkinleştirmeyi gösterir.
Geçirilen uygulama ayarlarını yeni uygulamaya uygulama
Kodunuzu dağıtmadan önce, yeni uygulamayı özgün işlev uygulamanızdan ilgili Flex Consumption planı uygulama ayarlarıyla yapılandırın.
Önemli
Flex Consumption planında çalışırken tüm Tüketim planı uygulama ayarları desteklenmez. Daha fazla bilgi için bkz. Esnek Tüketim planı sonlandırmalar.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Diğer uygulama yapılandırmalarını uygulama
Eski uygulamanızdan gelen ve geçiş sırasında topladığınız diğer uygulama yapılandırmalarının listesini bulun ve bunları yeni uygulamada ayarlayın.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Ölçek ve eşzamanlılık ayarlarını yapılandırma
Esnek Tüketim planı işlev başına ölçeklendirme kullanır. Uygulamanızdaki her işlev, iş yüküne göre bağımsız olarak ölçeklendirilir. Ölçeklendirme daha çok eşzamanlılık ayarlarıyla ilgilidir. Bu ayarlar, geçerli eşzamanlı yürütmeleri temel alarak ölçeklendirme kararları vermenizi sağlar. Daha fazla bilgi için Esnek Tüketim planı makalesindeki işlev başına ölçeklendirme ve Eşzamanlılık makalesine bakın.
Yeni uygulamanızın özgün uygulamanız gibi ölçeklendirilmesini istiyorsanız eşzamanlılık ayarlarını göz önünde bulundurun. Daha yüksek eşzamanlılık değerleri ayarlamak, aynı yükü işlemek için daha az örnek oluşturulmasına neden olabilir.
Özgün uygulamanızda özel bir ölçek genişletme sınırı ayarlarsanız, bunu yeni uygulamanıza uygulayabilirsiniz. Aksi takdirde, sonraki bölüme atlayın.
Varsayılan en fazla örnek sayısı 100'dür. 1 ile 1.000 arasında bir değere ayarlayın.
Uyarı
HTTP işlev uygulamaları için örnek sayısını 40'ın altına düşürmek, trafik kapasiteyi aştığında sık istek hatalarına ve uzun süreli kısıtlama pencerelerine neden olabilir. Bu ayar yalnızca sınırlı ölçeği genişletmenin kabul edilebilir olduğu ve tam olarak test edildiği gelişmiş senaryolara yöneliktir.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Tüm özel etki alanlarını ve CORS erişimini yapılandırma
Özgün uygulamanızın bağlı özel etki alanları veya CORS ayarları varsa bunları yeni uygulamanızda yeniden oluşturun. Özel etki alanları hakkında daha fazla bilgi için bkz. Var olan bir özel etki alanını Azure App Service içinde ayarlama.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Yönetilen kimlikleri yapılandırma ve rol atama
Yeni uygulamanızda yönetilen kimlikleri nasıl yapılandırdığınız yönetilen kimliğin türüne bağlıdır:
| Yönetilen kimlik türü | Kimlik oluşturma | Rol atamaları |
|---|---|---|
| Kullanıcı tarafından atanan | Opsiyonel | Yeni uygulamayla aynı kullanıcı tarafından atanan yönetilen kimlikleri kullanmaya devam edebilirsiniz. Bu kimlikleri Flex Consumption uygulamanıza yeniden atamanız ve uzak hizmetlerde hala doğru rol atamalarına sahip olduklarını doğrulamanız gerekir. Yeni uygulama için yeni kimlikler oluşturmayı seçerseniz, mevcut kimlikler ile aynı rolleri atamanız gerekir. |
| Sistem tarafından atanan | Evet | Her işlev uygulamasının kendi sistem tarafından atanan yönetilen kimliği olduğundan, yeni uygulamada sistem tarafından atanan yönetilen kimliği etkinleştirmeniz ve özgün uygulamada olduğu gibi aynı rolleri yeniden atamanız gerekir. |
Rol atamalarını doğru şekilde yeniden oluşturma, işlev uygulamanızın geçiş sonrasında Azure kaynaklara aynı erişime sahip olduğundan emin olmak için önemlidir.
Tavsiye
Özgün uygulamanız kimlik doğrulaması için bağlantı dizeleri veya diğer paylaşılan gizli diziler kullandıysa, yönetilen kimliklerle Microsoft Entra ID kimlik doğrulaması kullanmaya geçiş yaparak uygulamanızın güvenliğini geliştirmek için harika bir fırsattır. Daha fazla bilgi için bkz. Eğitim: Gizli bilgileri yerine kimlikleri kullanarak Azure hizmetlerine bağlanan bir işlev uygulaması oluşturma.
- Sistem tarafından atanan
- Kullanıcı tarafından atanan
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
Ağ erişim kısıtlamalarını yapılandırma
Özgün uygulamanızın IP tabanlı gelen erişim kısıtlamaları varsa, yeni uygulamanızda tutmak istediğiniz gelen erişim kurallarından herhangi birini yeniden oluşturun.
Tavsiye
Flex Tüketim planı sanal ağ tümleştirmesini tam olarak destekler. Bu destek nedeniyle geçiş sonrasında gelen özel uç noktaları da kullanabilirsiniz. Daha fazla bilgi için bkz . Özel uç noktalar.
GitHub Copilot geçiş becerisi şu anda yalnızca Linux uygulamalarını geçirirken desteklenmektedir. Windows Tüketim uygulamasını geçirmek için Azure CLI veya Azure portal sekmelerini kullanın.
İzlemeyi etkinleştirme
Esnek Tüketim planında yeni uygulamanızı başlatmadan önce Application Insights'ın etkinleştirildiğinden emin olun. Application Insights'ı yapılandırırken, kod dağıtımı ve başlatma sırasında ortaya çıkan sorunları giderebilirsiniz.
Uygulama ölçümlerini, günlüklerini ve maliyetlerini kapsayan kapsamlı bir izleme stratejisi uygulayın. Bu stratejiyi kullanarak geçişinizin başarısını doğrulayabilir, sorunları hızla belirleyebilir ve yeni uygulamanızın performansını ve maliyetini iyileştirebilirsiniz.
Bu yeni uygulamayı geçerli uygulamanızla karşılaştırmayı planlıyorsanız, şemanızın karşılaştırma için gerekli karşılaştırmaları da topladığına emin olun. Daha fazla bilgi için bkz. İzlemeyi yapılandırma.
Yerleşik kimlik doğrulamayı yapılandırma
Özgün uygulamanız yerleşik istemci kimlik doğrulaması kullandıysa (bazen Kolay Kimlik Doğrulaması olarak da adlandırılır), yeni uygulamanızda yeniden oluşturun. Aynı istemci kaydını yeniden kullanmak istiyorsanız, kimlik doğrulama sağlayıcısında yeni uygulamanın kimliği doğrulanmış uç noktalarını ayarladığınızdan emin olun.
Linux için Copilot geçiş becerisi, yerleşik kimlik doğrulama yapılandırmasını otomatikleştirmez. Kimlik doğrulama ayarlarınızı el ile yeniden oluşturmak için Azure CLI veya Azure portal sekmelerini kullanın.
Uygulama kodunuzu yeni Flex Consumption kaynağına dağıtma
Yeni Flex Tüketim planı uygulamanızı özgün uygulamanın ayarlarına göre yapılandırdıktan sonra kodunuzu Azure'deki yeni uygulama kaynaklarına dağıtın.
Dikkat
Başarılı bir dağıtımdan sonra, yeni uygulamanızdaki tetikleyiciler bağlı hizmetlerden verileri işlemeye hemen başlar. Yinelenen verileri en aza indirmek ve yeni uygulamayı başlatıp özgün uygulamayı kapatırken veri kaybını önlemek için tetikleyici türüne göre azaltmalarda tanımladığınız stratejileri gözden geçirin.
İşlevler, kodunuzu kod projesinden veya çalıştırmaya hazır bir dağıtım paketi olarak dağıtmak için çeşitli yollar sağlar.
Tavsiye
Proje kodunuzu bir kaynak kodu deposunda tutarsanız, şimdi sürekli dağıtım işlem hattını yapılandırmak için mükemmel bir zaman. Sürekli dağıtım, bağlı bir depodaki değişikliklere göre uygulama güncelleştirmelerini otomatik olarak dağıtmanıza olanak tanır.
Kaynak kodunuzu yeni uygulamanıza dağıtmak için mevcut dağıtım iş akışlarınızı güncelleştirin:
Yeni uygulamanız için yeni bir sürekli dağıtım iş akışı da oluşturabilirsiniz. Daha fazla bilgi için bkz. Azure İşlevleri için sürekli dağıtım.
Geçiş sonrası görevler
🎉 Tebrikler! Uygulamanız artık Flex Consumption üzerinde çalışıyor. Yeni planınızdan en iyi şekilde yararlanmak için şu isteğe bağlı izleme görevlerini göz önünde bulundurun:
Temel işlevselliği doğrulama
Yeni uygulamanın bir Flex Consumption planında çalıştığını doğrulayın:
Linux için Copilot geçiş becerisi, dağıtımdan sonra yeni uygulamanızı otomatik olarak doğrular ve uygulamanın Esnek Tüketim planında erişilebilir ve çalışır durumda olduğunu doğrular. Yeniden doğrulamanız gerekiyorsa şu istemi kullanın:
verify my flex consumption app <APP_NAME> is running correctlyYeni uygulamanızda en az bir HTTP tetikleyici uç noktasını çağırarak beklendiği gibi yanıt vermesini sağlamak için bir HTTP istemcisi kullanın.
Performans karşılaştırmalarını yakalama
Yeni uygulamanız çalışırken, aşağıdakiler gibi özgün uygulamanızdan topladığınız performans karşılaştırmalarını çalıştırın:
| Önerilen karşılaştırma | Yorum |
|---|---|
| Soğuk başlangıç | Boşta kalma süresinden sonraki ilk istekten ilk yanıta kadar olan süreyi ölçün. |
| İşlem hızı | Uygulamanın eşzamanlı istekleri nasıl işlediğini belirlemek için yük testi araçlarını kullanarak saniyede en fazla isteği ölçün. |
| Gecikme süresi |
P50Çeşitli yük koşullarında , P95ve P99 yanıt sürelerini izleyin. Bu ölçümleri Application Insights'ta izleyebilirsiniz. |
Application Insights'ta önerilen gecikme süresi yanıt sürelerini gözden geçirmek için bu Kusto sorgusunu kullanın:
requests
| where timestamp > ago(1d)
| summarize percentiles(duration, 50, 95, 99) by bin(timestamp, 1h)
| render timechart
Uyarı
Esnek Tüketim planı ölçümleri, Tüketim planı ölçümlerinden farklıdır. Geçiş öncesi ve sonrası performansı karşılaştırırken, benzer performans özelliklerini izlemek için farklı ölçümler kullanmanız gerektiğini unutmayın. Daha fazla bilgi için bkz. İzlemeyi yapılandırma.
Özel panolar oluşturma
Azure İzleyici ölçümleri ve Application Insights'ı kullanarak Azure portalında hem platform ölçümlerinden hem de çalışma zamanı günlüklerinden ve analizlerden grafikleri görüntüleyen panolar
Azure portalında önemli ölçümlerinizde panolar ve uyarılar ayarlamayı göz önünde bulundurun. Daha fazla bilgi için bkz. Uygunuzu Azure içinde denetleme.
Plan ayarlarını iyileştirme
Gerçek performans iyileştirmeleri ve geçişin maliyet üzerindeki etkileri, uygulamaya özgü iş yüklerinize ve yapılandırmanıza göre farklılık gösterebilir. Esnek Tüketim planı, uygulamanızın performansını iyileştirmek için ayarlayabileceğiniz çeşitli ayarlar sağlar. Özgün uygulamanın davranışıyla daha yakından eşleşecek veya maliyet ile performans arasındaki dengeyi sağlayacak ayarlamalar yapmak isteyebilirsiniz. Daha fazla bilgi için Flex Consumption makalesindeki uygulamanızda ince ayar yapma makalesine bakın.
Kaynak dağıtım dosyalarınızı güncelleştirme
İşlev uygulaması altyapınızı Bicep veya Terraform kullanarak yönetiyorsanız dağıtım dosyalarınızı şimdi Flex Tüketim planını hedef olacak şekilde güncelleştirin. Bu bölümde Tüketim ve Esnek Tüketim planı kaynak tanımları arasındaki temel farklar gösterilmektedir.
Önemli
Mevcut tüketim planı uygulamasını Esnek Tüketim'e dönüştüremezsiniz. Esnek Tüketim eşdeğerlerini dağıtmadan önce yeni bir adla yeni kaynaklar oluşturmanız veya mevcut kaynakları silmeniz gerekir.
Önemli farklar
Kaynak dağıtımlarınızı Tüketim'den Esnek Tüketim'e geçirirken şu önemli değişiklikleri göz önünde bulundurun:
| Görünüş | Tüketim planı | Esnek Tüketim planı |
|---|---|---|
| Barındırma planı SKU'su |
Y1 (Dinamik) |
FC1 (FlexConsumption) |
| Plan gerekli | İsteğe bağlı (otomatik oluşturulmuş) | Gerekli (açık olmalıdır) |
| İşletim sistemi | Windows veya Linux | Yalnızca Linux |
| Konfigürasyon | Uygulama ayarları |
functionAppConfig bölüm |
| Depolama içeriği paylaşımı |
WEBSITE_CONTENTSHARE ayar |
deployment.storage içinde functionAppConfig |
Aşağıdaki örneklerde Tüketim ve Esnek Tüketim planı kaynak tanımları arasındaki temel farklar gösterilmektedir. Sistem tarafından atanan yönetilen kimlikler kullanılıyor, ancak bunlar tam olarak yapılandırılmış değil. Bunlar depolama hesapları, Application Insights veya tüm gerekli rol atamaları gibi gerekli tüm kaynakları içermez. Tam ve üretime hazır örnekler için Flex Consumption IaC örneklerini gözden geçirin.
Tüketim planı (önce):
// Consumption plan (optional - auto-created if omitted)
resource hostingPlan 'Microsoft.Web/serverfarms@2022-03-01' = {
name: hostingPlanName
location: location
sku: {
name: 'Y1'
tier: 'Dynamic'
}
properties: {
reserved: true // Linux
}
}
resource functionApp 'Microsoft.Web/sites@2022-03-01' = {
name: functionAppName
location: location
kind: 'functionapp,linux'
properties: {
serverFarmId: hostingPlan.id
siteConfig: {
linuxFxVersion: 'DOTNET-ISOLATED|8.0'
appSettings: [
{ name: 'FUNCTIONS_EXTENSION_VERSION', value: '~4' }
{ name: 'FUNCTIONS_WORKER_RUNTIME', value: 'dotnet-isolated' }
{ name: 'AzureWebJobsStorage__accountName', value: storageAccount.name }
{ name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING__accountName', value: storageAccount.name }
{ name: 'WEBSITE_CONTENTSHARE', value: functionAppName }
{ name: 'APPLICATIONINSIGHTS_CONNECTION_STRING', value: appInsights.properties.ConnectionString }
{ name: 'APPLICATIONINSIGHTS_AUTHENTICATION_STRING', value: 'Authorization=AAD' }
]
}
}
identity: {
type: 'SystemAssigned'
}
}
Esnek Tüketim planı (sonra):
// Flex Consumption plan (required)
resource hostingPlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: hostingPlanName
location: location
sku: {
name: 'FC1'
tier: 'FlexConsumption'
}
kind: 'functionapp'
properties: {
reserved: true
}
}
// Deployment storage container (required)
resource deploymentContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-05-01' = {
name: '${storageAccount.name}/default/deployments'
}
resource functionApp 'Microsoft.Web/sites@2023-12-01' = {
name: functionAppName
location: location
kind: 'functionapp,linux'
properties: {
serverFarmId: hostingPlan.id
functionAppConfig: {
deployment: {
storage: {
type: 'blobContainer'
value: '${storageAccount.properties.primaryEndpoints.blob}deployments'
authentication: {
type: 'SystemAssignedIdentity'
}
}
}
scaleAndConcurrency: {
maximumInstanceCount: 100
instanceMemoryMB: 2048
}
runtime: {
name: 'dotnet-isolated'
version: '8.0'
}
}
siteConfig: {
appSettings: [
{ name: 'AzureWebJobsStorage__accountName', value: storageAccount.name }
{ name: 'APPLICATIONINSIGHTS_CONNECTION_STRING', value: appInsights.properties.ConnectionString }
{ name: 'APPLICATIONINSIGHTS_AUTHENTICATION_STRING', value: 'Authorization=AAD' }
]
}
}
identity: {
type: 'SystemAssigned'
}
}
Uyarı
APPLICATIONINSIGHTS_AUTHENTICATION_STRING ile Authorization=AAD kullandığınızda, Application Insights kaynağında işlev uygulamasının yönetilen kimliğine Monitoring Metrics Publisher rolünü de atamanız gerekir.
Tam Bicep örnekleri için bkz. Flex Consumption Bicep örnekleri.
Geçiş sonrasında kaynak dağıtımlarını uzlaştırma
Azure kaynak dağıtımlarınızı yönetmek için kod olarak altyapı kullanıyorsanız, yapılandırma kaymasını önlemek için Flex Consumption'a geçtikten sonra dağıtım dosyalarınızı güncelleştirin. Önerilen bir yaklaşım aşağıdadır:
El ile ve kaynak tabanlı dağıtımları karıştırmayın: Geçiş sırasında Esnek Tüketim uygulamanızı oluşturmak için Azure CLI veya portalı kullandıysanız, sonraki dağıtımdan önce kaynak dosyalarınızı güncelleştirin. Aksi takdirde dağıtımlarınız eski Tüketim planı kaynaklarını yeniden oluşturma girişiminde bulunur.
Kaynak adlarını güncelleştirme veya yaşam döngüsü yönetimini kullanma: Tüketim uygulamasını Esnek Tüketim'e dönüştüremezseniz iki seçeneğiniz vardır:
- Yeni kaynak adları: Barındırma planı ve işlev uygulaması için yeni adlar kullanmak üzere dağıtım kodunuzu güncelleştirin. Bu yaklaşım, geçişin başarılı olduğundan emin olana kadar eski kaynaklarınızı olduğu gibi tutar.
-
Mevcut kaynakları içeri aktarma: Aynı adları tutmak istiyorsanız, önce eski kaynakları silin, ardından dağıtımınızın yeni Flex Consumption kaynaklarını oluşturmasına izin verin. Alternatif olarak,
terraform importkullanarak el ile oluşturulan kaynakları Terraform durumunuz içine aktarın veya Bicep'daki mevcut kaynaklara başvurun.
Durum hizalamasını doğrulama: Dağıtım dosyalarınızı güncelleştirdikten sonra, beklenmeyen bir değişiklik olmadığını onaylamak için bir plan veya önizleme işlemi (
terraform planveyaaz deployment group what-if) çalıştırın.CI/CD işlem hatlarını güncelleştirme: Dağıtım işlem hatlarınız eski Tüketim planı yapılandırmasına başvuruda bulunursa, bunları yeni Flex Consumption kaynak tanımlarını ve dağıtım yöntemlerini kullanacak şekilde güncelleştirin.
Tavsiye
Kesintiyi en aza indirmek için geçiş döneminde hem eski Tüketim uygulamasını hem de yeni Flex Consumption uygulamasını paralel olarak çalıştırmayı göz önünde bulundurun. Yeni Flex Consumption uygulamasını yönetmek için dağıtımınızı güncelleştirin, düzgün çalıştığını doğrulayın, ardından hem Azure hem de dağıtım dosyalarınızdan eski Tüketim uygulaması kaynaklarını kaldırın.
Özgün uygulamayı kaldırma (isteğe bağlı)
Tavsiye
Aceleye gerek yok. Her şeyin çalıştığını doğrularken özgün uygulamanızı birkaç gün veya hafta boyunca saklayın. Tüketim planı yalnızca gerçek kullanım için ücretlendirilir, bu nedenle eski uygulamayı (tetikleyiciler devre dışı bırakılmış durumda) tutmak çok az maliyetlidir.
Yeni uygulamanın düzgün çalıştığından emin olduğunuzda özgün uygulamayı temizleyebilirsiniz. Bu adım isteğe bağlıdır. Bazı ekipler eski uygulamayı başvuru veya geri alma seçeneği olarak tutar.
Önemli
Bu eylem özgün işlev uygulamanızı siler. Tüketim planı, diğer uygulamalar tarafından kullanılıyorsa olduğu gibi kalır. Devam etmeden önce şunları yaptığınızdan emin olun:
- Tüm işlevleri yeni Flex Consumption uygulamasına başarıyla geçirin.
- Özgün uygulamaya hiçbir trafiğin yönlendirilmemiş olduğunu doğrulayın.
- Gerekli olabilecek tüm ilgili günlükler, yapılandırmalar veya veriler referans amacıyla yedeklendi.
Linux için Copilot geçiş becerisi, hazır olduğunuzda özgün uygulamayı kaldırabilir. Copilot bir şeyi silmeden önce her zaman açık onayınızı ister. Şu istemi kullanın:
delete my original consumption app <ORIGINAL_APP_NAME>
Sorun giderme ve kurtarma stratejileri
Çoğu geçiş sorunsuz tamamlar. Bir şey beklendiği gibi çalışmazsa yaygın sorunlar için şu çözümleri deneyin:
| Sorun | Çözüm |
|---|---|
| Soğuk başlangıç performansı sorunları | • Eşzamanlılık ayarlarını gözden geçirme • Eksik bağımlılıkları denetleyin |
| Eksik bağlamalar | • Uzantı paketlerini doğrulama • Bağlama yapılandırmalarını güncelleştirme |
| İzin hataları | • Kimlik atamalarını ve rol izinlerini denetleyin |
| Ağ bağlantısı sorunları | • Erişim kısıtlamalarını ve ağ ayarlarını doğrulama |
| Eksik Application Insights bulunuyor | • Application Insights bağlantısını yeniden oluşturma |
| Uygulama başlatılamıyor | Bkz. Genel sorun giderme adımları |
| Tetikleyiciler olayları işlemez | Bkz. Genel sorun giderme adımları |
Bir üretim uygulamasını geçirirken sorun yaşıyorsanız, sorunları giderirken geçişi özgün uygulamaya geri almayı göz önünde bulundurun.
Genel sorun giderme adımları
Yeni uygulamanın başlatılaamaması veya işlev tetikleyicilerinin olayları işlemediği durumlar için şu adımları kullanın:
Azure portalındaki yeni uygulama sayfanızda uygulama sayfasının sol bölmesinde Diagnose öğesini seçin ve sorunları çözün. Kullanılabilirlik ve Performans'ı seçin ve İşlev Uygulaması Aşağı veya Raporlama Hataları algılayıcısını gözden geçirin. Daha fazla bilgi için bkz. Azure İşlevleri tanılama genel bakışı.
Uygulama sayfasında, önce İzleme> seçeneğini ve Application Insights> verilerini görüntüle'yi seçin, ardından Araştır seçeneğiyle > bölümünü kontrol ederek herhangi bir hata olayını denetleyin.
İzleme>Günlükleri'ne tıklayın ve bu Kusto sorgusunu çalıştırarak şu tabloların hatalarını denetleyin:
traces | where severityLevel == 3 | where cloud_RoleName == "<APP_NAME>" | where timestamp > ago(1d) | project timestamp, message, operation_Name, customDimensions | order by timestamp descBu sorgularda
<APP_NAME>etiketini yeni uygulamanızın adıyla değiştirin. Bu sorgular, geçen günwhere timestamp > ago(1d)() içindeki hataları denetler.Uygulama sayfasına geri dönüp Ayarlar>Ortam değişkenleri'ni seçin ve tüm kritik uygulama ayarlarının doğru şekilde aktarıldığını doğrulayın. Hatalı taşınmış olabilecek kullanım dışı bırakılmış ayarları veya yazım hatalarını ya da yanlış bağlantı dizelerini arayın. Varsayılan konak depolama bağlantısını doğrulayın.
Ayarlar>Kimliği'ni seçin ve beklenen kimliklerin mevcut olup olmadığını ve bunların doğru rollere atanıp atanmadığını bir kez daha denetleyin.
Kodunuzda, Event Hubs tetikleyicilerindeki bağlantı dizesi adlarına, depolama kuyruğuna ve kapsayıcı adlarına ve tüketici grubu ayarlarına özellikle dikkat ederek tüm bağlama yapılandırmalarının doğru olduğunu doğrulayın.
Kritik üretim uygulamaları için geri alma adımları
Sorunu gideremiyorsanız, sorun gidermeye devam ederken özgün uygulamanıza geri dönebilirsiniz.
Özgün uygulama durdurulursa uygulamayı yeniden başlatın:
Özgün uygulamayı yeniden başlatmak ve geçişi geri almak için Copilot'a Sor:
restart my original consumption app <ORIGINAL_APP_NAME>Yeni kuyruklar, konular veya kapsayıcılar oluşturduysanız istemcilerin özgün kaynaklara yeniden yönlendirildiğinden emin olun.
DNS veya özel etki alanlarını değiştirdiyseniz, bu değişiklikleri özgün uygulamaya işaret etmek üzere geri döndürebilirsiniz.
Geri bildirim sağlama
Bu makaleyi kullanarak geçişinizle ilgili sorunlarla karşılaşırsanız veya bu kılavuz hakkında başka geri bildirimler sağlamak istiyorsanız, yardım almak veya geri bildiriminizi sağlamak için şu yöntemlerden birini kullanın:
- Microsoft Q&A'da yardım alın
- Azure İşlevleri deposunda sorun oluşturma
- Ürün geri bildirimi sağlama
- Destek bileti oluşturma