Copia de seguridad de sistemas de archivos de Amazon EFS medianteAWS Data Pipeline - Amazon Elastic File System

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.

Copia de seguridad de sistemas de archivos de Amazon EFS medianteAWS Data Pipeline

nota

El uso de AWS Data Pipeline para realizar copias de seguridad de sus sistemas de archivos de EFS es una solución heredada.

Hay dos soluciones recomendadas disponibles para realizar copias de seguridad de sus sistemas de archivos de Amazon EFS.

  • AWS BackupServicio de

  • Solución de copias de seguridad de EFS a EFS

AWS Backupes un método sencillo y rentable de crear copias de seguridad en sus sistemas de archivos de Amazon EFS.AWS Backupes un servicio de copia de seguridad unificado diseñado para simplificar la creación, migración, restauración y eliminación de backups, a la vez que ofrece una mejor creación de informes y auditorías. Para obtener más información, consulte UsoAWS BackupAmazon EFS.

La solución de backup de EFS a EFS es adecuada para todos los sistemas de archivos de Amazon EFS en todos los Región de AWS . Se incluye unAWS CloudFormationque lanza, configura y ejecuta la plantilla deAWSnecesarios para implementar esta solución. Esta solución sigueAWSLas prácticas recomendadas en materia de seguridad y disponibilidad de. Para obtener más información, consulteSolución de Backup de EFS a EFSinAWSRespuestas.

Solución de backup de EFS heredada medianteAWS Data Pipeline

Uso deAWS Data PipelinePara realizar copias de seguridad de los sistemas de archivos de EFS es una solución heredada de. En esta solución, crea una canalización de datos mediante el servicio AWS Data Pipeline. Esta canalización copia los datos de su sistema de archivos de Amazon EFS (denominadoSistema de archivos de producción) a otro sistema de archivos de Amazon EFS (denominadoSistema de archivos de seguridad de).

Esta solución consta de plantillas de AWS Data Pipeline que implementan lo siguiente:

  • Backups de EFS automatizados basados en un calendario que usted defina (por ejemplo, horario, diario, semanal o mensual).

  • Rotación automática de los backups, donde el backup más antiguo se sustituirá por el más reciente en función del número de backups que desee conservar.

  • Copias de seguridad más rápidas haciendo copia de seguridad solo de los cambios que se han producido entre una copia de seguridad y la siguiente.

  • Almacenamiento eficaz de backups a través de enlaces físicos. Un enlace físico es una entrada de directorio que asocia un nombre a un archivo de un sistema de archivos. Estableciendo un enlace físico, puede realizar una restauración completa de los datos desde cualquier copia de seguridad, almacenando solo lo que ha cambiado entre copia y copia.

Después de configurar la solución de backup, este tutorial le muestra cómo acceder a sus backups para restaurar los datos. Esta solución de backup depende de la ejecución de scripts que se alojan en GitHub y, por tanto, está sujeta a la disponibilidad de GitHub. Si prefiere eliminar esta dependencia y alojar los scripts en un bucket de Amazon S3 en su lugar, consultePara alojar los scripts rsync en un bucket de Amazon S3.

importante

Esta solución requiere el uso deAWS Data PipelineEn el mismo Región de AWS Como sistema de archivos de. Ya queAWS Data Pipelineno es compatible en EE.UU. Este (Ohio), esta solución no funciona en eseAWSRegión . Le recomendamos que si desea realizar una copia de seguridad de su sistema de archivos utilizando esta solución, utilice el sistema de archivos en uno de los otros Región de AWS .

Rendimiento de las copias de seguridad de Amazon EFS medianteAWS Data Pipeline

Al realizar backups de datos y restauraciones, el desempeño del sistema de archivos está sujeto a Rendimiento de Amazon EFS, incluidos el punto de referencia y la capacidad de desempeño de ráfaga. El desempeño que utiliza la solución de copia de seguridad se tiene en cuenta en el desempeño total del sistema de archivos. La siguiente tabla ofrece algunas recomendaciones para los tamaños del sistema de archivos de Amazon EFS y de instancia Amazon EC2 que funcionan para esta solución, suponiendo que su período de copia de seguridad sea de 15 minutos de duración.

