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

Azure API Management, API yayımcılarının desteklenen herhangi bir sayıda Azure bölgesinde tek bir Azure API yönetim hizmetini dağıtmasını sağlayan çok bölgeli dağıtımı destekler. Çok bölgeli özellik, 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 iyiler.

Yeni bir Azure API Management hizmeti başlangıçta tek bir Azure bölgesinde birincil bölge olan yalnızca bir birim içerir. Birincil veya İkincil bölgelere ek birimler eklenebilir. Bir API Management ağ geçidi bileşeni, seçilen tüm Birincil ve İkincil bölgelere dağıtılır. Gelen API istekleri otomatik olarak en yakın bölgeye yönlendirilir. Bir bölge çevrimdışı olursa API istekleri otomatik olarak başarısız olan bölgeye bir sonraki en yakın ağ geçidine yönlendirilir.

Not

Yalnızca ağ geçidi API Management tüm bölgelere dağıtılır. Hizmet yönetimi bileşeni ve geliştirici portalı yalnızca Birincil bölgede barındırıldı. Bu nedenle Birincil bölgede kesinti olması durumunda geliştirici portalına erişim ve yapılandırmayı değiştirme (API ekleme, ilke uygulama gibi) birincil bölge yeniden çevrimiçi olana kadar kesintiye neden olur. Birincil bölge çevrimdışıyken kullanılabilir İkincil bölgeler, kullanılabilir en son yapılandırmayı kullanarak API trafiğine hizmet vermeye devam eder. Birincil veya İkincil bölgelerin kullanılabilirliğini ve yedekliliğini geliştirmek için isteğe bağlı olarak bölge yedekliliğini etkinleştirin.

Önemli

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

Kullanılabilirlik

Önemli

Bu özellik yalnızca Premium katmanında API Management.

Önkoşullar

Hizmet API Management ek bir konuma dağıtma

  1. Aşağıdaki Azure portal, API Management hizmetinize gidin ve menüden Konumlar'ı seçin.
  2. Üst çubukta + Ekle'yi seçin.
  3. Açılan listeden konumu seçin.
  4. Konumdaki ölçek Birimi sayısını seçin.
  5. İsteğe bağlı olarak Kullanılabilirlik alanları'nın etkinleştirin.
  6. Sanal API Management bir sanal ağa dağıtılmışsa,konumda sanal ağ ayarlarını yapılandırabilirsiniz. Konumda bulunan mevcut bir sanal ağı, alt ağı ve genel IP adresini seçin.
  7. Onaylamak için Ekle'yi seçin.
  8. Tüm konumları yapılandırana kadar bu işlemi tekrarlayın.
  9. Dağıtım işlemini başlatmak için üst çubukta Kaydet'i seçin.

Hizmet API Management silme

  1. Giriş Azure portal, API Management hizmetinize gidin ve menüde Konumlar girdisi'ne tıklayın.
  2. Kaldırmak istediğiniz konum için tablonun sağ ucundaki ... düğmesini kullanarak bağlam menüsünü açın. Sil seçeneğini belirleyin.
  3. Silme işlemini onaylayın ve Değişiklikleri uygulamak için Kaydet'e tıklayın.

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

Azure API Management yalnızca bir arka uç hizmeti URL'si içerir. Çeşitli bölgelerde Azure API Management örnekleri olsa da, API ağ geçidi istekleri yalnızca bir bölgede dağıtılan aynı arka uç hizmetine iletir. Bu durumda, performans kazancı yalnızca azure API Management isteğine özgü bir bölgede önbelleğe alınmış yanıtlardan gelir, ancak dünya genelinde arka uçla iletişim kurmak yine de yüksek gecikme süresine neden olabilir.

Sisteminizin coğrafi dağıtımına tam olarak sahip olmak için, Azure örneklerinde arka uç hizmetlerinin aynı bölgelere API Management gerekir. Ardından, ilkeleri ve @(context.Deployment.Region) özelliği kullanarak trafiği arka ucun yerel örneklerine yönlendirin.

  1. Azure API Management örneğinize gidin ve sol menüden API'lere tıklayın.

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

  3. Gelen işlemde ok açılan listesinde Kod düzenleyicisi'ne tıklayın.

    API code editor

  4. Dosyanın bölümünde uygun bir yönlendirme ilkesi oluşturmak için koşullu set-backendchoose ilkelerle <inbound> </inbound> birlikte kullanın.

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

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

İpucu

Ayrıca, arka uç hizmetlerinizi ön Azure Traffic Manager,API çağrılarını Traffic Manager yönlendirmeyi otomatik olarak çözümlemesine izin veebilirsiniz.

Bölgesel ağ geçitlerini API Management yönlendirmeyi kullanma

API Management, istekleri en düşük gecikme süresine göre bölgesel bir ağ geçidine yönlendirer. Bu ayarı bir ortamda geçersiz kılmak mümkün API Management, ancak kendi Traffic Manager yönlendirme kurallarıyla kullanabilirsiniz.

  1. Kendi dosyanızı Azure Traffic Manager.
  2. Özel bir etki alanı kullanıyorsanız, bu etki alanını Traffic Manager hizmet yerine API Management kullanın.
  3. içinde API Management uç noktalarını Traffic Manager. Bölgesel uç noktalar URL desenini https://<service-name>-<region>-01.regional.azure-api.net (örneğin, ) takip https://contoso-westus2-01.regional.azure-api.net eder.
  4. içinde API Management durum uç noktalarını Traffic Manager. Bölgesel durum uç noktaları URL desenini https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef (örneğin, ) takip https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef eder.
  5. Uygulamanın yönlendirme yöntemini Traffic Manager.