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

ŞUNLAR IÇIN GEÇERLIDIR: 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 isteğe bağlı bölge yedekliliği.

  • 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.

Ç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. Örneğin yönetim düzlemi ve geliştirici portalı yalnızca hizmeti ilk dağıttığınız birincil bölgede barındırılır.

  • Sanal ağa dağıtıldığında (eklendiğinde) API Management örneğiniz için ikincil bir konum yapılandırmak istiyorsanız, sanal ağ ve alt ağ bölgesi yapılandırdığınız ikincil konumla eşleşmelidir. 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.

  • 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.

Önkoşullar

  • API Management hizmet örneği oluşturmadıysanız bkz . API Management hizmet örneği oluşturma. Premium hizmet katmanını seçin.
  • API Management örneğiniz bir sanal ağa dağıtıldıysa, eklemeyi planladığınız konumda ve aynı abonelik içinde bir sanal ağ, alt ağ ve genel IP adresi ayarladığınızdan emin olun. Bkz. sanal ağ ö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. İsteğe bağlı olarak bir veya daha fazla Kullanılabilirlik alanı seçin.
  6. API Management örneği bir sanal ağa dağıtıldıysa, konumdaki sanal ağ ayarlarını yapılandırın. 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 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. Azure API Management ağ geçitlerini çeşitli bölgelerde yapılandırmış olsanız bile, API ağ geçidi istekleri yalnızca bir bölgede dağıtılan aynı arka uç hizmetine iletmeye devam eder. Bu durumda performans kazancı yalnızca isteğe özgü bir bölgedeki Azure API Management'ta ö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ç hizmetlerinin Azure API Management örnekleriyle aynı bölgelere dağıtılması gerekir. Ardından, ilkeleri ve @(context.Deployment.Region) özelliği kullanarak trafiği arka ucunuzun yerel örneklerine yönlendirebilirsiniz.

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

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

  3. Gelen işlemedeki ok açılan listesinden Kod düzenleyicisi'ni seçin.

    API kod düzenleyicisi

  4. Dosyasının set-backend bölümünde uygun bir yönlendirme ilkesi oluşturmak için koşullu choose ilkelerle <inbound> </inbound> birleştirilmiş öğesini 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 Azure Traffic Manager'ınızı oluşturun.
  2. Özel bir etki alanı kullanıyorsanız bunu 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. Hizmeti oluştur veya güncelleştir REST API'sini, Azure CLI'daki az apim update komutunu, set-azapimanagement Azure PowerShell cmdlet'ini veya diğer Azure araçlarını kullanarak değeri ayarlayabilirsiniz.

Not

Bölgesel ağ geçidine yönlendirmeyi yalnızca API Management'ın varsayılan yönlendirmesini kullanırken devre dışı bırakabilirsiniz, özel yönlendirme çözümünü değil.

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 eklendiğinde çok bölgeli dağıtımlarla ilgili önemli noktalar sağlanır.

Önemli

İç sanal ağ modunda yapılandırıldığında, her bölgesel ağ geçidinin 1443 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 FQDN'sine veya IP adresine bağlanmaya izin verdiğinizden emin olun; Azure SQL hizmet etiketi 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, bağlantı noktasındaki 3443yönetim trafiği için bu genel IP adresi gereklidir.

    • 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önlendirilmeyen veya yük dengelemesi yapılamaz. 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. Örnek çözümler arasında Azure Uygulaması lication Gateway ve Azure Traffic Manager yer alır.

Sonraki adımlar