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, genel İnternet üzerinden bağlantı kurmak yerine özel bağlantı kullanarak Azure Front Door ve Azure Container Apps doğrudan 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.
Önemli
Ayrılmış ve Tüketim planlarında özel uç noktaları etkinleştirmek için ek ücretler vardır.
Önkoşullar
Azure hesabı, etkin bir aboneliğe sahip.
- Eğer bir hesabınız yoksa, ücretsiz olarak oluşturabilirsiniz.
Bu özellik yalnızca iş yükü profili ortamlarında desteklenir.
Kaynak sağlayıcısının
Microsoft.Cdnaboneliğiniz için kayıtlı olduğundan emin olun.- başlangıç olarak Azure portalında oturum açın.
- Abonelik sayfanıza göz atın ve Ayarlar>Kaynak sağlayıcıları'nı seçin.
- Sağlayıcı listesinden Microsoft.Cdn'yi seçin.
- 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.
Üst arama çubuğunda Container Apps'i arayın.
Arama sonuçlarında Kapsayıcı Uygulamaları'nı seçin.
Oluştur düğmesini seçin.
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'e girin. Dağıtım kaynağı Kapsayıcı görüntüsü'ne tıklayın. Bölge Orta ABD'yi seçin. Container Apps Ortamı Oluştur alanında Yeni ortam oluştur bağlantısını seçin.
Kapsayıcı Uygulamaları Ortamı Oluştur sayfasında, Temel bilgiler sekmesinde aşağıdaki değerleri girin:
Ayarlar Değer Ortam adı Girin my-environment. Bölge yedekliliği Devre dışı seçeneğini seçin Bağlantı sekmesini seçin.
Genel Ağ ErişiminiDevre Dışı Bırak: Genel İnternet'ten gelen tüm trafiği engelle olarak ayarlayın.
Kendi sanal ağınızı kullan seçeneğini Hayır olarak bırakın.
Özel uç noktaları etkinleştir ayarını Hayır olarak bırakın.
Oluştur'i seçin.
Kapsayıcı Uygulaması Oluştur sayfasında Kapsayıcı sekmesini seçin.
Hızlı başlangıç görüntüsünü kullan'ı seçin.
Not
Hızlı başlangıç görüntüsü girişi otomatik olarak etkinleştirir. Hızlı başlangıç görüntüsünü kullanmıyorsanız lütfen girişi etkinleştirdiğinizden emin olun. Bu, kapsayıcı uygulamasının özel uç nokta üzerinden Azure Front Door gelen trafiği kabul etmesine olanak sağlar.
Kapsayıcı uygulamasını dağıt
Sayfanın en altında Gözden geçir ve oluştur'u seçin.
- Hata bulunmazsa Oluştur düğmesi kullanılabilir.
- Hatalar varsa, hata içeren tüm sekmeler kırmızı bir noktayla işaretlenir. Bu sekmelerin her birine gidin. Hata içeren alanlar kırmızıyla vurgulanır veya kırmızı X ile işaretlenir. Tüm hataları düzeltin ve gözden geçir ve yeniden oluştur'u seçin.
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 Dağıtımınız tamamlandı iletisi görüntülenir.
Dağıtımı doğrulayın.
Yeni kapsayıcı uygulamanızı görüntülemek için Kaynağa git seçeneğini belirleyin.
Uygulama Url'si'nin yanındaki bağlantıyı seçerek uygulamanızı görüntüleyin.
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
Üstteki arama çubuğunda Front Door araması yapın.
Arama sonuçlarında Front Door ve CDN profilleri'ni seçin.
Azure Front Door ve Quick Create'ı seçin.
Front Door oluşturmak için Devam et düğmesini seçin.
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 katmandaki Azure Front Door çı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 Private Link request girin. Seçin, gözden geçir ve oluştur.
Oluştur'i seçin.
Dağıtım tamamlandıktan sonra Kaynağa git'i seçin.
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
Daha önce oluşturduğunuz my-environment adlı ortamın genel bakış sayfasına gidin.
Ayarlar>Ağ ayarlarını genişletin.
Ö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.Private uç nokta bağlantıları sayfasında, her özel uç nokta bağlantı isteğini
AFD Private Link Requestaçıklamasıyla onaylayın.Not
Azure Front Door, birden çok özel uç nokta bağlantı isteği oluşturabileceği bilinen bir sorunu vardır.
Kapsayıcı uygulamanıza Azure Front Door'dan erişme
Daha önce kaydettiğiniz Azure Front Door uç nokta 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.
Genel Bakış bölümünden my-container-apps kaynak grubunu seçin.
Yukarıdaki Genel Bakış bölümünden Sil Kaynak Grubu düğmesini seçin.
Kaynak grubu adı my-container-apps'i, "my-container-apps" adını silmek istediğinizden emin misiniz? onay iletişim kutusuna girin.
'ı seçin,'i silin.
Kaynak grubunu silme işleminin tamamlanması birkaç dakika sürebilir.
Önkoşullar
Azure hesabı, etkin bir aboneliğe sahip.
- Eğer bir hesabınız yoksa, ücretsiz olarak oluşturabilirsiniz.
Azure CLI en son sürümünü çalıştırdığınızdan emin olmak için aşağıdaki komutu çalıştırın.
az upgradeAzure 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 trueNot
Mayıs 2024'te 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 Hızlı Başlangıç: containerapp up ile ilk kapsayıcı uygulamanızı dağıtın bölümüne bakın.
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
Container Apps ortamını oluşturun.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATIONOrtam 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)Ortam için genel ağ erişimini devre dışı bırakın.
az containerapp env update \ --id $ENVIRONMENT_ID \ --public-network-access Disabled
Container uygulaması dağıt
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.fqdnKapsayı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)Uygulama uç noktasına göz attığınızda
ERR_CONNECTION_CLOSEDalı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
Kaynak sağlayıcısının
Microsoft.Cdnaboneliğiniz için kayıtlı olduğundan emin olun.az provider register --namespace Microsoft.CdnAFD 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şturun
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
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/managedEnvironmentsYanıttan özel uç nokta bağlantı kaynak kimliğini kaydedin. Özel uç nokta bağlantısı,
properties.privateLinkServiceConnectionState.descriptionAFD Private Link Requestdeğerine sahiptir. Ö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'daki ö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
Kapsayıcı uygulamanıza Azure Front Door'dan erişme
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 tsvAna bilgisayar adınız aşağıdaki örneğe benzer.
my-afd-endpoint.<HASH>.b01.azurefd.netAna 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
Not
İç Sanal IP'ye sahip alanlar arası yedekli Container Apps ortamları, IP tabanlı arka uç havuzlarıyla iç yük dengeleyiciler (ILB) kullanır. Private Link Hizmeti IP tabanlı arka uç havuzları olan ILB'leri desteklemediğinden, alanlar arası yedekli ortamlar için Front Door → Private Link Service → ILB topolojisi kullanılamaz. Bunun yerine, bu makalede belirtilen yöntem gibi Azure Front Door Container Apps ortamınıza bağlamak için özel bir uç nokta kullanın. Bu yöntem hem alanlar arası yedekli hem de alanlar arası yedekli olmayan yapılandırmalarla uyumludur.
Tavsiye
Sorun mu yaşıyorsunuz? Azure Container Apps deposunda bir sorun açarak GitHub bize bildirin.