View a markdown version of this page

Routing con riconoscimento delle zone di Amazon ECS Service Connect - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Routing con riconoscimento delle zone di Amazon ECS Service Connect

Con il routing con riconoscimento delle zone di Amazon ECS Service Connect, il traffico rimane all'interno della stessa zona di disponibilità (AZ) del client. Ciò riduce i costi e la latenza del trasferimento dati tra le due regioni senza richiedere ulteriori modifiche all'infrastruttura o al codice dell'applicazione. Quando gli endpoint sono bilanciati su AZ, oltre l'80% del traffico rimane locale mentre i pesi del traffico si adattano dinamicamente man mano che gli endpoint si scalano per mantenere un carico bilanciato tra i servizi di destinazione. Zone-aware il routing è attivo per impostazione predefinita per tutti i servizi nuovi ed esistenti che utilizzano Service Connect.

Come funziona il routing con riconoscimento delle zone

L'algoritmo utilizza la funzionalità di routing con riconoscimento delle zone di Envoy nel proxy Service Connect per indirizzare il traffico in base alla località dell'endpoint:

  1. Endpoint discovery ‐ Il proxy rileva tutti gli endpoint disponibili per il servizio di destinazione e il loro posizionamento AZ.

  2. Same-AZ prioritizzazione ‐ Il proxy calcola la percentuale di traffico che rimane nella stessa AZ in base al rapporto tra la distribuzione degli endpoint tra l'AZ di origine (client) e quello di destinazione (server). Quando gli endpoint sono distribuiti uniformemente tra le zone, il traffico Same-AZ in genere supera l'80%.

  3. Routing della capacità residua: il traffico che non può rimanere nella stessa AZ viene distribuito ad altri AZ in base alla loro capacità residua. Il proxy calcola la capacità residua di ciascuna zona e divide il traffico attraverso l'AZ proporzionalmente tra le zone con capacità residua positiva. Man mano che gli endpoint aumentano o diminuiscono, il proxy ricalcola i pesi di routing in tempo reale.

  4. Protezione da sovraccarico e fallback ‐ Per evitare di sovraccaricare un singolo AZ, il proxy richiede almeno 2 volte il numero di AZ come endpoint disponibili nel servizio di destinazione. Per una regione 3-AZ, ciò significa almeno 6 endpoint. Al di sotto di questa soglia, il routing sensibile alle zone si disattiva e il traffico viene distribuito in modo uniforme utilizzando il bilanciamento del carico round-robin. Il routing si riattiva automaticamente quando il numero di endpoint supera la soglia. Se gli endpoint nello stesso AZ non sono disponibili, il traffico viene ridistribuito su altri AZ per mantenere la disponibilità.

Verifica il routing con riconoscimento delle zone su Amazon EC2

Nelle istanze del container Amazon EC2 che utilizzano il runtime Docker, puoi controllare le statistiche del proxy Envoy all'interno del contenitore dell'agente Service Connect per confermare che il routing con riconoscimento delle zone sia attivo. Questa procedura richiede l'accesso all'host di Session Manager e. AWS Systems Manager docker exec Per le AWS Fargate nostre istanze container che utilizzanocontainerd, utilizza Amazon Virtual Private Cloud Flow Logs per verificare il comportamento di routing, come descritto in. Monitoraggio del routing con riconoscimento delle zone

Per verificare il routing sensibile alle zone su Amazon EC2 con Docker
  1. Connettiti all'istanza del contenitore con Session Manager. AWS Systems Manager instance-idSostituiscila con l'ID dell'istanza del contenitore.

    aws ssm start-session --target instance-id
  2. Aprire una shell nel contenitore dell'agente Service Connect.

    sudo docker exec -it $(sudo docker ps --filter "name=ecs-service-connect" -q | head -1) /bin/sh
  3. Statistiche di routing delle zone di interrogazione dall'interfaccia di amministrazione di Envoy.

    curl --unix-socket /tmp/envoy_admin.sock http://unix/stats | grep "lb_zone"
  4. Verificare l'output. Una distribuzione corretta con il routing sensibile alle zone attivo mostra zero richieste interzone:

    cluster.my-service.lb_zone_routing_cross_zone: 0 cluster.my-service.lb_zone_cluster_too_small: 0

La tabella seguente descrive le principali metriche di routing delle zone.

Metrica Description
lb_zone_routing_cross_zone Numero di richieste indirizzate a un endpoint in una AZ diversa. Un valore sostenuto pari a 0 conferma che tutto il traffico rimane all'interno dello stesso AZ.
lb_zone_cluster_too_small Numero di volte in cui il routing con riconoscimento delle zone è stato bypassato perché il numero di endpoint era inferiore alla soglia minima. Non-zero i valori durante la distribuzione iniziale sono previsti e si risolvono quando gli endpoint diventano integri. Una distribuzione stabile mostra 0.

Monitoraggio del routing con riconoscimento delle zone

Usa Amazon Virtual Private Cloud Flow Logs con il az-id campo per osservare i modelli di traffico a livello di rete. Questo mostra da quale AZ proviene e termina ciascun record di flusso, consentendoti di misurare i rapporti di traffico tra AZ e AZ diversi. Puoi anche utilizzare AWS Cost Explorer per tenere traccia dei costi di trasferimento dati tra le due regioni prima e dopo la ridistribuzione dei servizi per abilitare il routing basato sulle zone.

Per ulteriori informazioni sulla configurazione dei log di flusso, consulta VPC Flow Logs nella Amazon Virtual Private Cloud User Guide.

Considerazioni

Tieni presente quanto segue quando utilizzi il routing sensibile alle zone:

  • Zone-aware il routing funziona con tutti i tipi di avvio.

  • Zone-aware il routing è compatibile con i namespace Service Connect tra più account condivisi tramite. AWS Resource Access Manager

  • I servizi esistenti (sia client che server) richiedono una ridistribuzione una tantum per attivare il routing basato sulle zone. Dopo la ridistribuzione iniziale, il routing si regola dinamicamente man mano che gli endpoint cambiano senza ulteriori ridistribuzioni.