Création et connexion à une instance 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.

Création et connexion à une instance Timestream pour InfluxDB

Ce didacticiel crée une EC2 instance Amazon et une instance de base de données Amazon Timestream pour InfluxDB. Le didacticiel vous montre comment écrire des données sur l'instance de base de données à partir de l'EC2instance à l'aide du client Telegraf. À titre de bonne pratique, ce didacticiel crée une instance de base de données privée dans un cloud privé virtuel (VPC). Dans la plupart des cas, d'autres ressources présentes dans la même instanceVPC, telles que EC2 des instances, peuvent accéder à l'instance de base de données, mais les ressources extérieures ne VPC peuvent pas y accéder.

Une fois le didacticiel terminé, il existe un sous-réseau public et un sous-réseau privé dans chaque zone de disponibilité de votreVPC. Dans une zone de disponibilité, l'EC2instance se trouve dans le sous-réseau public et l'instance de base de données dans le sous-réseau privé.

Note

La création d'un AWS compte est gratuite. Cependant, en suivant ce didacticiel, les AWS ressources que vous utilisez peuvent vous coûter cher. Vous pouvez supprimer ces ressources après avoir terminé le didacticiel si elles ne sont plus nécessaires.

Le schéma suivant montre la configuration lorsque l'accessibilité est publique.

Network diagram showing VPC with public subnet, internet gateway, ENI, and Timestream-InfluxDB database.
Avertissement

Nous ne recommandons pas d'utiliser 0.0.0.0/0 pour l'HTTPaccès, car vous permettez à toutes les adresses IP d'accéder à votre instance publique InfluxDB via. HTTP Cette approche n'est même pas acceptable pendant une courte période dans un environnement de test. Autorisez uniquement une adresse IP ou une plage d'adresses spécifique pour accéder à vos instances InfluxDB en utilisant HTTP Being for WebUI ou Access. API

Ce didacticiel crée une instance de base de données exécutant InfluxDB avec le. AWS Management Console Nous nous concentrerons uniquement sur la taille de l'instance de base de données et sur l'identifiant de l'instance de base de données. Nous utiliserons les paramètres par défaut pour les autres options de configuration. L'instance de base de données créée par cet exemple sera privée.

Les autres paramètres que vous pouvez configurer incluent la disponibilité, la sécurité et la journalisation. Pour créer une instance de base de données publique, vous devez choisir de rendre votre instance « accessible au public » dans la section Configuration de la connectivité. Pour plus d'informations sur la création d'instances de base de données, consultezCréation d'une instance de base de données..

Si votre instance n'est pas accessible au public, procédez comme suit :

  • Créez un hôte sur VPC l'instance via lequel vous pouvez canaliser le trafic.

  • Configurez le tunneling SSH vers l'instance. Pour plus d'informations, consultez Amazon EC2 instance port forwarding with AWS Systems Manager

  • Pour que le certificat fonctionne, ajoutez la ligne suivante au /etc/hosts fichier de votre machine cliente : 127.0.0.1 Il s'agit de l'DNSadresse de votre instance.

  • Connectez-vous à votre instance à l'aide du nom de domaine complet, par exemple https : //< DNS >:8086.

    Note

    Localhost n'est pas en mesure de valider le certificat car localhost n'en fait pas partie. SAN

Le schéma suivant montre la configuration lorsque l'accessibilité est privée :

Network diagram showing public and private subnets, security groups, and connections to external services.

Prérequis

Avant de commencer, suivez les étapes détaillées dans les sections suivantes :

  • Ouvrez un AWS compte.

  • Créez un utilisateur administratif.

Étape 1 : créer une EC2 instance Amazon

