Guida introduttiva ai sistemi Gateway Load Balancer utilizzando AWS CLI - Sistema di bilanciamento del carico elastico

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

Guida introduttiva ai sistemi Gateway Load Balancer utilizzando AWS CLI

I Gateway Load Balancer semplificano distribuzione, dimensionamento e gestione delle appliance virtuali di terze parti, ad esempio quelle di sicurezza.

In questo tutorial implementeremo un sistema di ispezione utilizzando un Gateway Load Balancer e un endpoint del Gateway Load Balancer.

Panoramica

Un endpoint Gateway Load Balancer è un VPC endpoint che fornisce connettività privata tra le appliance virtuali del provider VPC di servizi e i server delle applicazioni del consumatore del servizio. VPC Il Gateway Load Balancer viene distribuito nello stesso modo VPC in cui viene distribuito nelle appliance virtuali. Queste appliance vengono registrate come gruppo di destinazione del Gateway Load Balancer.

I server delle applicazioni vengono eseguiti in una sottorete (sottorete di destinazione) nel consumatore del servizioVPC, mentre l'endpoint Gateway Load Balancer si trova in un'altra sottorete dello stesso. VPC Tutto il traffico che entra nel consumatore del servizio VPC attraverso il gateway Internet viene prima instradato all'endpoint Gateway Load Balancer e quindi indirizzato alla sottorete di destinazione.

Analogamente, tutto il traffico che esce dai server dell'applicazione (sottorete di destinazione) viene instradato sull'endpoint Gateway Load Balancer prima di essere instradato nuovamente attraverso Internet. Il seguente diagramma di rete è una rappresentazione visiva di come un endpoint del Gateway Load Balancer viene utilizzato per accedere a un servizio endpoint.

Utilizzo di un endpoint Gateway Load Balancer per accedere a un servizio endpoint

Gli articoli numerati di seguito evidenziano e spiegano gli elementi mostrati nell'immagine precedente.

Traffico in transito da Internet ai server dell'applicazione (frecce blu):
  1. Il traffico entra nell'utente del servizio attraverso il gateway InternetVPC.

  2. Il traffico viene inviato all'endpoint Gateway Load Balancer come risultato del routing in ingresso.

  3. Il traffico viene inviato al Gateway Load Balancer che lo distribuisce a una delle appliance di sicurezza.

  4. Il traffico viene inviato nuovamente all'endpoint Gateway Load Balancer dopo l'ispezione da parte dell'appliance di sicurezza.

  5. Il traffico viene inviato ai server dell'applicazione (sottorete di destinazione).

Traffico in transito dall'applicazione a Internet (frecce arancioni):
  1. Il traffico viene inviato all'endpoint Gateway Load Balancer come risultati dell'instradamento predefinito configurato nella sottorete del server dell'applicazione.

  2. Il traffico viene inviato al Gateway Load Balancer che lo distribuisce a una delle appliance di sicurezza.

  3. Il traffico viene inviato nuovamente all'endpoint Gateway Load Balancer dopo l'ispezione da parte dell'appliance di sicurezza.

  4. Il traffico viene inviato al gateway Internet in base alla configurazione della tabella di instradamento.

  5. Il traffico viene reindirizzato a Internet.

Routing

Questa tabella di routing per il gateway Internet deve disporre di una voce che invia il traffico destinato ai server dell'applicazione all'endpoint Gateway Load Balancer. Per specificare l'endpoint Gateway Load Balancer, usa l'ID dell'endpoint. VPC L'esempio seguente mostra le route per una configurazione dualstack.

Destinazione Target
VPC IPv4 CIDR Locale
VPC IPv6 CIDR Locale
Subnet 1 IPv4 CIDR vpc-endpoint-id
Subnet 1 IPv6 CIDR vpc-endpoint-id

Questa tabella di routing per la sottorete con i server dell'applicazione deve disporre di voci che indirizzino tutto il traffico dai server dell'applicazione all'endpoint del Gateway Load Balancer.

Destinazione Target
VPC IPv4 CIDR Locale
VPC IPv6 CIDR Locale
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

La tabella di routing per la sottorete con l'endpoint del Gateway Load Balancer deve instradare il traffico dall'ispezione alla destinazione finale. Per il traffico proveniente da Internet, la route locale garantisce che raggiunga i server dell'applicazione. Per il traffico proveniente dai server dell'applicazione, aggiungi voci che indirizzino tutto il traffico al gateway Internet.

Destinazione Target
VPC IPv4 CIDR Locale
VPC IPv6 CIDR Locale
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

Prerequisiti

  • Installa AWS CLI o esegui l'aggiornamento alla versione corrente di AWS CLI se utilizzi una versione che non supporta Gateway Load Balancers. Per ulteriori informazioni, consulta Installazione dell' AWS Command Line Interface nella Guida per l'utente dell'AWS Command Line Interface .

  • Assicuratevi che l'utente del servizio VPC disponga di almeno due sottoreti per ogni zona di disponibilità che contiene i server delle applicazioni. Una sottorete è destinata all'endpoint del Gateway Load Balancer e l'altra ai server dell'applicazione.

  • Assicuratevi che il fornitore di servizi VPC disponga di almeno due sottoreti per ogni zona di disponibilità che contiene istanze di dispositivi di sicurezza. Una sottorete è destinata al Gateway Load Balancer e l'altra alle istanze.

  • Avvia almeno un'istanza del dispositivo di sicurezza in ogni sottorete del dispositivo di sicurezza del provider di servizi. VPC I gruppi di sicurezza per queste istanze devono consentire il UDP traffico sulla porta 6081.

