建立並連線至 Timestream for InfluxDB 執行個體 - Amazon Timestream

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立並連線至 Timestream for InfluxDB 執行個體

本教學課程會建立 Amazon EC2 執行個體和 Amazon Timestream for InfluxDB 資料庫執行個體。本教學課程說明如何使用 Telegraf 用戶端,從 EC2 執行個體將資料寫入資料庫執行個體。最佳實務是,本教學課程會在虛擬私有雲端 (VPC) 中建立私有資料庫執行個體。在大多數情況下,相同 VPC 中的其他資源,例如 EC2 執行個體,可以存取資料庫執行個體,但 VPC 以外的資源無法存取。

完成教學課程後,VPC 中每個可用區域都會有一個公有和私有子網路。在一個可用區域中,EC2 執行個體位於公有子網路中,而資料庫執行個體位於私有子網路中。

注意

建立 AWS 帳戶無需付費。不過,完成本教學課程後,您使用 AWS 的資源可能會產生費用。如果不再需要這些資源,您可以在完成教學課程後刪除這些資源。

下圖顯示可存取性為公有時的組態。

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

我們不建議使用 0.0.0.0/0 進行 HTTP 存取,因為您允許所有 IP 地址透過 HTTP 存取您的公有 InfluxDB 執行個體。在測試環境中,此方法甚至在短時間內是不可接受的。僅授權特定 IP 地址或地址範圍,以使用 HTTP 進行 WebUI 或 API 存取來存取您的 InfluxDB 執行個體。

本教學課程會使用 建立執行 InfluxDB 的資料庫執行個體 AWS Management Console。我們只會專注於資料庫執行個體大小和資料庫執行個體識別符。我們將使用其他組態選項的預設設定。此範例建立的資料庫執行個體將為私有。

您可以設定的其他設定包括可用性、安全性和記錄。若要建立公有資料庫執行個體,您必須在連線組態區段中選擇讓執行個體「公開存取」。如需建立資料庫執行個體的相關資訊,請參閱 建立資料庫執行個體

如果您的執行個體無法公開存取,請執行下列動作:

  • 在執行個體的 VPC 上建立主機,以便您透過它來通道流量。

  • 將 SSH 通道設定為執行個體。如需詳細資訊,請參閱使用 AWS Systems Manager 轉送 Amazon EC2 執行個體連接埠

  • 若要讓憑證正常運作,請將以下行新增至用戶端機器/etc/hosts的檔案:127.0.0.1。這是執行個體的 DNS 地址。

  • 使用完整網域名稱連線至執行個體,例如 https://<DNS>:8086

    注意

    Localhost 無法驗證憑證,因為 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 並在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在 的右上角 AWS Management Console,選擇要 AWS 建立 EC2 執行個體的區域。

  3. 選擇 EC2 Dashboard,然後選擇啟動執行個體

  4. 啟動執行個體頁面開啟時,請在啟動執行個體頁面上選擇下列設定。

    1. 在名稱和標籤下,針對名稱輸入 ec2-database-connect。

    2. 在應用程式和作業系統映像 (Amazon Machine Image) 下,選擇 Amazon Linux,然後選擇 Amazon Linux 2023 AMI。保留其他選項的預設選擇。

    3. Instance type (執行個體類型) 下,選擇 t2.micro

    4. Key pair (login) (金鑰對 (登入)) 下,選擇 Key pair name (金鑰對名稱),以使用現有金鑰對。若要為 Amazon EC2 執行個體建立新的金鑰對,請選擇建立新的金鑰對,然後使用建立金鑰對視窗來建立金鑰對。如需建立新金鑰對的詳細資訊,請參閱 Amazon EC2 Linux 執行個體使用者指南中的建立金鑰對

    5. 針對網路設定中的允許 SSH 流量,選擇 SSH 執行個體的 EC2 連線來源。如果顯示的 IP 地址對 SSH 連線正確,您可以選擇我的 IP。否則,您可以使用 Secure Shell (EC2) 來判斷要用來連線至 VPC 中 SSH 執行個體的 IP 地址。若要判斷公有 IP 地址,您可以在不同的瀏覽器視窗或索引標籤中使用 at https://checkip.amazonaws.com 服務。IP 地址的範例為 192.0.2.1/32。在許多情況下,您可以透過網際網路服務供應商 (ISP) 或從防火牆後方連線,而不需要靜態 IP 地址。若是如此,請務必確定用戶端電腦所使用的 IP 地址範圍。

      警告

      我們不建議使用 0.0.0.0/0 進行 SSH 存取,因為您允許所有 IP 地址使用 EC2 存取您的公有 SSH 執行個體。在測試環境中,此方法甚至在短時間內是不可接受的,只授權特定 IP 地址或地址範圍來使用 EC2 存取您的 SSH 執行個體。

步驟 2:建立 InfluxDB 資料庫執行個體

Amazon Timestream for InfluxDB 的基本建置區塊是資料庫執行個體。此環境可讓您執行 InfluxDB 資料庫。

