Qu'est-ce que Timestream pour InfluxDB ? - Amazon Timestream

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Qu'est-ce que Timestream pour InfluxDB ?

Amazon Timestream pour InfluxDB est un moteur de base de données chronologique géré qui permet aux développeurs d'applications DevOps et aux équipes d'exécuter facilement des bases de données InfluxDB pour des applications de séries chronologiques en temps réel utilisant l'open source. AWS APIs Avec Amazon Timestream pour InfluxDB, il est facile de configurer, d'exploiter et de dimensionner des charges de travail chronologiques capables de répondre à des requêtes avec un temps de réponse à un chiffre en millisecondes.

Amazon Timestream for InfluxDB vous donne accès aux fonctionnalités de la version open source familière d'InfluxDB sur sa branche 2.x. Cela signifie que le code, les applications et les outils que vous utilisez déjà aujourd'hui avec vos bases de données open source InfluxDB existantes devraient fonctionner parfaitement avec Amazon Timestream pour InfluxDB. Amazon Timestream for InfluxDB peut sauvegarder automatiquement votre base de données et maintenir votre logiciel de base de données à jour avec la dernière version. En outre, Amazon Timestream pour InfluxDB facilite l'utilisation de la réplication afin d'améliorer la disponibilité des bases de données et d'améliorer la durabilité des données. Comme pour tous les AWS services, aucun investissement initial n'est requis et vous ne payez que pour les ressources que vous utilisez.

Instances de base de données

Une instance de bases de données est un environnement de base de données isolé s'exécutant dans le cloud. Il s'agit de l'élément de base d'Amazon Timestream pour InfluxDB. Une instance de base de données peut contenir plusieurs bases de données créées par l'utilisateur (ou des organisations et des compartiments dans le cas des bases de données InfluxDb 2.x) et est accessible à l'aide des mêmes outils et applications clients que ceux que vous pourriez utiliser pour accéder à une instance InfluxDB autonome et autogérée. Les instances de base de données sont simples à créer et à modifier à l'aide des outils de ligne de AWS commande, des opérations Amazon Timestream API InfluxDB ou du. AWS Management Console

Note

Amazon Timestream pour InfluxDB prend en charge l'accès aux bases de données à l'aide des opérations Influx et de l'APIinterface utilisateur Influx. Amazon Timestream pour InfluxDB n'autorise pas l'accès direct à l'hôte.

Vous pouvez avoir jusqu'à 40 instances Amazon Timestream pour InfluxDB.

Chaque instance de base de données possède un identifiant d'instance de base de données. Ce nom généré par le service identifie de manière unique l'instance de base de données lors de l'interaction avec Amazon Timestream for API InfluxDB et les commandes. AWS CLI L'identifiant de l'instance de base de données est unique pour ce client dans une AWS région.

L'identifiant de l'instance de base de données fait partie du DNS nom d'hôte alloué à votre instance par Timestream pour InfluxDB. Par exemple, si vous spécifiez influxdb1 comme nom d'instance de base de données et que le service génère un identifiant d'instance c5vasdqn0b, Timestream allouera automatiquement un point de terminaison à votre instance. DNS Voici un exemple de point de terminaison : où se c5vasdqn0b trouve l'identifiant de votre instance. c5vasdqn0b-3ksj4dla5nfjhi.timestream-influxdb.us-east-1.on.aws Toutes les instances créées avant le 12/09/2024 conserveront l'ancienne structure avec un point de terminaison similaire à : influxdb1-3ksj4dla5nfjhi---us-east-1---timestream-influxdb.amazonaws.com.rproxy.goskope.cominfluxdb1 est le nom de votre instance ?

Dans l'exemple de point de terminaisonc5vasdqn0b-3ksj4dla5nfjhi.timestream-influxdb.us-east-1.on.aws, la chaîne 3ksj4dla5nfjhi est un identifiant de compte unique généré par AWS. L'identifiant indiqué 3ksj4dla5nfjhi dans l'exemple ne change pas pour le compte spécifié dans une région donnée. Par conséquent, toutes vos instances de base de données créées par ce compte partagent le même identifiant fixe dans la région. Tenez compte des caractéristiques suivantes de cet identifiant fixe :

  • Actuellement, Timestream for InfluxDB ne prend pas en charge le renommage des instances de base de données.

  • Pour toutes les instances créées après le 12/09/2024, si vous supprimez et recréez votre instance de base de données avec le même nom d'instance de base de données, le point de terminaison changera puisqu'un nouvel identifiant d'instance sera attribué à l'instance. L'instance créée avant la date susmentionnée se verra attribuer le même point de terminaison en fonction du nom de l'instance.

  • Si vous utilisez le même compte pour créer une instance de base de données dans une autre région, l'identifiant généré en interne est différent, car la région est différente, comme dans zxlasoonhvd.4a3j5du5ks7md2.timestream-influxdb.us-east-1.on.aws.

Chaque instance de base de données ne prend en charge qu'un seul moteur de base de données Timestream pour InfluxDB.

Lors de la création d'une instance de base de données, InfluxDB exige qu'un nom d'organisation soit spécifié. Une instance de base de données peut héberger plusieurs organisations et plusieurs buckets associés à chaque organisation.

