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.
Creación de instantáneas de índices en Amazon Service OpenSearch
Las instantáneas de Amazon OpenSearch Service son copias de seguridad de los índices y el estado de un clúster. Estado incluye configuraciones de clúster, información de nodos, configuración de índices y asignación de partición.
OpenSearch Las instantáneas de servicio se presentan en las siguientes formas:
-
Las instantáneas automatizadas son solo para la recuperación de clústeres. Puede utilizarlas para restaurar el dominio en caso de que se produzca un estado rojo del clúster o se pierdan datos. Para obtener más información, consulte Restauración de instantáneas a continuación. OpenSearch El servicio almacena las instantáneas automatizadas en un bucket de Amazon S3 preconfigurado sin coste adicional.
-
Las instantáneas manuales son para la recuperación de clústeres o para el traslado de datos de un clúster a otro. Debe iniciar instantáneas manuales. Estas instantáneas se almacenan en su propio bucket de Amazon S3 y se aplican cargos estándar de S3. Si tiene una instantánea de un OpenSearch clúster autogestionado, puede utilizarla para migrar a un OpenSearch dominio de servicio. Para obtener más información, consulta Migración a Amazon OpenSearch Service.
Todos los dominios de OpenSearch servicio toman instantáneas automatizadas, pero la frecuencia varía de las siguientes maneras:
-
En el caso de los dominios que ejecutan Elasticsearch 5.3 OpenSearch o versiones posteriores, OpenSearch Service toma instantáneas automatizadas cada hora y las conserva hasta 336 durante 14 días. Las instantáneas por hora son menos disruptivas, debido a su naturaleza progresiva. También proporcionan un punto de recuperación más reciente en caso de problemas del dominio.
-
En el caso de los dominios que ejecutan Elasticsearch 5.1 o versiones anteriores, OpenSearch Service toma instantáneas automatizadas a diario durante la hora que especifiques, conserva hasta 14 de ellas y no conserva ningún dato de las instantáneas durante más de 30 días.
Si el clúster pasa al estado rojo, se produce un error en todas las instantáneas automatizadas mientras persiste el estado del clúster. Si no corrige el problema en dos semanas, puede perder de forma permanente los datos del clúster. Para ver los pasos de solución de problemas, consulte Estado rojo del clúster.
Temas
- Requisitos previos
- Registrar un repositorio de instantáneas manuales
- Tomar instantáneas manuales
- Restaurar instantáneas
- Eliminar instantáneas manuales
- Automatizar instantáneas con la administración de instantáneas
- Automatizar instantáneas con la administración de estado de índice
- Utilizar Curator para instantáneas
Requisitos previos
Para crear instantáneas manualmente, debe trabajar con IAM y Amazon S3. Compruebe que cumple los siguientes requisitos previos antes de intentar tomar una instantánea:
Requisito previo | Descripción |
---|---|
Bucket de S3 | Cree un depósito de S3 para almacenar las instantáneas manuales de su dominio de servicio. OpenSearch Para ver las instrucciones, consulte Creación de un Bucket en la Guía del usuario de Amazon Simple Storage Service. Recuerde el nombre del bucket para utilizarlo en los siguientes lugares:
importanteNo aplique una regla de ciclo de vida de S3 Glacier a este bucket. Las instantáneas manuales no admiten la clase de almacenamiento de S3 Glacier. |
Rol de IAM | Cree un rol de IAM para delegar los permisos al OpenSearch Servicio. Para obtener instrucciones, consulte Creación de roles de IAM (consola) en la Guía del usuario de IAM. En el resto de este capítulo, este rol se denomina Adjuntar una política de IAM Adjunte la siguiente política a
Para ver instrucciones sobre cómo adjuntar una política a un rol, consulte Agregar permisos de identidad de IAM en la Guía del usuario de IAM. Modificar la relación de confianza Edite la relación de confianza de
Para obtener instrucciones a fin de editar la relación de confianza, consulte Modificación de una política de confianza de rol en la Guía del usuario de IAM. |
Permisos |
Para registrar el repositorio de instantáneas, debe poder pasarlo
Si su usuario o rol no tiene permisos de
|
Registrar un repositorio de instantáneas manuales
Debe registrar un repositorio de instantáneas en OpenSearch Service antes de poder realizar instantáneas de índices manuales. Esta operación única requiere que firme la AWS solicitud con las credenciales a las que se permite el accesoTheSnapshotRole
, tal y como se describe enRequisitos previos.
Paso 1: Asigne la función de captura de pantalla en los OpenSearch paneles (si utiliza un control de acceso detallado)
El control de acceso detallado presenta un paso adicional al registrar un repositorio. Incluso si utiliza autenticación HTTP básica para todos los demás fines, debe asignar el rol manage_snapshots
al rol de IAM que tenga permisos iam:PassRole
para transferir TheSnapshotRole
.
-
Navegue hasta el complemento OpenSearch Dashboards de su dominio de servicio. OpenSearch Puedes encontrar el punto de conexión de Dashboards en el panel de control de tu dominio, en la consola de OpenSearch servicio.
-
En el menú principal, seleccione Seguridad, Roles y seleccione el rol manage_snapshots.
-
Seleccione Usuarios asignados, Administrar mapeo.
-
Agregue el ARN del rol que tenga permisos para transferir
TheSnapshotRole
. Coloque los ARN de los roles en Roles de backend.arn:aws:iam::
123456789123
:role/role-name
-
Seleccione Asignar y confirme que el usuario o el rol aparecen en Usuarios asignados.
Paso 2: registrar un repositorio
La siguiente pestaña Instantáneas muestra cómo registrar un directorio de instantáneas. Para ver las opciones específicas para cifrar una instantánea manual y registrarla después de migrarla a un nuevo dominio, consulte las pestañas correspondientes.
Utilizar el cliente de Python de ejemplo
El cliente de Python es más fácil de automatizar que una simple solicitud HTTP y tiene una mejor reutilización. Si elige utilizar este método para registrar un repositorio de instantáneas, guarde el siguiente código de muestra de Python como archivo Python, por ejemplo register-repo.py
. El cliente necesita AWS SDK for Python (Boto3)
Actualice las variables siguientes en el código de muestra: host
, region
, path
y payload
.
import boto3 import requests from requests_aws4auth import AWS4Auth host = '' # domain endpoint region = '' # e.g. us-west-1 service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) # Register repository path = '/_snapshot/
my-snapshot-repo-name
' # the OpenSearch API endpoint url = host + path payload = { "type": "s3", "settings": { "bucket": "s3-bucket-name
", "base_path": "my/snapshot/directory
", "region": "us-west-1
", "role_arn": "arn:aws:iam::123456789012
:role/snapshot-role
" } } headers = {"Content-Type": "application/json"} r = requests.put(url, auth=awsauth, json=payload, headers=headers) print(r.status_code) print(r.text) # # Take snapshot # # path = '/_snapshot/my-snapshot-repo-name/my-snapshot' # url = host + path # # r = requests.put(url, auth=awsauth) # # print(r.text) # # # Delete index # # path = 'my-index' # url = host + path # # r = requests.delete(url, auth=awsauth) # # print(r.text) # # # Restore snapshot (all indexes except Dashboards and fine-grained access control) # # path = '/_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = { # "indices": "-.kibana*,-.opendistro_security,-.opendistro-*", # "include_global_state": False # } # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text) # # # Restore snapshot (one index) # # path = '/_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = {"indices": "my-index"} # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text)
Tomar instantáneas manuales
Las instantáneas no son inmediatas. Tardan tiempo en completarse y no representan point-in-time vistas perfectas del clúster. Mientras que una instantánea está en curso, puede indexar los documentos y realizar otras solicitudes al clúster, pero los nuevos documentos y las actualizaciones de los existentes no suelen estar incluidos en la instantánea. La instantánea incluye los fragmentos principales tal como estaban cuando se OpenSearch inició la instantánea. En función del tamaño del grupo de subprocesos de la instantánea, se podrían incluir diferentes particiones en la instantánea a horas ligeramente diferentes. Para ver las prácticas recomendadas para instantáneas, consulte Cómo mejorar el rendimiento de las instantáneas.
Almacenamiento y rendimiento de instantáneas
OpenSearch Las instantáneas son incrementales, lo que significa que solo almacenan los datos que han cambiado desde la última instantánea correcta. Esta naturaleza progresiva significa que la diferencia en la utilización de disco entre instantáneas frecuentes e infrecuentes suele ser mínima. En otras palabras, tomar instantáneas cada hora durante una semana (lo que equivale a un total de 168 instantáneas) no usaría mucho más espacio en disco que una sola instantánea al final de la semana. Además, cuanto mayor sea la frecuencia con la que toma las instantáneas, menor será el tiempo que lleve completarse. Por ejemplo, las instantáneas diarias pueden tardar entre 20 y 30 minutos en completarse, mientras que las instantáneas por hora pueden completarse en pocos minutos. Algunos OpenSearch usuarios toman instantáneas cada media hora.
Tome una instantánea
Cuando crea una instantánea, especifica la siguiente información:
-
El nombre del repositorio de instantáneas
-
Un nombre de la instantánea
En los ejemplos que aparecen en este capítulo, se utiliza curl
Si las políticas de acceso especifican usuarios o roles, debe firmar las solicitudes de instantáneas. Para curl, puede usar la opción --aws-sigv4
Para realizar una instantánea manual, siga estos pasos:
-
No puede tomar una instantánea si hay alguna en curso. Para comprobarlo, ejecute el siguiente comando:
curl -XGET '
domain-endpoint
/_snapshot/_status' -
Ejecute el siguiente comando para tomar una instantánea manual:
curl -XPUT '
domain-endpoint
/_snapshot/repository-name
/snapshot-name
'Para incluir o excluir ciertos índices y especificar otras configuraciones, agregue un cuerpo de la solicitud. Para conocer la estructura de la solicitud, consulte Tomar instantáneas
en la OpenSearch documentación.
nota
El tiempo necesario para tomar una instantánea aumenta con el tamaño del dominio del OpenSearch servicio. Cuando una operación de instantánea tarda mucho tiempo en ejecutarse, en ocasiones se genera el siguiente error: 504 GATEWAY_TIMEOUT
. Normalmente, puede hacer caso omiso de estos errores y esperar a que la operación se complete correctamente. Ejecute el siguiente comando para comprobar el estado de todas las instantáneas del dominio:
curl -XGET '
domain-endpoint
/_snapshot/repository-name
/_all?pretty'
Restaurar instantáneas
Antes de restaurar una instantánea, asegúrese de que el dominio de destino no utilice Multi-AZ con modo de espera. Si el modo de espera está activado, se produce un error en la operación de restauración.
aviso
Si utiliza alias de índice, debe detener las solicitudes de escritura a un alias, o cambiar el alias a otro índice, antes de borrar su índice. Al detener las solicitudes de escritura ayuda a evitar la siguiente situación:
-
Elimina un índice, de modo que también elimina su alias.
-
Una solicitud de escritura errante al alias que se ha eliminado crea un nuevo índice con el mismo nombre que el alias.
-
Ya no puede usar el alias debido a un conflicto de nombres con el nuevo índice. Si ha cambiado el alias a otro índice, especifique
"include_aliases": false
al realizar la restauración a partir de una instantánea.
Para restablecer una instantánea
-
Identifique la instantánea que desea restaurar. Asegúrese de que todos los ajustes de este índice, como los paquetes de analizadores personalizados o los ajustes de requisitos de asignación, sean compatibles con el dominio. Para ver todos los repositorios de instantáneas, ejecute el siguiente comando:
curl -XGET '
domain-endpoint
/_snapshot?pretty'Cuando identifique el repositorio, ejecute el siguiente comando para ver todas las instantáneas:
curl -XGET '
domain-endpoint
/_snapshot/repository-name
/_all?pretty'nota
La mayoría de las instantáneas automatizadas se almacenan en el repositorio
cs-automated
. Si su dominio cifra datos en reposo, se almacenan en el repositoriocs-automated-enc
. Si no ve el repositorio de instantáneas manuales que busca, asegúrese de que lo haya registrado en el dominio. -
(Opcional) Elimine o cambie el nombre de uno o más índices del dominio del OpenSearch servicio si hay conflictos de nomenclatura entre los índices del clúster y los índices de la instantánea. No puede restaurar una instantánea de los índices en un OpenSearch clúster que ya contenga índices con los mismos nombres.
Puede seleccionar las siguientes opciones si tiene conflictos de nomenclatura de índice:
-
Elimine los índices del dominio de OpenSearch servicio existente y, a continuación, restaure la instantánea.
-
Cambie el nombre de los índices a medida que los restaure desde la instantánea y vuelva a indexarlos más tarde. Para obtener información sobre cómo cambiar el nombre de los índices, consulte esta solicitud de ejemplo
en la documentación. OpenSearch -
Restaure la instantánea en un dominio de OpenSearch servicio diferente (solo es posible con instantáneas manuales).
El siguiente comando elimina todos los índices existentes en un dominio:
curl -XDELETE '
domain-endpoint
/_all'Sin embargo, si no piensa restaurar todos los índices, solo puede eliminar uno:
curl -XDELETE '
domain-endpoint
/index-name
' -
-
Para restaurar una instantánea, ejecute el siguiente comando:
curl -XPOST '
domain-endpoint
/_snapshot/repository-name
/snapshot-name
/_restore'Debido a los permisos especiales en los OpenSearch paneles y a los índices de control de acceso detallados, los intentos de restaurar todos los índices pueden fallar, especialmente si se intenta restaurar desde una instantánea automática. En el siguiente ejemplo, se restaura un solo índice,
my-index
, a partir de2020-snapshot
en el repositorio de instantáneascs-automated
:curl -XPOST '
domain-endpoint
/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "my-index"}' \ -H 'Content-Type: application/json'También puede que quiera restaurar todos los índices excepto los índices de control de acceso detallado y paneles:
curl -XPOST '
domain-endpoint
/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'Puede restaurar una instantánea sin eliminar sus datos mediante los parámetros
rename_pattern
yrename_replacement
. Para obtener más información sobre estos parámetros, consulte los campos de solicitud de la API Restore Snapshot y la solicitudde ejemplo en la documentación. OpenSearch
nota
Si no están disponibles todas las particiones principales para los índices implicados, es posible que una instantánea tenga state
establecido como PARTIAL
. Este valor indica que los datos de al menos una partición no se han almacenado correctamente. Puede continuar con la restauración a partir de una instantánea parcial, pero es posible que tenga que utilizar instantáneas anteriores para restaurar los índices que falten.
Eliminar instantáneas manuales
Ejecute el siguiente comando para tomar una instantánea manual:
DELETE _snapshot/
repository-name
/snapshot-name
Automatizar instantáneas con la administración de instantáneas
Puede configurar una política de administración de instantáneas (SM) en los OpenSearch paneles para automatizar la creación y eliminación periódicas de instantáneas. SM puede tomar una instantánea de un grupo de índices, mientras que Administración de estados de índice solo puede tomar una instantánea por índice. Para utilizar SM in OpenSearch Service, debe registrar su propio repositorio de Amazon S3. Para ver instrucciones sobre cómo registrar su repositorio, consulte Registrar un repositorio de instantáneas manuales.
Antes de SM, OpenSearch Service ofrecía una función de instantáneas automática y gratuita que todavía está activada de forma predeterminada. Esta característica envía las instantáneas al repositorio mantenido por el serviciocs-*
. Para desactivar la característica, póngase en contacto con AWS Support.
Para obtener más información sobre la función SM, consulte la administración de instantáneas
Actualmente, SM no admite la creación de instantáneas en varios tipos de índices. Por ejemplo, si intenta crear una instantánea en varios índices con *
y algunos índices están en el nivel semiactivo, la creación de la instantánea producirá un error. Si necesita que la instantánea contenga varios tipos de índices, utilice la acción de instantánea de ISM
Configuración de permisos de
Si va a actualizar a la versión 2.5 desde una versión anterior del dominio de OpenSearch servicio, es posible que los permisos de seguridad de administración de instantáneas no estén definidos en el dominio. Los usuarios que no sean administradores deben estar asignados a este rol para usar la administración de instantáneas en los dominios mediante un control de acceso detallado. Para crear el rol de administración de instantáneas de forma manual, siga estos pasos:
-
En los OpenSearch paneles, vaya a Seguridad y elija Permisos.
-
Seleccione Crear grupo de acciones y configure los siguientes grupos:
Nombre del grupo Permisos snapshot_management_full_access
-
cluster:admin/opensearch/snapshot_management/*
-
cluster:admin/opensearch/notifications/feature/publish
-
cluster:admin/repository/*
-
cluster:admin/snapshot/*
snapshot_management_read_access
-
cluster:admin/opensearch/snapshot_management/policy/get
-
cluster:admin/opensearch/snapshot_management/policy/search
-
cluster:admin/opensearch/snapshot_management/policy/explain
-
cluster:admin/repository/get
-
cluster:admin/snapshot/get
-
-
Seleccione Roles y, a continuación, Crear rol.
-
Asigne el nombre snapshot_management_role al rol.
-
Para Permisos de clúster, seleccione
snapshot_management_full_access
osnapshot_management_read_access
. -
Seleccione Crear.
-
Después de crear el rol, debe mapearlo a cualquier rol de usuario o backend que administre instantáneas.
Consideraciones
Tenga en cuenta lo siguiente al configurar la administración de instantáneas:
-
Se permite una política por repositorio.
-
Se permiten hasta 400 instantáneas para una política.
-
Esta característica no se ejecutará si su dominio tiene un estado rojo, está sometido a una presión elevada por la JVM (un 85 % o más) o tiene una característica de captura bloqueada. Si el rendimiento general de indexación y búsqueda de su clúster se ve afectado, es posible que SM también se vea afectado.
-
Una operación de instantánea solo comienza una vez finalizada la operación anterior, por lo que una política no activa ninguna operación de instantánea simultánea.
-
Varias políticas con la misma programación pueden provocar un pico de recursos. Si los índices instantáneos de las políticas se superponen, las operaciones de instantáneas a nivel de partición solo se pueden ejecutar de forma secuencial, lo que puede provocar un problema de rendimiento en cascada. Si las políticas comparten un repositorio, habrá un pico de operaciones de escritura en ese repositorio.
-
Le recomendamos que programe la automatización de sus operaciones instantáneas para que no se realice más de una vez por hora, a menos que se trate de un caso de uso especial.
Automatizar instantáneas con la administración de estado de índice
Puede utilizar la operación snapshot
de administración de estado de índice (ISM) para activar automáticamente instantáneas de índices en función de los cambios en su antigüedad, tamaño o número de documentos. ISM es la mejor opción cuando se necesita una instantánea por índice. Si necesita hacer una instantánea de un grupo de índices, consulte Automatizar instantáneas con la administración de instantáneas.
Para utilizar SM in OpenSearch Service, debe registrar su propio repositorio de Amazon S3. Para obtener un ejemplo de política ISM con la operación snapshot
, consulte Políticas de muestra.
Utilizar Curator para instantáneas
Si ISM no funciona para la administración de índices e instantáneas, puede utilizar Curator en su lugar. Ofrece una funcionalidad avanzada de filtrado que ayuda a simplificar tareas de administración en clústeres complejos. Utilice pip
pip install elasticsearch-curator
Puede utilizar Curator como una interfaz de línea de comandos (CLI) o una API de Python. Si utiliza la API de Python, debe utilizar la versión 7.13.4 o anterior del cliente elasticsearch-py
Si utiliza la CLI, exporte sus credenciales en la línea de comandos y configure curator.yml
como se indica a continuación:
client: hosts: search-
my-domain
.us-west-1
.es.amazonaws.com port: 443 use_ssl: True aws_region:us-west-1
aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO