Abilitazione dei log di accesso di Classic Load Balancer - 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à.

Abilitazione dei log di accesso di Classic Load Balancer

Per abilitare i log di accesso per il tuo load balancer, devi specificare il nome del bucket Amazon S3 in cui il load balancer archivierà i log. Devi anche collegare a questo bucket una policy bucket che conceda a Elastic Load Balancing l'autorizzazione per scrivere nel bucket.

Fase 1: Crea un bucket S3

Quando abiliti i log di accesso, devi specificare un bucket S3 per i relativi file. 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 è data dalle chiavi gestite da Amazon S3 (SSE-S3). Per ulteriori informazioni, consulta Chiavi di crittografia gestite da Amazon S3 (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 Restrizioni e limitazioni dei bucket nella Guida per l'utente di Amazon Simple Storage Service.

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

    3. Per la crittografia predefinita, scegli le chiavi gestite da Amazon S3 (SSE-S3).

    4. Seleziona Crea bucket.

Fase 2: collegamento di una policy al bucket S3

Il bucket S3 deve avere una policy che conceda a Elastic Load Balancing l'autorizzazione a scrivere i log di accesso 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 utilizzi un bucket esistente che ha già una policy collegata, puoi aggiungere alla policy l'istruzione per i log di accesso di Elastic Load Balancing. In questo caso, ti consigliamo di valutare il set di autorizzazioni risultante per accertarti che queste siano appropriate agli utenti che devono accedere al bucket per i log di accesso.

Policy di bucket disponibili

La policy del bucket che utilizzerai dipende dal tipo Regione AWS di bucket. Ogni sezione espandibile di seguito contiene una policy del bucket e informazioni su quando utilizzarla.

Questa policy concede le autorizzazioni al servizio di consegna dei log specificato. Utilizza questa policy per i sistemi di bilanciamento del carico nelle zone di disponibilità e zone locali delle seguenti regioni:

  • Asia Pacific (Hyderabad)

  • Asia Pacifico (Melbourne)

  • Canada occidentale (Calgary)

  • Europa (Spagna)

  • Europa (Zurigo)

  • Israele (Tel Aviv)

  • Medio Oriente (Emirati Arabi Uniti)

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

Questa policy concede le autorizzazioni all'ID dell'account del sistema di bilanciamento del carico elastico specificato. Utilizza questa policy per i sistemi di bilanciamento del carico nelle zone di disponibilità o locali nelle regioni elencate qui sotto.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "my-s3-arn" } ] }

Sostituisci elb-account-idcon l'ID di Elastic Load Balancing per la tua regione: Account AWS

  • 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

Sostituisci my-s3-arn con l'ARN della posizione per i tuoi log di accesso. L'ARN specificato dipende dalla necessità di specificare un prefisso quando si abilitano i log di accesso nella fase 3.

  • Esempio di ARN con un prefisso

    arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*
  • Esempio di ARN senza prefisso

    arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/*
AWS GovCloud (US) Regions

Questa policy concede le autorizzazioni all'ID dell'account del sistema di bilanciamento del carico elastico specificato. Utilizza questo criterio per i sistemi di bilanciamento del carico nelle zone di disponibilità o nelle zone locali nelle AWS GovCloud (US) regioni elencate di seguito.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws-us-gov:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "my-s3-arn" } ] }

Sostituisci elb-account-idcon l'ID di Elastic Load Balancing per la tua Account AWS regione: Account AWS

  • AWS GovCloud (Stati Uniti occidentali) — 048591011584

  • AWS GovCloud (Stati Uniti orientali) — 190560391635

Sostituisci my-s3-arn con l'ARN della posizione per i tuoi log di accesso. L'ARN specificato dipende dalla necessità di specificare un prefisso quando si abilitano i log di accesso nella fase 3.

  • Esempio di ARN con un prefisso

    arn:aws-us-gov:s3:::bucket-name/prefix/AWSLogs/aws-account-id/*
  • Esempio di ARN senza prefisso

    arn:aws-us-gov:s3:::bucket-name/AWSLogs/aws-account-id/*
Collegamento di una policy del bucket per i log di accesso al bucket utilizzando la console di Amazon 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. Seleziona Salvataggio delle modifiche.

Fase 3: configurazione dei log di accesso

Utilizza la procedura seguente per configurare i log di accesso per acquisire e consegnare i file di log 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 si specifica un prefisso, questo non deve includere la stringa "». AWSLogs

Configurazione dei log di accesso per il load balancer tramite la console
  1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, sotto Bilanciamento del carico, scegli Sistemi di bilanciamento del carico.

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

  4. Nella scheda Attributi, scegli Modifica.

  5. Nella sezione Monitoraggio della pagina Modifica attributi del sistema di bilanciamento del carico, procedi come segue:

    1. Abilita l'opzione Log di accesso.

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

    3. Mantieni Intervallo di registrazione su 60 minutes - default.

    4. Seleziona Salvataggio delle modifiche.

Per configurare i log di accesso per il sistema di bilanciamento del carico utilizzando il AWS CLI

Per prima cosa crea un file .json che consenta a Elastic Load Balancing di acquisire e distribuire i log ogni 60 minuti nel bucket S3 creato per i log:

{ "AccessLog": { "Enabled": true, "S3BucketName": "my-loadbalancer-logs", "EmitInterval": 60, "S3BucketPrefix": "my-app" } }

Quindi, specifica il file.json nel comando come segue modify-load-balancer-attributes:

aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes file://my-json-file.json

Di seguito è riportata una risposta di esempio.

{ "LoadBalancerAttributes": { "AccessLog": { "Enabled": true, "EmitInterval": 60, "S3BucketName": "my-loadbalancer-logs", "S3BucketPrefix": "my-app" } }, "LoadBalancerName": "my-loadbalancer" }
Per gestire il bucket S3 per i log di accesso

Assicurati di disabilitare i log di accesso prima di eliminare il bucket configurato. Altrimenti, se esiste un nuovo bucket con lo stesso nome e la policy del bucket richiesta creata in un bucket di Account AWS cui non sei proprietario, Elastic Load Balancing potrebbe scrivere i log di accesso per il tuo load balancer in questo nuovo bucket.

Fase 4: verifica delle autorizzazioni del bucket

Dopo avere abilitato i log di accesso 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 S3 per verificare che il file di test sia stato creato. Il file di test non è un file di log di accesso reale: non contiene i 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 S3 che hai specificato per i log di accesso.

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

    • Posizione con prefisso: my-bucket/prefix/AWSLogs/123456789012/ELBAccessLogTestFile

    • Posizione senza prefisso: my-bucket/AWSLogs/123456789012/ELBAccessLogTestFile

Risoluzione dei problemi

Accesso negato per il bucket: bucket-name. Controlla l'autorizzazione di S3bucket

Questo errore può essere provato da una delle cause elencate di seguito:

  • Il bucket deve avere una policy collegata che concede al sistema di bilanciamento del carico elastico l'autorizzazione a scrivere 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 i log di accesso sono abilitati. Verifica che la risorsa ARN non includa un prefisso se non hai specificato un prefisso, quando i log di accesso sono abilitati.

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