Amazon Timestream for InfluxDB vous permet de créer un compte utilisateur principal et un mot de passe pour votre instance de base de données dans le cadre du processus de création. Cet utilisateur principal est autorisé à créer des organisations, des compartiments et à effectuer des opérations de lecture, d'écriture, de suppression et d'insertion sur vos données. Vous pourrez également accéder à InfluxUI et récupérer votre jeton d'opérateur lors de votre première connexion. À partir de là, vous pourrez également gérer tous vos jetons d'accès. Vous devez définir le mot de passe de l'utilisateur principal lorsque vous créez une instance de base de données, mais vous pouvez le modifier à tout moment à l'aide de l'InfluxAPI, de l'Influx CLI ou de l'InfluxUI.

Classes d'instances de base de données

La classe d'instance de base de données détermine le calcul et la capacité de mémoire d'une instance de base de données fi UbfkyxDB Amazon Timestream. La classe d'instance de base de données dont vous avez besoin varie selon vos exigences en mémoire et en puissance de traitement.

Une classe d'instance de base de données comprend à la fois le type de classe d'instance de base de données et la taille. Par exemple, db.influx est un type de classe d'instance de base de données optimisé pour la mémoire adapté aux exigences de mémoire à hautes performances liées à l'exécution InfluxDb de charges de travail. Dans le type de classe d'db.influxinstance, db.influx.2xlarge il y a une classe d'instance de base de données. La taille de cette classe est 2 fois plus grande.

Pour plus d'informations sur la tarification des classes d'instances, consultez Amazon Timestream pour connaître les tarifs d'InfluxDB.

Types de classes d'instance de base de données

Amazon Timestream for InfluxDB prend en charge les classes d'instance de base de données pour le cas d'utilisation suivant, optimisées pour les cas d'utilisation d'InfluxDB.

  • db.influx—Ces classes d'instance sont idéales pour exécuter des charges de travail gourmandes en mémoire dans des bases de données InfluxDB open source

Spécifications matérielles pour les classes d'instances de base de données

La terminologie suivante décrit les spécifications matérielles des classes d'instances de base de données :

  • v CPU

    Le nombre d'unités centrales virtuelles (CPUs). Un virtuel CPU est une unité de capacité que vous pouvez utiliser pour comparer les classes d'instances de base de données.

  • Mémoire (Gio)

    LeRAM, en gibioctets, alloué à l'instance de base de données. Il existe souvent un rapport constant entre la mémoire et CPU v. Prenons l'exemple de la classe d'instance db.influx, dont le CPU ratio mémoire/v est similaire à celui de la classe d'instance EC2 r7g.

  • Optimisé pour les flux

    Une instance de base de données utilise une pile de configuration optimisée et fournit une capacité supplémentaire dédiée aux I/O. Cette optimisation offre les meilleures performances en minimisant les conflits entre les I/O et le trafic en provenance de votre instance.

  • Bande passante du réseau

    Vitesse du réseau par rapport à d'autres classes d'instance de base de données. Dans le tableau suivant, vous trouverez des informations matérielles sur les classes d'instance Amazon Timestream pour InfluxDB.

Classe Instances v CPU Mémoire (Gio) Storage Type Bande passante réseau (Gbit/s)
db.influx.medium 1 8 Influx IOPS inclus 10
db.influx.large 2 16 Influx IOPS inclus 10
db.influx.xlarge 4 32 Influx IOPS inclus 10
db.influx.2xlarge 8 64 Influx IOPS inclus 10
db.influx.4xlarge 16 128 Influx IOPS inclus 10
db.influx x 8 x large 32 256 Influx IOPS inclus 12
db.influx 12 x large 48 384 Influx IOPS inclus 20
db.influx 16 x large 64 512 Influx IOPS inclus 25

Stockage d'instance InfluxDB

Les instances de base de données pour Amazon Timestream pour InfluxDB utilisent les volumes IOPS Influx Included pour les bases de données et le stockage des journaux.

Dans certains cas, la charge de travail de votre base de données peut ne pas être en mesure d'atteindre 100 % de la charge IOPS que vous avez provisionnée. Pour de plus amples informations, veuillez consulter Autres facteurs ayant un impact sur les performances de stockage. Pour plus d'informations sur la tarification du stockage Timestream pour InfluxDB, consultez les tarifs d'Amazon Timestream.

Amazon Timestream pour les types de stockage InfluxDB

Amazon Timestream pour InfluxDB prend en charge un type de stockage, Influx Included. IOPS Vous pouvez créer un Timestream pour les instances InfluxDB avec un maximum de 16 tebioctets (TiB) de stockage.

Voici une brève description du type de stockage disponible :

  • Stockage inclus dans le flux d'E/S : les performances de stockage sont la combinaison des opérations d'E/S par seconde (IOPS) et de la rapidité avec laquelle le volume de stockage peut effectuer des lectures et des écritures (débit de stockage). Sur les volumes de stockage IOPS inclus dans Influx, Amazon Timestream pour InfluxDB fournit 3 niveaux de stockage préconfigurés avec un débit IOPS optimal et requis pour différents types de charges de travail.

