InfluxDB インスタンスの Timestream を作成して接続する - Amazon Timestream

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

InfluxDB インスタンスの Timestream を作成して接続する

このチュートリアルでは、Amazon EC2インスタンスと InfluxDB DB インスタンス用の Amazon Timestream を作成します。このチュートリアルでは、Telegraf クライアントを使用してインスタンスから DB EC2インスタンスにデータを書き込む方法を示します。ベストプラクティスとして、このチュートリアルでは仮想プライベートクラウド () にプライベート DB インスタンスを作成しますVPC。ほとんどの場合、EC2インスタンスなどVPC、同じ 内の他のリソースは DB インスタンスにアクセスできますが、 外のリソースVPCは DB インスタンスにアクセスできません。

チュートリアルを完了すると、 の各アベイラビリティーゾーンにパブリックサブネットとプライベートサブネットがありますVPC。1 つのアベイラビリティーゾーンでは、EC2インスタンスはパブリックサブネットにあり、DB インスタンスはプライベートサブネットにあります。

注記

AWS アカウントの作成には料金はかかりません。ただし、このチュートリアルを完了すると、使用する AWS リソースのコストが発生する可能性があります。これらのリソースが不要になった場合は、チュートリアルの完了後に削除できます。

次の図は、アクセシビリティがパブリックの場合の設定を示しています。

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

アクセスに 0.0.0.0/0 を使用することはお勧めしません。すべての IP アドレスが 経由でパブリック InfluxDB インスタンスにアクセスできるHTTPためですHTTP。このアプローチは、テスト環境で短期間は許容されません。WebUI または アクセスHTTP用 を使用して、特定の IP アドレスまたはアドレス範囲のみに InfluxDB インスタンスAPIへのアクセスを許可します。

このチュートリアルでは、 を使用して InfluxDB を実行する DB インスタンスを作成します AWS Management Console。DB インスタンスのサイズと DB インスタンス識別子のみに焦点を当てます。その他の設定オプションにはデフォルト設定を使用します。この例で作成された DB インスタンスはプライベートになります。

設定できるその他の設定には、可用性、セキュリティ、ログ記録などがあります。パブリック DB インスタンスを作成するには、接続設定セクションでインスタンスを「パブリックにアクセス可能」にすることを選択する必要があります。DB インスタンスの作成については、「」を参照してくださいDB インスタンスの作成

インスタンスがパブリックにアクセスできない場合は、次の操作を行います。

  • トラフィックをトンネルできるインスタンスVPCの にホストを作成します。

  • インスタンスへの ssh トンネリングを設定します。詳細については、AWS 「Systems Manager を使用した Amazon EC2インスタンスポート転送」を参照してください。

  • 証明書を機能させるには、クライアントマシンの /etc/hosts ファイルに次の行を追加します: 127.0.0.1。これはインスタンスのDNSアドレスです。

  • https://<DNS>:8086 などの完全修飾ドメイン名を使用してインスタンスに接続します。

    注記

    Localhost は証明書 の一部ではないため、証明書を検証できませんSAN。

次の図は、アクセシビリティがプライベートの場合の設定を示しています。

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

前提条件

開始する前に、以下のセクションのステップを完了してください。

  • AWS アカウントにサインアップします。

  • 管理者ユーザーを作成します。

ステップ 1: Amazon EC2インスタンスを作成する

