

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建适用于 InfluxDB 的 Timestream 只读副本集群
<a name="timestream-for-influx-create-rr-cluster"></a>

适用于 InfluxDB 的 Timestream 只读副本集群包含一个写入器数据库实例和一个读取器数据库实例，位于不同可用区。适用于 InfluxDB 的 Timestream 只读副本集群可提供高可用性、增加读取工作负载的容量以及在配置到副本的失效转移时实现更快的失效转移。

## 数据库集群先决条件
<a name="timestream-for-influx-create-prereq"></a>

**重要**  
以下是创建只读副本集群之前需要完成的先决条件。

**Topics**
+ [

### 为数据库集群配置网络
](#timestream-for-influx-config-network)
+ [

### 其他先决条件
](#timestream-for-influx-addl-prereqs)

### 为数据库集群配置网络
<a name="timestream-for-influx-config-network"></a>

您只能在虚拟私有云（VPC）中基于 Amazon VPC 服务创建适用于 InfluxDB 的 Timestream 只读副本数据库集群。它必须位于至少 AWS 区域 有三个可用区的中。为数据库集群选择的数据库子网组必须包含至少三个可用区。此配置可确保数据库集群中的每个数据库实例都位于不同的可用区。

要从同一 VPC 中的 EC2 实例以外的资源连接到数据库集群，请手动配置网络连接。

### 其他先决条件
<a name="timestream-for-influx-addl-prereqs"></a>

**在创建只读副本集群之前，请考虑以下附加先决条件：**

要定制您的数据库集群的配置参数，请通过必需的参数设置来指定数据库集群参数组。有关创建或修改数据库集群参数组的信息，请参阅[只读副本集群的参数组](timestream-for-influx-working-read-replica.md#timestream-for-influx-rr-param-groups)。

确定要为您的数据库集群指定的 TCP/IP 端口号。有些公司的防火墙将会阻止通往这些默认端口的连接。如果您的公司防火墙阻止默认端口，请为数据库集群选择其他端口。数据库集群中的所有数据库实例均使用相同的端口。

## 创建数据库集群
<a name="timestream-for-influx-create-cluster"></a>

你可以使用 AWS 管理控制台、或 Amazon Timestream for InfluxDB API 为 InfluxDB 只读副本数据库集群创建 Timestream。 AWS CLI

------
#### [ Using the AWS 管理控制台 ]

通过在**部署设置**部分中选择**带只读副本的集群**，创建适用于 InfluxDB 的 Timestream 只读副本数据库集群。

使用控制台创建只读副本数据库集群：

1. 登录到 [AWS 管理控制台](https://console.aws.amazon.com/timestream)，并打开 Amazon Timestream 控制台。

1. 在的右上角 AWS 管理控制台，选择要 AWS 区域 在其中创建只读副本数据库集群的。

1. 在导航窗格中，选择 **InfluxDB 数据库**。

1. 选择**创建 InfluxDB 数据库**。

1. 在**部署设置**中，选择**带只读副本的集群**。

   选择该选项后，将显示一条消息，提示您需要通过 AWS Marketplace 小工具激活订阅。点击**查看订阅选项**。请注意，订阅生效可能需要 1-2 分钟。  
![\[创建 InfluxDB 数据库界面，显示新数据库可用的不同部署设置。已选中“带只读副本的集群”选项。\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/images/kronos/deployment_settings_rr.jpg)  
![\[部署设置界面显示订阅正在进行的消息。\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/images/kronos/subscription_in_progress.jpg)

1. 订阅激活后，点击**查看订阅**。  
![\[部署设置界面显示订阅现已激活的消息。\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/images/kronos/subscription_success_message.jpg)

1. 将弹出一个窗口，显示每个区域中每 vCPU 每实例小时的成本信息。这遵循相同的计算定价模型，即根据您选择的实例类型，对实例处于活动状态的小时数计费。您只需要订阅一次该附加组件，即可在所有可使用适用于 InfluxDB 的 Timestream 的区域创建实例。  
![\[订阅选项表单，显示每个区域中每 vCPU 每实例小时的定价详情。\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/images/kronos/purchase_subscription.png)
**重要**  
要订阅该优惠，您需要拥有 AWSMarketplaceManageSubscriptions 或 AWSMarketplaceFullAccess权限。有关这些权限的更多信息，请查看[控制对 AWS Marketplace 订阅的访问](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-iam-users-groups-policies.html)权限。

1. 确认订阅后，该服务将根据实例所在区域自动选择区域。

1. 在**数据库凭证**中，填写以下字段：

   1. 对于**数据库集群名称**，请输入数据库集群的标识符。

   1. 提供 InfluxDB 基本的初始配置参数：**用户名**、**组织名称**、**存储桶名称**以及**密码**。

1. 在**实例配置**中，指定**数据库实例类**。选择最适合工作负载需求的实例大小。请注意，此实例类型将用于只读副本数据库集群中的所有实例。

1. 在**存储配置**中，选择适合您需求的**存储类型**。在所有情况下，仅需要配置已分配的存储空间。请注意，此存储类型将用于只读副本数据库集群中的所有实例。

1. 在**连接配置**部分，请确保 InfluxDB 集群与需要连接到适用于 InfluxDB 的 Timestream 数据库实例的客户端位于同一子网中。您还可以在**公共访问**子部分中，选择将数据库实例设为公开可用。

1. 选择**创建 InfluxDB 数据库**。

1. 在 **InfluxDB 数据库**列表中，选择新 InfluxDB 集群的名称，以显示其详细信息。数据库集群具有**正在创建**状态，直到其就绪可供使用。

1. 当状态变为**可用**时，即可连接到该数据库集群。根据数据库实例类和存储量，新实例可能需要等待 20 分钟时间才可用。  
![\[数据库集群摘要页面显示两个实例均处于“可用”状态。\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/images/kronos/cluster_details_page.png)

1. 创建完成后，您可以点击数据库集群标识符，以检索新创建集群的相关信息。显示实例模式为 **PRIMARY** 的端点是您需要用于写入和引擎管理的端点。

------
#### [ Using the AWS CLI ]

要使用创建数据库实例 AWS Command Line Interface，请使用以下参数调用`create-db-cluster`命令。将每个 *user input placeholder* 替换为您自己的信息。

```
aws timestream-influxdb create-db-cluster \
      --region region \
      --vpc-subnet-ids subnet-ids \
      --vpc-security-group-ids security-group-ids \
      --db-instance-type db.influx.large \
      --db-storage-type InfluxIOIncludedT2 \
      --allocated-storage 400 \
      --password password \ 
      --name cluster-name \
      --deployment-type MULTI_NODE_READ_REPLICAS \
      --publicly-accessible
      //--failover-mode is optional and defaults to AUTOMATIC.
```

------

### 创建只读副本集群的设置
<a name="timestream-for-influx-rr-create-settings"></a>

有关创建只读副本集群时所选设置的详细信息，请参阅下表。有关这些 AWS CLI 选项的更多信息，请参阅[create-db-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/timestream-influxdb/create-db-cluster.html)。有关适用于 InfluxDB 的 Amazon Timestream API 参数的更多信息，请参阅。[CreateDbCluster](https://docs.aws.amazon.com/ts-influxdb/latest/ts-influxdb-api/API_CreateDbCluster.html)


****  

| 控制台设置 | 设置说明 | CLI 选项和适用于 InfluxDB 的 Timestream API 参数 | 
| --- | --- | --- | 
| 分配的存储空间 | 为数据库集群中的每个数据库实例分配的存储量（以 GiB 为单位）。有关更多信息，请参阅[InfluxDB 实例存储](timestream-for-influxdb.md#timestream-for-influx-dbi-storage)。 |  **CLI 选项：**`--allocated-storage` **API 参数：**`allocatedStorage`  | 
| 数据库端口 | InfluxDB 接受连接的端口号。 有效值：1024-65535 默认值：8086 限制：该值不能为 2375-2376、7788-7799、8090 或 51678-51680。  |  **CLI 选项：**`--port` **API 参数：**`port`  | 
| 数据库集群名称 | 唯一标识数据库集群的名称。每个客户和每个区域的数据库实例名称都必须具有唯一性。 |  **CLI 选项：**`--name` **API 参数：**`name`  | 
| 数据库实例类型 | 适用于 InfluxDB 的 Timestream 数据库集群中各数据库实例（例如 db.influx.xlarge）的计算和内存容量。如有可能，请选择足够大的数据库实例类以便典型查询工作集能够保留在内存中。如果在内存中保留工作集，系统可以避免写入到磁盘，从而提高性能。  |  **CLI 选项：**`--db-instance-type` **API 参数：**`dbInstanceType`  | 
| 数据库集群参数组 |  要分配给数据库集群的数据库参数组 ID。数据库参数组指定数据库的配置方式。例如，数据库参数组可指定查询并发的限制。 |  **CLI 选项：**`--db-parameter-group-identifier` **API 参数：**`dbParameterGroupIdentifier`  | 
| 部署类型 |  指定将数据库集群部署为多节点只读副本还是多可用区多节点只读副本。 可能的值：`MULTI_NODE_READ_REPLICAS`  |  **CLI 选项：**`--deployment-type` **API 参数：**`deploymentType`  | 
| VPC 子网 ID | 要用于数据库集群的数据库子网 ID。选择选择现有以使用现有的数据库子网组，然后从现有数据库子网组下拉列表中，选择所需的子网组。选择自动设置，让适用于 InfluxDB 的 Timestream 选择兼容的数据库子网组。 |  **CLI 选项：**`--vpc-subnet-ids` **API 参数：**`vpcSubnetIds`  | 
| Organization（组织） | InfluxDB 中初始管理员用户的初始组织名称。InfluxDB 组织是用户组的工作空间。 |  **CLI 选项：**`--organization` **API 参数：**`organization`  | 
| 存储桶 | 初始 InfluxDB 存储桶的名称。所有 InfluxDB 数据都存储在存储桶中。存储桶结合数据库的概念和保留期（每个数据点存在的持续时间）。存储桶属于组织。 |  **CLI 选项：**`--bucket` **API 参数：**`bucket`  | 
| 日志导出 |  用于将 InfluxDB 引擎日志发送至指定 S3 存储桶的配置。 S3 存储桶日志传输的配置：`s3Configuration -> (structure)` 要向其传输日志的 S3 存储桶名称：`bucketName -> (string)` 指示是否启用向 S3 存储桶传输日志：`enabled -> (boolean)` 速记语法：`s3Configuration={bucketName=string, enabled=boolean}`  |  **CLI 选项：**`--log-delivery-configuration` **API 参数：**`logDeliveryConfiguration`  | 
| 密码 | 在 InfluxDB 中创建的初始管理员用户的密码。此密码将允许您访问 InfluxDB UI 以执行各种管理任务，还可以使用 InfluxDB CLI 创建运算符令牌。这些属性将存储在账户的 AWS Secrets Manager 中创建的密钥中。 |  **CLI 选项：**`--password` **API 参数：**`password`  | 
| 用户名 | 在 InfluxDB 中创建的初始管理员用户的用户名。必须以字母开头，且不能以连字符结束或包含两个连续的连字符。例如，my-user1。此用户名将允许您访问 InfluxDB UI 以执行各种管理任务，还可以使用 InfluxDB CLI 创建运算符令牌。这些属性将存储在账户的 AWS Secrets Manager 中创建的密钥中。 |  **CLI 选项：**`--username` **API 参数：**`username`  | 
| 公有访问权限 | 指示是否可从 VPC 外部访问数据库集群。请选择**可公开访问**，为数据库集群提供公有 IP 地址，这表示可在 VPC 外部访问该实例。要可供公开访问，数据库集群还必须在 VPC 的公有子网中。 请选择**不可公开访问**，以设置只能从 VPC 内部访问数据库集群。  |  **CLI 选项：**`--publicly-accessible``--no-publicly-accessible` **API 参数：**`publiclyAccessible`  | 
| 数据库存储类型 | InfluxDB 数据。根据工作负载的要求，您可以在三种不同类型的预置 Influx IOPS 内含存储之间进行选择： 可能的值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/timestream/latest/developerguide/timestream-for-influx-create-rr-cluster.html)  |  **CLI 选项：**`--db-storage-type``--no-publicly-accessible` **API 参数：**`dbStorageType`  | 
| VPC 安全组 |  IDs 要与数据库实例关联的 VPC 安全组列表。 |  **CLI 选项：**`--vpc-security-group-ids``--no-publicly-accessible` **API 参数：**`vpcSecurityGroupIds`  | 
| VPC 子网 IDs |  IDs 要与数据库实例关联的 VPC 子网列表。使用 InfluxDB 数据库集群的 Timestream 部署时， IDs 在不同的可用区中至少提供两个 VPC 子网。 |  **CLI 选项：**`--vpc-subnet-ids` **API 参数：**`vpcSubnetIds`  | 
| 失效转移模式 | 集群如何响应主实例故障。可使用以下选项进行配置：`AUTOMATIC`：如果主实例失败，系统会自动将只读副本提升为新的主实例。 `NO_FAILOVER`：如果主实例失败，系统会尝试在不提升只读副本的情况下还原主实例。在主实例还原之前，集群将保持不可用状态。  |  **CLI 选项：**`--failover-mode` **API 参数：**`failoverMode`  | 

**重要**  
作为数据库集群响应对象的一部分，您将收到 `influxAuthParametersSecretArn`。这将在账户中保存 Secrets Manager 密钥的 ARN。仅在 InfluxDB 数据库实例可用后才会进行填充。该密钥包含 `CreateDbInstance` 过程中提供的 Influx 身份验证参数。这是**只读**副本，因为此密钥的任何updates/modifications/deletions副本都不会影响创建的数据库实例。如果您删除此密钥，我们的 API 响应仍将引用已删除的密钥 ARN。