Aracılığıyla paylaş


Azure Front Door ile Azure Container App'e özel bağlantı oluşturma

Bu makalede, genel İnternet yerine özel bir bağlantı kullanarak doğrudan Azure Front Door'dan Azure Container Apps'inize bağlanmayı öğreneceksiniz. Bu öğreticide, bir Azure Container Apps iş yükü profilleri ortamı, bir Azure Front Door oluşturacak ve bunları özel bir bağlantı aracılığıyla güvenli bir şekilde bağlayacaksınız. Ardından kapsayıcı uygulamanızla Azure Front Door arasındaki bağlantıyı doğrularsınız.

Önkoşullar

  • Etkin aboneliği olan Azure hesabı.

  • Bu özellik yalnızca iş yükü profili ortamlarında desteklenir.

  • Kaynak sağlayıcısının Microsoft.Cdn aboneliğiniz için kayıtlı olduğundan emin olun.

    1. Azure portalında oturum açarak başlayın.
    2. Abonelik sayfanıza göz atın ve Ayarlar>Kaynak sağlayıcıları'nı seçin.
    3. Sağlayıcı listesinden Microsoft.Cdn'yi seçin.
    4. Kaydıseçin.

Kapsayıcı uygulama oluştur

Kapsayıcı uygulaması dağıtımınızla ilgili hizmetleri düzenlemek için bir kaynak grubu oluşturun.

  1. Üst arama çubuğunda Container Apps'i arayın.

  2. Arama sonuçlarında Kapsayıcı Uygulamaları'nı seçin.

  3. Oluştur düğmesini seçin.

  4. Kapsayıcı Uygulaması Oluştur sayfasının Temel Bilgiler sekmesinde aşağıdaki eylemleri gerçekleştirin.

    Ayarlar Eylem
    Abonelik Azure aboneliğinizi seçin.
    Kaynak grubu Yeni kaynak grubu oluştur bağlantısını seçin ve my-container-apps girin.
    Kapsayıcı uygulama adı my-container-app girin.
    Dağıtım kaynağı Kapsayıcı görüntüsü'ne tıklayın.
    Bölge Orta ABD'yi seçin.
  5. Container Apps Ortamı Oluştur alanında Yeni ortam oluştur bağlantısını seçin.

  6. Kapsayıcı Uygulamaları Ortamı Oluştur sayfasında, Temel bilgiler sekmesinde aşağıdaki değerleri girin:

    Ayarlar Değer
    Ortam adı My-environment girin.
    Bölge yedekliliği Devre dışı öğesini seçin
  7. Bağlantı sekmesini seçin.

  8. Genel Ağ ErişiminiDevre Dışı Bırak: Genel İnternet'ten gelen tüm trafiği engelle olarak ayarlayın.

  9. Kendi sanal ağınızı kullan seçeneğini Hayır olarak bırakın.

  10. Özel uç noktaları etkinleştir ayarını Hayır olarak bırakın.

  11. Oluştur'i seçin.

  12. Kapsayıcı Uygulaması Oluştur sayfasında Kapsayıcı sekmesini seçin.

  13. Hızlı başlangıç görüntüsünü kullan'ı seçin.

Kapsayıcı uygulamasını dağıtma

  1. Sayfanın en altında Gözden geçir ve oluştur'u seçin.

    Eğer hata bulunmazsa, 'Oluştur' düğmesi etkinleştirilir.

    Hatalar varsa, hata içeren tüm sekmeler kırmızı noktayla işaretlenir. Uygun sekmeye gidin. Hata içeren alanlar kırmızı renkle vurgulanır. Tüm hatalar düzeltildikten sonra Gözden geçir'i seçin ve yeniden oluşturun .

  2. Oluştur'i seçin.

    Dağıtım devam ediyor iletisini içeren bir sayfa görüntülenir. Dağıtım başarıyla tamamlandıktan sonra şu iletiyi görürsünüz: Dağıtımınız tamamlandı.

Dağıtımı doğrulayın

  1. Yeni kapsayıcı uygulamanızı görüntülemek için Kaynağa git'i seçin.

  2. Uygulamanızı görüntülemek için Uygulama URL'sinin yanındaki bağlantıyı seçin.

  1. Kapsayıcı uygulaması uç noktasına göz attığınızda aşağıdaki iletiyi görürsünüz:

    The public network access on this managed environment is disabled. To connect to this managed environment, please use the Private Endpoint from inside your virtual network. To learn more https://aka.ms/PrivateEndpointTroubleshooting.
    

    Bunun yerine, kapsayıcı uygulamanıza erişmek için bir Azure Front Door uç noktası kullanırsınız.