Tamaño de EFS (tamaño medio de archivo de 30 MB) Volumen de cambios diario Horas de ráfagas restantes Número mínimo de agentes de backup
256 GB Menos de 25 GB 6.75 1 - m3.medium
512 GB Menos de 50 GB 7.75 1 - m3.large
1.0 TB Menos de 75 GB 11.75 2 - m3.large*
1.5 TB Menos de 125 GB 11.75 2 - m3.xlarge*
2.0 TB Menos de 175 GB 11.75 3 - m3.large*
3.0 TB Menos de 250 GB 11.75 4 - m3.xlarge*

* Estas estimaciones se basan en la suposición de que los datos almacenados en un sistema de archivos de EFS que tenga 1 TB o más se organiza de forma que el backup se pueda distribuir en varios nodos de backup. Los scripts de ejemplo de varios nodos dividen la carga de backup entre nodos en función del contenido del directorio de primer nivel de su sistema de archivos de EFS.

Por ejemplo, si hay dos nodos de copia de seguridad, un nodo realiza la copia de seguridad de todos los archivos y directorios pares ubicados en el directorio de primer nivel, mientras que el nodo impar hace lo mismo para los archivos y directorios impares. En otro ejemplo, con seis directorios en el sistema de archivos de Amazon EFS y cuatro nodos de copia de seguridad, el primer nodo realiza una copia de seguridad del primer y quinto directorio. El segundo nodo realiza una copia de seguridad del segundo y sexto directorio, y el tercer y cuarto nodo realizan una copia de seguridad del tercer y cuarto directorio respectivamente.

Consideraciones sobre el respaldo de Amazon EFS medianteAWS Data Pipeline

Tenga en cuenta lo siguiente a la hora de decidir si desea implementar una solución de copia de seguridad de Amazon EFS utilizandoAWS Data Pipeline:

  • Este enfoque de EFS implica una serie deAWSde AWS. Para esta solución, tiene que crear lo siguiente:

    • Un sistema de archivos de producción y un sistema de archivos de backup que contiene una copia completa del sistema de archivos de producción. El sistema también contiene todos los cambios incrementales efectuados en los datos durante el período de rotación de las copias de seguridad.

    • Instancias Amazon EC2, cuyos ciclos de vida son administrados porAWS Data Pipeline, que realizan restauraciones y backups programados.

    • Solo AWS Data Pipeline programado con regularidad para backup de datos.

    • Un AWS Data Pipeline para restaurar copias de seguridad.

    Cuando se implementa esta solución, estos servicios se facturan en su cuenta. Para obtener más información, consulte las siguientes páginas de precios deAmazon EFS,Amazon EC2, yAWS Data Pipeline.

  • Esta no es una solución de copia de seguridad sin conexión. Para garantizar un backup completo y coherente, detenga cualquier escritura de archivo en el sistema de archivos o desmonte el sistema de archivos mientras se realiza el backup. Le recomendamos que realice todas las copias de seguridad durante el tiempo de inactividad programado o durante las horas no laborables.

Supuestos para la copia de seguridad de Amazon EFS conAWS Data Pipeline

En este tutorial se hacen varias suposiciones y se declaran valores de ejemplo de la siguiente manera:

  • Antes de empezar este tutorial se supone que ya completado Introducción.

  • Una vez completado el ejercicio de introducción, dispone de dos grupos de seguridad, una subred de VPC y un destino de montaje de sistema de archivos para el sistema de archivos del que desea realizar un backup. Para el resto de este tutorial, utilice los siguientes valores de ejemplo:

    • El ID del sistema de archivos del que realiza un backup en este tutorial es fs-12345678.

    • El grupo de seguridad del sistema de archivos que se asocia con el destino de montaje se denomina efs-mt-sg (sg-1111111a).

    • El grupo de seguridad que concede a las instancias Amazon EC2 la capacidad de conectarse al punto de montaje de EFS de producción se denominaefs-ec2-sg (sg-1111111b).

    • La subred de VPC tiene el valor de ID de subnet-abcd1234.

    • La dirección IP del destino de montaje del sistema de archivos de origen para el sistema de archivos del que desea realizar un backup es 10.0.1.32:/.

    • El ejemplo supone que el sistema de archivos de producción es un sistema de administración de contenido que ofrece archivos multimedia con un tamaño promedio de 30 MB.