データベースへの接続に使用する Amazon EC2インスタンスを作成します。

  1. にサインイン AWS Management Console し、 で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. の右上で AWS Management Console、EC2インスタンスを作成する AWS リージョンを選択します。

  3. EC2 ダッシュボードを選択し、インスタンスの起動を選択します。

  4. インスタンスの起動ページが開いたら、インスタンスの起動ページで次の設定を選択します。

    1. 「名前」と「名前」に「ec2-database-connect」と入力します。

    2. アプリケーションおよび OS イメージ (Amazon マシンイメージ) で、Amazon Linux を選択し、Amazon Linux 2023 を選択しますAMI。他の選択肢は、デフォルトの選択のままにします。

    3. [Instance type] (インスタンスタイプ) で [t2.micro] を選択します。

    4. [Key pair (login)] (キーペア (ログイン)) で、[Key pair name] (キーペア名) を選択して、既存のキーペアを使用します。Amazon EC2インスタンスの新しいキーペアを作成するには、新しいキーペアの作成を選択し、キーペアの作成ウィンドウを使用して作成します。新しいキーペアの作成の詳細については、「Linux インスタンス用 Amazon ユーザーガイド」の「キーペアの作成」を参照してください。 EC2

    5. ネットワーク設定でSSHトラフィックを許可する で、EC2インスタンスSSHへの接続のソースを選択します。表示された IP アドレスがSSH接続に対して正しい場合は、My IP を選択できます。それ以外の場合は、Secure Shell () VPCを使用して、 内のEC2インスタンスへの接続に使用する IP アドレスを決定できますSSH。パブリック IP アドレスを確認するには、別のブラウザウィンドウまたはタブで サービスを使用できます https://checkip.amazonaws.com。IP アドレスの例は 192.0.2.1/32 です。多くの場合、インターネットサービスプロバイダー (ISP) を介して、またはファイアウォールの内側から静的 IP アドレスなしで接続できます。その場合、クライアントコンピュータが使用する IP アドレスの範囲を確認してください。

      警告

      すべての IP アドレスが を使用してパブリックEC2インスタンスにアクセスできるため、SSHアクセスに 0.0.0.0/0 を使用することはお勧めしませんSSH。このアプローチは、テスト環境で短期間は受け入れられず、特定の IP アドレスまたはアドレス範囲のみが を使用してEC2インスタンスにアクセスすることを許可しますSSH。

ステップ 2: InfluxDB DB インスタンスを作成する

Amazon Timestream for InfluxDB の基本的な構成要素は DB インスタンスです。この環境では、InfluxDB データベースを実行します。

この例では、DB インスタンスクラス db.infux.large を使用して InfluxDB データベースエンジンを実行する DB インスタンスを作成します。

  1. にサインイン AWS Management Console し、 で InfluxDB コンソールの Amazon Timestream を開きますhttps://console.aws.amazon.com/timestream/。

  2. Amazon Timestream for InfluxDB コンソールの右上で、DB インスタンスを作成する AWS リージョンを選択します。

  3. ナビゲーションペインで、InfluxDB データベースを選択します。

  4. Influx データベースの作成を選択します。

    Empty InfluxDB databases list with option to create a new database.
  5. DB インスタンス識別子には、 KronosTest「-1」と入力します。

  6. InfluxDB の基本設定パラメータとして、ユーザー名組織バケット名パスワードを指定します。

    重要

    ユーザーパスワードを再度表示することはできません。パスワードがないと、インスタンスにアクセスしてオペレータートークンを取得することはできません。記録していない場合は、変更する必要がある場合があります。「InfluxDB インスタンスの新しいオペレータトークンの作成」を参照してください。

    DB インスタンスが使用可能になった後にユーザーパスワードを変更する必要がある場合は、DB インスタンスを変更することができます。DB インスタンスの変更の詳細については、「DB インスタンスの更新」を参照してください。

    Form for creating an Influx database with fields for credentials and instance settings.
  7. DB インスタンスクラスで、db.infux.large を選択します。

  8. DB ストレージクラスでは、influx IOPS Included 3K を選択します。

  9. ログを設定します。詳細については、「Timestream InfluxDB インスタンスで InfluxDB ログを表示するようにセットアップする」を参照してください。

  10. 接続設定セクションで、InfluxDB インスタンスが新しく作成したEC2インスタンスと同じサブネットにあることを確認します。

    Connectivity configuration interface showing VPC, subnet, security group, and public access options.
  11. Influx データベースの作成を選択します。

  12. データベースリストで、新しい InfluxDB インスタンスの名前を選択して詳細を表示します。DB インスタンスのステータスは、使用する準備ができるまで、Creating です。

ステータスが Available に変わったら、DB インスタンスに接続できます。DB インスタンスクラスとストレージの合計によっては、新しいインスタンスを使用できるようになるまで最長 20 分かかることがあります。

重要

現時点では、既存のインスタンスのコンピューティング (インスタンスタイプ) およびストレージ (ストレージタイプ) 設定を変更することはできません。

ステップ 3: InfluxDB インスタンスに Telegraf データを送信する