Azure Front Door profili ve uç noktası oluşturma

  1. Üstteki arama çubuğunda Front Door araması yapın.

  2. Arama sonuçlarında Front Door ve CDN profilleri'ni seçin.

  3. Azure Front Door ve Hızlı Oluştur'u seçin.

  4. Front Door oluşturmak için Devam et düğmesini seçin.

  5. Front Door profili oluştur sayfasının Temel Bilgiler sekmesinde aşağıdaki eylemleri gerçekleştirin.

    Ayarlar Eylemler
    Kaynak grubu My-container-apps öğesini seçin.
    İsim my-afd-profile'a girin.
    Katman Premium'ı seçin. Özel bağlantı, Standart katmanda Azure Front Door'un çıkış noktaları için desteklenmez.
    Uç nokta adı my-afd-endpoint girin.
    Kaynak türü Container Apps'i seçin.
    Kaynak ana bilgisayar adı Kapsayıcı uygulamanızın ana bilgisayar adını girin. Ana bilgisayar adınız aşağıdaki örneğe benzer: my-container-app.orangeplant-77e5875b.centralus.azurecontainerapps.io.
    Özel bağlantı hizmetini etkinleştirme Bu ayarı etkinleştirin.
    Bölge (ABD) Orta ABD'yi seçin.
    Hedef alt kaynak managedEnvironments öğesini seçin.
    İstek iletisi AFD Özel Bağlantı İsteği girin.
  6. Seçin, gözden geçir ve oluştur.

  7. Oluştur'i seçin.

  8. Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.

  9. Front Door ve CDN profiline genel bakış sayfasında Uç Nokta ana bilgisayar adınızı bulun. Aşağıdaki örneğe benzer. Bu konak adını not edin.

    my-afd-endpoint.<HASH>.b01.azurefd.net
    

Özel uç nokta bağlantı isteğini onaylama

  1. Daha önce oluşturduğunuz my-environment adlı ortamın genel bakış sayfasına gidin.

  2. Ayarlar> ayarlarını genişletin.

  3. Özel uç nokta bağlantı istekleri için bir bağlantı görürsünüz. Örneğin, 1 private endpoint. Bu bağlantıyı seçin.

  4. Özel uç nokta bağlantıları sayfasında, her özel uç nokta bağlantı isteğini açıklamasıyla AFD Private Link Requestonaylayın.

    Not

    Azure Front Door'un birden çok özel uç nokta bağlantı isteği oluşturabileceği bilinen bir sorunu vardır.

Azure Front Door'dan kapsayıcı uygulamanıza erişme

Daha önce kaydettiğiniz Azure Front Door uç noktası ana bilgisayar adına göz atın. Hızlı başlangıç kapsayıcı uygulaması görüntüsünün çıkışını görürsünüz. Genel dağıtımın dağıtılması birkaç dakika sürebilir, bu nedenle beklenen çıkışı görmüyorsanız birkaç dakika bekleyip yenileyin.

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz, kaynak grubunu kaldırarak kapsayıcı uygulamasını ve ilişkili tüm hizmetleri silebilirsiniz.

  1. Genel Bakış bölümünden my-container-apps kaynak grubunu seçin.

  2. Kaynak grubuna Genel Bakış'ın üst kısmındaki Kaynak grubunu sil düğmesini seçin.

  3. "My-container-apps" onay iletişim kutusunu silmek istediğinizden emin misiniz? bölümüne my-container-apps kaynak grubu adını girin.

  4. 'ı seçin,'i silin.

    Kaynak grubunu silme işleminin tamamlanması birkaç dakika sürebilir.

Önkoşullar

  • Etkin aboneliği olan Azure hesabı.

  • Azure CLI'nın en son sürümünü çalıştırdığınızdan emin olmak için aşağıdaki komutu çalıştırın.

    az upgrade
    
  • Azure CLI için Azure Container Apps uzantısının en son sürümü. En son sürümü çalıştırdığınızdan emin olmak için aşağıdaki komutu çalıştırın.

    az extension add --name containerapp --upgrade --allow-preview true
    

    Not

    Mayıs 2024'den itibaren Azure CLI uzantıları artık önizleme özelliklerini varsayılan olarak etkinleştirmez. Container Apps önizleme özelliklerine erişmek için ile --allow-preview trueContainer Apps uzantısını yükleyin.

  • Bu özellik yalnızca iş yükü profili ortamlarında desteklenir.

  • Bu özellik yalnızca desteklenen bölgelerde kullanılabilir.