Créez une EC2 instance Amazon que vous utiliserez pour vous connecter à votre base de données.

  1. Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le coin supérieur droit de AWS Management Console, choisissez la AWS région dans laquelle vous souhaitez créer l'EC2instance.

  3. Choisissez EC2Dashboard, puis Launch instance.

  4. Lorsque la page Lancer une instance s'ouvre, choisissez les paramètres suivants sur la page Lancer une instance.

    1. Sous Nom et balises, dans Nom, saisissez ec2-database-connect.

    2. Sous Images d'applications et de systèmes d'exploitation (Amazon Machine Image), choisissez Amazon Linux, puis Amazon Linux 2023AMI. Conservez les sélections par défaut pour les autres choix.

    3. Sous Instance type (Type d'instance), choisissez t2.micro.

    4. Sous Key pair (login) [Paire de clés (connexion)], choisissez une valeur Key pair name (Nom de paire de clés) pour utiliser une paire de clés existante. Pour créer une nouvelle paire de clés pour l'EC2instance Amazon, choisissez Create new key pair, puis utilisez la fenêtre Create key Pair pour la créer. Pour plus d'informations sur la création d'une nouvelle paire de clés, consultez la section Créer une paire de clés dans le Guide de EC2 l'utilisateur Amazon pour les instances Linux.

    5. Pour Autoriser SSH le trafic dans les paramètres réseau, choisissez la source des SSH connexions à l'EC2instance. Vous pouvez choisir Mon adresse IP si l'adresse IP affichée est correcte pour les SSH connexions. Sinon, vous pouvez déterminer l'adresse IP à utiliser pour vous connecter à EC2 des instances à VPC l'aide de Secure Shell (SSH). Pour déterminer votre adresse IP publique, dans une autre fenêtre ou un autre onglet du navigateur, vous pouvez utiliser le service à l'adresse https://checkip.amazonaws.com. Exemple d'adresse IP : 192.0.2.1/32. Dans de nombreux cas, vous pouvez vous connecter via un fournisseur de services Internet (ISP) ou derrière votre pare-feu sans adresse IP statique. Si tel est le cas, assurez-vous de déterminer la plage d'adresses IP utilisées par les ordinateurs clients.

      Avertissement

      Nous vous déconseillons d'utiliser 0.0.0.0/0 pour l'SSHaccès, car vous permettez à toutes les adresses IP d'accéder à vos instances publiques EC2 en utilisant. SSH Cette approche n'est même pas acceptable pendant une courte période dans un environnement de test. N'autorisez qu'une adresse IP ou une plage d'adresses spécifiques à accéder à vos EC2 instancesSSH.

Étape 2 : créer une instance de base de données InfluxDB

L'élément de base d'Amazon Timestream pour InfluxDB est l'instance de base de données. C'est dans cet environnement que vous exécutez vos bases de données InfluxDB.

Dans cet exemple, vous allez créer une instance de base de données exécutant le moteur de base de données InfluxDB avec une classe d'instance de base de données db.influx.large.

  1. Connectez-vous à la console Amazon Timestream pour InfluxDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/timestream/

  2. Dans le coin supérieur droit de la console Amazon Timestream pour InfluxDB, choisissez la région dans laquelle vous souhaitez créer AWS l'instance de base de données.

  3. Dans le volet de navigation, choisissez InfluxDB Databases.

  4. Choisissez Create Influx database.

    Empty InfluxDB databases list with option to create a new database.
  5. Pour l'identifiant d'instance de base de données, entrez KronosTest -1.

  6. Fournissez les paramètres de configuration de base d'InfluxDB : nom d'utilisateur, organisation, nom du compartiment et mot de passe.

    Important

    Vous ne pourrez plus consulter le mot de passe utilisateur. Vous ne pourrez pas accéder à votre instance et obtenir un jeton d'opérateur sans votre mot de passe. Si vous ne l'enregistrez pas, il sera peut-être nécessaire de le modifier. Consultez Création d'un nouveau jeton d'opérateur pour votre instance InfluxDB.

    Si vous devez modifier le mot de passe utilisateur une fois que l'instance de base de données est disponible, vous pouvez modifier l'instance de base de données pour le faire. Pour plus d'informations sur la modification d'une instance de base de données, veuillez consulter Mise à jour des instances de base de données.

    Form for creating an Influx database with fields for credentials and instance settings.
  7. Pour la classe d'instance de base de données, sélectionnez db.influx.large.

  8. Pour la classe de stockage de base de données, sélectionnez influx IOPS Included 3K.

  9. Configurez vos journaux. Pour de plus amples informations, veuillez consulter Configuration pour afficher les journaux InfluxDB sur les instances Timestream Influxdb.

  10. Dans la section Configuration de la connectivité, assurez-vous que votre instance InfluxDB se trouve dans le même sous-réseau que votre instance nouvellement créée. EC2

    Connectivity configuration interface showing VPC, subnet, security group, and public access options.
  11. Choisissez Create Influx database.

  12. Dans la liste des bases de données, choisissez le nom de votre nouvelle instance InfluxDB pour afficher ses détails. L'instance de base de données a le statut Creating jusqu'à ce qu'elle soit prête à être utilisée.

Vous pouvez vous connecter à l'instance de base de données lorsque le statut passe à Disponible. En fonction de la quantité de stockage et de la classe d’instance de base de données, la mise à disposition de la nouvelle instance peut prendre jusqu’à 20 minutes.

Important

Pour le moment, vous ne pouvez pas modifier la configuration de calcul (types d'instances) et de stockage (types de stockage) des instances existantes.

Étape 3 : Envoyer des données Telegraf à votre instance InfluxDB

Vous pouvez maintenant commencer à envoyer des données de télémétrie à votre instance de base de données InfluxDB à l'aide de l'agent Telegraf. Dans cet exemple, vous allez installer et configurer un agent Telegraf pour envoyer des mesures de performance à votre instance de base de données InfluxDB.

  1. Trouvez le point de terminaison (DNSnom) et le numéro de port de votre instance de base de données.

    1. Connectez-vous à la console de AWS gestion et ouvrez la console Amazon Timestream à l'adresse. https://console.aws.amazon.com/timestream/

    2. Dans le coin supérieur droit de la console Amazon Timestream, choisissez la région pour l'instance de base AWS de données.

    3. Dans le volet de navigation, choisissez InfluxDB Databases.

    4. Choisissez le nom de l'instance de base de données InfluxDB pour afficher ses détails.

    5. Dans la section Résumé, copiez le point de terminaison. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter à l'instance de base de données (le numéro de port par défaut pour InfluxDB est 8086).

  2. Ensuite, sélectionnez InfluxDB UI.

    InfluxDB database summary showing instance details, status, and endpoint information.
  3. Cela ouvrira une nouvelle fenêtre de navigateur dans laquelle vous devriez voir une invite de connexion. Entrez les informations d'identification que vous avez utilisées précédemment pour créer votre instance InfluxDB Db.

  4. Dans le volet de navigation, cliquez sur la flèche et sélectionnez APITokens.

  5. Pour ce test, générez un jeton All Access.

    Note

    Pour les scénarios de production, nous vous recommandons de créer des jetons avec un accès spécifique aux compartiments requis conçus pour les besoins spécifiques de Telegraf.

    Dialog for generating an all-access API token with a warning and description field.
  6. Votre jeton apparaîtra à l'écran.

    Important

    Assurez-vous de copier et d'enregistrer le jeton, car vous ne pourrez plus l'afficher.

  7. Connectez-vous à l'EC2instance que vous avez créée précédemment en suivant les étapes décrites dans la section Connexion à votre instance Linux dans le Guide de l'EC2utilisateur Amazon pour les instances Linux.

    Nous vous recommandons de vous connecter à votre EC2 instance à l'aide deSSH. Si l'utilitaire SSH client est installé sous Windows, Linux ou Mac, vous pouvez vous connecter à l'instance à l'aide du format de commande suivant :

    ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

    Supposons, par exemple, qu'ec2-database-connect-key-pair.pemil soit stocké /dir1 sous Linux et que le public IPv4 DNS de votre EC2 instance l'estec2-12-345-678-90.compute-1.amazonaws.com. Votre SSH commande se présenterait comme suit :

    ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
  8. Installez la dernière version de Telegraf sur votre instance. Pour ce faire, utilisez la commande suivante :

    cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo [influxdata] name = InfluxData Repository - Stable baseurl = https://repos.influxdata.com/stable/\$basearch/main enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key EOF sudo yum install telegraf
  9. Configurez votre instance Telegraf.

    Note

    Si telegraf.conf n'existe pas ou contient une timestream section, vous pouvez en générer une avec :

    telegraf —section-filter agent:inputs:outputs —input-filter cpu:mem —output-filter timestream config > telegraf.conf
    1. Modifiez le fichier de configuration généralement situé à l'adresse/etc/telegraf.

      sudo nano /etc/telegraf/telegraf.conf
    2. Configurez les entrées de base pourCPU, MEM etDISK.

      [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.mem]] [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
    3. Configurez le plugin Output pour envoyer des données à votre instance de base de données InfluxDB et enregistrer vos modifications.

      [[outputs.influxdb_v2]] urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"] token = "<your_telegraf_token" organization = "your_org" bucket = "your_bucket" timeout = "5s"
    4. Configurez la cible Timestream.

      # Configuration for sending metrics to Amazon Timestream. [[outputs.timestream]] ## Amazon Region and credentials region = "us-east-1" access_key = "<AWS key here>" secret_key = "<AWS secret key here>" database_name = "<timestream database name>" # needs to exist ## Specifies if the plugin should describe t start. describe_database_on_start = false mapping_mode = "multi-table" # allows multible tables for each input metrics create_table_if_not_exists = true create_table_magnetic_store_retention_period_in_days = 365 create_table_memory_store_retention_period_in_hours = 24 use_multi_measure_records = true # Important to use multi-measure records measure_name_for_multi_measure_records = "telegraf_measure" max_write_go_routines = 25
  10. Activez et démarrez le service Telegraf.

    $ sudo systemctl enable telegraf $ sudo systemctl start telegraf

Étape 4 : Supprimer l'EC2instance Amazon et l'instance de base de données InfluxDB

Après avoir exploré les données générées par Telegraff à l'aide de votre instance de base de données InfluxDB avec InfluxUI, supprimez à la fois vos instances de base de données InfluxDB EC2 et vos instances de base de données InfluxDB afin qu'elles ne vous soient plus facturées.

Pour supprimer l'EC2instance, procédez comme suit :

  1. Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez l'EC2instance, choisissez État de l'instance et Terminate instance.

  4. Choisissez Résilier lorsque vous êtes invité à confirmer.

Pour plus d'informations sur la suppression d'une EC2 instance, consultez Résilier votre instance dans le guide de EC2 l'utilisateur Amazon.

Pour supprimer l'instance de base de données sans capture d'écran de base de données finale :

  1. Connectez-vous à la console Amazon Timestream pour InfluxDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/timestream/

  2. Dans le volet de navigation, choisissez InfluxDB Databases.

  3. Choisissez l'instance de base de données que vous voulez supprimer.

  4. Pour Actions, choisissez Supprimer.

  5. Terminez la confirmation et choisissez Supprimer.

(Facultatif) Connectez-vous à votre instance de base de données à l'aide d'Amazon Managed Grafana

Vous pouvez utiliser Amazon Managed Grafana pour créer des tableaux de bord et surveiller les performances de vos EC2 instances à l'aide d'Amazon Timestream pour InfluxDB. Amazon Managed Grafana est un service entièrement géré pour Grafana, une plateforme d'analyse open source populaire qui vous permet d'interroger, de visualiser et d'émettre des alertes sur vos indicateurs, journaux et traces.