Azure API Management'ta hizmet yedekleme ve geri yükleme işlevlerini kullanarak acil durumda kurtarma
API'lerinizi Azure API Management aracılığıyla yayımlar ve yönetirken, hataya dayanıklılık ve aksi takdirde el ile tasarlama, uygulama ve yönetme gibi altyapı özelliklerini kullanabilirsiniz. Azure platformu, olası hataların çok büyük bir bölümünü maliyetin çok daha düşük bir oranıyla hafifletir.
Hizmetinizi barındıran bölgeyi etkileyen kullanılabilirlik API Management kurtarmak için, hizmetinizi herhangi bir zamanda başka bir bölgede yeniden yetkilendirmeye hazır olun. Kurtarma süresi hedefinize bağlı olarak, bekleme hizmetini bir veya daha fazla bölgede tutmak iyi olabilir. Ayrıca kurtarma noktası hedefinize göre yapılandırmalarını ve içeriklerini etkin hizmetle eşit durumda sürdürmeyi de çalışabilirsiniz. Hizmet yedekleme ve geri yükleme özellikleri, olağanüstü durum kurtarma stratejisi uygulamak için gerekli yapı taşlarını sağlar.
Yedekleme ve geri yükleme işlemleri, geliştirme ve hazırlama API Management ortamlar arasında hizmet yapılandırmasını çoğaltmak için de kullanılabilir. Kullanıcılar ve abonelikler gibi çalışma zamanı verileri de kopyalanır ve bu her zaman tercih edilmez.
Bu kılavuzda, yedekleme ve geri yükleme işlemlerini otomatikleştirmenin ve yedekleme ve geri yükleme isteklerinin başarılı bir şekilde kimlik doğrulamadan nasıl emin Azure Resource Manager.
Önemli
Geri yükleme işlemi hedef hizmetin özel ana bilgisayar adı yapılandırmasını değiştirmez. Geri yükleme işlemi tamamlandıktan sonra trafiğin basit bir DNS CNAME değişikliğiyle bekleme örneğine yeniden yönlendirilene kadar hem etkin hem de beklemede olan hizmetler için aynı özel ana bilgisayar adı ve TLS sertifikasını kullanmanızı öneririz.
Yedekleme işlemi, kümenin Analiz dikey penceresinde gösterilen raporlarda kullanılan önceden toplanmış günlük verilerini Azure portal.
Uyarı
Her yedeklemenin süresi 30 gün sonra dolar. 30 günlük süre sonu süresi dolduktan sonra bir yedeklemeyi geri yükleme girişiminde bulunduysanız, geri yükleme bir iletiyle başarısız Cannot restore: backup expired olur.
Not
Bu makalede, Azure ile etkileşim kurmak için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Kullanılabilirlik
Önemli
Bu özellik, API Management Premium, Standart, temel ve Geliştirici katmanlarında kullanılabilir.
İsteklerin Azure Resource Manager doğrulama
Önemli
Yedekleme REST API geri yükleme için kullanılan Azure Resource Manager rest API'lerden farklı bir kimlik doğrulama mekanizmasına sahip olan API Management vardır. Bu bölümdeki adımlarda, isteklerin kimliğini doğrulama Azure Resource Manager anlatılacaktır. Daha fazla bilgi için bkz. İstek Azure Resource Manager doğrulama.
Aşağıdaki adımları kullanarak kaynakları kullanarak Azure Resource Manager tüm Azure Active Directory doğrulanmış olması gerekir:
- Uygulamanın kiracısına Azure Active Directory ekleyin.
- Eklenen uygulama için izinleri ayarlayın.
- İsteklerin kimlik doğrulama için belirteci Azure Resource Manager.
Azure Active Directory oluşturma
Azure Portal oturum açın.
API Management hizmeti örneğinizi içeren aboneliği kullanarak Azure portal - Uygulama kayıtları Active Directory'ye kaydetmeye gidin.
Not
Varsayılan Azure Active Directory dizini hesabınız tarafından görünmüyorsa, hesabınıza gerekli izinleri vermek için Azure aboneliğinin yöneticisine başvurun.
+ Yeni kayıt'ı seçin.
Uygulama kaydetme sayfasında değerleri aşağıdaki gibi ayarlayın:
- Ad'a anlamlı bir ad yazın.
- Desteklenen hesap türleri'i Yalnızca bu kuruluş dizininde hesaplar olarak ayarlayın.
- Yeniden Yönlendirme URI'si alanına gibi bir yer tutucu URL
https://resourcesgirin. Bu gerekli bir alandır ancak değer daha sonra kullanılmaz. - Kaydet’i seçin.
İzin ekleme
Uygulama oluşturulduktan sonra API izinleri + İzin > ekle'yi seçin.
Microsoft API'leri'ne seçin.
Azure Hizmet Yönetimi'ne seçin.
Yeni eklenen uygulamanın yanındaki Temsilci İzinleri'ne tıklayın ve Azure Hizmet Yönetimi'ne kuruluş kullanıcıları olarak erişim (önizleme) kutusunu işaretleyin.
İzin ekle'yi seçin.
Uygulama yapılandırma
Yedeklemeyi ve geri yüklemeyi oluşturan API'leri çağırmadan önce bir belirteç alasiniz. Aşağıdaki örnek, belirteci almak için Microsoft.IdentityModel.Clients.ActiveDirectory NuGet paketini kullanır.
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using System;
namespace GetTokenResourceManagerRequests
{
class Program
{
static void Main(string[] args)
{
var authenticationContext = new AuthenticationContext("https://login.microsoftonline.com/{tenant id}");
var result = authenticationContext.AcquireTokenAsync("https://management.azure.com/", "{application id}", new Uri("{redirect uri}"), new PlatformParameters(PromptBehavior.Auto)).Result;
if (result == null) {
throw new InvalidOperationException("Failed to obtain the JWT token");
}
Console.WriteLine(result.AccessToken);
Console.ReadLine();
}
}
}
, {tenant id} {application id} ve yerine aşağıdaki yönergeleri {redirect uri} uygulayın:
yerine
{tenant id}oluşturduğunuz uygulamanın Azure Active Directory kimliğini girin. Uç Noktalar'a tıklayarak Uygulama kayıtları -> erişebilirsiniz.
değerini,
{application id}yeni sayfa sayfasına giderek Ayarlar.değerini,
{redirect uri}uygulama uygulamanın Yeniden Yönlendirme URL'leri sekmesindeki Azure Active Directory değiştirin.Değerler belirtildiktan sonra kod örneği aşağıdaki örnektekine benzer bir belirteç getirilmelidir:

Not
Belirteci belirli bir süre sonra sona erer. Yeni bir belirteç oluşturmak için kod örneğini yeniden yürütün.
Azure Depolama'a erişme
API Management yedekleme ve Depolama için belirttiğiniz bir Azure depolama hesabı kullanır. Yedekleme veya geri yükleme işlemi çalıştırıldığında depolama hesabına erişimi yapılandırmanız gerekir. API Management iki depolama erişim mekanizmasını destekler: Azure Depolama erişim anahtarı (varsayılan) veya API Management yönetilen kimlik.
Depolama hesabı erişim anahtarını yapılandırma
Adımlar için bkz. Depolama hesabı erişim anahtarlarını yönetme.
Yönetilen API Management yapılandırma
Not
Yedekleme ve geri yükleme API Management depolama işlemleri için yönetilen bir kimlik kullanmak için API Management REST API veya 2021-04-01-preview sonraki bir sürümü gerekir.
Sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği, API Management için API Management etkinleştirin.
- Kullanıcı tarafından atanan yönetilen kimliği etkinleştirirsanız, kimliğin İstemci Kimliğini not alır.
- Farklı örneklerde yedekleme ve geri yükleme API Management, hem kaynak hem de hedef örneklerde yönetilen kimliği etkinleştirin.
Kimliği, yedekleme Depolama kullanılan depolama hesabı kapsamındaki Blob Verileri Katkıda Bulunanı rolüne attayabilirsiniz. Rolü atamak için Azure portal Azure araçlarını kullanın.
Yedekleme ve geri yükleme işlemlerini çağırma
REST API'leri Api Management Hizmeti - Yedekleme ve Api Management Hizmeti - Geri Yükleme'dir.
Not
Yedekleme ve geri yükleme işlemleri sırasıyla PowerShell Backup-AzApiManagement ve Restore-AzApiManagement komutlarıyla da yapılabilir.
Aşağıdaki bölümlerde açıklanan "yedekleme ve geri yükleme" işlemlerini çağırmadan önce REST çağrınız için yetkilendirme isteği üst bilgisini ayarlayın.
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
Bir API Management hizmetine geri dönme
Bir hizmet API Management için aşağıdaki HTTP isteğini sorun:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup?api-version={api-version}
burada:
subscriptionId- Geri almaya çalıştığınız API Management aboneliğin kimliğiresourceGroupName- Azure API Management hizmetinizin kaynak grubunun adıserviceName- oluşturma API Management belirtilen bir yedeklemeyi yapmakta olduğunu API Management hizmetinin adıapi-version- veya REST API geçerli bir2020-12-012021-04-01-previewsürüm.
İsteğin gövdesinde hedef depolama hesabı adını, blob kapsayıcısı adını, yedekleme adını ve depolama erişim türünü belirtin. Depolama kapsayıcısı yoksa, yedekleme işlemi kapsayıcıyı oluşturur.
Depolama erişim anahtarını kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessKey": "{access key for the account}"
}
Yönetilen kimlik kullanarak erişim
Not
Yedekleme ve geri yükleme API Management depolama işlemleri için yönetilen bir kimlik kullanmak için API Management REST API veya 2021-04-01-preview sonraki bir sürümü gerekir.
Sistem tarafından atanan yönetilen kimliği kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "SystemAssignedManagedIdentity"
}
Kullanıcı tarafından atanan yönetilen kimliği kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "UserAssignedManagedIdentity",
"clientId": "{client ID of user-assigned identity}"
}
İstek üst bilgisi değerini Content-Type olarak application/json ayarlayın.
Yedeklemenin tamamlanması bir dakikayı geçmeyecek şekilde uzun süre çalışan bir işlemdir. İstek başarılı olursa ve yedekleme işlemi başladı ise, üst bilgisi olan 202 Accepted bir yanıt durum kodu Location alırsınız. İşlem GET durumunu bulmak için üst Location bilgide URL'ye istekte bulunabilirsiniz. Yedekleme devam ederken bir durum kodu almaya devam 202 Accepted edersiniz. yanıt kodu, 200 OK yedekleme işlemlerinin başarıyla tamamlanmasını gösterir.
Bir API Management geri yükleme
Daha önce API Management bir yedeklemeden bir hizmet geri yüklemek için aşağıdaki HTTP isteğini yapın:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore?api-version={api-version}
burada:
subscriptionId- Yedeklemeyi geri yüklemekte API Management hizmeti tutan aboneliğin kimliğiresourceGroupName- Yedeklemeyi geri yüklemekte API Management Azure API Management kaynak grubunun adıserviceName- Geri yüklenen API Management oluşturma zamanında belirtilen hizmetin adıapi-version-veya gibi geçerli bir REST API sürümü2020-12-01``2021-04-01-preview
İsteğin gövdesinde, mevcut depolama hesabı adı, blob kapsayıcısı adı, yedekleme adı ve depolama erişim türünü belirtin.
Depolama erişim anahtarı kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessKey": "{access key for the account}"
}
Yönetilen kimlik kullanarak erişim
Not
Yedekleme ve geri yükleme sırasında depolama işlemleri için API Management yönetilen bir kimlik kullanmak, API Management REST API sürümü 2021-04-01-preview veya üzerini gerektirir.
Sistem tarafından atanan yönetilen kimlik kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "SystemAssignedManagedIdentity"
}
Kullanıcı tarafından atanan yönetilen kimlik kullanarak erişim
{
"storageAccount": "{storage account name for the backup}",
"containerName": "{backup container name}",
"backupName": "{backup blob name}",
"accessType": "UserAssignedManagedIdentity",
"clientId": "{client ID of user-assigned identity}"
}
Content-Typeİstek üst bilgisinin değerini olarak ayarlayın application/json .
Restore, tamamlanması 30 veya daha fazla dakikalık süredeki uzun süredir çalışan bir işlemdir. İstek başarılı olursa ve geri yükleme işlemi başladıysa, 202 Accepted üst bilgiyle bir yanıt durum kodu alırsınız Location . İşlemin durumunu öğrenmek için üstbilgideki URL 'ye ' GET ' istekleri yapın Location . Geri yükleme devam ederken, bir durum kodu almaya devam edersiniz 202 Accepted . Yanıt kodu 200 OK , geri yükleme işleminin başarıyla tamamlandığını gösterir.
Önemli
Geri yüklenen hizmetin SKU 'su , geri yüklenmekte olan yedeklenen hizmetin SKU 'su ile aynı olmalıdır .
Geri yükleme işlemi devam ederken hizmet yapılandırmasında yapılan değişiklikler (örneğin, API 'ler, ilkeler, geliştirici portalı görünümü) üzerine yazılabilir.
Yedekleme veya geri yükleme isteği yapılırken kısıtlamalar
Yedekleme devam ederken, hizmette SKU yükseltme veya düşürme, etki alanı adında değişiklik ve daha fazlası gibi yönetim değişikliklerinden kaçının .
Bir yedeklemenin geri yüklenmesi yalnızca, oluşturulduktan sonra 30 gün boyunca garanti edilir .
Yedekleme işlemi sırasında hizmet yapılandırmasında yapılan değişiklikler (örneğin, API 'ler, ilkeler ve geliştirici portalı görünümü) , yedeklemeden dışlanmayabilir ve kaybolacaktır.
Azure Depolama hesabındaki Blob hizmetinde, çıkış noktaları arası kaynak paylaşımı (CORS) etkinleştirilmemelidir.
Geri yüklenen hizmetin SKU 'su , geri yüklenmekte olan yedeklenen hizmetin SKU 'su ile aynı olmalıdır .
Depolama ağ kısıtlamaları
Depolama erişim anahtarı kullanarak erişim
Depolama hesabı güvenlik duvarı etkinse ve erişim için bir depolama anahtarı kullanılıyorsa, müşteri, yedekleme veya geri yüklemenin çalışması için depolama hesabındaki Azure API Management Denetim düzlemi IP adresleri kümesine izin vermelidir. Depolama hesabı, API Management hizmetinin bulunduğu konum dışında herhangi bir Azure bölgesinde olabilir. örneğin, API Management hizmeti Batı ABD ise, Azure Depolama hesabı Batı ABD 2 ve müşterinin güvenlik duvarında denetim düzlemi ıp 13.64.39.16 (API Management denetim düzlemi ıp 'si) açması gerekir. bunun nedeni, azure Depolama isteklerinin aynı azure bölgesindeki işlem (azure API Management denetim düzlemi) ile genel bir ıp 'ye karşı bir şekilde değil. Bölgeler arası depolama istekleri, genel IP adresi olarak ele alınacaktır.
Yönetilen kimlik kullanarak erişim
Güvenlik Duvarı özellikli bir depolama hesabına erişmek için API Management sistem tarafından atanan bir yönetilen kimlik kullanılırsa, depolama hesabının Güvenilen Azure hizmetlerine erişim verdiğindenemin olun.
Yedeklenmeyen
- Analiz raporları oluşturmak için kullanılan kullanım verileri yedeklemeye dahil değildir . Azure API Management REST API kullanarak safekeeping için analiz raporlarını düzenli aralıklarla alın.
- Özel etki alanı TLS/SSL sertifikaları.
- Müşteri tarafından yüklenen ara veya kök sertifikaları içeren özel CA sertifikaları.
- Sanal ağ tümleştirme ayarları.
- Yönetilen kimlik yapılandırması.
- Azure izleyici tanılama yapılandırması.
- Protokoller ve şifre ayarları.
- Geliştirici Portalı içeriği.
Hizmet yedeklemeleri gerçekleştirdiğiniz sıklık, kurtarma noktası hedefini etkiler. Bunu en aza indirmek için, API Management hizmetinize değişiklikler yaptıktan sonra düzenli yedeklemeler uygulamanızı ve isteğe bağlı yedeklemeler gerçekleştirmenizi öneririz.
Sonraki adımlar
Yedekleme/geri yükleme işlemi için aşağıdaki ilgili kaynaklara göz atın:
- Logic Apps ile API Management Yedekleme ve Geri Yükleme İşlemlerini Otomatikleştirme
- Azure API Management bölgeler arasında taşıma
API Management Premium katmanı, belirli bir Azure bölgesindeki (konum) bir hizmet örneğine dayanıklılık ve yüksek kullanılabilirlik sağlayan bölge yedekliliğide destekler.