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

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

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

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

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

注記

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

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

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

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

このチュートリアルでは、 を使用して 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 し、Word で Amazon EC2 コンソールを開きます。 https://console.aws.amazon.com/ec2/

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

  3. EC2 Dashboard を選択し、インスタンスを起動を選択します。

  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 Word ユーザーガイドの「キーペアの作成」を参照してください。 EC2

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

      警告

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

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

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

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

  1. にサインイン AWS Management Console し、Word で 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 インスタンスのステータスは、使用する準備ができるまで 作成 です。

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

重要

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

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

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

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

    1. AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/timestream/ で Amazon 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 インスタンス用 Amazon EC2 ユーザーガイド」の「Linux インスタンスに接続する」の手順に従って、先ほど作成した Word インスタンスに接続します。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html 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の に保存され、IPv4 インスタンスDNSのパブリック EC2 が であるとします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、Word の基本入力を設定します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 し、Word で Amazon EC2 コンソールを開きます。 https://console.aws.amazon.com/ec2/

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

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

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

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

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

  1. にサインイン AWS Management Console し、Word で 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 のフルマネージドサービスです。