

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

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

# 建立並連線至 Timestream for InfluxDB 執行個體
<a name="timestream-for-influx-getting-started-creating-db-instance"></a>

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

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

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

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

![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/public.png)


**警告**  
我們不建議使用 0.0.0.0/0 進行 HTTP 存取，因為您可以讓所有 IP 地址透過 HTTP 存取公有 InfluxDB 執行個體。即使測試環境中有一小段時間，也無法接受此方法。僅授權特定 IP 地址或地址範圍，以使用 HTTP for Web UI 或 API 存取存取您的 InfluxDB 執行個體。

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

您可以設定的其他設定包括可用性、安全性和記錄。若要建立公有資料庫執行個體，您必須在**連線組態**區段中選擇讓執行個體**可公開存取**。如需建立資料庫執行個體的資訊，請參閱 [建立資料庫執行個體](timestream-for-influx-configuring.md#timestream-for-influx-configuring-create-db)。

如果您的執行個體無法公開存取，請執行下列動作：
+ 在執行個體的 VPC 上建立主機，您可以透過它來通道流量。
+ 設定執行個體的 SSH 通道。如需詳細資訊，請參閱[使用 轉送 Amazon EC2 執行個體連接埠 AWS Systems Manager](https://aws.amazon.com/blogs/mt/amazon-ec2-instance-port-forwarding-with-aws-systems-manager/)。
+ 若要讓憑證正常運作，請將以下行新增至用戶端機器的 `/etc/hosts` 檔案：`127.0.0.1`。這是執行個體的 DNS 地址。
+ 使用完整網域名稱連線至您的執行個體，例如 *https://<DNS>：8086*。
**注意**  
Localhost 無法驗證憑證，因為 localhost 不是憑證 SAN 的一部分。

下圖顯示可存取性為私有時的組態：

![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/private.png)


## 先決條件
<a name="timestream-for-influx-getting-started-creating-db-instance-prereq"></a>

在開始之前，請先完成下節所含步驟：
+  註冊 AWS 帳戶。
+ 建立管理使用者。

## 步驟 1：建立 Amazon EC2 執行個體
<a name="timestream-for-influx-getting-started-creating-db-instance-step1"></a>

建立您會用來連線至資料庫的 Amazon EC2 執行個體。

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 在 的右上角 AWS 管理主控台，選擇您要在其中建立 EC2 執行個體 AWS 的區域。

1. 選擇 **EC2 儀表板**，然後選擇**啟動執行個體**。

1. 當**啟動執行個體**頁面開啟時，請選擇下列設定：

   1. 在**名稱和標籤**下，為**名稱**輸入 `ec2-database-connect` 。

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

   1. 在**Instance type** (執行個體類型) 下，選擇 **t2.micro**。

   1. 在 **Key pair (login)** (金鑰對 (登入)) 下，選擇 **Key pair name** (金鑰對名稱)，以使用現有金鑰對。若要為 Amazon EC2 執行個體建立新的金鑰對，請選擇 **Create new key pair** (建立新的金鑰對)，然後使用 **Create key pair** (建立金鑰對) 視窗來建立金鑰對。如需建立新金鑰對的詳細資訊，請參閱《[Amazon Elastic Compute Cloud 使用者指南》中的為您的 Amazon EC2 執行個體建立金鑰對](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html)。 **

   1. 若要在**網路設定**中**允許來自 的 SSH 流量**，請選擇與 EC2 執行個體的 SSH 連線來源。如果顯示的 IP 地址對 SSH 連線而言是正確的，您可以選擇 **My IP** (我的 IP)。否則，您可以決定用於使用 Secure Shell (SSH) 連線至 VPC 中 EC2 執行個體的 IP 地址。若要判斷公有 IP 地址，您可以在不同的瀏覽器視窗或索引標籤中使用 服務，網址為 https：//[checkip.amazonaws.com/](https://checkip.amazonaws.com)。IP 地址的範例為 `192.0.2.1/32`。在許多情況下，您可能透過網際網路服務供應商 (ISP) 或是從沒有靜態 IP 地址的防火牆進行連線。若是如此，請務必確定用戶端電腦所使用的 IP 地址範圍。
**警告**  
我們不建議使用 0.0.0.0/0 進行 SSH 存取，因為您可以讓所有 IP 地址使用 SSH 存取公有 EC2 執行個體。即使測試環境中有一小段時間，也無法接受此方法。僅授權特定 IP 地址或地址範圍，以使用 SSH 存取 EC2 執行個體。

## 步驟 2：建立 InfluxDB 資料庫執行個體
<a name="timestream-for-influx-getting-started-creating-db-instance-step2"></a>

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

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

1. 登入 AWS 管理主控台 ，並在 https：// 開啟 Amazon Timestream for InfluxDB 主控台。 [https://console.aws.amazon.com/timestream/](https://console.aws.amazon.com/timestream/) 

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

1. 在導覽窗格中，選擇 **InfluxDB 資料庫**。

1. 選擇**建立 InfluxDB 資料庫**。  
![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/CreateInfluxDatabase.png)

1. 在**部署設定**區段中，選取**具有僅供讀取複本的叢集**。選擇**檢視訂閱選項**以啟動僅供讀取複本附加元件的訂閱。如需詳細資訊，請參閱[透過 讀取複本授權 AWS Marketplace僅供讀取複本授權術語](timestream-for-influx-rr-licensing.md)。

1. 在**資料庫登入**資料區段中，輸入**資料庫叢集名稱**的 KronosTest-1。

1. 提供 InfluxDB 基本組態參數：**初始使用者名稱**、**初始組織名稱**、**初始儲存貯體名稱**和**密碼**。
**重要**  
您將無法再次檢視使用者密碼。如果沒有密碼，您將無法存取執行個體並取得運算子字符。如果您沒有記錄下來，您可能需要進行變更。請參閱 [為您的 InfluxDB 執行個體建立新的運算子字符](timestream-for-influx-getting-started-operator-token.md)。  
如果您需要在資料庫執行個體可用後變更使用者密碼，您可以修改資料庫執行個體來執行此操作。如需修改 資料庫執行個體的詳細資訊，請參閱[更新資料庫執行個體](timestream-for-influx-managing-modifying-db.md)。  

![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/CreateInfluxDatabaseDetails.png)


1. 在**執行個體組態**區段中，選取 **db.influx.large** 資料庫執行個體類別。

1. 在**儲存組態**區段中，選取**儲存類型的** **Influx IO Included (3K)**。

1. 在**連線組態**區段中，選取**網路類型的** **IPv4**。請確定您的 InfluxDB 執行個體與您新建立的 EC2 執行個體位於相同的子網路中。在**公開存取**下，選取**不可公開存取**，讓您的資料庫執行個體成為私有。  
![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/ConnectivityConfiguration.png)

1. 在**容錯移轉設定**和**參數群組設定**區段中，保留預設值。

1. 在日誌**交付設定中設定日誌**，並建立標籤 （選用）。如需日誌的詳細資訊，請參閱 [在 Timestream Influxdb 執行個體上檢視 InfluxDB 日誌的設定](timestream-for-influx-managing-view-influx-logs.md)。如需新增標籤的詳細資訊，請參閱[將標籤新增至資源](tagging-keyspaces-influxdb.md)。

1. 選擇**建立 InfluxDB 資料庫**。

1. 在**資料庫**清單中，選擇新 InfluxDB 執行個體的名稱以顯示其詳細資訊。在其可供使用之前，資料庫執行個體會處於**建立中**狀態。

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

**重要**  
目前，您無法修改現有執行個體的運算 （執行個體類型） 和儲存 （儲存類型） 組態。

## 步驟 3：存取 InfluxDB UI
<a name="timestream-for-influx-getting-started-creating-db-instance-step-3"></a>

若要從私有 Timestream for InfluxDB 資料庫執行個體存取 InfluxDB UI，您必須在相同的子網路和安全群組內從 連線。促進此連線的一種方法是在私有子網路中建立堡壘主機。

堡壘主機是一種特殊用途的伺服器，可做為關鍵系統的安全進入點，保護您的網路免於外部存取。它可做為安全內部網路與外部世界之間的閘道。

**注意**  
如需公開存取的 Timestream for InfluxDB 資料庫執行個體，您可以透過 主控台中執行個體詳細資訊頁面上的 InfluxDB UI 按鈕存取 InfluxDB **InfluxDB UI**。請注意，無法公開存取的執行個體會停用此按鈕。  
如果您有公有資料庫執行個體，請透過主控台連線至 InfluxDB UI，然後繼續 [步驟 4：將 Telegraf 資料傳送至 InfluxDB 執行個體](#timestream-for-influx-getting-started-creating-db-instance-step4)。

![摘要界面顯示私有 InfluxDB 資料庫的詳細資訊。InfluxDB UI 按鈕已停用。](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/InfluxDB-database-summary.png)


請依照下列步驟建立和設定堡壘主機：

1. **建立堡壘主機：**若要建立堡壘主機，您可以啟動新的 EC2 執行個體或使用現有的執行個體。確保執行個體具有必要的網路設定，以存取您用來為嘗試存取的 InfluxDB 執行個體建立私有 Timestream 的安全群組。

1. **連線至 InfluxDB UI：**建立堡壘主機後，您可以使用主控台中顯示的端點來連線至 InfluxDB UI。端點的格式為 `<db-identifier>-<*>.timestream-influxdb.<region>.on.aws`。在中國，它會是 `<db-identifier>-<*>.timestream-influxdb.<region>.on.amazonwebservices.com.rproxy.govskope.ca.cn`。

1. **設定堡壘主機進行本機轉送：**若要設定本機轉送，請使用 AWS Systems Manager (SSM) 工作階段管理員。執行下列命令，將 {{bastion-ec2-instance-id}} 取代為堡壘主機執行個體的 ID、將{{端點}}取代為上述主控台中顯示的端點，並將 {{port-number}} 取代為您要使用的連接埠號碼：

   ```
   aws ssm start-session --target {{bastion-ec2-instance-id}} \
   --document-name AWS-StartPortForwardingSessionToRemoteHost \
   --parameters '{"host":["{{endpoint}}"], "portNumber":["{{port-number}}"], "localPortNumber":["{{port-number}}"]}'
   ```

   系統可能會提示您安裝 SessionManagerPlugin。如需詳細資訊，請參閱[安裝 的 Session Manager 外掛程式 AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)。

1. **存取 InfluxDB UI：**完成上述步驟後，您可以在 http：//localhost：{{port-number}} 存取 InfluxDB UI。您需要確認「不安全」訊息。

1. **啟用網域名稱驗證：**若要啟用網域名稱驗證，請將以下行新增至您的`/etc/hosts`檔案 (Linux)、 `/private/etc/hosts` (Mac) 或 `C:\Windows\System32\drivers\etc`(Windows)。

   ```
   127.0.0.1    {{endpoint}}
   ```

1. 您現在可以使用 https：//{{endpoint}}：{{port-number}} 存取 InfluxDB UI。

## 步驟 4：將 Telegraf 資料傳送至 InfluxDB 執行個體
<a name="timestream-for-influx-getting-started-creating-db-instance-step4"></a>

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

1. 連線至 InfluxDB UI 後，您應該會看到含有登入提示的新瀏覽器視窗。輸入您先前用來建立 InfluxDB 資料庫執行個體的登入資料。

1. 在左側導覽窗格中，按一下箭頭圖示，然後選取 **API 權杖**。

1. 針對此測試，選擇**產生 API Token**。從下拉式清單中選取**所有存取 API 權杖**。
**注意**  
對於生產案例，我們建議您建立具有特定存取權的字符，以存取專為特定 Telegraf 需求建置的必要儲存貯體。  
![](http://docs.aws.amazon.com/zh_tw/timestream/latest/developerguide/images/kronos/AllAccessAPIToken.png)

1. 您的字符會顯示在畫面上。
**重要**  
請務必複製並儲存字符，因為它不會再次顯示。

1. 依照《*Amazon Elastic Compute Cloud 使用者指南*》中的使用 SSH 連線至 Linux 執行個體中的步驟，連線至您先前建立的 EC2 執行個體。 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)

   建議您使用 SSH 連線至 EC2 執行個體。如果 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 執行個體的公用 IPv4 DNS 為 `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
   ```

1. 取得執行個體上安裝的 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
   ```

1. 設定您的 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
      ```

   1. 設定 CPUs、記憶體指標和磁碟用量的輸入外掛程式。

      ```
      [[inputs.cpu]]
        percpu = true
        totalcpu = true
        collect_cpu_time = false
        report_active = false
      
      [[inputs.mem]]
      
      [[inputs.disk]]
        ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
      ```

   1. 設定輸出外掛程式，將資料傳送至您的 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"
      ```

   1. 設定 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 on start.
        describe_database_on_start = false
        mapping_mode = "multi-table" # allows multiple 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
      ```

1. 啟用並啟動 Telegraf 服務。

   ```
   $ sudo systemctl enable telegraf
   $ sudo systemctl start telegraf
   ```

## 步驟 5：刪除 Amazon EC2 執行個體和 InfluxDB 資料庫執行個體
<a name="timestream-for-influx-getting-started-creating-db-instance-step5"></a>

使用 InfluxDB 資料庫執行個體搭配 InfluxDB UI 探索 Telegraf 產生的資料之後，請同時刪除 EC2 和 InfluxDB 資料庫執行個體，讓您不再需要支付這些執行個體的費用。

**若要刪除 EC2 執行個體：**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：// 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取 EC2 執行個體名稱旁的核取方塊，然後選取**執行個體狀態**。選擇**終止 （刪除） 執行個體**。

1. 出現確認提示時，請選擇**終止 (刪除)**。

如需刪除 EC2 執行個體的詳細資訊，請參閱《[Amazon Elastic Compute Cloud 使用者指南》中的終止 Amazon EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)。 **

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

1.  登入 AWS 管理主控台 ，並在 https：// 開啟 Amazon Timestream for InfluxDB 主控台。 [https://console.aws.amazon.com/timestream/](https://console.aws.amazon.com/timestream/) 

1. 在導覽窗格中，選擇 **InfluxDB 資料庫**。

1. 選取您要刪除的資料庫執行個體。選擇 **Delete** (刪除)

1. 確認刪除，然後選擇**刪除**。