Aracılığıyla paylaş


Bir Azure API Management örneğini birden fazla Azure bölgesine dağıtma

UYGULANAN: Premium

Azure API Management, API yayımcılarının desteklenen bir veya daha fazla Azure bölgesinde mevcut bir API Management örneğine bölgesel API ağ geçitleri eklemesine olanak tanıyan çok bölgeli dağıtımı destekler. Çok bölgeli dağıtım, coğrafi olarak dağıtılmış API tüketicileri tarafından algılanan istek gecikme süresini azaltmaya yardımcı olur ve bir bölge çevrimdışı olursa hizmet kullanılabilirliğini artırır.

Bölge eklerken şunları yapılandırırsınız:

  • Bölgenin barındıracağı ölçek birimi sayısı.

  • Bu bölge destekliyorsa kullanılabilirlik alanları. Varsayılan olarak, API Management eklenen bölge için kullanılabilirlik alanlarını otomatik olarak yapılandırmaktadır ve bu önerilir. Eklenen bölge için kullanılabilirlik alanlarını el ile de yapılandırabilirsiniz.

  • Ağ mevcut bölgede veya bölgelerde yapılandırılmışsa, eklenen bölgedeki sanal ağ ayarları.

Önemli

Müşteri verilerini tek bir bölgede depolamayı etkinleştirme özelliği şu anda yalnızca Asya Pasifik Bölgesi'nin Güneydoğu Asya Bölgesi'nde (Singapur) kullanılabilir. Diğer tüm bölgeler için müşteri verileri Coğrafi Bölgede depolanır.

Önemli

API Management hizmetinizin altyapısındaki değişikliklerin (özel etki alanlarını yapılandırma, CA sertifikaları ekleme, ölçeklendirme, sanal ağ yapılandırması, kullanılabilirlik alanı değişiklikleri ve bölge eklemeleri gibi) tamamlanması, hizmet katmanına ve dağıtımın boyutuna bağlı olarak 15 dakika veya daha uzun sürebilir. Daha fazla ölçek birimi veya çok bölgeli yapılandırmaya sahip bir örnek için daha uzun süreler bekleyin. API Management'ta sıralı değişiklikler, kapasiteyi ve kullanılabilirliği korumak için dikkatle yürütülür.

Hizmet güncelleştirilirken diğer hizmet altyapısı değişiklikleri yapılamaz. Ancak API'leri, ürünleri, ilkeleri ve kullanıcı ayarlarını yapılandırabilirsiniz. Hizmet ağ geçidi kapalı kalma süresiyle karşılaşmaz ve API Management, API isteklerine kesintisiz olarak hizmet etmeye devam eder (Geliştirici katmanı hariç).