在此範例中,您將使用 db.influx.large 資料庫執行個體類別建立執行 InfluxDB 資料庫引擎的資料庫執行個體。

  1. 登入 AWS Management Console 並在 Word 開啟 Amazon Timestream for InfluxDB 主控台。 https://console.aws.amazon.com/timestream/

  2. 在 Amazon Timestream for InfluxDB 主控台的右上角,選擇要 AWS 建立資料庫執行個體的區域。

  3. 在導覽窗格中,選擇 InfluxDB 資料庫

  4. 選擇建立輸入資料庫

    Empty InfluxDB databases list with option to create a new database.
  5. 對於資料庫執行個體識別符,輸入 KronosTest-1。

  6. 提供 InfluxDB 基本組態參數:使用者名稱組織儲存貯體名稱密碼

    重要

    您將無法再次檢視使用者密碼。如果沒有密碼,您將無法存取執行個體並取得運算子權杖。如果您沒有記錄下來,您可能需要進行變更。請參閱 為您的 InfluxDB 執行個體建立新的運算子權杖

    如果您需要在資料庫執行個體可用後變更使用者密碼,您可以修改資料庫執行個體以進行變更。如需修改 資料庫執行個體的詳細資訊,請參閱更新資料庫執行個體

    Form for creating an Influx database with fields for credentials and instance settings.
  7. 針對資料庫執行個體類別,選取 db.influx.large

  8. 針對資料庫儲存體類別,選取包含 3K 的注入單IOPS

  9. 設定您的日誌。如需詳細資訊,請參閱設定以在 Timestream Influxdb 執行個體上檢視 InfluxDB 日誌

  10. 連線組態區段中,請確定您的 InfluxDB 執行個體與您新建立的 EC2 執行個體位於相同的子網路中。

    Connectivity configuration interface showing VPC, subnet, security group, and public access options.
  11. 選擇建立輸入資料庫

  12. 資料庫清單中,選擇新 InfluxDB 執行個體的名稱以顯示其詳細資訊。資料庫執行個體在準備好使用之前的狀態為建立

當狀態變更為可用時,您可以連線至資料庫執行個體。視資料庫執行個體類別和儲存體數量而定,可能需要最多 20 分鐘的時間,新執行個體才會可用。

重要

目前,您無法修改現有執行個體的運算 (執行個體類型) 和儲存 (儲存類型) 組態。

步驟 3:將 Telegraf 資料傳送至您的 InfluxDB 執行個體

您現在可以開始使用 Telegraf 代理程式,將遙測資料傳送至您的 InfluxDB 資料庫執行個體。在此範例中,您將安裝並設定 Telegraf 代理程式,以將效能指標傳送給 InfluxDB 資料庫執行個體。

  1. 尋找資料庫執行個體的端點 (DNS 名稱) 和連接埠號碼。

    1. 登入 AWS 管理主控台,並在 https://console.aws.amazon.com/timestream/ 開啟 Amazon Timestream 主控台。

    2. 在 Amazon Timestream 主控台的右上角,選擇資料庫執行個體 AWS 的區域。

    3. 在導覽窗格中,選擇 InfluxDB 資料庫

    4. 選擇 InfluxDB 資料庫執行個體名稱以顯示其詳細資訊。

    5. 摘要區段中,複製端點。另外,請記下連接埠號碼。您需要端點和連接埠號碼才能連線至資料庫執行個體 (InfluxDB 的預設連接埠號碼為 8086)。

  2. 接下來,選取 InfluxDB UI

    InfluxDB database summary showing instance details, status, and endpoint information.
  3. 這將開啟一個新的瀏覽器視窗,您應該會在其中看到登入提示。輸入您先前用來建立 InfluxDB Db 執行個體的憑證。

  4. 在導覽窗格中,按一下 Arrow 並選擇 API 權杖

  5. 在此測試中, 會產生 All Access Token。

    注意

    對於生產案例,我們建議您建立具有特定存取權的權杖,以存取為特定 Telegraf 需求建置的必要儲存貯體。

    Dialog for generating an all-access API token with a warning and description field.
  6. 您的權杖會顯示在畫面上。

    重要

    請務必複製並儲存權杖,因為您無法再次顯示權杖。

  7. 請依照 Amazon EC2 執行個體使用者指南中的連線至 Linux 執行個體中的步驟,連線至您先前建立的 Word 執行個體。 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 和 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 資料庫執行個體,並儲存您的變更。

      [[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 資料庫執行個體

使用 InfluxUI 的 InfluxDB 資料庫執行個體探索 Telegraf 產生的資料後 InfluxUI ,請同時刪除您的 EC2 和 InfluxDB 資料庫執行個體,以便您不再需要支付這些執行個體的費用。

若要刪除 EC2 執行個體:

  1. 登入 AWS Management Console 並在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取 EC2 執行個體、選擇執行個體狀態,以及終止執行個體

  4. 出現確認提示時,請選擇 Terminate (終止)

如需刪除 EC2 執行個體的詳細資訊,請參閱 Amazon EC2 使用者指南中的終止執行個體

若要刪除沒有最終資料庫快照的資料庫執行個體:

  1. 登入 AWS Management Console 並在 Word 開啟 Amazon Timestream for InfluxDB 主控台。 https://console.aws.amazon.com/timestream/

  2. 在導覽窗格中,選擇 InfluxDB 資料庫

  3. 選擇您要刪除的資料庫執行個體。

  4. 對於 Actions (動作),請選擇 Delete (刪除)。

  5. 完成確認,然後選擇刪除

(選用) 使用 Amazon Managed Grafana 連線至資料庫執行個體

您可以使用 Amazon Managed Grafana 建立儀表板,並使用 Amazon Timestream for InfluxDB 監控 EC2 執行個體的效能。Amazon Managed Grafana 是 Grafana 的全面受管服務,這是熱門的開放原始碼分析平台,可讓您查詢、視覺化和提醒指標、日誌和追蹤。