Dimensionnement de l'instance InfluxDB

La configuration optimale d'une instance Timestream for InfluxDB dépend de divers facteurs, notamment le taux d'ingestion, la taille des lots, la cardinalité des séries chronologiques, les requêtes simultanées et les types de requêtes. Pour fournir des recommandations de dimensionnement, considérons une charge de travail exemplaire présentant les caractéristiques suivantes :

  • Les données sont collectées et écrites par une flotte d'agents Telegraf collectant le système, la mémoireCPU, le disque, les E/S, etc. à partir d'un centre de données.

    Chaque demande d'écriture contient 5 000 lignes.

  • Les requêtes exécutées sur le système sont classées dans la catégorie des requêtes « de complexité modérée », présentant les caractéristiques suivantes :

    • Ils ont plusieurs fonctions et une ou deux expressions régulières

    • Ils peuvent inclure des clauses groupées ou des exemples sur une période de plusieurs semaines.

    • Leur exécution prend généralement de quelques centaines de millisecondes à quelques milliers de millisecondes.

    • Cela CPU favorise principalement les performances des requêtes.

Nombre maximum de séries Écritures (lignes par seconde) Lectures (requêtes par seconde) Classe d'instance Storage Type
<100 000 ~50 000 <10 db.influx.large Influx IO inclus 3K
<1 MM ~150 000 <25 db.influx.2xlarge Influx IO inclus 3K
~1 MM ~200 000 ~25 db.influx.4xlarge Influx IO inclus 3K
<5 MM ~250 000 ~35 db.influx.4xlarge Influx IO inclus 12K
<10 MM ~500 000 ~50 db.influx x 8 x large Influx IO inclus 12K
~10 MM <750 000 <5100 db.influx 12 x large Influx IO inclus 12K

Régions AWS et zones de disponibilité

Les ressources de cloud computing Amazon sont hébergées dans plusieurs emplacements à travers le monde. Ces emplacements sont composés de Régions AWS et. Chaque AWS région est une zone géographique distincte. Chaque AWS région possède plusieurs emplacements isolés appelés zones de disponibilité.

Note

Pour savoir comment trouver le pour une AWS région, consultez Régions et zones dans le guide de EC2 l'utilisateur Amazon.

Amazon Timestream pour InfluxDB vous permet de placer des ressources, telles que des instances de base de données, et des données à plusieurs endroits.

Amazon exploite state-of-the-art des centres de données hautement disponibles. Bien qu'elles soient rares, des pannes touchant la disponibilité des instances de base de données se trouvant au même emplacement peuvent se produire. Si vous hébergez toutes vos instances de base de données dans un seul emplacement touché par une panne de ce type, aucune de vos instances de base de données ne sera disponible.

Diagram showing a region with three availability zones and InfluxDB in zone C.

Il est important de se rappeler que chaque AWS région est totalement indépendante. Toute activité Amazon Timestream for InfluxDB que vous initiez (par exemple, la création d'instances de base de données ou la liste des instances de base de données disponibles) s'exécute uniquement dans votre région par défaut actuelle. AWS La région AWS par defaut peut être modifiée dans la console ou en définissant la variable d'environnement AWS_DEFAULT_REGION. Il peut également être remplacé en utilisant le --region paramètre avec le AWS Command Line Interface ()AWS CLI. Pour plus d'informations, consultez la section Configuration des AWS Command Line Interface, en particulier les sections relatives aux variables d'environnement et aux options de ligne de commande.

Pour créer ou utiliser une instance de base de données Amazon Timestream pour InfluxDB dans une région AWS spécifique, utilisez le point de terminaison de service régional correspondant.

AWS Disponibilité de la région

Le tableau suivant indique les AWS régions dans lesquelles Amazon Timestream pour InfluxDB est actuellement disponible et le point de terminaison pour chaque région.

AWS Nom de la région Région Point de terminaison Protocole
US East (Virginie du Nord) us-east-1 timestream-influxdb.us-east-1.amazonaws.com HTTPS
USA Est (Ohio) us-east-2 timestream-influxdb.us-east-2.amazonaws.com HTTPS
USA Ouest (Oregon) us-west-2 timestream-influxdb.us-west-2.amazonaws.com HTTPS
Asie-Pacifique (Mumbai) ap-south-1 timestream-influxdb.ap-south-1.amazonaws.com HTTPS
Asie-Pacifique (Singapour) ap-southeast-1 timestream-influxdb.ap-southeast-1.amazonaws.com HTTPS
Asie-Pacifique (Sydney) ap-southeast-2 timestream-influxdb.ap-southeast-2.amazonaws.com HTTPS
Asie-Pacifique (Tokyo) ap-northeast-1 timestream-influxdb.ap-northeast-1.amazonaws.com HTTPS
Europe (Francfort) eu-central-1 timestream-influxdb.eu-central-1.amazonaws.com HTTPS
Europe (Irlande) eu-west-1 timestream-influxdb.eu-west-1.amazonaws.com HTTPS
Europe (Stockholm) eu-north-1 timestream-influxdb.eu-north-1.amazonaws.com HTTPS
Canada (Centre) ca-central-1 timestream-influxdb.ca-central-1.amazonaws.com HTTPS
Europe (Londres) eu-west-2 timestream-influxdb.eu-west-2.amazonaws.com HTTPS
Europe (Paris) eu-west-3 timestream-influxdb.eu-west-3.amazonaws.com HTTPS
Asie-Pacifique (Jakarta) ap-southeast-3 timestream-influxdb.ap-southeast-3.amazonaws.com HTTPS
Europe (Milan) eu-south-1 timestream-influxdb.eu-south-1.amazonaws.com HTTPS
Europe (Espagne) eu-south-2 timestream-influxdb.eu-south-2.amazonaws.com HTTPS
Moyen-Orient (UAE) me-central-1 timestream-influxdb.me-central-1.amazonaws.com HTTPS
Chine (Beijing) cn-north-1 timestream-influxdb---cn-north-1---on.amazonwebservices.com.rproxy.goskope.com.cn HTTPS
Chine (Ningxia) cn-northwest-1 timestream-influxdb---cn-northwest-1---on.amazonwebservices.com.rproxy.goskope.com.cn HTTPS

Pour plus d'informations sur AWS les régions dans lesquelles Amazon Timestream pour InfluxDB est actuellement disponible et sur le point de terminaison de chaque région, consultez la section Points de terminaison et quotas Amazon Timestream.

AWS Design des régions

Chaque AWS région est conçue pour être isolée des autres AWS régions. Cette conception permet d'atteindre la plus grande tolérance aux pannes possible et une stabilité optimale.

Lorsque vous consultez vos ressources, seules les ressources liées à la AWS région que vous avez spécifiée s'affichent. Cela est dû au fait que les AWS régions sont isolées les unes des autres et que nous ne répliquons pas automatiquement les ressources entre AWS les régions.

AWS Zones de disponibilité

Lorsque vous créez une instance de base de données, Amazon Timestream pour InfluxDB en choisit une pour vous de manière aléatoire en fonction de la configuration de votre sous-réseau. Une zone de disponibilité est représentée par un code de AWS région suivi d'une lettre d'identification (par exemple,us-east-1a).

Utilisez la EC2 commande Amazon describe-availability -zones comme suit pour décrire les zones activées pour votre compte dans la région spécifiée.

aws ec2 describe-availability-zones --region region-name

Par exemple, pour décrire la région de l'est des États-Unis (Virginie du Nord) (us-east-1) activée pour votre compte, exécutez la commande suivante :

aws ec2 describe-availability-zones --region us-east-1

Vous ne pouvez pas choisir le pour les instances de base de données principale et secondaire dans un déploiement de base de données multi-AZ. Amazon Timestream pour InfluxDB les choisit pour vous au hasard. Pour plus d'informations sur les déploiements multi-AZ, consultez Configuration et gestion d'un déploiement multi-AZ.

Facturation des instances de base de données pour Amazon Timestream pour InfluxDB

Les instances Amazon Timestream pour InfluxDB sont facturées sur la base des composants suivants :

  • Heures d'instance de base de données (par heure) : en fonction de la classe d'instance de base de données de l'instance de base de données, par exemple db.influx.large. La tarification est indiquée selon une base horaire, mais les factures sont calculées à la seconde près et affichent les heures sous une forme décimale. L'utilisation d'Amazon Timestream pour InfluxDB est facturée par tranches d'une seconde, avec un minimum de 10 minutes. Pour plus d'informations, consultez la section Classes d'Classes d'instances de base de donnéesinstances de base de données.

  • Stockage (par GiB par mois) : capacité de stockage que vous avez allouée à votre instance de base de données. Pour de plus amples informations, veuillez consulter Stockage d'instance InfluxDB.

  • Transfert de données (par Go) — Transfert de données vers et depuis votre instance de base de données depuis ou vers Internet et d'autres AWS régions.

Pour obtenir des informations sur les tarifs d'Amazon Timestream pour InfluxDB, consultez la page de tarification d'Amazon Timestream pour InfluxDB.

Configuration d'Amazon Timestream pour InfluxDB

Avant d'utiliser Amazon Timestream pour InfluxDB pour la première fois, effectuez les tâches suivantes :

Si vous avez déjà un AWS compte, connaissez les exigences d'Amazon Timestream pour InfluxDB et préférez utiliser les valeurs par défaut pour et Amazon. IAM VPC Commencer à utiliser Timestream pour InfluxDB

Créez un AWS compte

Si vous n'avez pas de AWS compte, suivez les étapes ci-dessous pour en créer un.

Pour créer un AWS compte

  • Accédez à la page de AWS connexion.

  • Choisissez Créer un nouveau compte, puis suivez les instructions.

    Note

    Dans le cadre de la procédure d‘inscription, vous recevrez un appel téléphonique et vous saisirez un code de vérification en utilisant le clavier numérique du téléphone.

Lorsque vous créez un AWS compte, un AWS utilisateur root est créé. L'utilisateur root a accès à tous les AWS services et ressources du compte. La meilleure pratique de sécurité consiste à attribuer un accès administratif à un utilisateur administratif, et à utiliser uniquement l‘utilisateur racine pour effectuer les tâches nécessitant un accès utilisateur racine.

AWS vous envoie un e-mail de confirmation une fois le processus d'inscription terminé. À tout moment, vous pouvez consulter l'activité actuelle de votre compte et gérer votre compte en accédant à https://aws.amazon.com/et en choisissant Mon compte.

Gestion des utilisateurs

Création d'un utilisateur administratif

Création d‘un utilisateur administratif

Après avoir créé un AWS compte, créez un utilisateur administratif afin de ne pas utiliser l'utilisateur root pour les tâches quotidiennes.

Sécurisez votre AWS compte (utilisateur root)

Connectez-vous en AWS Management Console tant que propriétaire du compte en choisissant Utilisateur root et en saisissant l'adresse e-mail de votre AWS compte. Sur la page suivante, saisissez votre mot de passe. Pour obtenir de l'aide pour vous connecter en utilisant l'utilisateur root, consultez la section Connexion en tant qu'utilisateur root dans le Guide de l'utilisateur de AWS connexion

Activez l'authentification multifactorielle (MFA) pour votre utilisateur root. Pour obtenir des instructions, voir Activer un MFA périphérique virtuel pour l'utilisateur root de votre AWS compte (console) dans le guide de IAM l'utilisateur.

Accorder un accès programmatique

Les utilisateurs ont besoin d'un accès programmatique s'ils souhaitent interagir avec AWS l'extérieur du AWS Management Console. La manière d’octroyer un accès par programmation dépend du type d’utilisateur qui accède à AWS.

Pour accorder aux utilisateurs un accès programmatique, choisissez l'une des options suivantes :

Quel utilisateur a besoin d’un accès programmatique ? Pour Par
Identité du personnel (utilisateurs gérés dans IAM Identity Center) Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées au AWS CLI AWS SDKs, ou AWS APIs. Suivez les instructions relatives à l'interface que vous souhaitez utiliser.* Pour le AWS CLI, voir

Configuration du centre d'identité AWS CLI pour utiliser IAM Identity Center

dans le

AWS CLI Guide de l'utilisateur

.* Pour AWS SDKs les outils et AWS APIs, voir

IAMAuthentification par Identity Center

dans le

AWS SDKset guide de référence sur les outils.

IAM Utilisez des informations d'identification temporaires pour signer les demandes programmatiques adressées aux AWS CLISDKs, etAPIs. Suivez les instructions de la section Utilisation d'informations d'identification temporaires avec les AWS ressources du Guide de IAM l'utilisateur.
IAM (Non recommandé) Utilisez des informations d'identification à long terme pour signer les demandes programmatiques adressées aux AWS CLISDKs, etAPIs. Suivez les instructions de l’interface que vous souhaitez utiliser. Pour le AWS CLI, voir

Authentification à l'aide des informations IAM d'identification utilisateur

dans le guide de AWS Command Line Interface l'utilisateur. Pour AWS SDKs et outils, voir

Authentifiez-vous à l'aide d'informations d'identification

dans le

AWS SDKsGuide de référence et d'outils

. Pour AWS APIs, voir

Gestion des clés d'accès pour IAM les utilisateurs

dans le

IAM Guide de l’utilisateur.

Déterminer les exigences

L'élément de base d'Amazon Timestream pour InfluxDB est l'instance de base de données. Dans une instance de base de données, vous créez vos buckets. Une instance de base de données fournit une adresse réseau appelée point de terminaison. Vos applications utilisent ce point de terminaison pour se connecter à votre instance de base de données. Vous accéderez également à votre InfluxUI en utilisant ce même point de terminaison depuis votre navigateur. Lorsque vous créez une instance de base de données, vous spécifiez des détails tels que le stockage, la mémoire, le moteur et la version de base de données, la configuration réseau et la sécurité. Votre contrôlez l'accès réseau à une instance de base de données via un groupe de sécurité.

Avant de créer une instance de base de données et un groupe de sécurité, vous devez connaître les besoins en termes d'instances de base de données et de réseau. Voici quelques éléments importants à prendre en compte :

  • Besoins en ressources — Quelles sont les exigences en matière de mémoire et de processeur pour votre application ou votre service ? Vous utilisez ces paramètres pour déterminer plus facilement la classe d'instance de base de données à utiliser. Pour les spécifications relatives aux classes d'instance de base de données, consultez la section Classes d'instance de base de données.

  • VPCet groupe de sécurité : votre instance de base de données se trouvera très probablement dans un cloud privé virtuel (VPC). Pour vous connecter à votre instance de base de données, vous devez configurer des règles de groupes de sécurité. Ces règles sont configurées différemment en fonction du type d'appareil que VPC vous utilisez et de la manière dont vous l'utilisez. Par exemple, vous pouvez utiliser : une valeur par défaut VPC ou définie par l'utilisateurVPC.

    La liste suivante décrit les règles applicables à chaque VPC option :

    • Par défaut VPC : si votre AWS compte possède une valeur par défaut VPC dans la AWS région actuelle, celle-ci VPC est configurée pour prendre en charge les instances de base de données. Si vous spécifiez la valeur par défaut VPC lorsque vous créez l'instance de base de données, assurez-vous de créer un groupe de VPC sécurité qui autorise les connexions entre l'application ou le service et l'instance de base de données Amazon Timestream for InfluxDB. Utilisez l'option Groupe de sécurité sur la VPC console ou AWS CLI pour créer des groupes VPC de sécurité. Pour plus d'informations, consultez Étape 3 : Création d'un groupe VPC de sécurité.

  • Défini par l'utilisateur VPC — Si vous souhaitez spécifier une instance définie par l'utilisateur VPC lorsque vous créez une instance de base de données, tenez compte des points suivants :

    • Assurez-vous de créer un groupe de VPC sécurité qui autorise les connexions entre l'application ou le service et l'instance de base de données Amazon Timestream for InfluxDB. Utilisez l'option Groupe de sécurité sur la VPC console ou AWS CLI pour créer des groupes VPC de sécurité. Pour plus d'informations, voir Étape 3 : Création d'un groupe VPC de sécurité.

    • Ils VPC doivent répondre à certaines exigences pour héberger des instances de base de données, par exemple avoir au moins deux sous-réseaux, chacun dans une zone de disponibilité distincte. Pour plus d'informations, consultez Amazon VPC et Amazon Timestream pour InfluxDB.

  • Haute disponibilité : avez-vous besoin d'une assistance en cas de basculement ? Sur Amazon Timestream pour InfluxDB, un déploiement multi-AZ crée une instance de base de données principale et une instance de base de données de secours secondaire dans une autre zone de disponibilité pour la prise en charge du basculement. Nous recommandons les déploiements multi-AZ pour les charges de travail de production afin de maintenir une haute disponibilité. À des fins de développement et de test, vous pouvez utiliser un déploiement qui n'est pas multi-AZ. Pour de plus amples informations, veuillez consulter Déploiements d'instances de base de données multi-AZ.

  • IAMpolitiques — Votre AWS compte dispose-t-il de politiques qui accordent les autorisations nécessaires pour effectuer des opérations Amazon Timestream pour InfluxDB ? Si vous vous connectez à AWS l'aide IAM d'informations d'identification, votre IAM compte doit disposer de IAM politiques accordant les autorisations requises pour effectuer les opérations du plan de contrôle Amazon Timestream for InfluxDB. Pour de plus amples informations, veuillez consulter Identity and Access Management pour Amazon Timestream pour InfluxDB.

  • Ports ouverts : sur quel port TCP /IP votre base de données écoute-t-elle ? Dans certaines entreprises, les pare-feu peuvent bloquer les connexions vers le port par défaut de votre moteur de base de données. La valeur par défaut pour Timestream pour InfluxDB est 8086.

  • AWS Région — Dans quelle AWS région souhaitez-vous disposer de votre base de données ? La proximité entre votre base de données et votre application ou le service Web service permet de réduire la latence du réseau. Pour de plus amples informations, veuillez consulter Régions AWS et zones de disponibilité .

  • Sous-système de disque de base de données : quels sont vos besoins en matière de stockage ? Amazon Timestream pour InfluxDB fournit trois configurations pour ce type de stockage Influx Included : IOPS

    • Influx Io inclus (3 kIOPS) SSD

    • Influx IO inclus 12k IOPS () SSD

    • Influx Io inclus 16k IOPS () SSD

    Pour plus d'informations sur Amazon Timestream pour le stockage InfluxDB, consultez Amazon Timestream pour le stockage d'instances de base de données InfluxDB. Lorsque vous disposez de toutes les informations nécessaires pour créer le groupe de sécurité et l'instance de base de données, passez à l'étape suivante.

Donnez accès à votre instance de base VPC de données dans votre

VPCles groupes de sécurité fournissent un accès aux instances de base de données dans unVPC. Ils font office de pare-feu pour l'instance de base de données associée, en contrôlant le trafic entrant et le trafic sortant au niveau de l'instance de base de données. Par défaut, les instances de base de données sont créées avec un pare-feu et un groupe de sécurité par défaut protégeant l'instance de base de données.

Avant de pouvoir vous connecter à votre instance de base de données, vous devez ajouter des règles à un groupe de sécurité qui vous permettent de vous connecter. Utilisez vos informations réseau et de configuration pour créer les règles autorisant l'accès à votre instance de base de données.

Supposons, par exemple, qu'une application accède à une base de données sur votre instance de base de données dans unVPC. Dans ce cas, vous devez ajouter une TCP règle personnalisée qui spécifie la plage de ports et les adresses IP que votre application utilise pour accéder à la base de données. Si vous avez une application sur une EC2 instance Amazon, vous pouvez utiliser le groupe de sécurité que vous avez configuré pour l'EC2instance Amazon.

Création d'un groupe de sécurité pour VPC l'accès

Pour créer un groupe VPC de sécurité, connectez-vous au AWS Management Console et choisissez VPC.

Note

Assurez-vous que vous êtes dans la VPC console, et non dans la console Amazon Timesteam for InfluxDB.

  • Dans le coin supérieur droit du AWS Management Console, choisissez la AWS région dans laquelle vous souhaitez créer votre groupe de VPC sécurité et votre instance de base de données. Dans la liste des VPC ressources Amazon pour cette AWS région, vous devriez voir au moins un ou VPC plusieurs sous-réseaux. Si ce n'est pas le cas, il n'y a pas de valeur par défaut VPC dans cette AWS région. .

  • Dans le panneau de navigation, choisissez Security Groups (Groupes de sécurité).

  • Sélectionnez Create security group (Créer un groupe de sécurité).

  • Dans la section Détails de base de la page du groupe de sécurité, entrez le nom et la description du groupe de sécurité. Pour VPC, choisissez VPC celui dans lequel vous souhaitez créer votre instance de base de données.

  • Dans Inbound rules (Règles entrantes), choisissez Add rule (Ajouter une règle).

    • Dans Type, choisissez Personnalisé TCP.

    • Pour Source, choisissez un nom de groupe de sécurité ou entrez la plage d'adresses IP (CIDRvaleur) à partir de laquelle vous accédez à l'instance de base de données. Si vous choisissez Mon IP, l'accès à l'instance de base de données est autorisé à partir de l'adresse IP détectée dans votre navigateur.

    Pour Source, choisissez un nom de groupe de sécurité ou saisissez la plage d'adresses IP (CIDRvaleur) à partir de laquelle vous accédez à l'instance de base de données. Si vous choisissez Mon IP, l'accès à l'instance de base de données est autorisé à partir de l'adresse IP détectée dans votre navigateur.

  • (Facultatif) Dans Outbound rules (Règles sortantes), ajoutez des règles pour le trafic sortant. Par défaut, tous les trafics sortant sont autorisés.

  • Sélectionnez Créer un groupe de sécurité.

Vous pouvez utiliser ce groupe VPC de sécurité comme groupe de sécurité pour votre instance de base de données lorsque vous la créez.

Note

Si vous utilisez une valeur par défaut VPC, un groupe de sous-réseaux par défaut couvrant tous les sous-réseaux est créé pour vous. VPC Lorsque vous créez une instance de base de données, vous pouvez choisir l'eiifccntf par défaut VPC et choisir la valeur par défaut pour le groupe de sous-réseaux de base de données.

Une fois que vous avez terminé les exigences de configuration, vous pouvez créer une instance de base de données en utilisant votre configuration et votre groupe de sécurité. Pour ce faire, suivez les instructions dans Création d'une instance de base de données.

Meilleures pratiques de sécurité pour Timestream pour InfluxDB

Optimisez les écritures dans InfluxDB

Comme toute autre base de données de séries chronologiques, InfluxDB est conçue pour pouvoir ingérer et traiter des données en temps réel. Pour que le système fonctionne au mieux, nous recommandons les optimisations suivantes lors de l'écriture de données dans InfluxDB :

  • Écritures par lots : Lorsque vous écrivez des données dans InfluxDB, écrivez les données par lots afin de minimiser la surcharge réseau liée à chaque demande d'écriture. La taille de lot optimale est de 5 000 lignes de protocole de ligne par demande d'écriture. Pour écrire plusieurs lignes dans une requête, chaque ligne du protocole de ligne doit être délimitée par une nouvelle ligne (\n).

  • Trier les balises par clé : Avant d'écrire des points de données dans InfluxDB, triez les balises par clé dans l'ordre lexicographique.

    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
  • Utilisez la précision temporelle la plus grossière possible : — InfluxDB écrit les données avec une précision de nanoseconde, mais si vos données ne sont pas collectées en nanosecondes, il n'est pas nécessaire d'écrire à cette précision. Pour de meilleures performances, utilisez la précision la plus grossière possible pour les horodatages. Vous pouvez spécifier la précision d'écriture dans les cas suivants :

    • Lorsque vous utilisez le, SDK vous pouvez spécifier l'attribut time de votre point WritePrecision lors de la définition. Pour plus d'informations sur les bibliothèques clientes InfluxDB, consultez la documentation InfluxDB.

    • Lorsque vous utilisez Telegraf, vous configurez la précision temporelle dans la configuration de l'agent Telegraf. La précision est spécifiée sous la forme d'un intervalle avec une unité entière + (par exemple, 0s,10ms,2us,4s). Les unités de temps valides sont « ns », « us », « ms » et « s ».

      [agent] interval ="10s" metric_batch_size="5000" precision = "0s"
  • Utiliser la compression gzip : — Utilisez la compression gzip pour accélérer les écritures dans InfluxDB et réduire la bande passante réseau. Les tests de performance ont montré une amélioration de la vitesse jusqu'à 5 fois lorsque les données sont compressées.

    • Lorsque vous utilisez Telegraf, dans la configuration du plugin de sortie InfluxDB_v2 dans votre fichier telegraf.conf, définissez l'option content_encoding sur gzip :

      [[outputs.influxdb_v2]] urls = ["http://localhost:8086"] # ... content_encoding = "gzip"
    • Lorsque vous utilisez des bibliothèques clientes, chaque bibliothèque cliente InfluxDB fournit des options pour compresser les demandes d'écriture ou applique la compression par défaut. La méthode d'activation de la compression est différente pour chaque bibliothèque. Pour des instructions spécifiques, consultez la documentation InfluxDB

    • Lorsque vous utilisez le point de API /api/v2/write terminaison InfluxDB pour écrire des données, compressez-les avec gzip et définissez l'en-tête Content-Encoding sur gzip.

Conception axée sur la performance

Concevez votre schéma pour des requêtes plus simples et plus performantes. Les directives suivantes garantiront que votre schéma sera facile à interroger et optimiseront les performances des requêtes :

  • Conception adaptée aux requêtes : choisissez des mesures, des clés de balise et des clés de champ faciles à interroger. Pour atteindre cet objectif, suivez les principes suivants :

    • Utilisez des mesures portant un nom simple et décrivant le schéma avec précision.

    • Évitez d'utiliser le même nom pour une clé de balise et une clé de champ dans le même schéma.

    • Évitez d'utiliser des mots clés Flux réservés et des caractères spéciaux dans les clés de balise et de champ.

    • Les balises stockent des métadonnées qui décrivent les champs et sont communes à de nombreux points de données.

    • Les champs stockent des données uniques ou très variables, généralement des points de données numériques.

    • Les mesures et les clés ne doivent pas contenir de données, mais être utilisées pour agréger ou décrire des données. Les données seront stockées sous forme de balises et de valeurs de champs.

  • Gardez le contrôle de votre cardinalité des séries chronologiques La cardinalité élevée des séries est l'une des principales causes de la diminution des performances d'écriture et de lecture dans InfluxDB. Dans le contexte d'InfluxDB, la cardinalité élevée fait référence à la présence d'un très grand nombre de valeurs de balises uniques. Les valeurs des balises sont indexées dans InfluxDB, ce qui signifie qu'un très grand nombre de valeurs uniques générera un index plus important, ce qui peut ralentir l'ingestion de données et les performances des requêtes.

    Pour mieux comprendre et résoudre les problèmes potentiels liés à une cardinalité élevée, vous pouvez suivre les étapes suivantes :

    • Comprendre les causes d'une cardinalité élevée

    • Mesurez la cardinalité de vos seaux

    • Prendre des mesures pour résoudre le problème de la cardinalité élevée

  • Causes de la cardinalité élevée des séries InfluxDB indexe les données en fonction des mesures et des balises pour accélérer la lecture des données. Chaque ensemble d'éléments de données indexés forme une clé de série. Les balises contenant des informations très variables telles que des chaînes uniquesIDs, des hachages et des chaînes aléatoires génèrent un grand nombre de séries, également appelées cardinalité de série élevée. La cardinalité élevée des séries est le principal moteur de l'utilisation élevée de la mémoire dans InfluxDB.

  • Mesurer la cardinalité des séries Si vous rencontrez des ralentissements de performances ou si vous constatez une utilisation croissante de la mémoire dans votre instance Timestream for InfluxDB, nous vous recommandons de mesurer la cardinalité des séries de vos buckets.

    InfluxDB fournit des fonctions qui vous permettent de mesurer la cardinalité des séries à la fois dans Flux et InfluxQL.

    • Dans Flux, utilisez la fonction influxdb.cardinality()

    • Dans FluxQL, utilisez la commande SHOW SERIES CARDINALITY

    Dans les deux cas, le moteur renverra le nombre de clés de série uniques présentes dans vos données. N'oubliez pas qu'il n'est pas recommandé d'avoir plus de 10 millions de clés de série sur l'une de vos instances Timestream pour InfluxDB.

  • Causes de la cardinalité élevée des séries Si vous constatez que l'un de vos compartiments présente une cardinalité élevée, vous pouvez prendre quelques mesures pour y remédier :

    • Vérifiez vos balises : assurez-vous que vos charges de travail ne génèrent pas de cas où les balises ont des valeurs uniques pour la plupart des entrées. Cela peut se produire dans les cas où le nombre de valeurs de balises uniques augmente toujours avec le temps, ou si des messages de type journal sont écrits dans la base de données où chaque message comporterait une combinaison unique d'horodatage, de balises, etc. Vous pouvez utiliser le code Flux suivant pour vous aider à déterminer quels tags contribuent le plus à vos problèmes de cardinalité élevée :

      // 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")

      Si votre cardinalité est très élevée, la requête ci-dessus peut expirer. Si vous rencontrez un délai d'attente, exécutez les requêtes ci-dessous, une par une.

      Générez une liste de tags :

      // Generate a list of tagsimport "influxdata/influxdb/schema" schema.tagKeys(bucket: "example-bucket")

      Comptez les valeurs de balise uniques pour chaque balise :

      // 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()

      Nous vous recommandons de les exécuter à différents moments pour identifier le tag qui croît le plus rapidement.

    • Améliorez votre schéma : suivez les recommandations de modélisation décrites dans notreMeilleures pratiques de sécurité pour Timestream pour InfluxDB.

    • Supprimez ou agrégez les anciennes données pour réduire la cardinalité : déterminez si vos cas d'utilisation nécessitent ou non toutes les données à l'origine de vos problèmes de cardinalité élevée. Si ces données ne sont plus nécessaires ou si vous n'y accédez plus fréquemment, vous pouvez les agréger, les supprimer ou les exporter vers un autre moteur tel que Timestream for Live Analytics pour un stockage et une analyse à long terme.