Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
¿Qué es Timestream para InfluxDB?
Amazon Timestream para InfluxDB es un motor de base de datos de series temporales gestionado que facilita a los desarrolladores DevOps y equipos de aplicaciones la ejecución de bases de datos de InfluxDB para aplicaciones de series temporales en tiempo real mediante código abierto. AWS APIs Con Amazon Timestream para InfluxDB, es fácil configurar, operar y escalar cargas de trabajo de series temporales que pueden responder consultas con un tiempo de respuesta de consultas de milisegundos de un solo dígito.
Amazon Timestream para InfluxDB le da acceso a las funciones de la conocida versión de código abierto de InfluxDB en su rama 2.x. Esto significa que el código, las aplicaciones y las herramientas que ya utiliza en la actualidad con sus bases de datos de código abierto de InfluxDB existentes deberían funcionar a la perfección con Amazon Timestream para InfluxDB. Amazon Timestream para InfluxDB puede realizar automáticamente una copia de seguridad de la base de datos y mantener el software de la base de datos actualizado con la versión más reciente. Además, Amazon Timestream para InfluxDB facilita el uso de la replicación para mejorar la disponibilidad de la base de datos y mejorar la durabilidad de los datos. Como ocurre con todos los AWS servicios, no se requieren inversiones iniciales y solo paga por los recursos que utilice.
Instancias de base de datos
Una instancia de base de datos es un entorno de base de datos aislado que se ejecuta en la nube. Es el componente básico de Amazon Timestream para InfluxDB. Una instancia de base de datos puede contener varias bases de datos creadas por el usuario (u organizaciones y grupos en el caso de las bases de datos InfluxDb 2.x), y se puede acceder a ella mediante las mismas herramientas y aplicaciones de cliente que podría utilizar para acceder a una instancia de InfluxDB autogestionada e independiente. Las instancias de base de datos son fáciles de crear y modificar con las herramientas de línea de AWS comandos, las operaciones de Amazon Timestream API InfluxDB o. AWS Management Console
nota
Amazon Timestream para InfluxDB permite el acceso a las bases de datos mediante las operaciones de Influx y la API interfaz de usuario de Influx. Amazon Timestream para InfluxDB no permite el acceso directo al host.
Puede tener hasta 40 instancias de Amazon Timestream para InfluxDB.
Cada instancia de base de datos tiene un nombre de instancia de base de datos. Este nombre proporcionado por el cliente identifica de forma exclusiva la instancia de base de datos cuando interactúa con Amazon Timestream for InfluxDB y sus comandos. API AWS CLI El nombre de la instancia de base de datos debe ser único para ese cliente en una región. AWS
El nombre de la instancia de base de datos forma parte del DNS nombre de host asignado a su instancia por Timestream para InfluxDB. Por ejemplo, si especifica influxdb1 como nombre de la instancia de base de datos, Timestream asignará automáticamente un punto final a su instancia. DNS Un ejemplo de punto final esinfluxdb1-3ksj4dla5nfjhi.us-east-1.timestream-influxdb.amazonaws.com
, ¿dónde influxdb1
está el nombre de la instancia?
En el punto final de ejemploinfluxdb1-3ksj4dla5nfjhi.us-east-1.timestream-influxdb.amazonaws.com
, la cadena 3ksj4dla5nfjhi
es un identificador de cuenta único generado por AWS. El identificador 3ksj4dla5nfjhi
del ejemplo no cambia para la cuenta especificada en una región determinada. Por lo tanto, todas las instancias de base de datos creadas por esta cuenta comparten el mismo identificador fijo. Tenga en cuenta las siguientes características del identificador fijo:
-
Actualmente, Timestream for InfluxDB no admite el cambio de nombre de las instancias de base de datos.
-
Si elimina y vuelve a crear una instancia de base de datos con el mismo identificador de instancia de base de datos, el punto de conexión es el mismo.
-
Si utiliza la misma cuenta para crear una instancia de base de datos en una región diferente, el identificador generado internamente es diferente porque la región es diferente, como en
influxdb2.4a3j5du5ks7md2.us-west-1.timestream-influxdb.amazonaws.com
.
Cada instancia de base de datos admite solo un motor de base de datos Timestream for InfluxDB.
Al crear una instancia de base de datos, InfluxDB requiere que se especifique el nombre de una organización. Una instancia de base de datos puede alojar varias organizaciones y varios depósitos asociados a cada organización.
Amazon Timestream para InfluxDB le permite crear una cuenta de usuario maestra y una contraseña para su instancia de base de datos como parte del proceso de creación. Este usuario maestro tiene permisos para crear organizaciones y depósitos y realizar operaciones de lectura, escritura, eliminación y modificación de sus datos. También podrás acceder a InfluxUI y recuperar tu token de operador al iniciar sesión por primera vez. Desde allí, también podrás gestionar todos tus tokens de acceso. Debe establecer la contraseña de usuario maestra al crear una instancia de base de datos, pero puede cambiarla en cualquier momento mediante InfluxAPI, Influx CLI o InfluxUI.
Clases de instancia de base de datos
La clase de instancia de base de datos determina la capacidad de cálculo y memoria de una instancia de base de datos de fi UbfkyxDB
Amazon Timestream. La clase de instancia de base de datos que se necesite dependerá de la potencia de procesamiento y de los requisitos de memoria.
Una clase de instancia de base de datos determina tanto el tamaño como el tipo de clase de instancia de base de datos. Por ejemplo, db.influx
es un tipo de clase de instancia de base de datos optimizada para la memoria adecuada para los requisitos de memoria de alto rendimiento relacionados con la ejecución de cargas de trabajo. InfluxDb Dentro del tipo de clase de db.influx
instancia, db.influx.2xlarge
hay una clase de instancia de base de datos. El tamaño de esta clase es de 2xlarge.
Para obtener más información sobre los precios de las clases de instancia, consulte los precios de Amazon Timestream
Tipos de clase de instancia de base de datos
Amazon Timestream para InfluxDB admite clases de instancias de base de datos para los siguientes casos de uso optimizados para los casos de uso de InfluxDB.
-
db.influx
—Estas clases de instancias son ideales para ejecutar cargas de trabajo que consumen mucha memoria en bases de datos de InfluxDB de código abierto
Especificaciones de hardware para las clases de instancias de base de datos
La siguiente terminología describe las especificaciones de hardware de las clases de instancias de base de datos:
-
v CPU
El número de unidades centrales de procesamiento virtuales (CPUs). Una virtual CPU es una unidad de capacidad que se puede utilizar para comparar clases de instancias de base de datos.
-
Memoria (GiB)
LaRAM, en gibibytes, asignada a la instancia de base de datos. Suele haber una relación constante entre la memoria y v. CPU Como ejemplo, tomemos la clase de instancia db.flux, que tiene una CPU relación entre memoria y v similar a la clase de instancia EC2 r7g.
-
Optimizado para Influx
Una instancia de base de datos utiliza una pila de configuración optimizada y proporciona capacidad adicional y dedicada para las E/S. Esta optimización proporciona el mejor rendimiento, ya que reduce al mínimo la contención entre las E/S y otro tráfico procedente de la instancia.
-
Ancho de banda de red
La velocidad de red relativa a otras clases de instancia de base de datos. En la siguiente tabla, encontrarás detalles de hardware sobre las clases de instancias de Amazon Timestream for InfluxDB.
Clase de instancias | v CPU | Memoria (GiB) | Storage Type | Ancho de banda de red (Gbps) |
---|---|---|---|---|
db.influx.medium | 1 | 8 | Influencia incluida IOPS | 10 |
db.influx.large | 2 | 16 | Influencia incluida IOPS | 10 |
db.influx.xlarge | 4 | 32 | Influencia incluida IOPS | 10 |
db.influx.2xlarge | 8 | 64 | Influencia incluida IOPS | 10 |
db.influx.4xlarge | 16 | 128 | Influencia incluida IOPS | 10 |
db.influx.8xlarge | 32 | 256 | Influencia incluida IOPS | 12 |
db.influx.12 x large | 48 | 384 | Influencia incluida IOPS | 20 |
db.influx.16xlarge | 64 | 512 | Influencia incluida IOPS | 25 |
Almacenamiento de instancias de InfluxDB
Las instancias de bases de datos de Amazon Timestream para InfluxDB utilizan los volúmenes incluidos de Influx para bases de datos y IOPS almacenamiento de registros.
En algunos casos, es posible que la carga de trabajo de la base de datos no pueda alcanzar el 100 por ciento de la IOPS que ha aprovisionado. Para obtener más información, consulte Factores que afectan al rendimiento del almacenamiento. Para obtener más información sobre los precios de almacenamiento de Timestream for InfluxDB, consulte los precios de Amazon Timestream.
Tipos de almacenamiento de Amazon Timestream para InfluxDB
Amazon Timestream para InfluxDB admite un tipo de almacenamiento, Influx incluido. IOPS Puede crear Timestream para instancias de InfluxDB con hasta 16 tebibytes (TiB) de almacenamiento.
Esta es una breve descripción del tipo de almacenamiento disponible:
-
Almacenamiento incluido Influx IO: el rendimiento del almacenamiento es la combinación de las operaciones de E/S por segundo (IOPS) y la rapidez con la que el volumen de almacenamiento puede realizar lecturas y escrituras (rendimiento del almacenamiento). En los volúmenes de almacenamiento IOPS incluidos en Influx, Amazon Timestream para InfluxDB ofrece 3 niveles de almacenamiento preconfigurados con el rendimiento IOPS óptimo necesario para diferentes tipos de cargas de trabajo.
Tamaño de las instancias de InfluxDB
La configuración óptima de una instancia de Timestream para InfluxDB depende de muchos factores, entre los que se incluyen la tasa de ingesta, el tamaño de los lotes, la cardinalidad de las series temporales y las consultas simultáneas y los tipos de consultas. En un esfuerzo por ofrecer recomendaciones de tamaño, nos centramos en una carga de trabajo ejemplar con las siguientes características:
-
Los datos los recopila y escribe una flota de agentes de Telegraf que recopilan el sistema, la memoriaCPU, el disco, las E/S, etc. de un centro de datos.
Cada solicitud de escritura contiene 5000 líneas.
-
El tipo de consultas que se ejecutan en el sistema se clasifican como consultas de «complejidad moderada». Esta categoría de consultas presenta las siguientes características:
-
Tienen varias funciones y una o dos expresiones regulares
-
También se puede agrupar por cláusulas o muestrear un intervalo de tiempo de varias semanas.
-
Normalmente tarda de unos cientos de milisegundos a un par de miles de milisegundos en ejecutarse.
-
CPUfavorece principalmente el rendimiento de las consultas.
-
Clase de instancia | Storage Type | Escribe (líneas por segundo) | Lecturas (consultas por segundo) |
---|---|---|---|
db.influx.large | Influx IO incluye 3K | ~50 000 | <10 |
db.influx.2xlarge | Influence IO incluido, 3K | ~150.000 | <25 |
db.influx.4xlarge | Influence IO incluido (3K) | ~200.000 | ~25 |
db.influx.4xlarge | Influence IO incluido (12 K) | ~250.000 | ~35 |
db.influx.8x large | Entrada IP incluida: 12 K | ~ 500 000 | ~50 |
db.influx. 12 x grande | Entrada IP incluida (12 K) | <750.000 | <100 |
Regiones de AWS y zonas de disponibilidad
Los recursos de informática en la nube de Amazon están alojados en varias ubicaciones de todo el mundo. Estas ubicaciones se componen de y. Regiones de AWS Cada AWS región es un área geográfica separada. Cada AWS región tiene varias ubicaciones aisladas conocidas como zonas de disponibilidad.
nota
Para obtener información sobre cómo encontrar una AWS región, consulta Regiones y zonas en la Guía del EC2 usuario de Amazon.
Amazon Timestream para InfluxDB le permite colocar recursos, como instancias de bases de datos y datos, en varias ubicaciones.
Amazon opera centros state-of-the-art de datos de alta disponibilidad. Aunque es infrecuente, puede suceder que se produzcan errores que afecten a la disponibilidad de las instancias de bases de datos que están en la misma ubicación. Si aloja todas sus instancias de base de datos en una ubicación que se ve afectada por dicho error, ninguna de sus instancias de base de datos estará disponible.
Es importante recordar que cada AWS región es completamente independiente. Cualquier actividad de Amazon Timestream for InfluxDB que inicie (por ejemplo, crear instancias de bases de datos o enumerar las instancias de bases de datos disponibles) se ejecuta solo en su región predeterminada actual. AWS La Región de AWS por defecto se puede cambiar en la consola, o estableciendo la variable de entorno AWS_DEFAULT_REGION
. O bien, se puede anular mediante el uso del parámetro con (). --region
AWS Command Line Interface AWS CLI Para obtener más información, consulte Configuración de AWS Command Line Interface, específicamente, las secciones sobre variables de entorno y opciones de línea de comandos.
Para crear o trabajar con una instancia de base de datos de Amazon Timestream for InfluxDB en una región AWS específica, utilice el punto de enlace del servicio regional correspondiente.
AWS Disponibilidad regional
La siguiente tabla muestra AWS las regiones en las que Amazon Timestream para InfluxDB está disponible actualmente y el punto final de cada región.
Nombre de la región de AWS | Región | Punto de conexión | Protocolo |
---|---|---|---|
Este de EE. UU. (Norte de Virginia) | us-east-1 | timestream-influxdb.us-east-1.amazonaws.com | HTTPS |
Este de EE. UU. (Ohio) | us-east-2 | timestream-influxdb.us-east-2.amazonaws.com | HTTPS |
Oeste de EE. UU. (Oregón) | us-west-2 | timestream-influxdb.us-west-2.amazonaws.com | HTTPS |
Asia Pacífico (Bombay) | ap-south-1 | timestream-influxdb.ap-south-1.amazonaws.com | HTTPS |
Asia-Pacífico (Singapur) | ap-southeast-1 | timestream-influxdb.ap-southeast-1.amazonaws.com | HTTPS |
Asia Pacífico (Sídney) | ap-southeast-2 | timestream-influxdb.ap-southeast-2.amazonaws.com | HTTPS |
Asia-Pacífico (Tokio) | ap-northeast-1 | timestream-influxdb.ap-northeast-1.amazonaws.com | HTTPS |
Europa (Fráncfort) | eu-central-1 | timestream-influxdb.eu-central-1.amazonaws.com | HTTPS |
Europa (Irlanda) | eu-west-1 | timestream-influxdb.eu-west-1.amazonaws.com | HTTPS |
Europa (Estocolmo) | eu-north-1 | timestream-influxdb.eu-north-1.amazonaws.com | HTTPS |
Canadá (centro) | ca-central-1 | timestream-influxdb.ca-central-1.amazonaws.com | HTTPS |
Europa (Londres) | eu-west-2 | timestream-influxdb.eu-west-2.amazonaws.com | HTTPS |
Europa (París) | eu-west-3 | timestream-influxdb.eu-west-3.amazonaws.com | HTTPS |
Para obtener más información sobre AWS las regiones en las que Amazon Timestream para InfluxDB está disponible actualmente y el punto de enlace de cada región, consulte los puntos de enlace y las cuotas de Amazon Timestream.
AWS Diseño de regiones
Cada AWS región está diseñada para estar aislada de las demás AWS regiones. Este diseño logra la mayor tolerancia a errores y estabilidad posibles.
Cuando consulta sus recursos, solo ve los recursos que están vinculados a la AWS región que especificó. Esto se debe a que AWS las regiones están aisladas unas de otras y no replicamos automáticamente los recursos entre AWS ellas.
AWS Zonas de disponibilidad
Al crear una instancia de base de datos, Amazon Timestream for InfluxDB elige una de forma aleatoria en función de la configuración de subred. Una zona de disponibilidad se representa mediante un código de AWS región seguido de una letra identificadora (por ejemplo,). us-east-1a
Usa el EC2 comando describe-availability
-zones Amazon de la siguiente manera para describir las regiones especificadas que están habilitadas para tu cuenta.
aws ec2 describe-availability-zones --region region-name
Por ejemplo, para describir las regiones de EE. UU. Este (Virginia del Norte) (us-east-1) que están habilitadas para tu cuenta, ejecuta el siguiente comando:
aws ec2 describe-availability-zones --region
us-east-1
No puede elegir la instancia de base de datos principal y secundaria en una implementación de base de datos Multi-AZ. Amazon Timestream para InfluxDB los elige de forma aleatoria. Para obtener más información sobre las implementaciones Multi-AZ, consulte Configuración y administración de una implementación Multi-AZ.
Facturación de instancias de base de datos para Amazon Timestream para InfluxDB
Las instancias de Amazon Timestream for InfluxDB se facturan en función de los siguientes componentes:
-
Horas de la instancia de base de datos (por hora): según la clase de instancia de base de datos de la instancia de base de datos, por ejemplo, db.influx.large. Los precios se muestran por hora, pero las facturas se ajustan hasta el segundo y muestran las horas en formato decimal. El uso de Amazon Timestream para InfluxDB se factura en incrementos de 1 segundo, con un mínimo de 10 minutos. Para obtener más información, consulte las clases de instancias de base de datos. Clases de instancia de base de datos
-
Almacenamiento (por GiB al mes): capacidad de almacenamiento que ha aprovisionado para su instancia de base de datos. Para obtener más información, consulte Almacenamiento de instancias de InfluxDB.
-
Transferencia de datos (por GB): transferencia de datos de entrada y salida de la instancia de base de datos desde o hacia Internet y otras AWS regiones.
Para obtener información sobre los precios de Amazon Timestream for InfluxDB, consulte la página de precios de Amazon Timestream
Configuración de Amazon Timestream para InfluxDB
Antes de utilizar Amazon Timestream para InfluxDB por primera vez, complete las siguientes tareas:
Si ya tienes una AWS cuenta, conoce tus requisitos de Amazon Timestream for InfluxDB y prefieres usar los valores predeterminados para Amazon. IAM VPC Cómo empezar con Timestream para InfluxDB
Regístrese para obtener una cuenta AWS
Si no tiene una AWS cuenta, complete los siguientes pasos para crear una.
Para crear una AWS cuenta
-
Ve a la página de inicio de AWS sesión
. -
Selecciona Crear una cuenta nueva y sigue las instrucciones.
nota
Parte del procedimiento de registro consiste en recibir una llamada telefónica e indicar un código de verificación en el teclado del teléfono.
Al crear una AWS cuenta, se crea un usuario raíz de la AWS cuenta. El usuario raíz tiene acceso a todos los AWS servicios y recursos de la cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario administrativo y utilice únicamente el usuario raíz para realizar tareas que requieran acceso de usuario raíz.
AWS le envía un correo electrónico de confirmación una vez finalizado el proceso de registro. En cualquier momento, puede ver la actividad de su cuenta actual y administrarla accediendo a https://aws.amazon.com/
Administración de usuarios
Crear un usuario administrativo
Creación de un usuario administrativo
Después de crear una AWS cuenta, cree un usuario administrativo para no utilizar el usuario root en las tareas diarias.
Proteja el usuario raíz de su AWS cuenta
Inicia sesión AWS Management Console como propietario de la cuenta seleccionando Usuario root e introduciendo la dirección de correo electrónico de tu AWS cuenta. En la siguiente página, escriba su contraseña. Para obtener ayuda para iniciar sesión con un usuario root, consulte Iniciar sesión como usuario root en la Guía del usuario de AWS inicio de sesión
Activa la autenticación multifactorial (MFA) para tu usuario root. Para obtener instrucciones, consulte Habilitar un MFA dispositivo virtual para el usuario raíz de su AWS cuenta (consola) en la Guía del IAM usuario.
Otorgue acceso programático
Los usuarios necesitan acceso programático si quieren interactuar con personas AWS ajenas a. AWS Management Console La forma de conceder el acceso programático depende del tipo de usuario que acceda a AWS.
Para conceder a los usuarios acceso mediante programación, elija una de las siguientes opciones:
¿Qué usuario necesita acceso programático? | Para | Mediante |
---|---|---|
Identidad de la fuerza laboral (usuarios gestionados en IAM Identity Center) | Utilice credenciales temporales para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o AWS APIs. | Siga las instrucciones de la interfaz que desee utilizar.* Para ello, consulte AWS CLI Configuración del Identity AWS CLI Center para usar IAM en elAWS CLI Guía del usuario .* Para obtener AWS SDKs información sobre las herramientas y AWS APIs, consulte en elAWS SDKsy la Guía de referencia de herramientas. |
IAM | Utilice credenciales temporales para firmar las solicitudes programáticas dirigidas a AWS CLISDKs, yAPIs. | Siga las instrucciones de Uso de credenciales temporales con AWS recursos de la Guía del IAM usuario. |
IAM | (No se recomienda) Utilice credenciales de larga duración para firmar las solicitudes programáticas dirigidas a AWS CLISDKs, yAPIs. | Siga las instrucciones de la interfaz que desea utilizar: Para el AWS CLI, consulte Autenticación mediante credenciales IAM de usuario en la Guía del AWS Command Line Interface usuario. Para obtener AWS SDKs información y herramientas, consulteAutenticarse con credenciales de larga duración en elAWS SDKsy Guía de referencia de herramientas .Para ver AWS APIs, consulteAdministrar las claves de acceso de los usuarios IAM en elIAMGuía del usuario. |
Determinar las necesidades
El componente básico de Amazon Timestream para InfluxDB es la instancia de base de datos. En una instancia de base de datos, usted crea sus buckets. Una instancia de base de datos proporciona una dirección de red llamada punto de enlace. Sus aplicaciones usarán este punto de enlace para conectarse a su instancia de base de datos. También accederá a su InfluxUI utilizando este mismo punto final desde su navegador. Al crear una instancia de base de datos, debe especificar detalles como el almacenamiento, la memoria, el motor y la versión de la base de datos, la configuración de la red y la seguridad. Controla el acceso de red a una instancia de base de datos mediante un grupo de seguridad.
Antes de crear una instancia de base de datos y un grupo de seguridad, debe conocer su instancia de base de datos y las necesidades de la red. Aquí se indican algunos aspectos importantes que se deben tener en cuenta:
-
Requisitos de recursos: ¿Cuáles son los requisitos de memoria y procesador para su aplicación o servicio? Use esta configuración como ayuda para determinar la clase de instancia de base de datos que se usará. Para ver las especificaciones sobre las clases de instancias de base de datos, consulte Clases de instancias de base de datos.
-
VPCy grupo de seguridad: lo más probable es que su instancia de base de datos esté en una nube privada virtual (VPC). Para conectarse a su instancia de base de datos, debe configurar reglas de grupo de seguridad. Estas reglas se configuran de forma diferente en función del tipo de VPC dispositivo que utilice y de cómo lo utilice. Por ejemplo, puede usar: una predeterminada VPC o una definida por el usuarioVPC.
En la siguiente lista se describen las reglas de cada VPC opción:
-
VPCPredeterminada: si su AWS cuenta tiene una configuración predeterminada VPC en la AWS región actual, VPC está configurada para admitir instancias de base de datos. Si especifica el valor predeterminado VPC al crear la instancia de base de datos, asegúrese de crear un grupo de VPC seguridad que autorice las conexiones desde la aplicación o el servicio a la instancia de base de datos Amazon Timestream for InfluxDB. Utilice la opción Grupo de seguridad de la VPC consola o para crear grupos de AWS CLI seguridad. VPC Para obtener más información, consulte el paso 3: Crear un grupo VPC de seguridad.
-
-
Definida por el usuario VPC: si desea especificar una definida por el usuario VPC al crear una instancia de base de datos, tenga en cuenta lo siguiente:
-
Asegúrese de crear un grupo de VPC seguridad que autorice las conexiones desde la aplicación o el servicio a la instancia de base de datos Amazon Timestream for InfluxDB. Utilice la opción Grupo de seguridad de la VPC consola o para crear grupos de AWS CLI seguridad. VPC Para obtener más información, consulte el paso 3: Crear un grupo VPC de seguridad.
-
VPCDeben cumplir ciertos requisitos para alojar instancias de base de datos, como tener al menos dos subredes, cada una en una zona de disponibilidad independiente. Para obtener más información, consulte Amazon VPC y Amazon Timestream para InfluxDB.
-
-
Alta disponibilidad: ¿necesita soporte de conmutación por error? En Amazon Timestream para InfluxDB, una implementación Multi-AZ crea una instancia de base de datos principal y una instancia de base de datos secundaria en espera en otra zona de disponibilidad para admitir la conmutación por error. Es recomendable usar implementaciones Multi-AZ para las cargas de trabajo de producción con el objeto de mantener una alta disponibilidad. Para fines de desarrollo y de pruebas, puede utilizar una implementación no Multi-AZ. Para obtener más información, consulte Implementaciones de instancias de base de datos Multi-AZ.
-
IAMpolíticas: ¿Tiene su AWS cuenta políticas que otorgan los permisos necesarios para realizar las operaciones de Amazon Timestream for InfluxDB? Si se conecta AWS mediante IAM credenciales, su IAM cuenta debe tener IAM políticas que concedan los permisos necesarios para realizar las operaciones del plano de control de Amazon Timestream for InfluxDB. Para obtener más información, consulte Identity and Access Management para Amazon Timestream para InfluxDB.
-
Puertos abiertos: ¿qué TCP puerto/IP escucha su base de datos? Los firewall de algunas empresas podrían bloquear las conexiones al puerto predeterminado para el motor de base de datos. El valor predeterminado de Timestream para InfluxDB es 8086.
-
AWS Región: ¿en qué AWS región desea que aparezca su base de datos? Tener la base de datos cerca de la aplicación o el servicio web puede reducir la latencia de la red. Para obtener más información, consulte Regiones de AWS y zonas de disponibilidad .
-
Subsistema de disco de base de datos: ¿cuáles son sus requisitos de almacenamiento? Amazon Timestream para InfluxDB proporciona tres configuraciones para su tipo de almacenamiento Influx IOPS Included:
-
Influx Io incluye 3k () IOPS SSD
-
Influx Io incluye 12k IOPS () SSD
-
Influx Io incluido (16 k) IOPS SSD
Para obtener más información sobre Amazon Timestream para el almacenamiento de InfluxDB, consulte Amazon Timestream para el almacenamiento de instancias de base de datos InfluxDB. Cuando tenga la información que necesita para crear el grupo de seguridad y la instancia de base de datos, vaya al siguiente paso.
-
Proporcione acceso a su instancia de base de datos mediante la creación de un grupo de seguridad VPC
VPClos grupos de seguridad proporcionan acceso a las instancias de base de datos en unVPC. Actúan como firewall para la instancia de base de datos asociada, controlan el tráfico entrante y saliente a nivel de instancia de base de datos. Las instancias de base de datos se crean de manera predeterminada con un firewall y un grupo de seguridad predeterminado que protege la instancia de base de datos.
Para poder conectarse a la instancia de base de datos, debe agregar reglas a un grupo de seguridad que permitan conectarse. Use la información de red y de configuración para crear reglas que permitan el acceso a la instancia de base de datos.
Por ejemplo, supongamos que tiene una aplicación que accede a una base de datos de su instancia de base de datos en unVPC. En este caso, debe añadir una TCP regla personalizada que especifique el rango de puertos y las direcciones IP que utiliza la aplicación para acceder a la base de datos. Si tienes una aplicación en una EC2 instancia de Amazon, puedes usar el grupo de seguridad que configuraste para la EC2 instancia de Amazon.
Crear un grupo de seguridad para el VPC acceso
Para crear un grupo de VPC seguridad, inicie sesión en AWS Management Console y seleccione VPC.
nota
Asegúrese de estar en la VPC consola, no en la consola Amazon Timesteam for InfluxDB.
-
En la esquina superior derecha de AWS Management Console, elija la AWS región en la que desee crear el grupo de seguridad y la instancia de base de datosVPC. En la lista de VPC recursos de Amazon para esa AWS región, deberías ver al menos una VPC o varias subredes. Si no lo tiene, no tiene un valor predeterminado VPC en esa AWS región. .
-
En el panel de navegación, elija Security Groups.
-
Elija Create Security Group (Creación de grupo de seguridad).
-
En la sección Detalles básicos de la página del grupo de seguridad, introduzca el nombre y la descripción del grupo de seguridad. Para ello VPC, elija la instancia de base de datos en la VPC que desee crear su instancia de base de datos.
-
En Inbound rules (Reglas de entrada), elija Add rule (Agregar regla).
-
En Tipo, elija Personalizado TCP.
-
En Source, elija un nombre de grupo de seguridad o introduzca el intervalo de direcciones IP (CIDRvalor) desde el que accede a la instancia de base de datos. Si elige My IP (Mi IP), esto permite el acceso a la instancia de base de datos desde la dirección IP detectada en su navegador.
En Source, elija un nombre de grupo de seguridad o escriba el intervalo de direcciones IP (CIDRvalor) desde el que accede a la instancia de base de datos. Si elige My IP (Mi IP), esto permite el acceso a la instancia de base de datos desde la dirección IP detectada en su navegador.
-
-
(Opcional) En Outbound rules (Reglas de salida), agregue reglas para el tráfico saliente. De forma predeterminada, se permite todo el tráfico de salida.
-
Elija Create Security Group (Crear grupo de seguridad).
Puede usar este grupo VPC de seguridad como grupo de seguridad para su instancia de base de datos al crearla.
nota
Si usa uno predeterminado VPC, se creará automáticamente un grupo de subredes predeterminado que abarque todas las subredes VPC de la misma. Al crear una instancia de base de datos, puede elegir el eiifccntf predeterminado VPC y elegir el predeterminado para el grupo de subredes de base de datos.
Una vez que haya completado los requisitos de configuración, puede crear una instancia de base de datos con sus requisitos y grupo de seguridad. Para ello, siga las instrucciones que se indican en Creación de una instancia de base de datos.
Prácticas recomendadas de seguridad para Timestream for InfluxDB
Optimiza las escrituras en InfluxDB
Como cualquier otra base de datos de series temporales, InfluxDB está diseñada para poder ingerir y procesar datos en tiempo real. Para que el sistema funcione al máximo, recomendamos las siguientes optimizaciones al escribir datos en InfluxDB:
Escrituras por lotes: al escribir datos en InfluxDB, escriba los datos en lotes para minimizar la sobrecarga de red relacionada con cada solicitud de escritura. El tamaño de lote óptimo es de 5000 líneas de protocolo de línea por solicitud de escritura. Para escribir varias líneas en una solicitud, cada línea del protocolo de línea debe estar delimitada por una línea nueva (\n).
Ordenar etiquetas por clave: antes de escribir puntos de datos en InfluxDB, ordene las etiquetas por clave en orden lexicográfico.
measurement,tagC=therefore,tagE=am,tagA=i,tagD=i,tagB=think fieldKey=fieldValue 1562020262 # Optimized line protocol example with tags sorted by key measurement,tagA=i,tagB=think,tagC=therefore,tagD=i,tagE=am fieldKey=fieldValue 1562020262
Utilice la precisión de tiempo más aproximada posible: — InfluxDB escribe los datos con una precisión de nanosegundos; sin embargo, si los datos no se recopilan en nanosegundos, no es necesario escribir con esa precisión. Para obtener un mejor rendimiento, utilice la mayor precisión posible para las marcas de tiempo. Puede especificar la precisión de escritura cuando:
Al utilizar elSDK, puede especificarlo WritePrecision al configurar el atributo de tiempo de su punto. Para obtener más información sobre las bibliotecas cliente de InfluxDB, consulte la documentación de InfluxDB
. Al utilizar Telegraf, se configura la precisión del tiempo en la configuración del agente de Telegraf. La precisión se especifica como un intervalo con una unidad entera + (por ejemplo, 0s,10ms,2us,4s). Las unidades de tiempo válidas son «ns», «us», «ms» y «s».
[agent] interval ="10s" metric_batch_size="5000" precision = "0s"
Utilice la compresión gzip: — Utilice la compresión gzip para acelerar las escrituras en InfluxDB y reducir el ancho de banda de la red. Los puntos de referencia han demostrado una mejora de velocidad de hasta 5 veces cuando se comprimen los datos.
Cuando utilices Telegraf, en la configuración del plugin de salida InfluxDB_v2 de tu telegraf.conf, establece la opción content_encoding en gzip:
[[outputs.influxdb_v2]] urls = ["http://localhost:8086"] # ... content_encoding = "gzip"
Al utilizar bibliotecas cliente, cada biblioteca cliente de InfluxDB
ofrece opciones para comprimir las solicitudes de escritura o aplica la compresión de forma predeterminada. El método para habilitar la compresión es diferente para cada biblioteca. Para obtener instrucciones específicas, consulte la documentación de InfluxDB Cuando utilice el API
/api/v2/write
punto final de InfluxDB para escribir datos, comprima los datos con gzip y establezca el encabezado Content-Encoding en gzip.
Diseñe pensando en el rendimiento
Diseñe su esquema para consultas más sencillas y de mayor rendimiento. Las siguientes pautas garantizarán que su esquema sea fácil de consultar y maximizarán el rendimiento de las consultas:
Diseñe para la consulta: elija medidas
, claves de etiquetas y claves de campo que sean fáciles de consultar. Para lograr este objetivo, siga estos principios: Utilice medidas que tengan un nombre sencillo y que describan el esquema con precisión.
Evite usar el mismo nombre para una clave de etiqueta
y una clave de campo dentro del mismo esquema. Evite utilizar palabras clave y caracteres especiales reservados a Flux
en las claves de etiquetas y campos. Las etiquetas almacenan metadatos que describen los campos y son comunes en muchos puntos de datos.
Los campos almacenan datos únicos o muy variables, normalmente puntos de datos numéricos.
Las medidas y las claves no deben contener datos, sino que deben usarse para agregar o describir datos. Los datos se almacenarán en valores de etiquetas y campos.
Mantenga la cardinalidad de las series temporales bajo control La alta cardinalidad de las series temporales es una de las principales causas de la disminución del rendimiento de escritura y lectura en InfluxDB. En el contexto de InfluxDB, la alta cardinalidad se refiere a la presencia de una gran cantidad de valores de etiquetas únicos. Los valores de las etiquetas están indexados en InfluxDB, lo que significa que un número muy alto de valores únicos generará un índice mayor, lo que puede ralentizar la ingesta de datos y el rendimiento de las consultas.
Para comprender y resolver mejor los posibles problemas relacionados con la alta cardinalidad, puede seguir estos pasos:
Comprende las causas de la alta cardinalidad
Mide la cardinalidad de tus cubos
Toma medidas para resolver la alta cardinalidad
Causas de la alta cardinalidad de las series InfluxDB indexa los datos en función de las medidas y las etiquetas para acelerar la lectura de los datos. Cada conjunto de elementos de datos indexados forma una clave de serie.
Las etiquetas que contienen información muy variable, como cadenas únicasIDs, códigos hash y cadenas aleatorias, conducen a un gran número de series , lo que también se conoce como cardinalidad de series altas. La alta cardinalidad de las series es el principal impulsor del uso elevado de memoria en InfluxDB. Medición de la cardinalidad de la serie Si experimenta una ralentización del rendimiento o observa un uso de memoria cada vez mayor en su instancia de Timestream for InfluxDB, le recomendamos que mida la cardinalidad de serie de sus segmentos.
InfluxDB proporciona funciones que permiten medir la cardinalidad de las series tanto en Flux como en InfluxQL.
En Flux, usa la función
influxdb.cardinality()
En FluxQL usa el comando
SHOW SERIES CARDINALITY
En ambos casos, el motor devolverá el número de claves de serie únicas de sus datos. Tenga en cuenta que no se recomienda tener más de 10 millones de claves de serie en ninguna de sus instancias de Timestream para InfluxDB.
Causas de la alta cardinalidad de las series Si descubres que alguno de tus cubos tiene una cardinalidad alta, puedes tomar algunas medidas correctivas para solucionarlo:
Revisa tus etiquetas: asegúrate de que tus cargas de trabajo no generen casos en los que las etiquetas tengan valores únicos para la mayoría de las entradas. Esto puede suceder en los casos en que el número de valores de etiquetas únicos siempre aumente con el tiempo, o si los mensajes de tipo registro se escriben en la base de datos, donde cada mensaje tendría una combinación única de marcas de tiempo, etiquetas, etc. Puedes usar el siguiente código de Flux para ayudarte a determinar qué etiquetas son las que más contribuyen a tus problemas de alta cardinalidad:
// Count unique values for each tag in a bucketimport "influxdata/influxdb/schema" cardinalityByTag = (bucket) => schema.tagKeys(bucket: bucket) |> map( fn: (r) => ({ tag: r._value, _value: if contains(set: ["_stop", "_start"], value: r._value) then 0 else (schema.tagValues(bucket: bucket, tag: r._value) |> count() |> findRecord(fn: (key) => true, idx: 0))._value, }), ) |> group(columns: ["tag"]) |> sum() cardinalityByTag(bucket: "example-bucket")
Si tienes una cardinalidad muy alta, es posible que se agote el tiempo de espera de la consulta anterior. Si se agota el tiempo de espera, ejecuta las siguientes consultas, de una en una.
Genera una lista de etiquetas:
// Generate a list of tagsimport "influxdata/influxdb/schema" schema.tagKeys(bucket: "example-bucket")
Cuente los valores de etiqueta únicos para cada etiqueta:
// Run the following for each tag to count the number of unique tag valuesimport "influxdata/influxdb/schema" tag = "example-tag-key" schema.tagValues(bucket: "my-bucket", tag: tag) |> count()
Te recomendamos que los ejecutes en diferentes momentos para identificar qué etiqueta está creciendo más rápido.
Mejore su esquema: siga las recomendaciones de modelado que se describen en nuestraPrácticas recomendadas de seguridad para Timestream for InfluxDB.
Elimine o agregue datos antiguos para reducir la cardinalidad: considere si sus casos de uso necesitan o no todos los datos que están causando sus problemas de alta cardinalidad. Si estos datos ya no son necesarios o no se accede a ellos con frecuencia, puede agregarlos, eliminarlos o exportarlos a otro motor, como Timestream para Live Analytics, para almacenarlos y analizarlos a largo plazo.