Telegraf エージェントを使用して、InfluxDB DB インスタンスへのテレメトリデータの送信を開始できるようになりました。この例では、パフォーマンスメトリクスを InfluxDB DB インスタンスに送信するように Telegraf エージェントをインストールして設定します。

  1. DB インスタンスのエンドポイント (DNS名前) とポート番号を見つけます。

    1. AWS マネジメントコンソールにサインインし、 で Amazon Timestream コンソールを開きますhttps://console.aws.amazon.com/timestream/

    2. Amazon Timestream コンソールの右上で、DB インスタンスの AWS リージョンを選択します。

    3. ナビゲーションペインで、InfluxDB データベースを選択します。

    4. InfluxDB DB インスタンス名を選択して詳細を表示します。

    5. 概要セクションで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です (InfluxDB のデフォルトのポート番号は 8086 です)。

  2. 次に、InfluxDB UI を選択します。

    InfluxDB database summary showing instance details, status, and endpoint information.
  3. これにより、新しいブラウザウィンドウが開き、ログインプロンプトが表示されます。InfluxDB Db インスタンスの作成に使用した認証情報を入力します。

  4. ナビゲーションペインで、矢印をクリックし、APIトークンを選択します。

  5. このテストでは、すべてのアクセストークンを生成します。

    注記

    実稼働シナリオでは、特定の Telegraf ニーズに合わせて構築された必要なバケットに特定のアクセス権を持つトークンを作成することをお勧めします。

    Dialog for generating an all-access API token with a warning and description field.
  6. トークンが画面に表示されます。

    重要

    トークンは再度表示できないため、必ずコピーして保存してください。

  7. 「Linux EC2インスタンス用 Amazon EC2ユーザーガイド」の「Linux インスタンスに接続する」の手順に従って、前に作成したインスタンスに接続します。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html

    を使用してEC2インスタンスに接続することをお勧めしますSSH。SSH クライアントユーティリティが Windows、Linux、または Mac にインストールされている場合は、次のコマンド形式を使用してインスタンスに接続できます。

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

    例えば、 ec2-database-connect-key-pair.pemが Linux /dir1の に保存され、EC2インスタンスIPv4DNSのパブリックが であるとしますec2-12-345-678-90.compute-1.amazonaws.com。SSH コマンドは次のようになります。

    ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
  8. インスタンスにインストールされている最新バージョンの Telegraf を取得します。これを行うには、次のコマンドを使用します。

    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. Telegraf インスタンスを設定します。

    注記

    telegraf.conf が存在しないか、timestreamセクションが含まれている場合は、以下を使用して生成できます。

    telegraf —section-filter agent:inputs:outputs —input-filter cpu:mem —output-filter timestream config > telegraf.conf
    1. 通常、 にある設定ファイルを編集します/etc/telegraf

      sudo nano /etc/telegraf/telegraf.conf
    2. 、CPU、MEMおよび の基本入力を設定しますDISK。

      [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.mem]] [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
    3. 出力プラグインを設定して、InfluxDB DB インスタンスにデータを送信し、変更を保存します。

      [[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. 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. Telegraf サービスを有効にして起動します。

    $ sudo systemctl enable telegraf $ sudo systemctl start telegraf

ステップ 4: Amazon EC2インスタンスと InfluxDB DB インスタンスを削除する

InfluxUI で InfluxDB DB インスタンスを使用して Telegraf InfluxUI 生成データを探索したら、 EC2と InfluxDB DB インスタンスの両方を削除して、料金が発生しないようにします。

EC2インスタンスを削除するには:

  1. にサインイン AWS Management Console し、 で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. EC2 インスタンスを選択し、インスタンスの状態インスタンスの終了を選択します。

  4. 確認を求めるメッセージが表示されたら、[Terminate (終了)] を選択します。

EC2 インスタンスの削除の詳細については、「Amazon EC2ユーザーガイド」の「インスタンスの終了」を参照してください。

最終的な DB スナップショットがない DB インスタンスを削除するには:

  1. にサインイン AWS Management Console し、 で InfluxDB コンソールの Amazon Timestream を開きますhttps://console.aws.amazon.com/timestream/。

  2. ナビゲーションペインで、InfluxDB データベースを選択します。

  3. 削除する DB インスタンスを選択します。

  4. [アクション] で、[削除] を選択します。

  5. 確認を完了し、[削除] を選択します。

(オプション) Amazon Managed Grafana を使用して DB インスタンスに接続する

Amazon Managed Grafana を使用してダッシュボードを作成し、Amazon Timestream for InfluxDB を使用してEC2インスタンスのパフォーマンスをモニタリングできます。Amazon Managed Grafana は、Grafana のフルマネージドサービスです。Grafana は、メトリクス、ログ、トレースのクエリ、可視化、アラートを可能にする一般的なオープンソース分析プラットフォームです。