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.
Almacenamiento en frío para Amazon OpenSearch Service
El almacenamiento en frío permite almacenar cualquier cantidad de datos históricos o datos a los que se accede con poca frecuencia en el dominio de Amazon OpenSearch Service y analizarlos bajo demanda, a un costo menor que en otros niveles de almacenamiento. El almacenamiento en frío es apropiado si necesita realizar investigaciones periódicas o análisis forenses sobre datos antiguos. Algunos ejemplos prácticos de datos apropiados para el almacenamiento en frío son los registros a los que se accede con poca frecuencia, los datos que se deben conservar para cumplir con los requisitos de conformidad o los registros que tienen valor histórico.
De la misma forma que el almacenamiento UltraWarm, el almacenamiento en frío está respaldado por Amazon S3. Cuando necesite consultar datos almacenados en frío, puede adjuntarlos de forma selectiva a los nodos UltraWarm existentes. Puede administrar la migración y el ciclo de vida de los datos almacenados en frío manualmente o mediante políticas de administración de estados de índice.
Temas
- Requisitos previos
- Requisitos de almacenamiento en frío y consideraciones de rendimiento
- Precio del almacenamiento en frío
- Habilitación del almacenamiento en frío
- Administración de índices fríos en OpenSearch Dashboards
- Migración de índices al almacenamiento frío
- Automatización de las migraciones al almacenamiento en frío
- Cancelación de migraciones al almacenamiento en frío
- Listado de índices almacenados en frío
- Migración de índices fríos al almacenamiento templado
- Restauración de índices fríos a partir de instantáneas
- Cancelación de migraciones del almacenamiento en frío al templado
- Actualización de metadatos de índices almacenados en frío
- Eliminación de índices almacenados en frío
- Deshabilitar el almacenamiento en frío
Requisitos previos
El almacenamiento en frío tiene los siguientes requisitos previos:
-
El almacenamiento en frío requiere la versión 7.9 o pesterior de OpenSearch o Elasticsearch.
-
Para habilitar el almacenamiento en frío en un dominio de OpenSearch Service, también debe habilitar UltraWarm en el mismo dominio.
-
Para utilizar el almacenamiento en frío, los dominios deben tener nodos maestros dedicados.
-
Si un dominio utiliza un tipo de instancia T2 o T3 para los nodos de datos, no puede utilizar el almacenamiento en frío.
-
Si su índice usa k-NN aproximado
( "index.knn": true
), no puede moverlo al almacenamiento en frío. -
Si el dominio utiliza el control de acceso detallado, los usuarios no administradores deben estar asignados al rol
cold_manager
en OpenSearch Dashboards para poder administrar índices almacenados en frío.
nota
El rol cold_manager
puede no existir en algunos dominios de OpenSearch Service preexistentes. Si no ve el rol en el panel, debe crearlo de forma manual.
Configuración de permisos
Si habilita el almacenamiento en frío en un dominio de OpenSearch Service preexistente, el rol cold_manager
podría no estar definido en el dominio. Si el dominio utiliza el control de acceso detallado, los usuarios que no sean administradores deben estar asignados a este rol para poder administrar índices almacenados en frío. Para crear el rol cold_manager
de forma manual, siga estos pasos:
-
En OpenSearch Dashboards, vaya a Seguridad y elija Permisos.
-
Seleccione Crear grupo de acciones y configure los siguientes grupos:
Nombre del grupo Permisos cold_cluster
-
cluster:monitor/nodes/stats
-
cluster:admin/ultrawarm*
-
cluster:admin/cold/*
cold_index
-
indices:monitor/stats
-
indices:data/read/minmax
-
indices:admin/ultrawarm/migration/get
-
indices:admin/ultrawarm/migration/cancel
-
-
Seleccione Roles y, a continuación, Crear rol.
-
Nombre el rol cold_manager.
-
En Permisos de clúster, seleccione el grupo
cold_cluster
que creó. -
En Índice, ingrese
*
. -
En Permisos de índice, seleccione el grupo
cold_index
que creó. -
Seleccione Crear.
-
Después de crear el rol, asígnelo a cualquier rol de usuario o backend que administre índices almacenados en frío.
Requisitos de almacenamiento en frío y consideraciones de rendimiento
Dado que el almacenamiento frío utiliza Amazon S3, no conlleva ninguno de los gastos del almacenamiento caliente, tales como réplicas, espacio reservado de Linux y espacio reservado de OpenSearch Service. El almacenamiento en frío no tiene tipos de instancias específicos porque no tiene ninguna capacidad informática asociada a él. Puede almacenar cualquier cantidad de datos en el almacenamiento en frío. Monitoree la métrica ColdStorageSpaceUtilization
en Amazon CloudWatch para ver cuánto espacio de almacenamiento en frío utiliza.
Precio del almacenamiento en frío
Como sucede con el almacenamiento UltraWarm, con el almacenamiento en frío solo paga por el almacenamiento de datos. No hay ningún costo informático para los datos en frío y no incurrirá en gastos si no hay datos en el almacenamiento en frío.
No incurrirá en cargos de transferencia al mover datos entre los almacenamientos en frío y templado. Mientras se realiza la migración de los índices entre el almacenamiento templado y el frío, sigue pagando por una sola copia del índice. Una vez finalizada la migración, el índice se factura de acuerdo con el nivel de almacenamiento al que se migró. Para obtener más información sobre los precios del almacenamiento frío, consulte Precios de Amazon OpenSearch Service
Habilitación del almacenamiento en frío
La consola es la forma más sencilla de crear un dominio que utiliza el almacenamiento en frío. Al crear el dominio, seleccione Habilitación del almacenamiento en frío. El mismo proceso funciona en dominios existentes, siempre que cumplan los requisitos previos. Incluso después de que el estado del dominio cambie de En proceso a Activo, es posible que el almacenamiento en frío no esté disponible para su utilización por varias horas.
También puede utilizar AWS CLI
Ejemplo de comando de la CLI
El comando AWS CLI crea un dominio con tres nodos de datos, tres nodos maestros dedicados, almacenamiento en frío habilitado y control de acceso detallado habilitado:
aws opensearch create-domain \ --domain-name
my-domain
\ --engine-version Opensearch_1.0 \ --cluster-config ColdStorageOptions={Enabled=true},WarmEnabled=true,WarmCount=4,WarmType=ultrawarm1.medium.search,InstanceType=r6g.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3,InstanceCount=3 \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions='{MasterUserName=master-user
,MasterUserPassword=master-password
}' \ --regionus-east-2
Para obtener más información, consulte la Referencia de comandos de la AWS CLI.
Ejemplo de solicitud a la API de configuración
La siguiente solicitud a la API de configuración crea un dominio con tres nodos de datos, tres nodos maestros dedicados, almacenamiento en frío habilitado y control de acceso detallado habilitado:
POST https://es.us-east-2.amazonaws.com/2021-01-01/opensearch/domain { "ClusterConfig": { "InstanceCount": 3, "InstanceType": "r6g.large.search", "DedicatedMasterEnabled": true, "DedicatedMasterType": "r6g.large.search", "DedicatedMasterCount": 3, "ZoneAwarenessEnabled": true, "ZoneAwarenessConfig": { "AvailabilityZoneCount": 3 }, "WarmEnabled": true, "WarmCount": 4, "WarmType": "ultrawarm1.medium.search", "ColdStorageOptions": { "Enabled": true } }, "EBSOptions": { "EBSEnabled": true, "VolumeType": "gp2", "VolumeSize": 11 }, "EncryptionAtRestOptions": { "Enabled": true }, "NodeToNodeEncryptionOptions": { "Enabled": true }, "DomainEndpointOptions": { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" }, "AdvancedSecurityOptions": { "Enabled": true, "InternalUserDatabaseEnabled": true, "MasterUserOptions": { "MasterUserName": "
master-user
", "MasterUserPassword": "master-password
" } }, "EngineVersion": "Opensearch_1.0", "DomainName": "my-domain
" }
Para obtener información detallada, consulte la Referencia de API de Amazon OpenSearch Service.
Administración de índices fríos en OpenSearch Dashboards
Puede administrar índices calientes, templados y fríos con la interfaz de Dashboards existente en el dominio de OpenSearch Service. Dashboards permite migrar índices entre el almacenamiento frío y el templado, así como supervisar el estado de la migración de los índices, sin utilizar la CLI ni la API de configuración. Para obtener más información, consulte Administración de índices en OpenSearch Dashboards.
Migración de índices al almacenamiento frío
Cuando se migran índices al almacenamiento frío, se debe proporcionar un intervalo de tiempo a los datos para facilitar el descubrimiento. Puede elegir un campo de marca temporal basado en los datos del índice, proporcionar de forma manual una marca temporal inicial y final o elegir no especificar una.
Parámetro | Valor admitido | Descripción |
---|---|---|
timestamp_field |
Campo de fecha/hora del mapeo de índices. |
Los valores mínimo y máximo del campo proporcionado se calculan y almacenan como metadatos |
start_time y end_time |
Utilice uno de los siguientes formatos:
|
Los valores proporcionados se almacenan como metadatos |
Si no desea especificar una marca temporal, agregue ?ignore=timestamp
a la solicitud en su lugar.
La siguiente solicitud migra un índice del almacenamiento templado al almacenamiento en frío y proporciona horas de inicio y finalización para los datos de ese índice:
POST _ultrawarm/migration/my-index
/_cold
{
"start_time": "2020-03-09",
"end_time": "2020-03-09T23:00:00Z"
}
A continuación, verifique el estado de la migración:
GET _ultrawarm/migration/
my-index
/_status { "migration_status": { "index": "my-index
", "state": "RUNNING_METADATA_RELOCATION", "migration_type": "WARM_TO_COLD" } }
OpenSearch Service migra un índice por vez al almacenamiento en frío. Se pueden tener hasta 100 migraciones en la cola. Cualquier solicitud que supere el límite será rechazada. Para comprobar el número actual de migraciones en la cola, supervise la métrica de WarmToColdMigrationQueueSize
. El proceso de migración tiene los siguientes estados:
ACCEPTED_COLD_MIGRATION - Migration request is accepted and queued.
RUNNING_METADATA_MIGRATION - The migration request was selected for execution and metadata is migrating to cold storage.
FAILED_METADATA_MIGRATION - The attempt to add index metadata has failed and all retries are exhausted.
PENDING_INDEX_DETACH - Index metadata migration to cold storage is completed. Preparing to detach the warm index state from the local cluster.
RUNNING_INDEX_DETACH - Local warm index state from the cluster is being removed. Upon success, the migration request will be completed.
FAILED_INDEX_DETACH - The index detach process failed and all retries are exhausted.
Automatización de las migraciones al almacenamiento en frío
Se recomienda utilizar la Administración de estados de índice para automatizar el proceso de migración después de que un índice alcance cierta antigüedad o cumpla otras condiciones. Consulte el ejemplo de política, que muestra cómo migrar automáticamente los índices del almacenamiento caliente al almacenamiento UltraWarm y luego al almacenamiento frío.
nota
Es necesario un timestamp_field
explícito para mover los índices al almacenamiento frío mediante una política de administración de estados de índice.
Cancelación de migraciones al almacenamiento en frío
Si una migración al almacenamiento en frío está en cola o con un estado de error, puede cancelar la migración mediante la siguiente solicitud:
POST _ultrawarm/migration/_cancel/
my-index
{ "acknowledged" : true }
Si el dominio utiliza un control de acceso detallado, necesita el permiso indices:admin/ultrawarm/migration/cancel
para realizar esta solicitud.
Listado de índices almacenados en frío
Antes de realizar consultas, puede ver una lista de los índices del almacenamiento frío para decidir cuáles se deben migrar a al almacenamiento UltraWarm con el fin de realizar más análisis. La siguiente solicitud enumera todos los índices almacenados en frío, ordenados por nombre de índice:
GET _cold/indices/_search
Respuesta de ejemplo
{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 3, "indices" : [ { "index" : "my-index-1", "index_cold_uuid" : "hjEoh26mRRCFxRIMdgvLmg", "size" : 10339, "creation_date" : "2021-06-28T20:23:31.206Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-2", "index_cold_uuid" : "0vIS2n-oROmOWDFmwFIgdw", "size" : 6068, "creation_date" : "2021-07-15T19:41:18.046Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-3", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }
Filtrado
Puede filtrar los índices fríos según un patrón de índice basado en prefijos y variaciones del intervalo de tiempo.
La siguiente solicitud presenta una lista de los índices que coinciden con el patrón de prefijo event-*
:
GET _cold/indices/_search
{
"filters":{
"index_pattern": "event-*"
}
}
Respuesta de ejemplo
{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "events-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }
La siguiente solicitud devuelve índices cuyos campos de metadatos start_time
y end_time
están comprendidos entre 2019-03-01
y 2020-03-01
:
GET _cold/indices/_search
{
"filters": {
"time_range": {
"start_time": "2019-03-01",
"end_time": "2020-03-01"
}
}
}
Respuesta de ejemplo
{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "my-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2019-05-09T00:00Z", "end_time" : "2019-09-09T23:00Z" } ] }
Ordenar
Puede ordenar los índices fríos por campos de metadatos, como el nombre del índice o su tamaño. La siguiente solicitud presenta una lista de todos los índices ordenados por tamaño en orden descendente:
GET _cold/indices/_search
{
"sort_key": "size:desc"
}
Respuesta de ejemplo
{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 5, "indices" : [ { "index" : "my-index-6", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" :
32263273
, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-9", "index_cold_uuid" : "mbD3ZRVDRI6ONqgEOsJyUA", "size" :57922
, "creation_date" : "2021-07-07T23:41:35.640Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-5", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" :32403
, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }
Otras claves de ordenamiento válidas son start_time:asc/desc
, end_time:asc/desc
y index_name:asc/desc
.
Paginación
Puede paginar una lista de índices almacenados en frío. Configure el número de índices que se deben devolver por página con el parámetro page_size
(el valor predeterminado es 10). Cada solicitud _search
aplicada a los índices fríos devuelve un pagination_id
que se puede utilizar para llamadas posteriores.
La siguiente solicitud realiza la paginación de los resultados de una solicitud _search
de los índices fríos y muestra los siguientes 100 resultados:
GET _cold/indices/_search?page_size=100
{
"pagination_id": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY"
}
Migración de índices fríos al almacenamiento templado
Después de reducir la lista de índices fríos con los criterios de filtrado de la sección anterior, vuelva a migrarlos a UltraWarm, donde puede consultar los datos y utilizarlos para crear visualizaciones.
La siguiente solicitud vuelve a migrar dos índices fríos al almacenamiento templado:
POST _cold/migration/_warm
{
"indices": "my-index1,my-index2
"
}
{
"acknowledged" : true
}
Para verificar el estado de la migración y recuperar el ID de migración, envíe la siguiente solicitud:
GET _cold/migration/_status
Respuesta de ejemplo
{ "cold_to_warm_migration_status" : [ { "migration_id" : "tyLjXCA-S76zPQbPVHkOKA", "indices" : [ "
my-index1,my-index2
" ], "state" : "RUNNING_INDEX_CREATION" } ] }
Para obtener información de migración específica del índice, incluya el nombre del índice:
GET _cold/migration/
my-index
/_status
En lugar de especificar un índice, puede ver una lista de los índices por su estado de migración actual. Los valores válidos son _failed
, _accepted
y _all
.
El siguiente comando obtiene el estado de todos los índices de una única solicitud de migración:
GET _cold/migration/_status
?migration_id=
my-migration-id
Recupere el ID de migración mediante la solicitud de estado. Para obtener información detallada sobre la migración, agregue &verbose=true
.
Puede migrar índices del almacenamiento de frío al almacenamiento templado en lotes de 10 o menos, con un máximo de 100 solicitudes que se migran en forma simultánea. Cualquier solicitud que supere el límite será rechazada. Para comprobar el número actual de migraciones que se están llevando a cabo actualmente, supervise la métrica de ColdToWarmMigrationQueueSize
. El proceso de migración tiene los siguientes estados:
ACCEPTED_MIGRATION_REQUEST - Migration request is accepted and queued.
RUNNING_INDEX_CREATION - Migration request is picked up for processing and will create warm indexes in the cluster.
PENDING_COLD_METADATA_CLEANUP - Warm index is created and the migration service will attempt to clean up cold metadata.
RUNNING_COLD_METADATA_CLEANUP - Cleaning up cold metadata from the indexes migrated to warm storage.
FAILED_COLD_METADATA_CLEANUP - Failed to clean up metadata in the cold tier.
FAILED_INDEX_CREATION - Failed to create an index in the warm tier.
Restauración de índices fríos a partir de instantáneas
Si necesita restaurar un índice en frío eliminado, puede restaurarlo de nuevo en el nivel cálido siguiendo las instrucciones que aparecen en el documento Restauración de índices templados a partir de instantáneas y, a continuación, migrando de nuevo el índice al nivel frío. No puede restaurar un índice en frío eliminado directamente al nivel frío. OpenSearch Service conserva los índices fríos durante 14 días después de que se hayan eliminado.
Cancelación de migraciones del almacenamiento en frío al templado
Si se pone en cola una migración de índice del almacenamiento en frío al templado o si presenta un estado de error, puede cancelarla mediante la siguiente solicitud:
POST _cold/migration/
my-index
/_cancel { "acknowledged" : true }
Para cancelar la migración de un lote de índices (máximo 10 a la vez), especifique el ID de migración:
POST _cold/migration/_cancel?migration_id=
my-migration-id
{ "acknowledged" : true }
Recupere el ID de migración mediante la solicitud de estado.
Actualización de metadatos de índices almacenados en frío
Puede actualizar los campos start_time
y end_time
de un índice almacenado en frío:
PATCH _cold/my-index
{
"start_time": "2020-01-01",
"end_time": "2020-02-01"
}
No puede actualizar el timestamp_field
de un índice de almacenamiento en frío.
nota
Eliminación de índices almacenados en frío
Si no utiliza una política de ISM, puede eliminar los índices fríos de forma manual. La siguiente solicitud elimina un índice almacenado en frío:
DELETE _cold/
my-index
{ "acknowledged" : true }
Deshabilitar el almacenamiento en frío
La consola de OpenSearch Service es la forma más sencilla de deshabilitar el almacenamiento en frío. Seleccione el dominio y elija Acciones, Editar la configuración del clúster, luego anule la selección de Habilitar el almacenamiento en frío).
Para utilizar la AWSCLI o la API de configuración, en ColdStorageOptions
, establezca "Enabled"="false"
.
Antes de desactivar el almacenamiento frío, debe eliminar todos los índices fríos o volver a migrarlos al almacenamiento templado; de lo contrario, la acción de desactivación no funcionará.