Los supuestos y ejemplos anteriores se reflejan en el diagrama de configuración inicial siguiente.

Cómo realizar copias de seguridad de un sistema de archivos de Amazon EFS conAWS Data Pipeline

Siga los pasos descritos en esta sección para realizar un backup o restaurar su sistema de archivos de Amazon EFS conAWS Data Pipeline.

Paso 1: Creación del sistema de archivos de Amazon EFS

En este tutorial, crea grupos de seguridad independientes, sistemas de archivos y puntos de montaje para separar los backups del origen de datos. En este primer paso, crea dichos recursos:

  1. En primer lugar, cree dos nuevos grupos de seguridad. El grupo de seguridad de ejemplo para el destino de montaje de backup es efs-backup-mt-sg (sg-9999999a). El grupo de seguridad de ejemplo para que la instancia EC2 tenga acceso el destino de montaje es efs-backup-ec2-sg (sg-9999999b). Recuerde crear estos grupos de seguridad en la misma VPC que el volumen de EFS cuyo backup desee realizar. En este ejemplo, la VPC asociada a la subred subnet-abcd1234. Para obtener más información sobre la creación de grupos de seguridad, consulte Creación de grupos de seguridad.

  2. A continuación, cree un sistema de archivos de Amazon EFS de backup. En este ejemplo, el ID del sistema de archivos es fs-abcdefaa. Para obtener más información sobre la creación de sistemas de archivos, consulte Creación de sistemas de archivos de Amazon EFS.

  3. Por último, cree un punto de montaje para el sistema de archivos de backup de EFS y suponga que tiene el valor de 10.0.1.75:/. Para obtener más información sobre la creación de destinos de montaje, consulte Creación y administración de destinos de montaje.

Una vez completado este primer paso, la configuración debe tener un aspecto similar al siguiente diagrama de ejemplo.

Paso 2: Descarga deAWS Data Pipelineplantilla para copias de seguridad

AWS Data Pipelinele ayuda a procesar datos y a transferirlos de manera fiable entre distintosAWScapacidad informática y almacenamiento a intervalos definidos. Con la consola de AWS Data Pipeline puede crear definiciones de canalización preconfiguradas, conocidas como plantillas. Puede utilizar estas plantillas para comenzar a utilizar AWS Data Pipeline rápidamente. En este tutorial se proporciona una plantilla para facilitar el proceso de configuración de la canalización de backup.

Cuando se realiza la implementación, esta plantilla crea una canalización de datos que lanza una instancia Amazon EC2 única según el programa que especifique para crear datos de backup desde el sistema de archivos de producción al sistema de archivos de backup. Esta plantilla tiene una serie de valores de marcador. Debe proporcionar los valores coincidentes para los marcadores de posición en la sección Parameters (Parámetros) de la consola AWS Data Pipeline. Descargue la plantilla de AWS Data Pipeline para las copias de seguridad en 1-Node-EFSBackupDataPipeline.json desde GitHub.

nota

Esta plantilla también hace referencia y ejecuta un script para realizar los comandos de backup. Puede descargar el script antes de crear la canalización para revisar lo que hace. Para revisar el script, descargue efs-backup.sh desde GitHub. Esta solución de backup depende de la ejecución de scripts que se alojan en GitHub y, por tanto, está sujeta a la disponibilidad de GitHub. Si prefiere eliminar esta dependencia y alojar los scripts en un bucket de Amazon S3 en su lugar, consultePara alojar los scripts rsync en un bucket de Amazon S3.

Paso 3: Creación de una canalización de datos para backup de

Utilice el siguiente procedimiento para crear su canalización de datos.

Para crear una canalización de datos para copias de seguridad de Amazon EFS

  1. Abra el iconoAWS Data Pipelineconsola de enhttps://console.aws.amazon.com/datapipeline/.

    importante

    Asegúrese de que está trabajando en el mismo Región de AWS Como sus sistemas de archivos de Amazon EFS.

  2. Elija Create new pipeline (Crear nueva canalización).

  3. Añada valores para Name (Nombre) y, opcionalmente, para Description (Descripción).

  4. En Source (Origen), elija Import a definition (Importar definición) y después Load local file (Cargar archivo local).

  5. En el explorador de archivos, acceda a la plantilla que ha guardado en Paso 2: Descarga deAWS Data Pipelineplantilla para copias de seguridad y, a continuación, seleccione Open (Abrir).

  6. En Parameters (Parámetros), proporcione los detalles de sus sistemas de archivos de EFS de producción y de copia de seguridad.

  7. Configure las opciones enSchedulepara definir la programación de copias de seguridad de Amazon EFS. El backup del ejemplo se ejecuta una vez al día y los backups se conservan durante una semana. Cuando un backup tiene siete días, se sustituye por el siguiente backup más antiguo.

    nota

    Le recomendamos que especifique un tiempo de ejecución que tenga lugar fuera de las horas punta.

  8. (Opcional) Especificar una ubicación de Amazon S3 para almacenar los registros de canalización, configurar un rol de IAM personalizado o añadir etiquetas para describir la canalización.

  9. Cuando la canalización esté configurada, seleccione Activate (Activar).

Ya ha configurado y activado su canalización de datos de copia de seguridad de Amazon EFS. Para obtener más información sobre AWS Data Pipeline, consulte la Guía para desarrolladores de AWS Data Pipeline. En este momento, puede realizar el backup ahora como una prueba o puede esperar hasta que el backup se realice a la hora programada.

Paso 4: Acceder a las copias de seguridad de Amazon EFS

La copia de seguridad de Amazon EFS ya se ha creado, activado y se ejecuta según el programa que ha definido. En este paso se explica cómo puede obtener acceso a sus copias de seguridad de EFS. Los backups se almacenan en el sistema de archivos de backup de EFS que ha creado en el siguiente formato.

backup-efs-mount-target:/efs-backup-id/[backup interval].[0-backup retention]-->

Utilizando los valores del escenario de ejemplo, el backup del sistema de archivos se encuentra en 10.1.0.75:/fs-12345678/daily.[0-6], donde daily.0 es el backup más reciente y daily.6 es el más antiguo de los siete backups en rotación.

El acceso a los backups le ofrece la posibilidad de restablecer datos en su sistema de archivos de producción. Puede optar por restaurar todo un sistema de archivos o puede elegir restaurar archivos individuales.

Paso 4.1: Restaurar una copia de seguridad de Amazon EFS

La restauración de una copia de seguridad de un sistema de archivos de Amazon EFS requiere otroAWS Data Pipeline, similar al que configuró enPaso 3: Creación de una canalización de datos para backup de. Sin embargo, esta canalización de restauración funciona al revés que la canalización de copia de seguridad. Por lo general, estas restauraciones no están programadas para iniciarse automáticamente.

Al igual que con los backups, las restauraciones se pueden realizar de forma paralela para cumplir el objetivo de tiempo de recuperación. Tenga en cuenta que, al crear una canalización de datos, tiene que programar cuándo desea ejecutarla. Si decide ejecutarla en la activación, inicie el proceso de restauración inmediatamente. Le recomendamos que cree solo una canalización de restauración cuando necesite hacer una restauración o cuando ya tenga un ventana de tiempo específica en mente.

Tanto la EFS de copia de seguridad como la EFS de restauración consumen capacidad de ráfaga. Para obtener más información acerca del desempeño, consulte Rendimiento de Amazon EFS. El siguiente procedimiento le muestra cómo crear e implementar su canalización de restauración.

Para crear una canalización de datos para restauración de datos de EFS

  1. Descargue la plantilla de canalización de datos para restaurar los datos de su sistema de archivos de EFS de backup. Esta plantilla lanza una instancia Amazon EC2 única en función del tamaño especificado. Se lanza solo cuando especifica que se lance. Descargue la plantilla de AWS Data Pipeline para copias de seguridad en 1-Node-EFSRestoreDataPipeline.json desde GitHub.

    nota

    Esta plantilla también hace referencia y ejecuta un script para realizar los comandos de restauración. Puede descargar el script antes de crear la canalización para revisar lo que hace. Para revisar el script, descargue efs-restore.sh desde GitHub.

  2. Abra el iconoAWS Data Pipelineconsola de enhttps://console.aws.amazon.com/datapipeline/.

    importante

    Asegúrese de que está trabajando en el mismo Región de AWS como sus sistemas de archivos de Amazon EFS y Amazon EC2.

  3. Elija Create new pipeline (Crear nueva canalización).

  4. Añada valores para Name (Nombre) y, opcionalmente, para Description (Descripción).

  5. En Source (Origen), elija Import a definition (Importar definición) y después Load local file (Cargar archivo local).

  6. En el explorador de archivos, acceda a la plantilla que ha guardado en Paso 1: Creación del sistema de archivos de Amazon EFS y, a continuación, seleccione Open (Abrir).

  7. En Parameters (Parámetros), proporcione los detalles de sus sistemas de archivos de EFS de producción y de copia de seguridad.

  8. Dado que normalmente solo se realizan restauraciones cuando se necesitan, puede programar la restauración para que se ejecute una vez que se activa la canalización. O programe un restablecimiento único en un momento futuro de su elección, por ejemplo durante una ventana de tiempo fuera de las horas punta.

  9. (Opcional) Especificar una ubicación de Amazon S3 para almacenar los registros de canalización, configurar un rol de IAM personalizado o añadir etiquetas para describir la canalización.

  10. Cuando la canalización esté configurada, seleccione Activate (Activar).

Ya ha configurado y activado su canalización de datos de restauración de Amazon EFS. Ahora, cuando necesite recuperar una copia de seguridad a su sistema de archivos de EFS de producción, basta con que la active desde la consola de AWS Data Pipeline. Para obtener más información, consulte AWS Data Pipeline Developer Guide.

Paso 4.2: Restaurar archivos individuales desde las copias de seguridad de Amazon EFS

Puede restaurar archivos desde sus backups del sistema de archivos de Amazon EFS lanzando una instancia Amazon EC2 para montar temporalmente tanto los sistemas de archivos de EFS de producción como de backup. La instancia EC2 debe ser miembro de ambos grupos de seguridad del cliente de EFS (en este ejemplo, efs-ec2-sg y efs-backup-clients-sg). Esta instancia de restauración puede montar ambos destinos de montaje de EFS. Por ejemplo, una instancia EC2 de recuperación puede crear los siguientes puntos de montaje. Aquí, el-o roLa opción de copia de seguridad EFS como de solo lectura para evitar que se modifique accidentalmente al intentar restaurar desde una copia de seguridad.

mount -t nfs source-efs-mount-target:/ /mnt/data
mount -t nfs -o ro backup-efs-mount-target:/fs-12345678/daily.0 /mnt/backup>

Una vez montados los destinos, puede copiar archivos desde /mnt/backup en la ubicación adecuada en /mnt/data en el terminal utilizando el comando cp -p. Por ejemplo, un directorio principal completo (con su sistema de permisos de archivo) se puede copiar recursivamente con el siguiente comando.

sudo cp -rp /mnt/backup/users/my_home /mnt/data/users/my_home

Puede restablecer un archivo único ejecutando el siguiente comando.

sudo cp -p /mnt/backup/user/my_home/.profile /mnt/data/users/my_home/.profile
aviso

Cuando restaure manualmente archivos de datos individuales, tenga cuidado de no modificar accidentalmente la propia copia de seguridad. De lo contrario, podría dañarla.

Recursos de copia de seguridad adicionales

La solución de backup presentada en este tutorial utiliza plantillas para AWS Data Pipeline. Las plantillas utilizadas enPaso 2: Descarga deAWS Data Pipelineplantilla para copias de seguridadyPaso 4.1: Restaurar una copia de seguridad de Amazon EFSAmbos usan una instancia Amazon EC2 única para realizar su trabajo. Sin embargo, no hay un límite en el número de instancias en paralelo que puede ejecutar para realizar backups o restaurar sus datos en sistemas de archivos de Amazon EFS. Este tema encontrará enlaces a otras plantillas de AWS Data Pipeline configuradas en varias instancias EC2 que puede descargar y utilizar para su solución de copia de seguridad. También encontrará instrucciones para modificar las plantillas e incluir instancias adicionales.

Uso de plantillas adicionales

Puede descargar las siguientes plantillas adicionales desde GitHub:

  • JSON de 2 nodos: esta plantilla inicia dos instancias de Amazon EC2 en paralelo para realizar una copia de seguridad del sistema de archivos de Amazon EFS de producción.

  • JSON de 2 nodos: esta plantilla inicia dos instancias de Amazon EC2 en paralelo para restaurar una copia de seguridad de su sistema de archivos de Amazon EFS de producción.

