Azure Container Apps ile premium girişi kullanma

Bu makalede, Azure Container Apps ile premium girişi kullanmayı öğreneceksiniz. Premium giriş sayesinde, girişin daha yüksek talep iş yüklerini daha iyi işlemek için nasıl ölçeklendirilip yapılandırılacağını tanımlayabilirsiniz.

Önkoşullar

Kaynak grubu oluştur

  1. Azure'da oturum açın.
az login
  1. Azure CLI'yi en son sürüme yükseltin.
az upgrade
  1. Gerekli kaynak sağlayıcılarını kaydedin.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
  1. Aşağıdaki komutu kullanarak bir kaynak grubu oluşturun:
az group create --name my-container-apps --location centralus

Ortamı oluşturma

Kapsayıcı uygulamaları ortamını oluşturmak için aşağıdaki komutu çalıştırın:

az containerapp env create \
  --name my-container-apps-env \
  --resource-group my-resource-group \
  --location centralus

İş yükü profilini yapılandırma

Ortama bir iş yükü profili ekleyin (premium giriş için gereklidir).

az containerapp env workload-profile add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --workload-profile-type D4 \

İş yükü profilinizin premium giriş trafiğini kullanabilmesi için en az iki düğümü olmalıdır.

Premium girişi yapılandırma

Aşağıdaki komutu kullanarak ortama premium giriş ayarları ekleyin:

az containerapp env premium-ingress add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

Aşağıdaki tabloda, Container Apps ortamınız için premium giriş ayarlarını yapılandırırken ayarlayabileceğiniz parametreler açıklanmaktadır.

Parametre Description Varsayılan En Küçük Maximum
termination-grace-period Girişi sonlandırmadan önce etkin bağlantıların kapanmasına izin veren süre (saniye olarak). Yok 0 3600
request-idle-limit Bir isteğin bağlantısı kesilmeden önce boşta kalabileceği süre (dakika cinsinden). 4 4 30
header-count-limit İstek başına izin verilen en fazla HTTP üst bilgisi sayısı. 100 1 Yok

Yapılandırıldıktan sonra, az önce uyguladığınız ayarların çıkışını görürsünüz.

{
  "headerCountLimit": 100,
  "requestIdleTimeout": 4,
  "terminationGracePeriodSeconds": 500,
  "workloadProfileName": "Ingress-D4"
}

Premium girişi güncelleştirme ve yönetme

Ortamın premium giriş ayarlarını güncelleştirmek için aşağıdaki komutu çalıştırın:

az containerapp env premium-ingress update \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

Ortamın premium giriş ayarlarını göstermek için aşağıdaki komutu çalıştırın:

az containerapp env premium-ingress show \
  --resource-group my-resource-group \
  --name my-container-apps-env

Ortamın premium giriş ayarlarını kaldırmak için aşağıdaki komutu çalıştırın:

az containerapp env premium-ingress remove \
  --resource-group my-resource-group \
  --name my-container-apps-env

İş yükü profilini ortamdan kaldırmak için aşağıdaki komutu çalıştırın:

az containerapp env workload-profile delete \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4

Önkoşullar

Bicep ile dağıtım

Aşağıdaki Bicep dosyasını oluşturun ve ingress.bicep olarak kaydedin.

resource containerAppsEnvironment 'Microsoft.App/managedEnvironments@2025-07-01' = {
  name: 'my-container-app-env'
  location: 'centralus'
  tags: tags
  properties: {
    workloadProfiles: [
      {
        name: 'Ingress-D4'
        workloadProfileType: 'D4'
        minimumCount: 2
        maximumCount: 4
      }
    ]
    ingressConfiguration: {
      workloadProfileName: 'Ingress-D4'
      terminationGracePeriodSeconds: 600
      headerCountLimit: 101
      requestIdleTimeout: 5
    }
  }
}              

Bu adım, aşağıdaki ayarları içeren premium giriş yapılandırmasına sahip bir Container Apps ortamı dağıtır:

İsim Description
name Premium giriş için kullanılan iş yükü profilinin adı.
workloadProfileType Ölçeklendirme ve kaynak ayırma için iş yükü profilinin türü/boyutu (örneğin, D4).
minimumCount İş yükü profili için en az örnek sayısı. En az: 2.
maximumCount İş yükü profili için en fazla örnek sayısı. Maksimum: 50.
workloadProfileName Giriş yapılandırmasıyla ilişkili iş yükü profili adı.
terminationGracePeriodSeconds Girişi sonlandırmadan önce etkin bağlantıların kapanmasına izin veren süre (saniye olarak). Minimum: 0, Maksimum: 60.
headerCountLimit İstek başına izin verilen en fazla HTTP üst bilgisi sayısı. Varsayılan: 100, En Az: 1.
requestIdleTimeout Bir isteğin bağlantısı kesilmeden önce boşta kalabileceği süre (dakika cinsinden). Varsayılan: 4, Minimum: 4, Maksimum: 30.

Azure’a dağıtın

ingress.bicep dosyasını kaydettiğiniz dizine gidin ve bicep dosyasını dağıtmak için aşağıdaki komutu çalıştırın:

# Login to Azure (if not already logged in)
azd auth login

# Provision and deploy the infrastructure
azd up

Dağıtımı yönetme

Kapsayıcı uygulamanızın durumunu ve günlüklerini görüntülemek için aşağıdaki komutu kullanın.

# Check deployment status
azd show

# Clean up all resources
azd down

# View deployment logs
azd logs

Ortamınızı oluşturduktan sonra ortamınız için giriş yapılandırması yapabilirsiniz.

  1. Azure portalında Container Apps ortamınıza gidin.

  2. Ayarlar'ın altında Ağ İletişimi’ni seçin.

  3. Giriş ayarları sekmesini seçin.

  4. Giriş ayarlarınızı aşağıdaki ayarlara göre yapılandırın.

    Setting Değer
    Giriş Modu Premium'ı seçin.
    İş yükü profili boyutu D4 ile D32 arasından bir boyut seçin.
    Asgari düğüm örnekleri En düşük iş yükü profili düğümü örneklerini girin.
    En fazla düğüm örneği sayısı Maksimum iş yükü profili düğümü örneklerini girin.
    Fesih için ek süre Sonlandırma ek süre süresini dakika cinsinden girin.
    Boşta istek zaman aşımı Boşta istek zaman aşımını dakika cinsinden belirtin.
    İstek üst bilgisi sayısı İstek üst bilgisi sayısını girin.
  5. seçin, sonra daUygula'yı seçin.

İzleme ve ölçümler

Giriş ölçümleri, Container Apps ortam örneğindeki Azure portalı üzerinden kullanılabilir. İzleme seçeneğinin altından Ölçümler’i seçin. Bu ölçümler Varsayılan veya Premium Ingress etkinleştirildiğinde kullanılabilir. Ek ölçümler devam ediyor.

  • Giriş CPU Kullanımı
  • Giriş Bellek Kullanım Baytları

Karşılaştırmalar girişin CPU çekirdeği başına saniyede yaklaşık 3000 istek işleyebildiğini, ancak bu kapasitenin uygulama kullanımına göre değiştiğini göstermektedir. Bellek yalnızca uygulamanın istekleri ortamın işleyebileceğinden daha hızlı alması ve isteklerin giriş katmanında kuyruğa alınması durumunda performans sorununa neden olur.

Her modda girişe ayrılan kaynaklar şunlardır:

Mode Instances İşlemci (CPU) Memory CPU Ölçek Eşiği Bellek Ölçek Eşiği
Varsayılan 2-10 1 çekirdek 2GB 75% %50
Premium Düğüm başına bir (en az 2) 90% düğüm çekirdekleri 90% düğüm belleği %50 düğüm çekirdekleri 50% düğüm belleği

Kaynakları temizle

Bu uygulamayı kullanmaya devam etmeyecekseniz, bu hızlı başlangıçta oluşturulan tüm kaynaklarla birlikte kaynak grubunu silmek için aşağıdaki komutu çalıştırın.

Dikkat

Aşağıdaki komut, belirtilen kaynak grubunu ve içindeki tüm kaynakları siler. Bu hızlı başlangıcın kapsamı dışındaki kaynaklar belirtilen kaynak grubunda varsa, bunlar da silinir.

az group delete --name my-container-apps