Uso de políticas de ciclo de vida de los datos con Amazon OpenSearch sin servidor - OpenSearch Servicio Amazon

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.

Uso de políticas de ciclo de vida de los datos con Amazon OpenSearch sin servidor

Una política del ciclo de vida de los datos para una colección de series temporales de Amazon OpenSearch sin servidor determina la vida útil de los datos de esa colección. OpenSearch sin servidor conserva los datos durante el período de tiempo que usted configure.

Puede configurar una política de ciclo de vida de los datos independiente para cada índice de cada colección de series temporales de su Cuenta de AWS. OpenSearch sin servidor conserva los documentos en índices durante, como mínimo, el período de retención que configure en la política. A continuación, los borra automáticamente según lo mejor que pueda, normalmente en un plazo de 48 horas o en un 10% del período de retención, lo que sea más largo.

Solo las recopilaciones de series temporales admiten las políticas del ciclo de vida de los datos. No son compatibles con las colecciones de búsqueda o búsqueda vectorial.

Políticas de ciclo de vida de los datos

En una política de ciclo de vida de los datos, se especifica una serie de reglas. La política de ciclo de vida de los datos le permite administrar el período de retención de los datos asociados a los índices o colecciones que cumplen estas reglas. Estas reglas definen el período de retención de los datos de un índice o grupo de índices. Cada regla consta de un tipo de recurso (index), un período de retención y una lista de recursos (índices) a los que se aplica el período de retención.

El período de retención se define con uno de los siguientes formatos:

  • "MinIndexRetention": "24h": OpenSearch sin servidor conserva los datos del índice durante el período especificado en horas o días. Puede configurar este período para que sea de 24h a 3650d.

  • "NoMinIndexRetention": true: OpenSearch sin servidor conserva los datos del índice de forma indefinida.

En el siguiente ejemplo de política, la primera regla especifica un período de retención de 15 días para todos los índices de la colección marketing. La segunda regla especifica que todos los nombres de índice que comiencen por log en la colección finance no tienen un período de retención establecido y se conservarán indefinidamente.

{ "lifeCyclePolicyDetail": { "type": "retention", "name": "my-policy", "policyVersion": "MTY4ODI0NTM2OTk1N18x", "policy": { "Rules": [ { "ResourceType":"index", "Resource":[ "index/marketing/*" ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/finance/log*" ], "NoMinIndexRetention": true } ] }, "createdDate": 1688245369957, "lastModifiedDate": 1688245369957 } }

En el siguiente ejemplo de regla de política, OpenSearch sin servidor conserva indefinidamente los datos de todos los índices de todas las colecciones de la cuenta.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/*/*" ] } ], "NoMinIndexRetention": true }

Permisos necesarios

Las políticas de ciclo de vida para OpenSearch sin servidor utilizan los siguientes permisos AWS Identity and Access Management (IAM). Puede especificar condiciones de IAM para restringir a los usuarios a las políticas de ciclo de vida de los datos asociadas con colecciones e índices específicos.

  • aoss:CreateLifecyclePolicy: cree una política de ciclo de vida de los datos.

  • aoss:ListLifecyclePolicies: enumere todas las políticas de ciclo de vida de los datos de la cuenta actual.

  • aoss:BatchGetLifecyclePolicy: consulte una política del ciclo de vida de los datos asociada a un nombre de cuenta o política.

  • aoss:BatchGetEffectiveLifecyclePolicy: consulte una política del ciclo de vida de los datos para un recurso determinado (index es el único recurso compatible).

  • aoss:UpdateLifecyclePolicy: modifique una política de ciclo de vida de los datos determinada y cambie su configuración o recurso de retención.

  • aoss:DeleteLifecyclePolicy: elimine una política de ciclo de vida de los datos.

La siguiente política de acceso basada en identidades permite al usuario ver todas las políticas de ciclo de vida de los datos y actualizarlas según el patrón de recursos collection/application-logs:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:UpdateLifecyclePolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "application-logs" } } }, { "Effect": "Allow", "Action": [ "aoss:ListLifecyclePolicies", "aoss:BatchGetLifecyclePolicy" ], "Resource": "*" } ] }

Prioridad política

Puede haber situaciones en las que las reglas de la política de ciclo de vida de los datos se superpongan, dentro de las políticas o entre ellas. Cuando esto sucede, una regla con un nombre o patrón de recurso más específico para un índice anula una regla con un nombre o patrón de recurso más general para cualquier índice que sea común a ambas reglas.

Por ejemplo, en la siguiente política, se aplican dos reglas a un índice index/sales/logstash. En esta situación, la segunda regla tiene prioridad porque index/sales/log* es la que coincide más tiempo con index/sales/logstash. Por lo tanto, OpenSearch sin servidor no establece ningún período de retención para el índice.

{ "Rules":[ { "ResourceType":"index", "Resource":[ "index/sales/*", ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/sales/log*", ], "NoMinIndexRetention": true } ] }

Sintaxis de la política

Proporcione una o más reglas. Estas reglas definen la configuración del ciclo de vida de los datos para los índices de OpenSearch sin servidor.

Cada regla contiene los siguientes elementos. Puede proporcionar MinIndexRetention o NoMinIndexRetention en cada regla, pero no ambas.

Elemento Descripción
Tipo de recurso El tipo de recurso al que se aplica la regla. La única opción admitida para las políticas del ciclo de vida de los datos es index.
Recurso Una lista de nombres o patrones de recursos. Los patrones son prefijos seguidos de un comodín (*), que permiten que los permisos asociados se apliquen a varios recursos. Por ejemplo, index/<collection-name|pattern>/<index-name|pattern>.
Retención mínima de índices El período mínimo, en días (d) u horas (h), para conservar el documento en el índice. El límite inferior es 24h y el límite superior es 3650d.
Sin retención mínima de índices Si true, OpenSearch sin servidor conserva los documentos indefinidamente.

A continuación se muestran algunos ejemplos:

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/*" ], "MinIndexRetention": "20d" }, { "ResourceType": "index", "Resource": [ "index/auto*/gear" ], "MinIndexRetention": "24h" }, { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/tires" ], "NoMinIndexRetention": true } ] }

Creación de políticas sobre el ciclo de vida de los datos (AWS CLI)

Para crear una política de ciclo de vida de los datos mediante las operaciones de la API OpenSearch sin servidor, utilice el comando CreateLifeCyclePolicy. Este comando acepta políticas insertadas y archivos .json. Las políticas insertadas deben codificarse como una cadena de escape de JSON.

La siguiente solicitud crea una política de ciclo de vida de los datos:

aws opensearchserverless create-lifecycle-policy \ --name my-policy \ --type retention \ --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"

Para proporcionar la política en un archivo JSON, utilice el formato--policy file://my-policy.json

Consulta de políticas de ciclo de vida de los datos

Antes de crear una colección, puede que desee obtener una vista previa de las políticas de ciclo de vida de los datos existentes en la cuenta para ver cuáles tienen un patrón de recursos que coincide con el nombre de su colección. La siguiente solicitud ListLifecyclePolicies enumera todas las políticas de ciclo de vida de los datos a los datos en su cuenta:

aws opensearchserverless list-lifecycle-policies --type retention

La solicitud devuelve información sobre todas las políticas de ciclo de vida de los datos configuradas. Para ver las reglas de patrón definidas en una política específica, busque la informaciónde la política en el contenido del elemento lifecyclePolicySummaries en la respuesta. Tenga en cuenta el name y type de esta política y utilice estas propiedades en una solicitud BatchGetLifecyclePolicy para recibir una respuesta con los siguientes detalles de la política:

{ "lifecyclePolicySummaries": [ { "type": "retention", "name": "my-policy", "policyVersion": "MTY2MzY5MTY1MDA3Ml8x", "createdDate": 1663691650072, "lastModifiedDate": 1663691650072 } ] }

Para limitar los resultados a políticas que contengan colecciones o índices específicos, puede incluir los siguientes filtros:

aws opensearchserverless list-lifecycle-policies --type retention --resources "index/autoparts-inventory/*"

Para ver información detallada sobre una política específica, utilice el comando BatchGetLifecyclePolicy.

Actualización de políticas de ciclo de vida de los datos

Al actualizar una política de ciclo de vida de los datos, todas las colecciones asociadas se ven afectadas. Para actualizar una política de ciclo de vida de los datos en la consola de OpenSearch sin servidor, amplíe las políticas de ciclo de vida de los datos, seleccione la política que desee modificar y seleccione Editar. Realice los cambios y elija Guardar.

Para actualizar una política de ciclo de vida de los datos mediante la API OpenSearch sin servidor, utilice el comando UpdateLifecyclePolicy. Debe incluir un control de versiones de política en la solicitud. Puede recuperar el control de versiones de la política mediante los comandos ListLifecyclePolicies o BatchGetLifecyclePolicy. Incluir la versión más reciente de la política garantiza que no se anule inadvertidamente un cambio realizado por otra persona.

La siguiente solicitud actualiza una política del ciclo de vida de los datos con un nuevo documento JSON de política:

aws opensearchserverless update-lifecycle-policy \ --name my-policy \ --type retention \ --policy-version MTY2MzY5MTY1MDA3Ml8x \ --policy file://my-new-policy.json

Pueden transcurrir unos minutos de retardo entre el momento en que se actualiza la política y el momento en que se aplican los nuevos periodos de retención.

Eliminación de políticas de ciclo de vida de los datos

Al eliminar una política del ciclo de vida de los datos, deja de aplicarse a los índices coincidentes. Para eliminar una política en la consola de OpenSearch sin servidor, seleccione la política y elija Eliminar.

También puede utilizar el comando DeleteLifecyclePolicy:

aws opensearchserverless delete-lifecycle-policy --name my-policy --type retention