Agregar instancias de copia de seguridad adicionales

Puede añadir nodos adicionales a las plantillas de backup que se utilizan en este tutorial. Para añadir un nodo, modifique las secciones siguientes de la plantilla 2-Node-EFSBackupDataPipeline.json.

importante

Si está utilizando nodos adicionales, no puede utilizar espacios en los nombres de archivos y directorios almacenados en el directorio de nivel superior. Si lo hace, no se realiza la copia de seguridad o restauración de dichos archivos y directorios. Se realizará la copia de seguridad y la restauración de todos los archivos y subdirectorios que están al menos un nivel por debajo del nivel superior según lo previsto.

  • Cree un EC2Resource adicional para cada nodo adicional que desee crear (en este ejemplo, una cuarta instancia EC2).

    { "id": "EC2Resource4", "terminateAfter": "70 Minutes", "instanceType": "#{myInstanceType}", "name": "EC2Resource4", "type": "Ec2Resource", "securityGroupIds" : [ "#{mySrcSecGroupID}","#{myBackupSecGroupID}" ], "subnetId": "#{mySubnetID}", "associatePublicIpAddress": "true" },
  • Cree una actividad de canalización de datos adicional para cada nodo adicional (en este caso, actividad BackupPart4), asegúrese de configurar las secciones siguientes:

    • Actualice la referencia runsOn para que apunte al EC2Resource creado anteriormente (EC2Resource4 en el ejemplo siguiente).

    • Aumente los dos últimos valores scriptArgument para igualar la parte de backup que es responsabilidad de cada nodo y el número total de nodos. Para "2" y "3" en el siguiente ejemplo, la parte de copia de seguridad es "3" para el nodo cuarto porque en este ejemplo nuestra lógica del módulo debe contar a partir de 0.

    { "id": "BackupPart4", "name": "BackupPart4", "runsOn": { "ref": "EC2Resource4" }, "command": "wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-backup-rsync.sh\nchmod a+x efs-backup-rsync.sh\n./efs-backup-rsync.sh $1 $2 $3 $4 $5 $6 $7", "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "3", "4"], "type": "ShellCommandActivity", "dependsOn": { "ref": "InitBackup" }, "stage": "true" },
  • Incremente el último valor en todos los valores scriptArgument existentes al número de nodos (en este ejemplo, "4").

    { "id": "BackupPart1", ... "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "1", "4"], ... }, { "id": "BackupPart2", ... "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "2", "4"], ... }, { "id": "BackupPart3", ... "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myRetainedBackups}","#{myEfsID}", "0", "4"], ... },
  • Actualice la actividad FinalizeBackup y añada la nueva actividad de backup a la lista dependsOn (BackupPart4 en este caso).

    { "id": "FinalizeBackup", "name": "FinalizeBackup", "runsOn": { "ref": "EC2Resource1" }, "command": "wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-backup-end.sh\nchmod a+x efs-backup-end.sh\n./efs-backup-end.sh $1 $2", "scriptArgument": ["#{myInterval}", "#{myEfsID}"], "type": "ShellCommandActivity", "dependsOn": [ { "ref": "BackupPart1" }, { "ref": "BackupPart2" }, { "ref": "BackupPart3" }, { "ref": "BackupPart4" } ], "stage": "true"

Agregar instancias de restauración adicionales

Puede añadir nodos a las plantillas de restauración que se utilizan en este tutorial. Para añadir un nodo, modifique las secciones siguientes de la plantilla 2-Node-EFSRestorePipeline.json.

  • Cree un EC2Resource adicional para cada nodo adicional que desea crear (en este caso, una tercera instancias EC2 denominada EC2Resource3).

    { "id": "EC2Resource3", "terminateAfter": "70 Minutes", "instanceType": "#{myInstanceType}", "name": "EC2Resource3", "type": "Ec2Resource", "securityGroupIds" : [ "#{mySrcSecGroupID}","#{myBackupSecGroupID}" ], "subnetId": "#{mySubnetID}", "associatePublicIpAddress": "true" },
  • Cree una actividad de canalización de datos adicional para cada nodo adicional (en este caso, la actividad RestorePart3). Asegúrese de configurar las secciones siguientes:

    • Actualice la referencia runsOn para que apunte al EC2Resource creado anteriormente (en este ejemplo, EC2Resource3).

    • Aumente los dos últimos valores scriptArgument para igualar la parte de backup que es responsabilidad de cada nodo y el número total de nodos. Para "2" y "3" en el siguiente ejemplo, la parte de copia de seguridad es "3" para el nodo cuarto porque en este ejemplo nuestra lógica del módulo debe contar a partir de 0.

    { "id": "RestorePart3", "name": "RestorePart3", "runsOn": { "ref": "EC2Resource3" }, "command": "wget https://raw.githubusercontent.com/awslabs/data-pipeline-samples/master/samples/EFSBackup/efs-restore-rsync.sh\nchmod a+x efs-restore-rsync.sh\n./efs-backup-rsync.sh $1 $2 $3 $4 $5 $6 $7", "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "2", "3"], "type": "ShellCommandActivity", "dependsOn": { "ref": "InitBackup" }, "stage": "true" },
  • Incremente el último valor en todos los valores scriptArgument existentes al número de nodos (en este ejemplo, "3").

    { "id": "RestorePart1", ... "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "1", "3"], ... }, { "id": "RestorePart2", ... "scriptArgument": ["#{myEfsSource}","#{myEfsBackup}", "#{myInterval}", "#{myBackup}","#{myEfsID}", "0", "3"], ... },

Para alojar los scripts rsync en un bucket de Amazon S3

Esta solución de backup depende de la ejecución de scripts rsync que están alojados en un repositorio de GitHub en Internet. Por lo tanto, esta solución de backup está sujeta a que el repositorio de GitHub esté disponible. Este requisito significa que si el repositorio de GitHub elimina estos scripts o si el sitio web de GitHub pierde la conexión por algún motivo, la solución de copia de seguridad tal como se ha implementado anteriormente no funciona.

Si prefiere eliminar esta dependencia de GitHub, puede elegir alojar los scripts en un bucket de Amazon S3 que posea en su lugar. A continuación se describen los pasos necesarios para alojar los scripts.

Para alojar los scripts rsync en su propio bucket de Amazon S3

  1. Inscripción enAWS: si ya tiene un Cuenta de AWS Para ello, vaya directamente al siguiente paso. De lo contrario, consulte Registrarse en AWS.

  2. Crear un usuario de AWS Identity and Access Management: si ya tiene un usuario de IAM, continúe y vaya al siguiente paso. De lo contrario, consulte Creación de un usuario de IAM.

  3. Creación de un bucket de Amazon S3: si ya dispone de un bucket donde desea alojar los scripts rsync, continúe y vaya al siguiente paso. De lo contrario, consulteCrear un bucketen laAmazon Simple Storage Service Getting Started Guide.

  4. Descargue los scripts y plantillas de rsyncDescargue todos los scripts rsync y plantillas en laCarpeta de EFBackupDe GitHub. Anote la ubicación de su equipo en la que ha descargado estos archivos.

  5. Cargue los scripts de rsync en su bucket de S3Para obtener instrucciones acerca de cómo cargar objetos en el bucket de S3, consulteAñadir un objeto a un bucketen laAmazon Simple Storage Service Getting Started Guide.

  6. Cambie los permisos de los scripts rsync cargados para que Everyone (Cualquiera) los pueda Open/Download (Abrir/Descargar). Para obtener instrucciones acerca de cómo cambiar los permisos de un objeto en el bucket de S3, consulteEdición de permisos de objetosen laAmazon SimStorage Service Guide Guide.

  7. Actualizar plantillas de de: modifique elwgetDeclaración en elshellCmdPara apuntar al bucket de Amazon S3 en el que coloca el script de start-up. Guarde la plantilla actualizada y utilice dicha plantilla cuando esté siguiendo el procedimiento en Paso 3: Creación de una canalización de datos para backup de.

    nota

    Le recomendamos que limite el acceso a su bucket de Amazon S3 para incluir la cuenta de IAM que activa elAWS Data Pipelinepara esta solución de copia de seguridad. Para obtener más información, consulteEdición de permisos de bucketen laAmazon SimStorage Service Guide Guide.

Ahora está alojando estos scripts rsync para esta solución de backup y los backups ya no dependen de la disponibilidad de GitHub.