Önkoşullar ve kurulum hakkında daha fazla bilgi için bkz . Hızlı Başlangıç: containerapp up ile ilk kapsayıcı uygulamanızı dağıtma.

Ortam değişkenlerini belirleme

Aşağıdaki ortam değişkenlerini ayarlayın.

RESOURCE_GROUP="my-container-apps"
LOCATION="centralus"
ENVIRONMENT_NAME="my-environment"
CONTAINERAPP_NAME="my-container-app"
AFD_PROFILE="my-afd-profile"
AFD_ENDPOINT="my-afd-endpoint"
AFD_ORIGIN_GROUP="my-afd-origin-group"
AFD_ORIGIN="my-afd-origin"
AFD_ROUTE="my-afd-route"

Azure kaynak grubu oluşturma

Kapsayıcı uygulaması dağıtımınızla ilgili hizmetleri düzenlemek için bir kaynak grubu oluşturun.

az group create \
    --name $RESOURCE_GROUP \
    --location $LOCATION

Ortam oluşturun

  1. Container Apps ortamını oluşturun.

    az containerapp env create \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION
    
  2. Ortam kimliğini alın. Ortamı yapılandırmak için bu kimliği kullanırsınız.

    ENVIRONMENT_ID=$(az containerapp env show \
        --resource-group $RESOURCE_GROUP \
        --name $ENVIRONMENT_NAME \
        --query "id" \
        --output tsv)
    
  3. Ortam için genel ağ erişimini devre dışı bırakın.

    az containerapp env update \
        --id $ENVIRONMENT_ID \
        --public-network-access Disabled
    

Kapsayıcı uygulaması dağıtma

  1. Ortamınızda bir kapsayıcı uygulaması dağıtmak için aşağıdaki komutu çalıştırın.

    az containerapp up \
        --name $CONTAINERAPP_NAME \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --environment $ENVIRONMENT_NAME \
        --image mcr.microsoft.com/k8se/quickstart:latest \
        --target-port 80 \
        --ingress external \
        --query properties.configuration.ingress.fqdn
    
  2. Kapsayıcı uygulama uç noktanızı alın.

    ACA_ENDPOINT=$(az containerapp show \
        --name $CONTAINERAPP_NAME \
        --resource-group $RESOURCE_GROUP \
        --query properties.configuration.ingress.fqdn \
        --output tsv)
    
  3. Uygulama uç noktasına göz attığınızda ERR_CONNECTION_CLOSED alırsınız, çünkü kapsayıcı uygulama ortamında genel erişim devre dışı bırakılmıştır. Bunun yerine, kapsayıcı uygulamanıza erişmek için bir AFD uç noktası kullanırsınız.

Azure Front Door profili oluşturma

  1. Kaynak sağlayıcısının Microsoft.Cdn aboneliğiniz için kayıtlı olduğundan emin olun.

    az provider register --namespace Microsoft.Cdn
    
  2. AFD profili oluşturun. Özel bağlantı, SKU'su Standard_AzureFrontDoorolan bir AFD profilindeki çıkış noktaları için desteklenmez.

az afd profile create \
    --profile-name $AFD_PROFILE \
    --resource-group $RESOURCE_GROUP \
    --sku Premium_AzureFrontDoor

Azure Front Door uç noktası oluşturma

AFD profilinize bir uç nokta ekleyin.

az afd endpoint create \
    --resource-group $RESOURCE_GROUP \
    --endpoint-name $AFD_ENDPOINT \
    --profile-name $AFD_PROFILE \
    --enabled-state Enabled

Azure Front Door kaynak grubu oluşturma

AfD kaynak grubu oluşturun.

az afd origin-group create \
    --resource-group $RESOURCE_GROUP \
    --origin-group-name $AFD_ORIGIN_GROUP \
    --profile-name $AFD_PROFILE \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 60 \
    --probe-path / \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Azure Front Door kaynağı oluşturma

Kaynak grubunuza bir AFD kaynağı ekleyin.

az afd origin create \
    --resource-group $RESOURCE_GROUP \
    --origin-group-name $AFD_ORIGIN_GROUP \
    --origin-name $AFD_ORIGIN \
    --profile-name $AFD_PROFILE \
    --host-name $ACA_ENDPOINT \
    --origin-host-header $ACA_ENDPOINT \
    --priority 1 \
    --weight 500 \
    --enable-private-link true \
    --private-link-location $LOCATION \
    --private-link-request-message "AFD Private Link Request" \
    --private-link-resource $ENVIRONMENT_ID \
    --private-link-sub-resource-type managedEnvironments

Özel uç nokta bağlantılarını listeleme

  1. Ortamınız için özel uç nokta bağlantılarını listelemek için aşağıdaki komutu çalıştırın.

    az network private-endpoint-connection list \
        --name $ENVIRONMENT_NAME \
        --resource-group $RESOURCE_GROUP \
        --type Microsoft.App/managedEnvironments
    
  2. Yanıttan özel uç nokta bağlantı kaynak kimliğini kaydedin. Özel uç nokta bağlantısının değeri vardır properties.privateLinkServiceConnectionState.descriptionAFD Private Link Request. Özel uç nokta bağlantı kaynak kimliği aşağıdaki gibi görünür.

    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.App/managedEnvironments/my-environment/privateEndpointConnections/<PRIVATE_ENDPOINT_CONNECTION_ID>
    

    Bu kimliği aşağıdaki gibi görünen özel uç nokta kimliğiyle karıştırmayın.

    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/eafd-Prod-centralus/providers/Microsoft.Network/privateEndpoints/<PRIVATE_ENDPOINT_ID>
    

Özel uç nokta bağlantısını onaylama

Bağlantıyı onaylamak için aşağıdaki komutu çalıştırın. PLACEHOLDER< değerini >önceki bölümde kaydettiğiniz özel uç nokta bağlantı kaynak kimliğiyle değiştirin.

az network private-endpoint-connection approve --id <PRIVATE_ENDPOINT_CONNECTION_RESOURCE_ID>

Yol ekleme

Daha önce oluşturduğunuz uç noktayı kaynak grubuna eşlemek için aşağıdaki komutu çalıştırın. Azure Container Apps'teki özel uç noktalar yalnızca gelen HTTP trafiğini destekler. TCP trafiği desteklenmez.

az afd route create \
    --resource-group $RESOURCE_GROUP \
    --profile-name $AFD_PROFILE \
    --endpoint-name $AFD_ENDPOINT \
    --forwarding-protocol MatchRequest \
    --route-name $AFD_ROUTE \
    --https-redirect Enabled \
    --origin-group $AFD_ORIGIN_GROUP \
    --supported-protocols Http Https \
    --link-to-default-domain Enabled

Azure Front Door'dan kapsayıcı uygulamanıza erişme

  1. AFD uç noktanızın ana bilgisayar adını alın.

    az afd endpoint show \
        --resource-group $RESOURCE_GROUP \
        --profile-name $AFD_PROFILE \
        --endpoint-name $AFD_ENDPOINT \
        --query hostName \
        --output tsv
    

    Ana bilgisayar adınız aşağıdaki örneğe benzer.

    my-afd-endpoint.<HASH>.b01.azurefd.net
    
  2. Ana bilgisayar adına göz atın. Hızlı başlangıç kapsayıcı uygulaması görüntüsünün çıkışını görürsünüz.

    Beklenen çıkışı ilk başta görmüyorsanız, birkaç dakika bekleyip yenileyin.

Kaynakları temizleme

Bu uygulamayı kullanmaya devam etmeyecekseniz my-container-apps kaynak grubunu kaldırabilirsiniz. Bu eylem Azure Container Apps örneğini ve ilişkili tüm hizmetleri siler. Ayrıca, Container Apps hizmetinin otomatik olarak oluşturduğu ve özel ağ bileşenlerini içeren kaynak grubunu da siler.

Dikkat

Aşağıdaki komut, belirtilen kaynak grubunu ve içindeki tüm kaynakları siler. Bu kılavuzun kapsamı dışındaki kaynaklar belirtilen kaynak grubunda varsa, bunlar da silinir.

az group delete --name $RESOURCE_GROUP

Tavsiye

Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub'da bize bildirin.