Salta al contenuto

Come posso risolvere i problemi che riscontro con il feed di dati per istanze spot EC2 configurate con Amazon S3?

4 minuti di lettura
0

Ho configurato un feed di dati Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Simple Storage Service (Amazon S3). Desidero risolvere i problemi che riscontro con il feed di dati.

Breve descrizione

Per verificare gli addebiti per le istanze spot Amazon EC2, configura un feed di dati che riporti l'utilizzo e i prezzi delle istanze spot. Quando sottoscrivi l feed di dati, Amazon EC2 archivia i dati in un bucket S3. In caso di problemi con il feed di dati, completa i seguenti passaggi per la risoluzione dei problemi, a seconda del problema riscontrato.

Risoluzione

Nota: se visualizzi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS, assicurati di utilizzare la versione più recente di AWS CLI.

Crittografia AWS KMS

Il bucket S3 potrebbe essere crittografato con una chiave del Servizio AWS di gestione delle chiavi (AWS KMS) gestita dal cliente. In questo caso, devi consentire il servizio per delivery.logs.amazonaws.com nelle autorizzazioni della policy della chiave AWS KMS. Ciò consente ad AWS KMS di consegnare il feed di dati al bucket S3 crittografato.

Includi le seguenti autorizzazioni nella policy della chiave:

{
  "Sid": "Allow Logs Delivery to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "delivery.logs.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}

Per ulteriori informazioni, consulta Abilita la registrazione dai servizi AWS.

Autorizzazioni ACL

Quando sottoscrivi il feed di dati, l'account riceve le autorizzazioni della lista di controllo degli accessi (ACL) per il bucket S3 in modo da poter ricevere il feed di dati. Senza queste autorizzazioni, il feed di dati interrompe la consegna al bucket. Assicurati che le autorizzazioni siano ancora presenti nell'account:

  1. Apri la console Amazon S3.
  2. Scegli Bucket dal pannello di navigazione, quindi seleziona il bucket S3 associato al feed di dati.
  3. Scegli la scheda Autorizzazioni.
  4. In Lista di controllo accessi (ACL), individua l'account esterno che è stato aggiunto come Assegnatario e ha sottoscritto il feed di dati. Verifica che l'account abbia l'autorizzazione FULL_CONTROL per il bucket S3. L'autorizzazione ACL per l'account AWS awslogsdelivery viene aggiunta come ID canonico per l'account:
    c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0

Se l'account non ha l'autorizzazione FULL_CONTROL, deve sottoscrivere nuovamente il feed di dati per ricevere le autorizzazioni ACL necessarie. A tal fine, esegui il comando AWS CLI create-spot-datafeed-subscription.

Nota: se rimuovi la sottoscrizione del feed di dati, le autorizzazioni ACL associate non vengono eliminate automaticamente. Se desideri eliminare il feed di dati, devi accedere alle autorizzazioni nella console Amazon S3 (passaggi 1-4) per eliminarle manualmente.

Limite del feed di dati

Puoi creare un solo feed di dati per account AWS. Per trasferire il feed di dati a un altro bucket S3, esegui nuovamente il comando AWS CLI create-spot-datafeed-subscription con un bucket S3 diverso.

Runtime dell'istanza spot EC2

Ricevi un feed di dati solo per il tempo in cui le istanze spot EC2 sono in esecuzione. Ad esempio, se interrompi le istanze spot per tre ore, anche il feed di dati smette di fornire dati per quelle tre ore. Il feed di dati riprende automaticamente quando le istanze spot vengono nuovamente avviate.

Proprietà degli oggetti S3

Le impostazioni di proprietà degli oggetti per il bucket S3 del feed di dati devono essereProprietario del bucket preferito or Autore dell'oggetto. Queste impostazioni consentono le autorizzazioni ACL per il bucket S3. Se non hai nessuna di queste impostazioni di proprietà sul bucket S3, non puoi configurarvi il feed di dati. In tal caso, ricevi un messaggio di errore:

"An error occurred (InaccessibleStorageLocation) when calling the CreateSpotDatafeedSubscription operation: The specified bucket does not exist or does not have enough permissions."

Per ulteriori informazioni, consulta Controllo della proprietà degli oggetti e disattivazione delle ACL del bucket.

Considerazioni aggiuntive

Quando configuri il feed di dati, tieni presente i seguenti aspetti:

  • Non sono previsti costi aggiuntivi per l'attivazione di un feed di dati. Sono tuttavia previsti costi di archiviazione per l'archiviazione del feed di dati nel bucket S3.
  • I file del feed di dati di solito arrivano nel bucket una volta all'ora. Generalmente, un singolo file di dati copre ogni ora di utilizzo. Per ulteriori informazioni sulla dimensione del file e sull'ora di arrivo, consulta Feed di dati dell'istanza spot.
AWS UFFICIALEAggiornata 2 anni fa