Plataforma de investigación de Ausvet
Guía técnica 1
Plataforma de investigación: Guía técnica 1
Configuración de la transferencia de datos automatizada Introducción Ausvet ha celebrado un acuerdo con varias empresas acuícolas en Chile para la creación de una plataforma de investigación integrada. Se trata de una base de datos en línea que integra todos los datos relevantes desde la base de datos de producción de cada empresa (por ej., FishTalk o Mercatus), junto con otras fuentes de datos, para servir como apoyo para la investigación rápida y potente sobre los problemas sanitarios a los que se enfrenta la industria. El sistema integrará más datos, como informes manejados usando hojas de cálculo o capturados usando una aplicación móvil, de manera progresiva. Dos características importantes de la plataforma de investigación son que no debería aumentar la carga laboral del personal de la empresa y que debería ser sostenible y poder usarse para abordar problemas relacionados con enfermedades que pudieran surgir en el futuro. Por estas razones, la transferencia de datos desde los servidores de la empresa a la plataforma de investigación debería estar completamente automatizada. Esta guía le explicará cómo configurar la transferencia automatizada de datos. La configuración del proceso automatizado de transferencia no debería tomar más de 15 o 20 minutos.
Contenido Inicio rápido ............................................................................................................. 2 Visión general .......................................................................................................... 3 Instrucciones paso a paso ....................................................................................... 5 Descarga de copias de seguridad anteriores ....................................................... 14 Ayuda ..................................................................................................................... 14
Plataforma de investigación de Ausvet Guía técnica 1
Inicio rápido Esta es una guía rápida para quienes sean más impacientes. Contiene los pasos clave, pero en las secciones posteriores se describen los mismos pasos en mayor detalle. 1. Obtenga sus credenciales de seguridad en un archivo de extensión .zip cifrado que Ausvet le proporcionará 2. Descargue e instale el Cliente AWS CLI a. 64 bit: https://s3.amazonaws.com/aws-cli/AWSCLI64.msi b. 32 bit: https://s3.amazonaws.com/aws-cli/AWSCLI32.msi 3. Configure el cliente AWS CLI a. Cuando aparezca el símbolo del sistema, ingrese: aws configure b. Ingrese su ID de ingreso y su clave de seguridad que Ausvet le entregó c. Región predeterminada: sa-east-1 d. Formato predeterminado: json 4. Cree un archivo de procesamiento por lotes editando el siguiente ejemplo para que coincida con su copia de seguridad y su nombre de cubo S3 (entregado por Ausvet) y guárdelo como copydb2s3.bat Archivo de procesamiento por lote para la transferencia automatizada de la copia de seguridad de la base de datos: copydb2s3.bat echo off REM -- obtener fecha en formato ISO (AAAAMMDD) REM -- esto se puede modificar si el formato de la fecha es diferente set today=%date:~-4,4%%date:~-7,2%%date:~-10,2% REM -- obtenga el nombre actual del archivo REM -- si es una constante quite la marca del comentario en la línea siguiente REM set filename=c:\backup\fishtalk.bak REM -- si tiene una fecha en el nombre del archivo, use la línea siguiente set filename=c:\backup\fishtalk%today%.bak REM -- configurar el nombre del archivo de destino set destname=database%today%.bak REM -- configurar el cubo y el nombre de la carpeta REM -- es importante tener un / al final set bucketname=s3://data.piisac.omnisyan.com/company/ REM -- copiar el archivo a S3 aws s3 cp %filename% %bucketname%%destname%
5. Pruebe la copia de seguridad para asegurarse de que funcione 6. Cree una tarea programada de Windows para llamar al archivo de procesamiento por lotes una vez a la semana, después de que se haya creado la copia de seguridad. Lea el resto de este documento para obtener instrucciones más detalladas.
2
Plataforma de investigación de Ausvet Guía técnica 1
Visión general El objetivo es transferir la copia de seguridad de la base de datos más reciente, de manera segura y automática, desde el servidor de la empresa al cubo S3 seguro de la plataforma de investigación de Ausvet, que se encuentra en la nube en Amazon Web Services.
Enfoque Hay dos enfoques posibles: push y pull. Se prefiere el enfoque push. La transferencia la inicia el servidor de la empresa y no se requieren cambios al cortafuegos o a las configuraciones de seguridad de la empresa. Sin embargo, sí se requiere la configuración de una tarea programada y la instalación de una herramienta simple para realizar la transferencia cifrada al AWS S3. El enfoque pull implica que Ausvet inicia la transferencia, pero requiere que la empresa modifique su cortafuegos y sus permisos de acceso. Esto lleva a una mayor carga de trabajo y de mayor complejidad, ya que se tiene que tener cuidado para evitar riesgos de seguridad. Este documento describe el enfoque push recomendado. Si, por cualquier razón, prefiriera usar el enfoque pull, contacte a Ausvet para obtener instrucciones detalladas al respecto.
Amazon Web Services Amazon Web Services (AWS) es uno de los prestadores de hosting en la nube líder del mercado. Entregan una amplia variedad de hardware virtual económico, incluyendo servicios virtuales (Elastic Cloud Computing o EC2) y discos virtuales compartidos (Simple Storage Service o cubos S3). Todos los componentes se agrupan en una nube virtual, privada y segura (VPC), con su propio cortafuegos y con permisos de acceso detallados. Transferencia de datos La transferir datos de manera segura desde cualquier servidor al cubo S3 especificado, se requiere una herramienta de software y claves de seguridad. Hay diferentes opciones de software disponibles, incluyendo programas de interfaz gráfica de usuario interactiva (GUI). Sin embargo, el más flexible y conveniente para la escritura de comandos automatizada es la interfaz de línea de comandos (CLI) de AWS. Esto permite a los usuarios interactuar directamente con la nube de AWS desde su servidor local. Una vez instalada la AWS CLI, se crea un archivo de procesamiento por lote o una línea de comandos. Esto identifica la copia de seguridad más reciente de la base de datos e inicia la transferencia al cubo S3 especificado usando las credenciales de seguridad necesarias. Se puede usar una línea de comandos estándar, pero hay varios parámetros (rutas de archivos, credenciales de seguridad) que se deben configurar manualmente antes de poder usarla. Finalmente, AWS S3 envía un correo electrónico automáticamente al contacto técnico en la empresa, para confirmar que el archivo se ha transferido de manera exitosa.
3
Plataforma de investigación de Ausvet Guía técnica 1
Automatización Para poder ejecutar la línea de comandos de manera automática a un intervalo regular (una vez a la semana), se crea una Tarea Programada. Una vez hecho esto, no se necesitan acciones posteriores y los datos se transferirán automáticamente hasta que se deshabilite la tarea programada. Seguridad Ausvet entregará a cada empresa un conjunto de credenciales de seguridad que se usarán con la transferencia automatizada de datos. Con esto, tendrá autorización para escribir la copia de seguridad en una carpeta específica para la empresa dentro del cubo S3, pero no tendrá autorización para acceder a ninguna otra parte del sistema. Es importante mantener estas credenciales de seguridad seguras, para evitar accesos no autorizados a su carpeta en el S3. Todas las transferencias de datos desde su servidor al cubo S3 quedan cifradas automáticamente, para evitar ataques no autorizados de intermediarios.
Para mantener copias en la nube Ausvet, por defecto, no almacena copias anteriores de sus datos. Una vez que se recibe una versión nueva, la versión anterior se elimina. Sin embargo, aquellas empresas que no cuenten con sistemas de respaldo de datos off-site efectivos pueden solicitar a Ausvet mantener algunas o todas sus copias de seguridad anteriores. Esto implica que siempre tendrá una copia de sus datos disponible en caso de que exista una falla del sistema local. Las instrucciones para descargar una copia de seguridad anterior desde el cubo S3 se encuentran en la guía a continuación.
Supuestos Esta guía supone lo siguiente
Sistema operativo Windows. Si su servidor funciona con un sistema operativo diferente (por ej., Mac o Linux), el procedimiento de configuración es muy similar y Ausvet puede entregarle los detalles necesarios.
Copia de seguridad de la base de datos. Suponemos que cuenta con sistemas existentes para crear una copia de seguridad automatizada de su base de datos al menos una vez a la semana, y que conoce el nombre y la ubicación del archivo de esta copia de seguridad. Si su sistema de copia de seguridad de su base de datos no está automatizado, o si quiere automatizar una copia de seguridad de su base de datos de manera individual para generar el archivo que se exportará a la plataforma de investigación, cuéntenos y le podremos ayudar a crear una línea de comandos para la automatización de la copia de seguridad.
4
Plataforma de investigación de Ausvet Guía técnica 1
Instrucciones paso a paso Step 1:
Obtenga sus credenciales de seguridad desde Ausvet
Cuando esté listo para configurar la transferencia de datos, contacte a Ausvet y entréguenos la siguiente información:
La dirección de correo electrónico de su contacto técnico. Las notificaciones automáticas de las cargas de datos exitosas se enviarán a esta dirección
Si es que desea mantener copias de sus datos como copias de seguridad externas, o reemplazar cada copia de seguridad con la versión más reciente para que guardemos solo una copia.
Luego, Ausvet configurará el cubo S3 y su cuenta de AWS y le enviará sus credenciales de seguridad. Estas se enviarán como un archivo de extensión .zip protegido con contraseña. Ausvet le entregará la contraseña por teléfono, para proteger su seguridad. Las credenciales en el archivo .zip se verán así: S3 bucket : Access key ID : Secret access key: Default region : Default format :
nombre_de_su_empresa AKIAILO2JNVD3EXAMPLE MyoqZ/JrSyra6eQteeFXnrTKFo1ksUzKDEXAMPLE sa-east-1 json
El nombre del cubo S3 es el mismo que el de su empresa, en letras minúsculas. La ID de clave de acceso y la clave de acceso secreta se usan para configurar el cliente AWS CLI en el siguiente paso.
Step 2:
Aceptar suscripción a notificaciones
Cuando se configura la cuenta AWS, el sistema también configura notificaciones automáticas por correo electrónico, para confirmar que los datos se hayan cargado. Recibirá un correo electrónico a la cuenta técnica designada, que se verá así: From: AWS Notifications
[email protected] Subject: AWS Notification - Subscription Confirmation You have chosen to subscribe to the topic: arn:aws:sns:sa-east-1:287971726489:test1_notification To confirm this subscription, click or visit the link below (If this was in error no action is necessary): Confirm subscription Please do not reply directly to this email. If you wish to remove yourself from receiving all future SNS subscription confirmation requests please send an email to sns-opt-out 5
Plataforma de investigación de Ausvet Guía técnica 1
Haga clic en el enlace Confirmar Suscripción para abrir una nueva página en su navegador y confirmar su suscripción a las notificaciones.
Step 3:
Instalación del cliente AWS CLI
Instale el cliente AWS CLI para manejar la transferencia de la copia de seguridad de su base de datos desde el servidor local a un cubo S3 seguro. Puede encontrar una guía de instalación completa para el cliente AWS CLI aquí: https://docs.aws.amazon.com/cli/latest/userguide/awscliinstall-windows.html#install-msi-on-windows Para instalar el AWS CLI usando el instalador MSI: 1. Descargue el instalador MSI adecuado.
Descargue el instalador AWS CLI MSI para Windows (64-bit): https://s3.amazonaws.com/aws-cli/AWSCLI64.msi
Descargue el instalador AWS SLI MSI para Windows (32-bit) https://s3.amazonaws.com/aws-cli/AWSCLI32.msi
Nota: El instalador MSI para el AWS CLO no funciona con el Windows Server 2008 (versión 6.0.6002). En vez de eso, use el método de instalación pip Python descrito aquí: https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html#awscli-installwindows-pip 2. Ejecute el instalador MSI que descargó.
3. Siga las instrucciones que vayan apareciendo. Si tuviera algún problema, aquí hay disponibles instrucciones de descarga alternativa, métodos para verificar una instalación exitosa e instrucciones sobre la configuración de la variable de entorno PATH, si lo requiere: https://docs.aws.amazon.com/cli/latest/userguide/awscli-installwindows.html
Step 4:
Configuración del cliente AWS CLI
Este paso guarda sus credenciales de seguridad (desde el archivo .zip que recibió de Ausvet) y la región AWS predeterminada, para que pueda utilizar el cliente AWS CLI sin tener que especificarlas en cada ocasión: 1. Abra el procesador de comandos de Windows desde el menú de Inicio (Sistema de Windows/Símbolo del Sistema) 2. Ingrese: aws configure 3. Ingrese los siguientes detalles. AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: sa-east-1 Default output format [None]: json
6
Plataforma de investigación de Ausvet Guía técnica 1
La ID de clave de acceso AWS, y la clave de acceso secreta AWS, le serán entregadas por Ausvet, por separado, en un archivo de formato .zip protegido con contraseña. Estas son las credenciales de seguridad que le permitirán acceder a su cubo S3 privado.
El nombre de región predeterminada es sa-east-1. Este especifica la región predeterminada del centro de datos AWS.
El formato de salida predeterminado es json para un producto legible por computador.
Para obtener más información sobre la configuración del cliente AWS CLI, visite: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
Step 5:
Transferencia manual de datos
Para probar el sistema de transferencia, primero realice una transferencia manual de datos. Para esto, necesita saber:
La ruta y el nombre de la copia de seguridad de su base de datos. o Por ejemplo: c:\MSSQL Server\backup\fishtalk20180212.bak
El nombre y la ruta de la carpeta de su cubo S3 privado. Ausvet se los entregará por separado. o Por ejemplo: s3://data.piisac.omnisyan.com/companyname/
Para copiar el archivo en el cubo S3: 1. Abra el procesador de comandos de Windows desde el menú de Inicio, y escriba (todo en la misma línea): aws s3 cp “c:\MSSQL Server\backup\fishtalk20180212.bak” s3://data.piisac.omnisyan.com/nombredelaempresa/ Note que es necesario ingresar las comas invertidas alrededor de la ruta completa y del nombre del archivo, si es que hay espacios en la ruta o en el nombre del archivo. Se transferirá el archivo. El tiempo que demore la transferencia dependerá del tamaño del archivo y de la velocidad de su conexión a internet. Los archivos de mayor tamaño pueden tomar varios minutos, o incluso más, si cuenta con una conexión lenta. 2. Después de que se haya transferido el archivo, usted debería recibir un correo electrónico en la dirección de su contacto técnico registrado, confirmando que el archivo se agregó al cubo S3. El correo electrónico está en formato JSON y se verá más o menos así: {"Records":[{"eventVersion":"2.0","eventSource":"aws:s3","awsRegion":"sa-east-1","eventTime":"2018-0210T03:54:23.964Z","eventName":"ObjectCreated:Put", "userIdentity":{"principalId": "AWS:AIDAJJANTCC2YTLSNQ77C"},"requestParameters":{"sourceIPAddress":"59.101.206.137"},"responseEle ments":{"x-amz-request-id":"C9822952C076D9C6","x-amz-id-2":"9bKUzChBs6QRB8b9mztbKMZwJeMQ/ EknT2ZBhB536F2ehceGulihA/Xk9ZTHXn7NfSTee0PAnkg="} ,"s3":{"s3SchemaVersion":"1.0","configurationId":"File uploaded","bucket": {"name": "data.piisac.omnisyan.com", "ownerIdentity": {"principalId":"A2C2HSQ707BA4J"},"arn":
7
Plataforma de investigación de Ausvet Guía técnica 1
"arn:aws:s3:::data.piisac.omnisyan.com"},"object":{"key":"company/fishtalk20180210.bak","size":9003,"eTa g":"1af52b928515f630b18cd6d44747a8b1","sequencer":"005A7E6CEF5EB9CBDB"}}}]} If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe: https://sns.sa-east-1.amazonaws.com/unsubscribe.html? SubscriptionArn=arn:aws:sns:sa-east1:998690342977:PIISAC_FileUpload:6d556fb4-a682-4e06-a483-503115e4a15e&Endpoint=
[email protected] Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support
Para más información sobre los comandos que se pueden usar con el cliente AWS CLI, consulte https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html
Step 6:
Creación de un archivo de procesamiento por lotes
Para automatizar el proceso, necesita crear un archivo de procesamiento por lotes con el comando para transferir el archivo. Puede escribir el archivo de procesamiento por lotes con su editor de texto de preferencia, por ejemplo, con el bloc de notas. No use Word ni otro software que guarde archivos con formatos especiales, ya que lo debe guardar con un formato de texto plano, de extensión ".bat". Nombres de archivos
Las diferentes empresas pueden tener diferentes formas de abordar la nomenclatura de sus copias de seguridad.
Nombre de archivo constante. Se usa el mismo nombre de archivo cada vez que se crea una copia de seguridad. La nueva copia de seguridad reemplaza a la anterior. o Por ejemplo, backup.bak
Nombre de archivo único. El nombre del archivo es único, así que se guardan todos los archivos de copias de seguridad. Normalmente, el nombre del archivo incluye su fecha de creación, para identificarlo y hacer que sea único o Por ejemplo: backup20180210.back
La línea de comandos de procesamiento por lotes tiene que identificar el archivo de copia de seguridad más reciente (archivo de origen) y guardarlo en el S3 con el nombre de archivo correcto. Si el archivo tiene un nombre constante, la variable de nombre de archivo en el archivo de procesamiento por lotes es, simplemente, ese nombre. Sin embargo, si el archivo tiene una extensión de fecha, entonces la variable del nombre del archivo se tiene que configurar según la fecha, para que coincida con la copia de seguridad. Suponemos que la fecha se guarda en formato ISO (AAAAMMDD). Si se usa otro sistema, puede modificar la línea de comandos para que coincida con su enfoque sobre la nomenclatura de archivos.
8
Plataforma de investigación de Ausvet Guía técnica 1
Este es un ejemplo de un archivo de procesamiento por lotes. Las líneas que comienzan con REM son solo comentarios. Modifique los elementos en rojo y guárdelos como copydb2s3.bat en una carpeta adecuada. Archivo de procesamiento por lote para la transferencia automatizada de la copia de seguridad de la base de datos: copydb2s3.bat echo off REM -- obtener fecha en formato ISO (AAAAMMDD) REM -- esto se puede modificar si el formato de la fecha es diferente set today=%date:~-4,4%%date:~-7,2%%date:~-10,2% REM -- obtenga el nombre actual del archivo REM -- si es una constante quite la marca del comentario en la línea siguiente REM set filename=c:\backup\fishtalk.bak REM -- si tiene una fecha en el nombre del archivo, use la línea siguiente set filename=c:\backup\fishtalk%today%.bak REM -- configurar el nombre del archivo de destino set destname=database%today%.bak REM -- configurar el cubo y el nombre de la carpeta REM -- es importante tener un / al final set bucketname=s3://data.piisac.omnisyan.com/company/ REM -- copiar el archivo a S3 aws s3 cp %filename% %bucketname%%destname%
Para probar el archivo, abra el procesador de comandos de Windows desde el menú de Inicio, cambie la carpeta donde guardó el archivo de procesamiento por lotes y ejecútelo: copydb2s3.bat
Si ve un mensaje parecido a este: upload: .\fishtalk.bak to s3://data.piisac.omnisyan.com/company/database20180210.bak
significa que el archivo de procesamiento por lotes está funcionando. Si ve un mensaje como este: The user-provided path c:\backup\fishtalk20180210.bak does not exist.
hay un problema con el nombre de su archivo. Contacte a Ausvet si necesita ayuda para configurar su archivo de procesamiento por lote.
Step 7:
Creación de un evento programado
El último paso es configurar Windows para que ejecute el archivo de procesamiento por lotes una vez a la semana. Se debería ejecutar poco tiempo después de la creación de la copia de seguridad, y en un momento en el que la transferencia de un archivo de mayor tamaño no interfiera con otros usuarios (por ejemplo, durante la noche o el fin de semana).
9
Plataforma de investigación de Ausvet Guía técnica 1
1. Abra el programador de tareas desde el menú de inicio o desde la barra de búsqueda 2. En la pestaña Acción, a la derecha, haga clic en Crear tarea básica
3. En el Asistente, ingrese un nombre y una descripción y haga clic en siguiente
4. Seleccione Semanalmente para desencadenar la tarea. Haga clic en Siguiente
10
Plataforma de investigación de Ausvet Guía técnica 1
5. Configure la fecha de inicio, la hora de inicio y los días de ejecución y haga clic en siguiente
6. Para la Acción, seleccione "Iniciar un programa" y haga clic en Siguiente
7. Use el botón Examinar para encontrar la ubicación donde guardó la línea de comandos (copydb2s3.bat) y haga clic en Siguiente.
11
Plataforma de investigación de Ausvet Guía técnica 1
8. Revise los detalles y marque la casilla "Abrir diálogo Propiedades para esta tarea al hacer clic en Finalizar", luego haga clic en Finalizar
9. Realice los siguientes cambios: a. Marque la opción "Ejecutar si usuario está logueado o no" b. Asegúrese de que el usuario sea el mismo usuario que se usó para configurar las credenciales de configuración de AWS CLI. c. Marque la opción "Ejecutar con privilegios más altos". Luego, haga clic en OK.
12
Plataforma de investigación de Ausvet Guía técnica 1
10. Es necesario que confirme su contraseña de usuario de Windows: a. Cuando aparezca la siguiente ventana emergente, seleccione su nombre de usuario de Windows desde el menú desplegable (usted debería ser el predeterminado) e ingrese su contraseña de ingreso de Windows. b. Haga clic en OK.
11. Pruebe la tarea ejecutándola manualmente. En la ventana principal del programador de tareas, a. haga clic en Biblioteca del programador de tareas, en la ventana izquierda, b. haga clic en la tarea definida ("Copiar base de datos...") en la ventana del medio c. Haga clic en Ejecutar en la ventana derecha
El estado de la tarea debería cambiar a "Ejecutando" y, después de completada la carga, debería recibir un mensaje de notificación de carga desde el AWS S3. 13
Plataforma de investigación de Ausvet Guía técnica 1
Descarga de copias de seguridad anteriores Si le ha solicitado a Ausvet guardar copias de seguridad anteriores, puede recuperar estos archivos desde el S3 con el mismo comando cp, pero copiar desde el cubo S3 a su servidor local: aws s3 cp s3://data.piisac.omnisyan.com/companyname/fishtalk20180212.bak
“c:\backup\”
Ayuda Si tiene algún problema para configurar la transferencia automatizada, por favor contacte a Ausvet.
14