View a markdown version of this page

Abilita i log di connessione per il tuo Application Load Balancer - Elastic Load Balancing

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

Abilita i log di connessione per il tuo Application Load Balancer

Quando abiliti i log di connessione per il tuo load balancer, devi specificare il nome del bucket S3 in cui il load balancer memorizzerà i log. Il bucket deve avere una policy di bucket che concede a Elastic Load Balancing l'autorizzazione a scrivere nel bucket.

Fase 1: Crea un bucket S3

Quando si abilitano i log di connessione, è necessario specificare un bucket S3 per i log di connessione. È possibile utilizzare un bucket esistente o creare un bucket specifico per i log di connessione. Il bucket deve soddisfare i seguenti requisiti.

Requisiti
  • Il bucket deve trovarsi nella stessa regione del load balancer. Il bucket e il load balancer possono essere di proprietà di account differenti.

  • L'unica opzione di crittografia lato server supportata è Amazon S3-managed keys (). SSE-S3 Per ulteriori informazioni, consulta Amazon S3-managed encryption keys ()SSE-S3.

Per creare un bucket S3 utilizzando la console Amazon S3
  1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Seleziona Crea bucket.

  3. Nella pagina Crea bucket, segui questi passaggi:

    1. In Nome bucket, immettere il nome del bucket. Il nome deve essere univoco rispetto a tutti i nomi di bucket esistenti in Amazon S3. In alcune regioni , possono esistere restrizioni aggiuntive sui nomi bucket. Per ulteriori informazioni, consulta le restrizioni e le limitazioni dei bucket nella Guida per l'utente di Amazon S3.

    2. Per Regione AWS , seleziona la regione in cui è stato creato il sistema di bilanciamento del carico.

    3. Per la crittografia predefinita, scegli Amazon S3-managed keys ()SSE-S3.

    4. Seleziona Crea bucket.

Fase 2: collegamento di una policy al bucket S3

Il bucket S3 deve avere una policy sui bucket che conceda a Elastic Load Balancing l'autorizzazione a scrivere i log di connessione nel bucket. Le policy dei bucket sono una raccolta di istruzioni JSON scritte nella sintassi della policy di accesso per definire le autorizzazioni di accesso per il tuo bucket. Ogni istruzione include informazioni su una singola autorizzazione e contiene una serie di elementi.

Se stai utilizzando un bucket esistente a cui è già allegata una policy, puoi aggiungere alla policy l'istruzione per i log di connessione di Elastic Load Balancing. In tal caso, ti consigliamo di valutare il set di autorizzazioni risultante per assicurarti che siano appropriate per gli utenti che devono accedere al bucket per i log di connessione.

Questa policy concede le autorizzazioni al servizio di consegna dei log specificato.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logdelivery.elasticloadbalancing.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*" } ] }

PerResource, inserisci l'ARN della posizione per i log di accesso, utilizzando il formato mostrato nella politica di esempio. Includi sempre l'ID dell'account con il load balancer nel percorso delle risorse del bucket S3 ARN. Ciò garantisce che solo i load balancer dell'account specificato possano scrivere i log di accesso al bucket S3.

L'ARN specificato dipende dall'intenzione di includere un prefisso quando si abilitano i log di accesso nel passaggio 3. Fase 3: configurazione dei log di accesso

Esempio: bucket S3 ARN con un prefisso

Il nome del bucket S3 è e il prefisso è. amzn-s3-demo-logging-bucket logging-prefix

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*

AWS GovCloud (US)— L'esempio seguente utilizza la sintassi ARN per. AWS GovCloud (US) Regions

arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
Esempio: bucket S3 ARN senza prefisso

Il nome del bucket S3 è. amzn-s3-demo-logging-bucket Nell'ARN del bucket S3 non è presente alcun prefisso.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*

AWS GovCloud (US)— L'esempio seguente utilizza la sintassi ARN per. AWS GovCloud (US) Regions

arn:aws-us-gov:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*

In precedenza, per le regioni disponibili prima di agosto 2022, richiedevamo una policy che concedesse le autorizzazioni a un account Elastic Load Balancing specifico per la regione. Questa policy precedente è ancora supportata, ma ti consigliamo di sostituirla con la politica più recente di cui sopra. Se preferisci continuare a utilizzare la policy precedente, che non è mostrata qui, puoi farlo.