Fase 1: creare un Gateway Load Balancer e registrare le destinazioni

Utilizza la procedura seguente per creare il sistema di bilanciamento del carico, l'ascoltatore, gruppi di destinazione e per registrare le istanze dell'appliance di sicurezza come destinazioni.

Creare un Gateway Load Balancer e registrare le destinazioni
  1. Utilizzate il create-load-balancercomando per creare un sistema di bilanciamento del carico di tipo. gateway È possibile specificare una sottorete per ogni zona di disponibilità nella quale sono state lanciate le istanze dell'appliance di sicurezza.

    aws elbv2 create-load-balancer --name my-load-balancer --type gateway --subnets provider-subnet-id

    L'impostazione predefinita prevede il supporto solo IPv4 degli indirizzi. Per supportare entrambi IPv4 gli IPv6 indirizzi, aggiungi l'--ip-address-type dualstackopzione.

    L'output include l'Amazon Resource Name (ARN) del load balancer, con il formato mostrato nell'esempio seguente.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. Usa il create-target-groupcomando per creare un gruppo target, specificando il fornitore di servizi VPC in cui hai lanciato le istanze.

    aws elbv2 create-target-group --name my-targets --protocol GENEVE --port 6081 --vpc-id provider-vpc-id

    L'output include il ARN gruppo target, con il seguente formato.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  3. Utilizzare il comando register-target (registrare target) per registrare le istanze con il gruppo target.

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. Utilizza il comando create-listener per creare un ascoltatore per il sistema di bilanciamento del carico con una regola predefinita che inoltra le richieste verso il gruppo target:

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    L'output contiene il file ARN del listener, con il seguente formato.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/gwy/my-load-balancer/1234567890123456/abc1234567890123
  5. (Facoltativo) È possibile verificare lo stato dei target registrati per il gruppo target utilizzando il seguente describe-target-healthcomando.

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

Fase 2: creare un endpoint del Gateway Load Balancer

Utilizza la procedura seguente per creare un endpoint del Gateway Load Balancer. Gli endpoint del Gateway Load Balancer sono zonali. È consigliabile creare un endpoint del Gateway Load Balancer per zona. Per ulteriori informazioni, consulta Accesso alle appliance virtuali tramite AWS PrivateLink nella Guida di .

Per creare un endpoint Gateway Load Balancer
  1. Usa il comando create-vpc-endpoint-service-configuration per creare una configurazione del servizio endpoint utilizzando il tuo Gateway Load Balancer.

    aws ec2 create-vpc-endpoint-service-configuration --gateway-load-balancer-arns loadbalancer-arn --no-acceptance-required

    Per supportare entrambi IPv4 gli IPv6 indirizzi, aggiungi l'opzione. --supported-ip-address-types ipv4 ipv6

    L'output contiene l'ID del servizio (ad esempio, vpce-svc-12345678901234567) e il nome del servizio (ad esempio, com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567).

  2. Usa il comando modify-vpc-endpoint-service-permissions per consentire agli utenti del servizio di creare un endpoint per il tuo servizio. Un consumatore del servizio può essere un utente, un IAM ruolo o. Account AWS L'esempio seguente aggiunge l'autorizzazione per quanto specificato Account AWS.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. Usa il create-vpc-endpointcomando per creare l'endpoint Gateway Load Balancer per il tuo servizio.

    aws ec2 create-vpc-endpoint --vpc-endpoint-type GatewayLoadBalancer --service-name com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567 --vpc-id consumer-vpc-id --subnet-ids consumer-subnet-id

    Per supportare entrambi IPv4 gli IPv6 indirizzi, aggiungi l'--ip-address-type dualstackopzione.

    L'output contiene l'ID dell'endpoint del Gateway Load Balancer (ad esempio, vpce-01234567890abcdef).

Fase 3: configurazione dell'instradamento

Configura le tabelle di routing per l'utente del servizio VPC come segue. Ciò consente alle appliance di sicurezza di eseguire ispezioni sul traffico in entrata destinato ai server dell'applicazione.

Configurazione del routing
  1. Usa il comando create-route per aggiungere voci alla tabella di routing per il gateway Internet che instrada il traffico destinato ai server dell'applicazione all'endpoint del Gateway Load Balancer.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv4 CIDR --vpc-endpoint-id vpce-01234567890abcdef

    Se lo supportiIPv6, aggiungi il seguente percorso.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. Usa il comando create-route per aggiungere una voce alla tabella di routing per la sottorete con i server dell'applicazione che instradano tutto il traffico dai server dell'applicazione all'endpoint del Gateway Load Balancer.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block 0.0.0.0/0 --vpc-endpoint-id vpce-01234567890abcdef

    Se supportateIPv6, aggiungete la seguente rotta.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. Usa il comando create-route per aggiungere una voce alla tabella di routing per la sottorete con l'endpoint del Gateway Load Balancer che instrada tutto il traffico proveniente dai server dell'applicazione al gateway Internet.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block 0.0.0.0/0 --gateway-id igw-01234567890abcdef

    Se supportateIPv6, aggiungete la seguente rotta.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. Ripeti l'operazione per ogni tabella di routing della sottorete dell'applicazione in ogni zona.