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

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

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

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

チュートリアルを完了すると、 の各アベイラビリティーゾーンにパブリックサブネットとプライベートサブネットがあります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 を使用することはお勧めしません。HTTPすべての IP アドレスが 経由でパブリック InfluxDB インスタンスにアクセスできるようにするためですHTTP。このアプローチは、テスト環境で短時間でも受け入れられません。for HTTP WebUI または API アクセスを使用して InfluxDB インスタンスにアクセスするための特定の IP アドレスまたはアドレス範囲のみを許可します。

このチュートリアルでは、 で 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. Application and OS Images (Amazon Machine Image) で 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 アドレスの範囲を確認してください。

      警告

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

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

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

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

  1. にサインイン AWS Management Console し、Amazon Timestream for InfluxDB コンソールを で開きます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.influx.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 です。

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

重要

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

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

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. このテストでは、All Access Token を生成します。

    注記

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

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

    重要

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

  7. 「Linux EC2インスタンス用 Amazon ユーザーガイド」の「Linux インスタンスに接続する」の手順に従って、先ほど作成したインスタンスに接続します。 EC2

    を使用して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 し、Amazon Timestream for InfluxDB コンソールを で開きます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 のフルマネージドサービスです。これは、メトリクス、ログ、トレースのクエリ、視覚化、アラートを可能にする一般的なオープンソース分析プラットフォームです。