Per riferimento, ecco gli ID degli account Elastic Load Balancing da specificare Principal nella policy precedente. Nota che le regioni che non sono in questo elenco non supportano la policy precedente.

  • Stati Uniti orientali (Virginia settentrionale): 127311923021

  • Stati Uniti orientali (Ohio): 033677994240

  • Stati Uniti occidentali (California settentrionale): 027434742980

  • Stati Uniti occidentali (Oregon): 797873946194

  • Africa (Città del Capo): 098369216593

  • Asia Pacifico (Hong Kong): 754344448648

  • Asia Pacifico (Giacarta) – 589379963580

  • Asia Pacifico (Mumbai): 718504428378

  • Asia Pacifico (Osaka-Locale): 383597477331

  • Asia Pacifico (Seoul): 600734575887

  • Asia Pacifico (Singapore): 114774131450

  • Asia Pacifico (Sydney): 783225319266

  • Asia Pacifico (Tokyo): 582318560864

  • Canada (Centrale): 985666609251

  • Europa (Francoforte): 054676820928

  • Europa (Irlanda): 156460612806

  • Europa (Londra): 652711504416

  • Europa (Milano): 635631232127

  • Europa (Parigi): 009996457667

  • Europa (Stoccolma): 897822967062

  • Medio Oriente (Bahrein): 076674570225

  • Sud America (San Paolo): 507241528517

  • AWS GovCloud (US-East) — 190560391635

  • AWS GovCloud (US-West) — 048591011584

La policy seguente concede le autorizzazioni al servizio di consegna dei log specificato. Utilizzare questa policy per i sistemi di bilanciamento del carico nelle zone Outpost.

