Api Management


The presented resiliency recommendations in this guidance include Api Management and associated resources and settings.

Summary of Recommendations

Recommendations Details

APIM-1 - API Management サービスを可用性ゾーンをサポートする Premium SKU に移行します

Category: Availability

Impact: High

Guidance

API Management インスタンスを Premium SKU にアップグレードして、Availability Zones のサポートを追加します。

Resources

Resource Graph Query

// Azure Resource Graph Query
// Find all API Management instances that aren't Premium
resources
| where type =~ 'Microsoft.ApiManagement/service'
| extend skuName = sku.name
| where tolower(skuName) != tolower('premium')
| project recommendationId = "apim-1", name, id, tags, param1=strcat("SKU: ", skuName)



APIM-2 - Premium API Management インスタンスで可用性ゾーンを有効にします

Category: Availability

Impact: High

Guidance

APIM インスタンスのゾーン冗長性を有効にします。ゾーン冗長性により、API Management インスタンス (管理 API、開発者ポータル、Git 構成) のゲートウェイとコントロール プレーンが、物理的に分離されたゾーン内のデータセンター間でレプリケートされ、ゾーンの障害に対する回復性が確保されます。

Resources

Resource Graph Query

// Azure Resource Graph Query
// Find all Premium API Management instances that aren't zone redundant
resources
| where type =~ 'Microsoft.ApiManagement/service'
| extend skuName = sku.name
| where tolower(skuName) == tolower('premium')
| where isnull(zones) or array_length(zones) < 2
| extend zoneValue = iff((isnull(zones)), "null", zones)
| project recommendationId = "apim-2", name, id, tags, param1="Zones: No Zone or Zonal", param2=strcat("Zones value: ", zoneValue )



APIM-3 - Upgrade to platform version stv2

Category: Availability

Impact: High

Guidance

Upgrade to platform version stv2. The infrastructure associated with the API Management stv1 compute platform version will be retired effective 31 August 2024. A more current compute platform version (stv2) is already available and provides enhanced service capabilities.

Resources

Resource Graph Query/Scripts

// Azure Resource Graph Query
// Find all API Management instances that aren't upgraded to platform version stv2
resources
| where type =~ 'Microsoft.ApiManagement/service'
| extend plat_version = properties.platformVersion
| extend skuName = sku.name
| where tolower(plat_version) != tolower('stv2')
| project recommendationId = "apim-3", name, id, tags, param1=strcat("Platform Version: ", plat_version) , param2=strcat("SKU: ", skuName)