Çok bölgeli dağıtım hakkında

  • Yalnızca API Management örneğinizin ağ geçidi bileşeni birden çok bölgeye çoğaltılır. Örnek yönetim düzlemi ve geliştirici portalı, yalnızca hizmeti ilk dağıttığınız birincil bölgede barındırılır.

  • API Yönetimi örneğiniz için sanal ağda ikincil bir konum yapılandırmak istiyorsanız, sanal ağ ve alt ağ bölgeleri yapılandırmakta olduğunuz ikincil konum ile uyumlu olmalıdır. Birincil bölgedeki kullanılabilirlik alanını ekliyor, kaldırıyor veya etkinleştiriyorsanız ya da birincil bölgenin alt ağında değişiklik yaparsanız, API Management örneğinizin VIP adresi değişir. Daha fazla bilgi için bkz . Azure API Management hizmetinin IP adresleri. Ancak ikincil bölge ekliyorsanız, her bölgenin kendi özel VIP'sine sahip olduğundan birincil bölgenin VIP değeri değişmez.

  • API'ler ve ilke tanımları gibi ağ geçidi yapılandırmaları, eklediğiniz birincil ve ikincil bölgeler arasında düzenli olarak eşitlenir. Güncelleştirmelerin bölgesel ağ geçitlerine yayılması normalde 10 saniyeden kısa sürer. Çok bölgeli dağıtım, birden fazla bölgede API ağ geçidinin kullanılabilirliğini sağlar ve bir bölge çevrimdışı olursa hizmet kullanılabilirliği sağlar.

  • API Management, traffic manager uç noktasına genel HTTP istekleri aldığında (dış sanal ağ ve API Management'ın ağa bağlı olmayan modları için geçerlidir), trafik en düşük gecikme süresine göre bölgesel bir ağ geçidine yönlendirilir ve bu da coğrafi olarak dağıtılmış API tüketicileri tarafından karşılaşılan gecikme süresini azaltabilir. İç sanal ağ modunda, müşterilerin trafiği bölgesel ağ geçitleri arasında yönlendirmek ve yük dengelemek için kendi çözümlerini yapılandırmaları gerekir. Ayrıntılar için bkz . Ağ konusunda dikkat edilmesi gerekenler.

  • Her bölgedeki ağ geçidinin (birincil bölge dahil) URL desenini https://<service-name>-<region>-01.regional.azure-api.netizleyen bölgesel bir DNS adı vardır, örneğin https://contoso-westus2-01.regional.azure-api.net.

  • Bir bölge çevrimdışı olursa, API istekleri başarısız olan bölgenin çevresinde otomatik olarak bir sonraki en yakın ağ geçidine yönlendirilir.

  • Birincil bölge çevrimdışı olursa, API Management yönetim düzlemi ve geliştirici portalı kullanılamaz duruma gelir, ancak ikincil bölgeler en son ağ geçidi yapılandırmasını kullanarak API istekleri sunmaya devam eder.

  • Eğer yapılandırılırsa, hız sınırı ve anahtara göre hız sınırı ilkeleri, dağıtımdaki her bölgesel ağ geçidinde çağrıları ayrı ayrı sayar. İlkeler örnek için tüm çağrı verilerini toplamaz. Benzer şekilde, azure-openai-token-limit ve llm-token-limit ilkeleri, dağıtımdaki her bölgesel ağ geçidinde belirteç kullanımını ayrı olarak sayar.

Önkoşullar

API Management hizmetini ek bir bölgeye dağıtma

  1. Azure portalında API Management hizmetinize gidin ve sol menüden Konumlar'ı seçin.
  2. Üst çubukta + Ekle'yi seçin.
  3. Açılan listeden eklenen konumu seçin.
  4. Konumdaki ölçek Birimi sayısını seçin.
  5. Bölge Kullanılabilirlik alanlarını destekliyorsa Otomatik ayarını bırakın (önerilir) veya isteğe bağlı olarak bir veya daha fazla bölge seçin. Belirli bölgeleri seçerseniz, seçtiğiniz birim sayısı kullanılabilirlik alanları arasında eşit olarak dağıtılmalıdır. Örneğin, üç birim seçerseniz, her bölgenin bir birim barındırması için üç bölge seçmeniz gerekir.
  6. API Management örneği bir sanal ağa dağıtıldıysa, sanal ağ, alt ağ ve genel IP adresi dahil olmak üzere konumdaki sanal ağ ayarlarını yapılandırın.
  7. Onaylamak için Ekle'yi seçin.
  8. Tüm konumları yapılandırana kadar bu işlemi yineleyin.
  9. Dağıtım işlemini başlatmak için üst çubukta Kaydet'i seçin.

API Management hizmet bölgesini kaldırma

  1. Azure portalında API Management hizmetinize gidin ve sol menüden Konumlar'ı seçin.
  2. Kaldırmak istediğiniz konum için tablonun sağ ucundaki ... düğmesini kullanarak bağlam menüsünü seçin. Sil'i seçin.
  3. Silme işlemini onaylayın ve değişiklikleri uygulamak için Kaydet'i seçin.

API çağrılarını bölgesel arka uç hizmetlerine yönlendirme

Varsayılan olarak, her API istekleri tek bir arka uç hizmeti URL'sine yönlendirir. API Management ağ geçitlerini çeşitli bölgelerde yapılandırsanız bile, API ağ geçidi istekleri yine de yalnızca bir bölgede dağıtılan aynı arka uç hizmetine iletir. Bu durumda, geliştirilmiş performans yalnızca isteğe özgü bir bölgede API Management içinde önbelleğe alınan yanıtlardan gelir. Dünya genelinde arka uçla iletişim kurmak yine de yüksek gecikme süresine neden olabilir.

Sisteminizin coğrafi dağılımından yararlanmak için arka uç hizmetlerini API Management örnekleriyle aynı bölgelere dağıtmanız gerekir. Ardından, ilkeleri ve @(context.Deployment.Region) özelliğini kullanarak trafiği arka ucunuzun yerel örneklerine yönlendirebilirsiniz.

  1. API Management örneğinize gidin ve sol menüden API'ler'i seçin.

  2. İstediğiniz API'yi seçin.

  3. Tasarım sekmesinin Gelen işleme bölümünde Kod düzenleyicisi'ni seçin.

    Tasarım sekmesinde API kodu düzenleyicisini vurgulayan ekran görüntüsü.

  4. Dosyanın set-backend bölümünde uygun bir yönlendirme politikası oluşturmak için choose öğesini <inbound> </inbound> koşullu politikalarla birleştirerek kullanın.

    Örneğin, aşağıdaki XML dosyası Batı ABD ve Doğu Asya bölgeleri için kullanılabilir:

    <policies>
        <inbound>
            <base />
            <choose>
                <when condition="@("West US".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-us.com/" />
                </when>
                <when condition="@("East Asia".Equals(context.Deployment.Region, StringComparison.OrdinalIgnoreCase))">
                    <set-backend-service base-url="http://contoso-backend-asia.com/" />
                </when>
                <otherwise>
                    <set-backend-service base-url="http://contoso-backend-other.com/" />
                </otherwise>
            </choose>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Bölgesel arka uçlara yönlendirmek için Traffic Manager'ı kullanma

Ayrıca Azure Traffic Manager ile arka uç hizmetlerinizi önleyebilir, API çağrılarını Traffic Manager'a yönlendirebilir ve yönlendirmeyi otomatik olarak çözümlemesine izin vekleyebilirsiniz.

  • Trafik dağıtımı ve yük devretme için Traffic Manager'ı Coğrafi yönlendirme yöntemiyle kullanmanızı öneririz. API Management arka uçlarıyla Ağırlıklı yönlendirme yöntemiyle Traffic Manager'ın kullanılmasını önermiyoruz.

  • Bakım işlemleri sırasında trafik denetimi için Öncelik yönlendirme yöntemini kullanmanızı öneririz.

API Management bölgesel ağ geçitlerine özel yönlendirme kullanma

API Management, istekleri en düşük gecikme süresine göre bölgesel bir ağ geçidine yönlendirir. API Management'ta bu ayarı geçersiz kılmak mümkün olmasa da, özel yönlendirme kurallarıyla kendi Traffic Manager'ınızı kullanabilirsiniz.

  1. Kendi Traffic Manager'ınızı oluşturun.
  2. Özel bir alan adı kullanıyorsanız, API Management hizmeti yerine Traffic Manager ile kullanın.
  3. Traffic Manager'da API Management bölgesel uç noktalarını yapılandırın. Bölgesel uç noktalar url desenini https://<service-name>-<region>-01.regional.azure-api.netizler, örneğin https://contoso-westus2-01.regional.azure-api.net.
  4. Traffic Manager'da API Management bölgesel durum uç noktalarını yapılandırın. Bölgesel durum uç noktaları url desenini https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdefizler, örneğin https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef.
  5. Traffic Manager'ın yönlendirme yöntemini belirtin.

Bölgesel ağ geçidine yönlendirmeyi devre dışı bırakma

Bazı koşullar altında, bölgesel ağ geçitlerinden birine yönlendirmeyi geçici olarak devre dışı bırakmanız gerekebilir. Örneğin:

  • Yeni bir bölge ekledikten sonra bölgesel arka uç hizmetini yapılandırıp test ederken devre dışı kalmasını sağlamak için
  • Bir bölgede düzenli arka uç bakımı sırasında
  • Kullanılamayan bir bölgenin simülasyonunu oluşturan planlı olağanüstü durum kurtarma tatbikatı sırasında veya bölgesel bir hata sırasında trafiği diğer bölgelere yönlendirmek için

API Management örneğinizdeki bölgesel bir ağ geçidine yönlendirmeyi devre dışı bırakmak için ağ geçidinin disableGateway özellik değerini olarak truegüncelleştirin. Değeri, Hizmet oluşturma veya güncelleştirme REST API'si, Azure CLI'daki az apim update komutunu, set-azapimanagement Azure PowerShell cmdlet'ini veya diğer Azure araçlarını kullanarak ayarlayabilirsiniz.

Önemli

  • API Management'ta varsayılan yönlendirmeyi kullandığınızda ve özel yönlendirme çözümünü kullanmadığınızda, disableGateway özelliğini bölgesel ağ geçidine yönlendirmeyi devre dışı bırakmak için ayarlayabilirsiniz.
  • API Management örneği iç modda bir sanal ağa dağıtıldığında, disableGateway özelliğini bölgesel ağ geçidine yönlendirmeyi devre dışı bırakacak şekilde ayarlayamazsınız. Bu durumda, birden çok bölgede yönlendirme ve yük dengelemeyi kendiniz yönetmeniz gerekir.

Azure CLI kullanarak bölgesel ağ geçidini devre dışı bırakmak için:

  1. API Management örneği için yapılandırılan konumları, ağ geçidi durumunu ve bölgesel URL'leri göstermek için az apim show komutunu kullanın.

    az apim show --name contoso --resource-group apim-hello-world-resource \
        --query "additionalLocations[].{Location:location,Disabled:disableGateway,Url:gatewayRegionalUrl}" \
        --output table
    

    Örnek çıkış:

    Location    Disabled    Url
    ----------  ----------  ------------------------------------------------------------
    West US 2   True        https://contoso-westus2-01.regional.azure-api.net
    West Europe True        https://contoso-westeurope-01.regional.azure-api.net
    
  2. Ağ geçidini Batı ABD 2 gibi kullanılabilir bir konumda devre dışı bırakmak için az apim update komutunu kullanın.

    az apim update --name contoso --resource-group apim-hello-world-resource \
    --set additionalLocations[location="West US 2"].disableGateway=true
    

    Güncelleştirme birkaç dakika sürebilir.

  3. Bölgesel ağ geçidi URL'sine yönlendirilen trafiğin başka bir bölgeye yönlendirildiğini doğrulayın.

Yönlendirmeyi bölgesel ağ geçidine geri yüklemek için değerini disableGateway olarak falseayarlayın.

Sanal ağ

Bu bölümde, API Management örneği bir sanal ağa yerleştirildiğinde çok bölgeli dağıtımlar için dikkate alınması gereken unsurlar sağlanır.

  • Her bölgesel ağı bağımsız olarak yapılandırın. Eklenen bir bölgedeki bir sanal ağ için gerekli ağ güvenlik grubu kuralları gibi bağlantı gereksinimleri genellikle birincil bölgedeki ağ gereksinimleriyle aynıdır.
  • Farklı bölgelerdeki sanal ağların eşlenmiş olması gerekmez.

Önemli

API Management örneğinizi iç sanal ağ modunu kullanacak şekilde yapılandırdığınızda, her bölgesel ağ geçidinin 1433 numaralı bağlantı noktasında yalnızca birincil bölgede yer alan API Management örneğiniz için yapılandırılmış Azure SQL veritabanına giden bağlantısı da olmalıdır. İkincil bölgelerinizdeki ağlar için yapılandırdığınız tüm yollarda veya güvenlik duvarı kurallarında bu Azure SQL veritabanının tam etki alanı adına (FQDN) veya IP adresine bağlantıya izin verdiğinizden emin olun; Azure SQL hizmet uç noktası bu senaryoda kullanılamaz. Birincil bölgede Azure SQL veritabanı adını bulmak için portalda API Management örneğinizin Ağ>Ağı durumu sayfasına gidin.

IP adresleri

  • Sanal ağ ile eklenen her bölgede bir genel sanal IP adresi oluşturulur. Dış modda veya iç modda sanal ağlar için, bu genel IP adresi bağlantı noktası 3443 üzerindeki yönetim trafiği için kullanılır.

    • Dış sanal ağ modu: Genel HTTP trafiğini API ağ geçitlerine yönlendirmek için genel IP adresleri de gereklidir.

    • İç sanal ağ modu: Sanal ağ ile eklenen her bölgede özel bir IP adresi de oluşturulur. Ağ içinde birincil ve ikincil bölgelerdeki API Management uç noktalarına bağlanmak için bu adresleri kullanın.

Yönlendirme

  • Dış sanal ağ modu: Genel HTTP trafiğinin bölgesel ağ geçitlerine yönlendirilmesi, ağa bağlı olmayan API Management örneğinde olduğu gibi otomatik olarak işlenir.

  • İç sanal ağ modu: Özel HTTP trafiği varsayılan olarak bölgesel ağ geçitlerine yönlendirilmez veya yük dengelemesine tabi tutulmaz. Kullanıcılar yönlendirmenin sahibidir ve birden çok bölgede yönlendirmeyi ve özel yük dengelemeyi yönetmek için kendi çözümlerini getirmekle sorumludur.