{ "Effect": "Allow", "Principal": { "Service": "logdelivery.elb.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/AWSLogs/123456789012/*" "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }

PerResource, inserisci l'ARN della posizione per i log di accesso. Includi sempre l'ID dell'account con il load balancer nel percorso delle risorse del bucket S3 ARN. Ciò garantisce che solo i load balancer dell'account specificato possano scrivere i log di accesso al bucket S3.

L'ARN specificato dipende dall'intenzione di includere un prefisso quando si abilitano i log di accesso nel passaggio 3. Fase 3: configurazione dei log di accesso

Esempio: bucket S3 ARN con un prefisso

Il nome del bucket S3 è e il prefisso è. amzn-s3-demo-logging-bucket logging-prefix

arn:aws:s3:::amzn-s3-demo-logging-bucket/logging-prefix/AWSLogs/123456789012/*
Esempio: bucket S3 ARN senza prefisso

Il nome del bucket S3 è. amzn-s3-demo-logging-bucket Nell'ARN del bucket S3 non è presente alcun prefisso.

arn:aws:s3:::amzn-s3-demo-logging-bucket/AWSLogs/123456789012/*

Per migliorare la sicurezza, usa ARN precisi nel bucket S3.

  • Usa il percorso completo delle risorse, non solo l'ARN del bucket S3.

  • Includi la parte relativa all'ID dell'account nell'ARN del bucket S3.

  • Non utilizzare caratteri jolly (*) nella parte relativa all'ID dell'account dell'ARN del bucket S3.

Dopo aver creato la tua bucket policy, utilizza un'interfaccia Amazon S3, ad esempio la console o AWS CLI i comandi Amazon S3, per allegare la tua bucket policy al bucket S3.

Console
Per allegare la tua bucket policy al bucket S3
  1. Apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Seleziona il nome del bucket per aprirne la pagina dei dettagli.

  3. Scegli Autorizzazioni quindi seleziona Policy del bucket, Modifica.

  4. Crea o aggiorna la policy del bucket per concedere le autorizzazioni richieste.

  5. Scegli Save changes (Salva modifiche).

AWS CLI
Per allegare la tua bucket policy al tuo bucket S3

Usa il comando put-bucket-policy. In questo esempio, la policy del bucket è stata salvata nel file .json specificato.

aws s3api put-bucket-policy \ --bucket amzn-s3-demo-bucket \ --policy file://access-log-policy.json

Fase 3: Configurare i log di connessione

Usa la seguente procedura per configurare i log di connessione per acquisire e inviare i file di registro al tuo bucket S3.

Requisiti

Il bucket deve soddisfare i requisiti descritti nella fase 1 e devi collegare una policy di bucket come descritto nella fase 2. Se specifichi un prefisso, non deve includere la stringa "AWSLogs".

Per gestire il bucket S3 per i log di connessione

Assicurati di disabilitare i log di connessione prima di eliminare il bucket che hai configurato per i log di connessione. Altrimenti, se c'è un nuovo bucket con lo stesso nome e la policy del bucket richiesta ma creato in uno di Account AWS cui non sei il proprietario, Elastic Load Balancing potrebbe scrivere i log di connessione del tuo load balancer in questo nuovo bucket.

Console
Per abilitare i log di connessione
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Selezionare Sistemi di bilanciamento del carico nel riquadro di navigazione.

  3. Seleziona il nome del sistema di bilanciamento del carico per aprirne la pagina dei dettagli.

  4. Nella scheda Attributi, scegli Modifica.

  5. Per il monitoraggio, attiva i registri delle connessioni.

  6. In URI S3, inserisci l'URI S3 per i tuoi file di log. L'URI specificato dipende dall'utilizzo di un prefisso.

    • URI con prefisso: s3://bucket-name/prefix

    • URI senza prefisso: s3://bucket-name

  7. Scegli Save changes (Salva modifiche).

AWS CLI
Per abilitare i log delle connessioni

Utilizzate il comando modify-load-balancer-attributes con i relativi attributi.

aws elbv2 modify-load-balancer-attributes \ --load-balancer-arn load-balancer-arn \ --attributes \ Key=connection_logs.s3.enabled,Value=true \ Key=connection_logs.s3.bucket,Value=amzn-s3-demo-logging-bucket \ Key=connection_logs.s3.prefix,Value=logging-prefix
CloudFormation
Per abilitare i log di connessione

Aggiorna la LoadBalancer risorsa AWS::ElasticLoadBalancing V2:: per includere i relativi attributi.

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-alb Type: application Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup LoadBalancerAttributes: - Key: "connection_logs.s3.enabled" Value: "true" - Key: "connection_logs.s3.bucket" Value: "amzn-s3-demo-logging-bucket" - Key: "connection_logs.s3.prefix" Value: "logging-prefix"

Fase 4: verifica delle autorizzazioni del bucket

Dopo aver abilitato i log di connessione per il load balancer, Elastic Load Balancing convalida il bucket S3 e crea un file di test per garantire che la policy del bucket specifichi le autorizzazioni richieste. Puoi utilizzare la console Amazon S3 per verificare che il file di test sia stato creato. Il file di test non è un vero file di registro delle connessioni; non contiene record di esempio.

Per verificare che Elastic Load Balancing abbia creato un file di test nel bucket S3
  1. Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Seleziona il nome del bucket che hai specificato per i log di connessione.

  3. Accedi al file di test, ELBConnectionLogTestFile. La posizione dipende dall'utilizzo di un prefisso.

    • Posizione con un prefisso:amzn-s3-demo-logging-bucket//AWSlogs//prefix123456789012ELBConnectionLogTestFile

    • Posizione senza prefisso: /AWSlogs//amzn-s3-demo-logging-bucket123456789012ELBConnectionLogTestFile

Risoluzione dei problemi

L'errore di accesso negato può essere provocato da una delle cause elencate di seguito:

  • La policy del bucket non concede a Elastic Load Balancing il permesso di scrivere i log di connessione nel bucket. Verifica di utilizzare la policy di bucket corretta per la regione. Verifica che la risorsa ARN utilizzi lo stesso nome di bucket specificato quando hai abilitato i log di connessione. Verifica che la risorsa ARN non includa un prefisso se non hai specificato un prefisso quando hai abilitato i log di connessione.

  • Il bucket utilizza un'opzione di crittografia lato server non supportata. Il bucket deve utilizzare le chiavi Amazon S3-managed (). SSE-S3