Exemplaar van Azure API Management-service implementeren in meerdere Azure-regio's

Azure API Management ondersteuning voor implementatie in meerdere regio's, waardoor API-uitgevers één Azure API Management-service kunnen distribueren over een aantal ondersteunde Azure-regio's. De functie voor meerdere regio's vermindert de latentie van aanvragen die worden waargenomen door geografisch gedistribueerde API-consumenten en verbetert de beschikbaarheid van de service als één regio offline gaat.

Een nieuwe Azure API Management-service bevat in eerste instantie slechts één eenheid in één Azure-regio, de primaire regio. Extra eenheden kunnen worden toegevoegd aan de primaire of secundaire regio's. Een API Management gatewayonderdeel wordt geïmplementeerd in elke geselecteerde primaire en secundaire regio. Binnenkomende API-aanvragen worden automatisch omgeleid naar de dichtstbijzijnde regio. Als een regio offline gaat, worden de API-aanvragen automatisch om de mislukte regio gerouteerd naar de dichtstbijzijnde gateway.

Notitie

Alleen het gatewayonderdeel van API Management wordt geïmplementeerd in alle regio's. Het servicebeheeronderdeel en de ontwikkelaarsportal worden alleen gehost in de primaire regio. In het geval van een storing in de primaire regio is de toegang tot de ontwikkelaarsportal en de mogelijkheid om de configuratie te wijzigen (bijvoorbeeld het toevoegen van API's en het toepassen van beleid) beperkt totdat de primaire regio weer online komt. Terwijl de primaire regio offline is, blijven de beschikbare secundaire regio's het API-verkeer bedienen met behulp van de meest recente configuratie die voor hen beschikbaar is. Schakel eventueel zone-redundantie in om de beschikbaarheid en tolerantie van de primaire of secundaire regio's te verbeteren.

Belangrijk

De functie voor het opslaan van klantgegevens in één regio is momenteel alleen beschikbaar in de regio Azië - zuidoost (Singapore) van de Azië en Stille Oceaan Geo. Voor alle andere regio's worden klantgegevens opgeslagen in Geo.

Beschikbaarheid

Belangrijk

Deze functie is alleen beschikbaar in de Premium -laag van API management.

Vereisten

  • Zie Create an API Management service instance (Een service-exemplaar API Management maken) als u nog geen service API Management service-exemplaar hebt gemaakt. Selecteer de Premium servicelaag.
  • Als uw API Management-exemplaar is geïmplementeerd in een virtueel netwerk,moet u ervoor zorgen dat u een virtueel netwerk, subnet en openbaar IP-adres in de locatie in stelt die u wilt toevoegen.

Een API Management implementeren op een extra locatie

  1. Navigeer Azure Portal de API Management service en selecteer Locaties in het menu.
  2. Selecteer + Toevoegen in de bovenste balk.
  3. Selecteer de locatie in de vervolgkeuzelijst.
  4. Selecteer het aantal schaaleenheden op de locatie.
  5. Schakel optioneel beschikbaarheidszones in.
  6. Als het API Management is geïmplementeerd in een virtueel netwerk,configureert u de instellingen voor het virtuele netwerk op de locatie. Selecteer een bestaand virtueel netwerk, subnet en openbaar IP-adres dat beschikbaar is op de locatie.
  7. Selecteer Toevoegen om te bevestigen.
  8. Herhaal dit proces totdat u alle locaties configureert.
  9. Selecteer Opslaan in de bovenste balk om het implementatieproces te starten.

Een servicelocatie API Management verwijderen

  1. Ga in Azure Portal naar uw API Management service en klik op de vermelding Locaties in het menu.
  2. Voor de locatie die u wilt verwijderen, opent u het contextmenu met behulp van de knop ... aan de rechterkant van de tabel. Selecteer de optie Verwijderen.
  3. Bevestig de verwijdering en klik op Opslaan om de wijzigingen toe te passen.

API-aanroepen door sturen naar regionale back-endservices

Azure API Management slechts één URL voor de back-ende service. Hoewel er Azure API Management-exemplaren in verschillende regio's zijn, worden via de API-gateway nog steeds aanvragen doorgestuurd naar dezelfde back-service, die in slechts één regio is geïmplementeerd. In dit geval zijn de prestatieverbeteringen alleen afkomstig van reacties die in de cache zijn opgeslagen in Azure API Management in een regio die specifiek is voor de aanvraag, maar het contact opnemen met de back-end over de hele wereld kan nog steeds een hoge latentie veroorzaken.

Als u de geografische distributie van uw systeem volledig wilt benutten, moet u back-endservices hebben geïmplementeerd in dezelfde regio's als Azure API Management exemplaren. Vervolgens kunt u met behulp van beleidsregels en @(context.Deployment.Region) eigenschappen het verkeer naar lokale exemplaren van uw back-end doorseen.

  1. Navigeer naar uw Azure API Management-instantie en klik in het linkermenu op API's.

  2. Selecteer de gewenste API.

  3. Klik in de vervolgkeuzepijl in de inkomende verwerking op Code-editor.

    API-code-editor

  4. Gebruik de set-backend in combinatie met choose voorwaardelijk beleid om een correct routeringsbeleid te maken in de <inbound> </inbound> sectie van het bestand.

    Het onderstaande XML-bestand werkt bijvoorbeeld voor VS - west en Azië - oost regio's:

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

Tip

U kunt uw back-Azure Traffic Manager ook fronten met Azure Traffic Manager,de API-aanroepen naar de Traffic Manager sturen en de routering automatisch laten oplossen.

Aangepaste routering gebruiken om API Management gateways te maken

API Management worden de aanvragen gerouteerd naar een regionale gateway op basis van de laagste latentie. Hoewel het niet mogelijk is om deze instelling te overschrijven in API Management, kunt u uw eigen Traffic Manager met aangepaste routeringsregels.

  1. Maak uw eigen Azure Traffic Manager.
  2. Als u een aangepast domein gebruikt, gebruikt u dit met de Traffic Manager in plaats van de API Management service.
  3. Configureer API Management regionale eindpunten in Traffic Manager. De regionale eindpunten volgen het URL-patroon van https://<service-name>-<region>-01.regional.azure-api.net , bijvoorbeeld https://contoso-westus2-01.regional.azure-api.net .
  4. Configureer API Management regionale status-eindpunten in Traffic Manager. De regionale status-eindpunten volgen het URL-patroon https://<service-name>-<region>-01.regional.azure-api.net/status-0123456789abcdef van , bijvoorbeeld https://contoso-westus2-01.regional.azure-api.net/status-0123456789abcdef .
  5. Geef de routeringsmethode van de Traffic Manager.