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à.
Cos'è Timestream per InfluxDB?
Amazon Timestream per InfluxDB è un motore di database di serie temporali gestito che consente agli sviluppatori di applicazioni DevOps e ai team di eseguire facilmente database InfluxDB per applicazioni di serie temporali in tempo reale utilizzando l'open source. AWS APIs Con Amazon Timestream per InfluxDB, è facile configurare, gestire e scalare carichi di lavoro di serie temporali in grado di rispondere alle query con un tempo di risposta alle query di una sola cifra di millisecondi.
Amazon Timestream per InfluxDB ti consente di accedere alle funzionalità della familiare versione open source di InfluxDB sulla sua filiale 2.x. Ciò significa che il codice, le applicazioni e gli strumenti che già utilizzi oggi con i tuoi database open source InfluxDB esistenti dovrebbero funzionare perfettamente con Amazon Timestream per InfluxDB. Amazon Timestream per InfluxDB può eseguire automaticamente il backup del database e mantenere il software del database aggiornato con la versione più recente. Inoltre, Amazon Timestream for InfluxDB semplifica l'utilizzo della replica per migliorare la disponibilità del database e migliorare la durabilità dei dati. Come per tutti i AWS servizi, non sono richiesti investimenti iniziali e paghi solo per le risorse che utilizzi.
Istanze DB
Un'istanza database è un ambiente di database isolato in esecuzione nel cloud. È l'elemento costitutivo di base di Amazon Timestream per InfluxDB. Un'istanza DB può contenere più database creati dall'utente (o organizzazioni e bucket nel caso dei database InfluxDb 2.x) ed è accessibile utilizzando gli stessi strumenti e applicazioni client che potresti utilizzare per accedere a un'istanza InfluxDB autonoma e autogestita. Le istanze DB sono semplici da creare e modificare con gli strumenti da riga di AWS comando, le operazioni Amazon API Timestream InfluxDB o il. AWS Management Console
Nota
Amazon Timestream for InfluxDB supporta l'accesso ai database utilizzando le operazioni Influx e l'APIinterfaccia utente Influx. Amazon Timestream per InfluxDB non consente l'accesso diretto all'host.
Puoi avere fino a 40 istanze Amazon Timestream per InfluxDB.
Ogni istanza DB ha un nome di istanza DB. Questo nome fornito dal cliente identifica in modo univoco l'istanza DB quando interagisce con Amazon Timestream for InfluxDB e i comandi. API AWS CLI Il nome dell'istanza DB deve essere univoco per quel cliente in una regione. AWS
Il nome dell'istanza DB fa parte del DNS nome host assegnato all'istanza da Timestream for InfluxDB. Ad esempio, se specifichi influxdb1 come nome dell'istanza DB, Timestream allocherà automaticamente un endpoint per l'istanza. DNS Un endpoint di esempio è, dov'è il nome dell'istanza. influxdb1-3ksj4dla5nfjhi.us-east-1.timestream-influxdb.amazonaws.com
influxdb1
Nell'endpoint di esempioinfluxdb1-3ksj4dla5nfjhi.us-east-1.timestream-influxdb.amazonaws.com
, la stringa 3ksj4dla5nfjhi
è un identificatore di account univoco generato da. AWS L'identificatore 3ksj4dla5nfjhi
dell'esempio non cambia per l'account specificato in una determinata regione. Pertanto, tutte le istanze DB create da questo account condividono lo stesso identificatore fisso. Considera le seguenti funzionalità dell'identificatore fisso:
-
Attualmente Timestream for InfluxDB non supporta la ridenominazione delle istanze DB.
-
Se elimini e ricrei un'istanza database con lo stesso identificatore di istanza database, l'endpoint è lo stesso.
-
Se utilizzi lo stesso account per creare un'istanza database in una regione diversa, l'identificatore generato internamente è diverso perché la regione è diversa, come in
influxdb2.4a3j5du5ks7md2.us-west-1.timestream-influxdb.amazonaws.com
.
Ogni istanza DB supporta solo un motore di database Timestream for InfluxDB.
Quando si crea un'istanza DB, InfluxDB richiede che venga specificato il nome di un'organizzazione. Un'istanza DB può ospitare più organizzazioni e più bucket associati a ciascuna organizzazione.
Amazon Timestream per InfluxDB ti consente di creare un account utente principale e una password per la tua istanza DB come parte del processo di creazione. Questo utente master dispone delle autorizzazioni per creare organizzazioni, bucket e per eseguire operazioni di lettura, scrittura, eliminazione e modifica dei dati. Potrai anche accedere a InfluxUI e recuperare il token dell'operatore al primo accesso. Da lì potrai gestire anche tutti i tuoi token di accesso. È necessario impostare la password dell'utente principale quando si crea un'istanza DB, ma è possibile modificarla in qualsiasi momento utilizzando InfluxAPI, Influx o CLI InfluxUI.
Classi di istanze database
La classe di istanza DB determina la capacità di calcolo e memoria di un'istanza database fi UbfkyxDB
Amazon Timestream. La classe di istanza database di cui hai bisogno dipende dalla potenza di elaborazione e dai requisiti di memoria specifici.
Una classe di istanza database è costituita dal tipo di classe di istanza database e dalla dimensione. Ad esempio, db.influx
è un tipo di classe di istanza DB ottimizzato per la memoria adatto ai requisiti di memoria ad alte prestazioni relativi ai carichi di lavoro in esecuzione. InfluxDb All'interno del tipo di classe di db.influx
istanza, db.influx.2xlarge
c'è una classe di istanza DB. La dimensione di questa classe è 2xlarge.
Per ulteriori informazioni sui prezzi delle classi di istanze, consulta i prezzi di Amazon Timestream
Tipi di classi di istanza database
Amazon Timestream for InfluxDB supporta classi di istanze DB per i seguenti casi d'uso ottimizzati per i casi d'uso di InfluxDB.
-
db.influx
—Queste classi di istanze sono ideali per eseguire carichi di lavoro che richiedono molta memoria in database InfluxDB open source
Specifiche hardware per le classi di istanze DB
La terminologia seguente descrive le specifiche hardware per le classi di istanze DB:
-
v CPU
Il numero di unità di elaborazione centrale virtuali (CPUs). Una virtuale CPU è un'unità di capacità che è possibile utilizzare per confrontare le classi di istanze DB.
-
Memoria (GiB)
LaRAM, in gibibyte, è allocata all'istanza DB. Spesso esiste un rapporto costante tra memoria e v. CPU Ad esempio, prendiamo la classe di istanza db.influx, che ha un CPU rapporto memoria/v simile alla classe di istanze EC2 r7g.
-
Ottimizzata per Influx
L'istanza database utilizza uno stack di configurazione ottimizzato e offre capacità aggiuntiva dedicata per l'I/O di Amazon EBS. Questa ottimizzazione offre prestazioni ottimali ai volumi EBS, riducendo al minimo i conflitti tra l'I/O di Amazon EBS e altro traffico proveniente dall'istanza.
-
Larghezza di banda di rete
La velocità di rete relativa ad altre classi di istanza database. Nella tabella seguente, puoi trovare dettagli hardware sulle classi di istanze Amazon Timestream for InfluxDB.
Classe di istanze | v CPU | Memoria (GiB) | Storage Type (Tipo di storage) | Larghezza di banda di rete (Gbps) |
---|---|---|---|---|
db.influx.medium | 1 | 8 | Influx incluso IOPS | 10 |
db.influx.large | 2 | 16 | Influx incluso IOPS | 10 |
db.influx.xlarge | 4 | 32 | Influx incluso IOPS | 10 |
db.influx.2xlarge | 8 | 64 | Influx incluso IOPS | 10 |
db.influx.4xlarge | 16 | 128 | Influx incluso IOPS | 10 |
db.influx.8xlarge | 32 | 256 | Influx incluso IOPS | 12 |
db.influx.12xlarge | 48 | 384 | Influx incluso IOPS | 20 |
db.influx.16xlarge | 64 | 512 | Influx incluso IOPS | 25 |
Archiviazione di istanze InfluxDB
Le istanze DB per Amazon Timestream for InfluxDB IOPS utilizzano i volumi Influx Included per database e archiviazione dei log.
In alcuni casi, il carico di lavoro del database potrebbe non essere in grado di raggiungere il 100% di quello che hai fornito. IOPS Per ulteriori informazioni, consulta Fattori che influenzano le prestazioni di storage. Per ulteriori informazioni sui prezzi di storage di Timestream for InfluxDB, consulta i prezzi di Amazon Timestream.
Amazon Timestream per i tipi di storage InfluxDB
Amazon Timestream for InfluxDB fornisce supporto per un tipo di storage, Influx Included. IOPS Puoi creare Timestream per istanze InfluxDB con un massimo di 16 tebibyte (TiB) di spazio di archiviazione.
Ecco una breve descrizione del tipo di archiviazione disponibile:
-
Influx IO Archiviazione inclusa: le prestazioni di archiviazione sono la combinazione delle operazioni di I/O al secondo (IOPS) e della velocità con cui il volume di archiviazione può eseguire letture e scritture (throughput di archiviazione). Sui volumi di storage IOPS inclusi in Influx, Amazon Timestream per InfluxDB offre 3 livelli di storage preconfigurati IOPS con un throughput ottimale e richiesto per diversi tipi di carichi di lavoro.
Dimensionamento delle istanze InfluxDB
La configurazione ottimale di un'istanza Timestream for InfluxDB dipende da molti fattori che includono la velocità di inserimento, le dimensioni dei batch, la cardinalità delle serie temporali, le query simultanee e i tipi di query. Nel tentativo di fornire consigli sul dimensionamento, ci stiamo concentrando su un carico di lavoro esemplare con le seguenti caratteristiche:
-
I dati vengono raccolti e scritti da una flotta di agenti Telegraf che raccolgono sistema, memoria, discoCPU, I/O e così via da un data center.
Ogni richiesta di scrittura contiene 5000 righe.
-
I tipi di query eseguite sul sistema sono classificati come query di «complessità moderata». Questa categoria di interrogazioni presenta le seguenti caratteristiche:
-
Hanno più funzioni e una o due espressioni regolari
-
Può anche avere clausole raggruppate per o campionare un intervallo di tempo di più settimane.
-
L'esecuzione richiede in genere da alcune centinaia di millisecondi a un paio di migliaia di millisecondi.
-
CPUfavorisce principalmente le prestazioni delle query.
-
Classe di istanza | Storage Type (Tipo di storage) | Scrive (righe al secondo) | Letture (interrogazioni al secondo) |
---|---|---|---|
db.influx.large | Influx IO incluso 3K | ~50.000 | <10 |
db.influx.2xlarge | Influx IO incluso 3K | ~150.000 | <25 |
db.influx.4xlarge | Influx IO incluso 3K | ~200.000 | ~25 |
db.influx.4xlarge | Influx IO incluso 12K | ~250.000 | ~35 |
db.influx.8xlarge | Influx IO incluso 12K | ~500.000 | ~50 |
db.influx.12xlarge | Influx IO incluso 12K | <750.000 | <100 |
Regioni AWS e zone di disponibilità
Le risorse di cloud computing Amazon sono ospitate in più ubicazioni in tutto il mondo. Queste sedi sono composte da e. Regioni AWS Ogni AWS regione è un'area geografica separata. Ogni AWS regione ha più località isolate note come zone di disponibilità.
Nota
Per informazioni su come trovare la AWS regione desiderata, consulta Regioni e zone nella Amazon EC2 User Guide.
Amazon Timestream for InfluxDB ti consente di collocare risorse, come istanze DB e dati, in più posizioni.
Amazon gestisce state-of-the-art data center ad alta disponibilità. Sebbene rari, possono verificarsi dei guasti che influiscano sulla disponibilità delle istanze database che si trovano nello stesso luogo. Se tutte le istanze database sono ospitate in un singolo luogo interessato da questo errore, nessuna delle istanze database sarà disponibile.
È importante ricordare che ogni AWS regione è completamente indipendente. Qualsiasi attività di Amazon Timestream for InfluxDB che inizi (ad esempio, la creazione di istanze di database o l'elenco delle istanze di database disponibili) viene eseguita solo nella tua regione predefinita corrente. AWS Puoi modificare la Regione AWS predefinita nella console o impostando la variabile di ambiente AWS_DEFAULT_REGION
. Oppure può essere sovrascritta utilizzando il parametro con (). --region
AWS Command Line Interface AWS CLI Per ulteriori informazioni, consulta Configurazione di AWS Command Line Interface, in particolare le sezioni relative alle variabili di ambiente e alle opzioni della riga di comando.
Per creare o lavorare con un'istanza database Amazon Timestream for InfluxDB in una regione AWS specifica, utilizza l'endpoint di servizio regionale corrispondente.
AWS Disponibilità regionale
La tabella seguente mostra le AWS regioni in cui Amazon Timestream for InfluxDB è attualmente disponibile e l'endpoint per ciascuna regione.
AWS Nome della regione | Regione | Endpoint | Protocollo |
---|---|---|---|
US East (N. Virginia) | us-east-1 | timestream-influxdb.us-east-1.amazonaws.com | HTTPS |
Stati Uniti orientali (Ohio) | us-east-2 | timestream-influxdb.us-east-2.amazonaws.com | HTTPS |
US West (Oregon) | us-west-2 | timestream-influxdb.us-west-2.amazonaws.com | HTTPS |
Asia Pacific (Mumbai) | ap-south-1 | timestream-influxdb.ap-south-1.amazonaws.com | HTTPS |
Asia Pacific (Singapore) | ap-southeast-1 | timestream-influxdb.ap-southeast-1.amazonaws.com | HTTPS |
Asia Pacific (Sydney) | ap-southeast-2 | timestream-influxdb.ap-southeast-2.amazonaws.com | HTTPS |
Asia Pacifico (Tokyo) | ap-northeast-1 | timestream-influxdb.ap-northeast-1.amazonaws.com | HTTPS |
Europe (Frankfurt) | eu-central-1 | timestream-influxdb.eu-central-1.amazonaws.com | HTTPS |
Europa (Irlanda) | eu-west-1 | timestream-influxdb.eu-west-1.amazonaws.com | HTTPS |
Europa (Stoccolma) | eu-north-1 | timestream-influxdb.eu-north-1.amazonaws.com | HTTPS |
Canada (Central) | ca-central-1 | timestream-influxdb.ca-central-1.amazonaws.com | HTTPS |
Europe (London) | eu-west-2 | timestream-influxdb.eu-west-2.amazonaws.com | HTTPS |
Europe (Paris) | eu-west-3 | timestream-influxdb.eu-west-3.amazonaws.com | HTTPS |
AWS Progettazione delle regioni
Ogni AWS regione è progettata per essere isolata dalle altre AWS regioni. Questo progetto permette di raggiungere la maggiore stabilità e tolleranza ai guasti possibile.
Quando si visualizzano le risorse, vengono visualizzate solo le risorse legate alla AWS regione specificata. Questo perché AWS le regioni sono isolate l'una dall'altra e non replichiamo automaticamente le risorse tra le AWS regioni.
AWS Zone di disponibilità
Quando crei un'istanza DB, Amazon Timestream per InfluxDB ne sceglie una a caso in base alla configurazione della sottorete. Una zona di disponibilità è rappresentata da un codice AWS regionale seguito da una lettera identificativa (ad esempio,). us-east-1a
Utilizza il EC2 comando Amazon describe-availability
-zones come segue per descrivere le regioni abilitate per il tuo account all'interno della regione specificata.
aws ec2 describe-availability-zones --region region-name
Ad esempio, per descrivere la regione degli Stati Uniti orientali (Virginia settentrionale) (us-east-1) abilitata per il tuo account, esegui il comando seguente:
aws ec2 describe-availability-zones --region
us-east-1
Non è possibile scegliere tra le istanze DB primarie e secondarie in una distribuzione DB Multi-AZ. Amazon Timestream per InfluxDB li sceglie per te in modo casuale. Per ulteriori informazioni sulle implementazioni Multi-AZ, consulta Configurazione e gestione di un'implementazione Multi-AZ.
Fatturazione tramite istanze DB per Amazon Timestream for InfluxDB
Le istanze di Amazon Timestream per InfluxDB vengono fatturate in base ai seguenti componenti:
-
Ore dell'istanza DB (all'ora): in base alla classe di istanza DB dell'istanza DB, ad esempio db.influx.large. I prezzi sono calcolati in base a una tariffa oraria, mentre le fatture sono calcolate al secondo e mostrano i valori in formato decimale. L'utilizzo di Amazon Timestream per InfluxDB viene fatturato in incrementi di 1 secondo, con un minimo di 10 minuti. Per ulteriori informazioni, consulta Classi di istanze DB. Classi di istanze database
-
Storage (per GiB al mese): capacità di storage fornita all'istanza DB. Per ulteriori informazioni, consulta Archiviazione di istanze InfluxDB.
-
Trasferimento dati (per GB): trasferimento di dati in entrata e in uscita dall'istanza DB da o verso Internet e altre AWS regioni.
Per informazioni sui prezzi di Amazon Timestream for InfluxDB, consulta la pagina dei prezzi di Amazon Timestream
Configurazione di Amazon Timestream per InfluxDB
Prima di utilizzare Amazon Timestream for InfluxDB per la prima volta, completa le seguenti attività:
Se hai già un AWS account, conosci i requisiti di Amazon Timestream per InfluxDB e preferisci utilizzare le impostazioni predefinite per e Amazon. IAM VPC Guida introduttiva a Timestream for InfluxDB
AWS Registrati per creare un account
Se non disponi di un AWS account, completa i seguenti passaggi per crearne uno.
Per creare un AWS account
-
Vai alla pagina di AWS accesso
. -
Scegli Crea un nuovo account e segui le istruzioni.
Nota
Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.
Quando si registra un AWS account, viene creato un AWS account utente root. L'utente root ha accesso a tutti i AWS servizi e le risorse dell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente amministrativo e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.
AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a https://aws.amazon.com/
Gestione degli utenti
Crea un utente amministrativo
Creazione di un utente amministratore
Dopo aver creato un AWS account, crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.
Proteggi il tuo AWS account come utente root
Accedi AWS Management Console come proprietario dell'account scegliendo Utente root e inserendo l'indirizzo email AWS del tuo account. Nella pagina successiva, inserisci la password. Per informazioni sull'accesso tramite utente root, consulta Accesso come utente root nella Guida per l'utente di AWS accesso
Attiva l'autenticazione a più fattori (MFA) per il tuo utente root. Per istruzioni, consulta Abilitare un MFA dispositivo virtuale per l'utente root dell' AWS account (console) nella Guida per l'IAMutente.
Concedi l'accesso programmatico
Gli utenti necessitano di un accesso programmatico se desiderano interagire con l' AWS esterno di. AWS Management Console La modalità con cui concedere l'accesso programmatico dipende dal tipo di utente che accede ad AWS.
Per concedere agli utenti l'accesso programmatico, scegli una delle seguenti opzioni:
Quale utente necessita dell'accesso programmatico? | Per | Come |
---|---|---|
Identità della forza lavoro (utenti gestiti in IAM Identity Center) | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLI,, AWS SDKs o. AWS APIs | Seguire le istruzioni relative all'interfaccia che si desidera utilizzare.* Per la, vedere AWS CLI Configurazione dell'utilizzo di Identity AWS CLI Center IAM nelAWS CLI Guida per l'utente .* Per AWS SDKs, strumenti e AWS APIs, vediIAMAutenticazione Identity Center nelAWS SDKse Guida di riferimento agli strumenti. |
IAM | Utilizza credenziali temporanee per firmare le richieste programmatiche a AWS CLISDKs, e. APIs | Seguendo le istruzioni riportate in Utilizzo delle credenziali temporanee con le AWS risorse nella Guida per l'IAMutente. |
IAM | (Non consigliato) Utilizzate credenziali a lungo termine per firmare richieste programmatiche a AWS CLI, SDKs e. APIs | Segui le istruzioni per l'interfaccia che desideri utilizzare. Per il, vedi AWS CLI Autenticazione tramite IAM credenziali utente nella Guida per l'utente. AWS Command Line Interface Per informazioni AWS SDKs e strumenti, vediEffettua l'autenticazione utilizzando credenziali a lungo termine nelAWS SDKse guida di riferimento agli strumenti .Per AWS APIs, vediGestione delle chiavi di accesso per gli IAM utenti nelGuida per l'utente di IAM. |
Determinazione dei requisiti
L'elemento costitutivo di base di Amazon Timestream per InfluxDB è l'istanza DB. In un'istanza DB, crei i tuoi bucket. Un'istanza database fornisce un indirizzo di rete che si chiama un endpoint. Le applicazioni utilizzano questo endpoint per connettersi all'istanza database. Accederai anche alla tua InfluxUI utilizzando lo stesso endpoint dal tuo browser. Quando crei un'istanza DB, specifichi dettagli come archiviazione, memoria, motore e versione del database, configurazione di rete e sicurezza. Controlli l'accesso alla rete a un'istanza database tramite un gruppo di sicurezza.
Prima di creare un'istanza database e un gruppo di sicurezza, devi conoscere le necessità dell'istanza database e della rete. Ecco alcune cose importanti da considerare:
-
Requisiti in termini di risorse: quali sono i requisiti di memoria e processore per l'applicazione o il servizio? Utilizzi queste impostazioni per aiutare a determinare quale classe di istanza database da utilizzare. Per le specifiche sulle classi di istanze DB, consulta Classi di istanze DB.
-
VPCe gruppo di sicurezza: molto probabilmente l'istanza DB si troverà in un cloud privato virtuale (VPC). Per connetterti all'istanza database, devi configurare le regole del gruppo di sicurezza. Queste regole sono impostate in modo diverso a seconda del tipo di sistema VPC utilizzato e del modo in cui lo si utilizza. Ad esempio, è possibile utilizzare: un valore predefinito VPC o definito dall'utenteVPC.
L'elenco seguente descrive le regole per ogni VPC opzione:
-
Predefinito VPC: se il tuo AWS account ha un valore predefinito VPC nella AWS regione corrente, questo VPC è configurato per supportare le istanze DB. Se specifichi l'impostazione predefinita VPC quando crei l'istanza DB, assicurati di creare un gruppo di VPC sicurezza che autorizzi le connessioni dall'applicazione o dal servizio all'istanza database Amazon Timestream for InfluxDB. Usa l'opzione Security Group sulla VPC console o per creare gruppi di sicurezza. AWS CLI VPC Per ulteriori informazioni, vedere Passaggio 3: Creare un gruppo VPC di sicurezza.
-
-
Definito dall'utente VPC: se desideri specificare un definito dall'utente VPC quando crei un'istanza DB, tieni presente quanto segue:
-
Assicurati di creare un gruppo VPC di sicurezza che autorizzi le connessioni dall'applicazione o dal servizio all'istanza DB di Amazon Timestream for InfluxDB. Usa l'opzione Security Group sulla VPC console o per creare gruppi di sicurezza. AWS CLI VPC Per informazioni, consulta Passaggio 3: Creare un gruppo VPC di sicurezza.
-
VPCDevono soddisfare determinati requisiti per ospitare istanze DB, ad esempio avere almeno due sottoreti, ciascuna in una zona di disponibilità separata. Per informazioni, consulta Amazon VPC e Amazon Timestream for InfluxDB.
-
-
Alta disponibilità: è necessario il supporto per il failover? Su Amazon Timestream for InfluxDB, una distribuzione Multi-AZ crea un'istanza DB primaria e un'istanza DB secondaria in standby in un'altra zona di disponibilità per il supporto del failover. Consigliamo implementazioni Multi-AZ per carichi di lavoro di produzione per mantenere alta disponibilità. Per scopi di sviluppo e di test, puoi utilizzare un'implementazione che non è Multi-AZ. Per ulteriori informazioni, consulta Implementazioni dell'istanza database Multi-AZ.
-
IAMpolitiche: il tuo AWS account dispone di politiche che concedono le autorizzazioni necessarie per eseguire le operazioni di Amazon Timestream per InfluxDB? Se ti connetti AWS tramite IAM credenziali, il tuo IAM account deve disporre di IAM politiche che concedano le autorizzazioni necessarie per eseguire le operazioni del piano di controllo di Amazon Timestream for InfluxDB. Per ulteriori informazioni, consulta Identity and Access Management per Amazon Timestream per InfluxDB.
-
Porte aperte: su quale porta TCP /IP viene ascoltato il database? I firewall in alcune aziende possono bloccare le connessioni alla porta predefinita del motore di database. L'impostazione predefinita per Timestream for InfluxDB è 8086.
-
AWS Regione: in quale AWS regione vuoi inserire il tuo database? Avere il database in prossimità ravvicinata all'applicazione o servizio web può ridurre la latenza di rete. Per ulteriori informazioni, consulta Regioni AWS e zone di disponibilità .
-
Sottosistema di dischi DB: quali sono i requisiti di archiviazione? Amazon Timestream for InfluxDB fornisce tre configurazioni per il tipo di storage Influx incluso: IOPS
-
Influx Io incluso (3k) IOPS SSD
-
Influx Io incluso 12k () IOPS SSD
-
Influx Io incluso 16k () IOPS SSD
Per ulteriori informazioni sullo storage Amazon Timestream per InfluxDB, consulta Amazon Timestream for InfluxDB Instance Storage. Quando disponi delle informazioni, devi creare un gruppo di sicurezza e istanza database, continua alla fase successiva.
-
Fornisci l'accesso alla tua istanza DB direttamente da te creando un gruppo di sicurezza VPC
VPCi gruppi di sicurezza forniscono l'accesso alle istanze DB in unVPC. Fungono da firewall per l'istanza database associata, controllando sia il traffico in entrata che in uscita a livello di istanza database. Le istanze database vengono create come impostazione predefinita con un firewall e un gruppo di sicurezza predefinito che protegge l'istanza database.
Prima di connetterti a un'istanza database, devi aggiungere regole al gruppo di sicurezza che consentono di connettersi. Utilizza le informazione di rete e di configurazione per creare regole per permettere l'accesso all'istanza database.
Ad esempio, supponiamo di avere un'applicazione che accede a un database sulla tua istanza DB in un. VPC In questo caso, è necessario aggiungere una TCP regola personalizzata che specifichi l'intervallo di porte e gli indirizzi IP utilizzati dall'applicazione per accedere al database. Se hai un'applicazione su un'EC2istanza Amazon, puoi utilizzare il gruppo di sicurezza che hai configurato per l'EC2istanza Amazon.
Creazione di un gruppo di sicurezza per VPC l'accesso
Per creare un gruppo VPC di sicurezza, accedi a AWS Management Console e scegli VPC.
Nota
Assicurati di essere nella VPC console, non nella console Amazon Timesteam for InfluxDB.
-
Nell'angolo in alto a destra di AWS Management Console, scegli la AWS regione in cui desideri creare il gruppo di sicurezza e l'istanza DB. VPC Nell'elenco delle VPC risorse Amazon per quella AWS regione, dovresti vedere almeno una VPC o più sottoreti. In caso contrario, non hai un'impostazione predefinita VPC in quella AWS regione. .
-
Fare clic su Security Groups (Gruppi di sicurezza) nel pannello di navigazione.
-
Scegliere Create Security Group (Crea gruppo di sicurezza).
-
Nella sezione Dettagli di base della pagina del gruppo di sicurezza, inserisci il nome e la descrizione del gruppo di sicurezza. Per VPC, scegli l'oggetto VPC in cui vuoi creare la tua istanza DB.
-
Per Inbound rules (Regole in entrata), scegli Add rule (Aggiungi regola).
-
Per Tipo, scegli Personalizzato TCP.
-
Per Origine, scegli il nome di un gruppo di sicurezza o inserisci l'intervallo di indirizzi IP (CIDRvalore) da cui accedi all'istanza DB. Se scegli My IP (Il mio IP), questo consente l'accesso all'istanza database dall'indirizzo IP rilevato nel browser.
Per Source, scegli il nome di un gruppo di sicurezza o digita l'intervallo di indirizzi IP (CIDRvalore) da cui accedi all'istanza DB. Se scegli My IP (Il mio IP), questo consente l'accesso all'istanza database dall'indirizzo IP rilevato nel browser.
-
-
(Facoltativo) In Outbound Rules (Regole in uscita), aggiungi regole per il traffico in uscita. Come impostazione predefinita, tutto il traffico in uscita è permesso.
-
Scegliere Create Security Group (Crea gruppo di sicurezza).
È possibile utilizzare questo gruppo VPC di sicurezza come gruppo di sicurezza per l'istanza DB al momento della creazione.
Nota
Se utilizzi un valore predefinitoVPC, viene creato automaticamente un gruppo di sottoreti predefinito che comprende tutte VPC le sottoreti. Quando crei un'istanza DB, puoi scegliere il valore predefinito VPC eiifccntf e scegliere quello predefinito per DB Subnet Group.
Quando hai completato i requisiti di configurazione, puoi creare un'istanza database utilizzando i requisiti e il gruppo di sicurezza. Per farlo, segui le istruzioni in Creazione di un'istanza database.
Le migliori pratiche di sicurezza per Timestream for InfluxDB
Ottimizza le scritture su InfluxDB
Come qualsiasi altro database di serie temporali, InfluxDB è progettato per essere in grado di importare ed elaborare i dati in tempo reale. Per mantenere le migliori prestazioni del sistema, consigliamo le seguenti ottimizzazioni durante la scrittura di dati su InfluxDB:
Scritture in batch: quando scrivi dati su InfluxDB, scrivi i dati in batch per ridurre al minimo il sovraccarico di rete relativo a ogni richiesta di scrittura. La dimensione ottimale del batch è di 5000 righe di protocollo di linea per richiesta di scrittura. Per scrivere più righe in una richiesta, ogni riga del protocollo di riga deve essere delimitata da una nuova riga (\n).
Ordina i tag per chiave: prima di scrivere punti dati su InfluxDB, ordina i tag per chiave in ordine lessicografico.
measurement,tagC=therefore,tagE=am,tagA=i,tagD=i,tagB=think fieldKey=fieldValue 1562020262 # Optimized line protocol example with tags sorted by key measurement,tagA=i,tagB=think,tagC=therefore,tagD=i,tagE=am fieldKey=fieldValue 1562020262
Usa la massima precisione temporale possibile: — InfluxDB scrive i dati con una precisione di nanosecondi, tuttavia se i dati non vengono raccolti in nanosecondi, non è necessario scrivere con tale precisione. Per prestazioni migliori, usa la massima precisione possibile per i timestamp. Puoi specificare la precisione di scrittura quando:
Quando si utilizza l'SDKattributo WritePrecision when setting time del punto è possibile specificare l'attributo time. Per ulteriori informazioni sulle librerie client di InfluxDB, consulta la documentazione di InfluxDB
. Quando si utilizza Telegraf, si configura la precisione temporale nella configurazione dell'agente Telegraf. La precisione è specificata come intervallo con un numero intero + (ad esempio 0s,10ms,2us,4s). Le unità di tempo valide sono «ns», «us», «ms» e «s».
[agent] interval ="10s" metric_batch_size="5000" precision = "0s"
Usa la compressione gzip: — Usa la compressione gzip per velocizzare le scritture su InfluxDB e ridurre la larghezza di banda della rete. I benchmark hanno mostrato un miglioramento della velocità fino a 5 volte quando i dati vengono compressi.
Quando usi Telegraf, nella configurazione del plugin di output InfluxDB_v2 nel tuo telegraf.conf, imposta l'opzione content_encoding su gzip:
[[outputs.influxdb_v2]] urls = ["http://localhost:8086"] # ... content_encoding = "gzip"
Quando si utilizzano le librerie client, ogni libreria client InfluxDB fornisce opzioni per comprimere le richieste di scrittura o applica la compressione per impostazione predefinita.
Il metodo per abilitare la compressione è diverso per ogni libreria. Per istruzioni specifiche, consulta la documentazione di InfluxDB Quando usi l'API
/api/v2/write
endpoint InfluxDB per scrivere dati, comprimi i dati con gzip e imposta l'intestazione Content-Encoding su gzip.
Progettato per le prestazioni
Progetta il tuo schema per query più semplici e più performanti. Le seguenti linee guida garantiranno che lo schema sia facile da interrogare e massimizzi le prestazioni delle query:
Progettazione per interrogare: scegli misure
, chiavi di tag e chiavi di campo facili da interrogare. Per raggiungere questo obiettivo, segui questi principi: Usa misurazioni con un nome semplice e descrivi accuratamente lo schema.
Evita di usare lo stesso nome per una chiave di tag
e una chiave di campo all'interno dello stesso schema. Evita di utilizzare parole chiave Flux
riservate e caratteri speciali nelle chiavi di tag e campo. I tag memorizzano i metadati che descrivono i campi e sono comuni a molti punti dati.
I campi memorizzano dati univoci o altamente variabili, in genere punti dati numerici.
Le misurazioni e le chiavi non devono contenere dati, ma devono essere utilizzate per aggregare o descrivere dati. I dati verranno archiviati nei valori dei tag e dei campi.
Tieni sotto controllo la cardinalità delle serie temporali La cardinalità delle serie elevate è una delle cause principali della riduzione delle prestazioni di scrittura e lettura in InfluxDB. Nel contesto di InfluxDB, l'alta cardinalità si riferisce alla presenza di un numero molto elevato di valori di tag unici. I valori dei tag sono indicizzati in InfluxDB, il che significa che un numero molto elevato di valori univoci genererà un indice più ampio che può rallentare l'inserimento dei dati e le prestazioni delle query.
Per comprendere e risolvere meglio i potenziali problemi relativi all'elevata cardinalità, puoi seguire questi passaggi:
Comprendi le cause dell'alta cardinalità
Misura la cardinalità dei tuoi bucket
Agisci per risolvere la cardinalità elevata
Cause dell'elevata cardinalità delle serie InfluxDB indicizza i dati in base a misurazioni e tag per velocizzare la lettura dei dati. Ogni set di elementi di dati indicizzati forma una chiave di serie.
I tag contenenti informazioni altamente variabili come stringhe unicheIDs, hash e casuali generano un gran numero di serie, noto anche come cardinalità di serie elevata. La cardinalità di serie elevata è il fattore principale dell'elevato utilizzo della memoria in InfluxDB. Misurazione della cardinalità delle serie Se riscontri rallentamenti delle prestazioni o riscontri un utilizzo sempre maggiore della memoria nell'istanza di Timestream for InfluxDB, ti consigliamo di misurare la cardinalità delle serie dei tuoi bucket.
InfluxDB fornisce funzioni che consentono di misurare la cardinalità delle serie sia in Flux che in InfluxQL.
In Flux usa la funzione
influxdb.cardinality()
In FluxQL usa il comando
SHOW SERIES CARDINALITY
In entrambi i casi il motore restituirà il numero di chiavi di serie univoche nei dati. Tieni presente che non è consigliabile avere più di 10 milioni di chiavi di serie su nessuna delle tue istanze di Timestream for InfluxDB.
Cause della cardinalità di serie elevata Se riscontri che uno dei tuoi bucket ha una cardinalità elevata, puoi eseguire alcuni passaggi correttivi per risolvere il problema:
Controlla i tag: assicurati che i tuoi carichi di lavoro non generino casi in cui i tag abbiano valori univoci per la maggior parte delle voci. Ciò potrebbe accadere nei casi in cui il numero di valori di tag univoci aumenta sempre nel tempo o se nel database vengono scritti messaggi di tipo registro in cui ogni messaggio avrebbe una combinazione unica di timestamp, tag ecc. Puoi usare il seguente codice Flux per aiutarti a capire quali tag stanno contribuendo maggiormente ai tuoi problemi di elevata cardinalità:
// Count unique values for each tag in a bucketimport "influxdata/influxdb/schema" cardinalityByTag = (bucket) => schema.tagKeys(bucket: bucket) |> map( fn: (r) => ({ tag: r._value, _value: if contains(set: ["_stop", "_start"], value: r._value) then 0 else (schema.tagValues(bucket: bucket, tag: r._value) |> count() |> findRecord(fn: (key) => true, idx: 0))._value, }), ) |> group(columns: ["tag"]) |> sum() cardinalityByTag(bucket: "example-bucket")
Se riscontri una cardinalità molto elevata, la query precedente potrebbe scadere. Se si verifica un timeout, esegui le query seguenti, una alla volta.
Genera un elenco di tag:
// Generate a list of tagsimport "influxdata/influxdb/schema" schema.tagKeys(bucket: "example-bucket")
Conta valori di tag univoci per ogni tag:
// Run the following for each tag to count the number of unique tag valuesimport "influxdata/influxdb/schema" tag = "example-tag-key" schema.tagValues(bucket: "my-bucket", tag: tag) |> count()
Ti consigliamo di eseguirli in momenti diversi per identificare quale tag sta crescendo più rapidamente.
Migliora il tuo schema: segui i consigli di modellazione discussi nel nostroLe migliori pratiche di sicurezza per Timestream for InfluxDB.
Rimuovi o aggrega i dati più vecchi per ridurre la cardinalità: valuta se i tuoi casi d'uso richiedono o meno tutti i dati che causano problemi di elevata cardinalità. Se questi dati non sono più necessari o non vengono più utilizzati frequentemente, puoi aggregarli, eliminarli o esportarli su un altro motore come Timestream for Live Analytics per l'archiviazione e l'analisi a lungo termine.