

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.

# Migración
<a name="migration-pattern-list"></a>

**Topics**
+ [Cree CloudFormation plantillas de AWS para las tareas de AWS DMS con Microsoft Excel y Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Introducción a la detección automática de cartera](get-started-with-automated-portfolio-discovery.md)
+ [Migración de cargas de trabajo de Cloudera en las instalaciones a la plataforma de datos de Cloudera en AWS](migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.md)
+ [Resolver los errores de conexión después de migrar Microsoft SQL Server a la nube de AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Reinicie el AWS Replication Agent automáticamente sin deshabilitarlo SELinux después de reiniciar un servidor fuente de RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Rediseñar](migration-rearchitect-pattern-list.md)
+ [Volver a alojar](migration-rehost-pattern-list.md)
+ [Reubicar](migration-relocate-pattern-list.md)
+ [Redefinir la plataforma](migration-replatform-pattern-list.md)
+ [Patrones de migración por carga de trabajo](migration-migration-patterns-by-workload-pattern-list.md)
+ [Más patrones](migration-more-patterns-pattern-list.md)

# Cree CloudFormation plantillas de AWS para las tareas de AWS DMS con Microsoft Excel y Python
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python"></a>

*Venkata Naveen Koppula, Amazon Web Services*

## Resumen
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-summary"></a>

Este patrón describe los pasos para crear automáticamente CloudFormation plantillas de AWS para [AWS Database Migration Service](https://aws.amazon.com/dms/) (AWS DMS) mediante Microsoft Excel y Python.

La migración de bases de datos mediante AWS DMS suele implicar la creación de CloudFormation plantillas de AWS para aprovisionar las tareas de AWS DMS. Anteriormente, la creación de CloudFormation plantillas de AWS requería conocimientos del lenguaje de programación JSON o YAML. Con esta herramienta, solo necesita conocimientos básicos de Excel y de cómo ejecutar un script de Python mediante una terminal o una ventana de comandos.

Como entrada, la herramienta utiliza un libro de trabajo de Excel que incluye los nombres de las tablas que se van a migrar, los nombres de los recursos de Amazon (ARNs) de los puntos de enlace de AWS DMS y las instancias de replicación de AWS DMS. A continuación, la herramienta genera CloudFormation plantillas de AWS para las tareas de AWS DMS necesarias.

Para ver los pasos detallados y la información básica, consulte la entrada del blog [Crear CloudFormation plantillas de AWS para tareas de AWS DMS con Microsoft Excel](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/) en el blog AWS Database.

## Requisitos previos y limitaciones
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Microsoft Excel versión 2016 o posterior
+ Python versión 2.7 o posterior
+ El módulo Python **xlrd** (instalado en una línea de comandos con el comando: **pip install xlrd**)
+ Puntos de conexión de origen y destino de AWS DMS e instancia de replicación de AWS DMS

**Limitaciones**
+ Los nombres de los esquemas, las tablas y las columnas asociadas se transforman en minúsculas en los puntos de conexión de destino.
+ Esta herramienta no aborda la creación de instancias de replicación y puntos de conexión de AWS DMS.
+ Actualmente, la herramienta solo admite un esquema para cada tarea de AWS DMS.

## Arquitectura
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos en las instalaciones
+ Microsoft Excel

**Pila de tecnología de destino**
+  CloudFormation Plantillas de AWS
+ Una base de datos en la nube de AWS 

**Arquitectura**

![\[Flujo de trabajo para usar Excel y Python para crear automáticamente CloudFormation plantillas para AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/778c7c1e-2647-496f-8afd-52ff1ef02489/images/8fe1550d-8966-41aa-a480-5f7bef20629f.png)


## Tools (Herramientas)
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-tools"></a>
+ [Pycharm IDE](https://aws.amazon.com/pycharm/) o cualquier entorno de desarrollo integrado (IDE) compatible con Python versión 3.6
+ Microsoft Office 2016 (para Microsoft Excel)

## Epics
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-epics"></a>

### Configurar la red, la instancia de replicación de AWS DMS y los puntos de conexión
<a name="configure-the-network-aws-dms-replication-instance-and-endpoints"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Si es necesario, solicite un aumento de cuota de servicio. | Solicite un aumento de cuota de servicio para las tareas de AWS DMS si es necesario. | AWS general | 
| Configure la región de AWS, las nubes privadas virtuales (VPCs), los rangos de CIDR, las zonas de disponibilidad y las subredes. |  | AWS general | 
| Configure la instancia de replicación de AWS DMS. | La instancia de replicación de AWS DMS puede conectarse tanto a bases de datos en las instalaciones como de AWS. | AWS general | 
| Configure los puntos de conexión de AWS DMS. | Configure los puntos de conexión para las bases de datos de origen y de destino. | AWS general | 

### Preparación de las hojas de trabajo para las tareas y etiquetas de AWS DMS
<a name="prepare-the-worksheets-for-aws-dms-tasks-and-tags"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la lista de tablas. | Enumere todas las tablas implicadas en la migración. | Base de datos | 
| Prepare la hoja de trabajo de tareas. | Prepare la hoja de cálculo de Excel con la lista de tablas que configuró. | AWS general, Microsoft Excel | 
| Prepare la hoja de trabajo sobre las etiquetas. | Detalle las etiquetas de recursos de AWS que se deben adjuntar a las tareas de AWS DMS. | AWS general, Microsoft Excel | 

### Descargar y ejecutar la herramienta
<a name="download-and-run-the-tool"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue y extraiga la herramienta de generación de plantillas del GitHub repositorio. | GitHub repositorio: https://github.com/aws-samples/dms-cloudformation-templates-generator/ |  | 
| Ejecute la herramienta. | Siga las instrucciones detalladas de la entrada del blog que aparece en la sección "Referencias y ayuda". |  | 

## Recursos relacionados
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-resources"></a>
+ [Cree CloudFormation plantillas de AWS para tareas de AWS DMS con Microsoft Excel (entrada del blog)](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/)
+ [Generador de CloudFormation plantillas de DMS (repositorio) GitHub ](https://github.com/aws-samples/dms-cloudformation-templates-generator/tree/v1.0)
+ [Documentación de Python](https://www.python.org/)
+ [Descripción y descarga en xlrd](https://pypi.org/project/xlrd/)
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/)
+ [ CloudFormation Documentación de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)

# Introducción a la detección automática de cartera
<a name="get-started-with-automated-portfolio-discovery"></a>

*Pratik Chunawala y Rodolfo Jr. Cerrada, Amazon Web Services*

## Resumen
<a name="get-started-with-automated-portfolio-discovery-summary"></a>

Evaluar la cartera y recopilar metadatos es un desafío fundamental al migrar aplicaciones y servidores a la nube de Amazon Web Services (AWS), especialmente en el caso de migraciones grandes con más de 300 servidores. El uso de una herramienta automatizada de detección de cartera puede ayudarle a recopilar información sobre sus aplicaciones, como la cantidad de usuarios, la frecuencia de uso, las dependencias y la información sobre la infraestructura de la aplicación. Esta información es esencial a la hora de planificar oleadas de migración, ya que le permite priorizar y agrupar adecuadamente las aplicaciones con características similares. El uso de una herramienta de detección agiliza la comunicación entre el equipo de cartera y los propietarios de las aplicaciones, ya que el equipo de cartera puede validar los resultados de la herramienta de detección en lugar de recopilar los metadatos manualmente. En este patrón se analizan las consideraciones clave a la hora de seleccionar una herramienta de detección automatizada, y se ofrece información sobre cómo implementar y probar una en su entorno.

Este patrón incluye una plantilla que le servirá como punto de partida para crear su propia lista de verificación de actividades de alto nivel. Junto a la lista de verificación encontrará una plantilla para crear una matriz responsable, fiable, consultada y fundamentada (RACI). Puede usar esta matriz RACI para determinar quién es responsable de cada tarea de su lista de verificación.

## Epics
<a name="get-started-with-automated-portfolio-discovery-epics"></a>

### Selección una herramienta de detección
<a name="select-a-discovery-tool"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Determine si una herramienta de detección es apropiada para su caso de uso. | Es posible que una herramienta de detección no sea la mejor solución para su caso de uso. Tenga en cuenta la cantidad de tiempo que necesitará para seleccionar, adquirir, preparar e implementar una herramienta de detección. La configuración del dispositivo de escaneo para una herramienta de detección sin agente en su entorno, o la instalación de agentes en todas las cargas de trabajo incluidas en el ámbito de aplicación, puede llevar de 4 a 8 semanas. Una vez implementada, la herramienta de detección tardará de 4 a 12 semanas en recopilar los metadatos escaneando las cargas de trabajo de las aplicaciones y realizar un análisis del conjunto de aplicaciones. Si va a migrar menos de 100 servidores, es posible que pueda recopilar los metadatos manualmente y analizar las dependencias en menos tiempo del que tardaría en implementar y recopilar los metadatos con una herramienta de detección automatizada.  | Líder de migración, ingeniero de migraciones | 
| Selección una herramientas de detección. | Consulte las **Consideraciones para seleccionar una herramienta de detección automática** en la sección [Información adicional](#get-started-with-automated-portfolio-discovery-additional). Determine los criterios adecuados para seleccionar una herramienta de detección para su caso de uso y, a continuación, evalúe cada herramienta en función de dichos criterios. Para obtener una lista completa de herramientas de detección automatizadas, consulte [Herramientas de detección, planificación y migración recomendadas](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/). | Líder de migración, ingeniero de migraciones | 

### Preparación para la instalación
<a name="prepare-for-installation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la lista de verificación previa a la implementación.  | Cree una lista de verificación con las tareas que debe completar antes de implementar la herramienta. Para ver un ejemplo, consulte la [Lista de verificación previa a la implementación](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_Predeployment.htm) en el sitio web de documentación de Flexera. | Responsable de compilación, ingeniero de migraciones, líder de migración, administrador de red | 
| Prepare los requisitos de la red. | Aprovisione los puertos, protocolos, direcciones IP y enrutamiento necesarios para que la herramienta se ejecute y acceda a los servidores de destino. Para obtener más información, consulte la guía de instalación de su herramienta de detección. Para ver un ejemplo, consulte la [Requisitos para la implementación](https://docs.flexera.com/foundationcloudscape/help/RCDeployReq.htm) en el sitio web de documentación de Flexera. | Ingeniero migraciones, administrador de redes, arquitecto de la nube | 
| Prepare los requisitos de cuenta y credenciales. | Identifique las credenciales que necesita para acceder a los servidores de destino e instalar todos los componentes de la herramienta. | Administrador de la nube, AWS general, ingeniero de migraciones, líder de migración, administrador de redes, administrador de AWS | 
| Prepare los dispositivos en los que va a instalar la herramienta. | Asegúrese de que los dispositivos en los que va a instalar los componentes de la herramienta cumplen las especificaciones y los requisitos de plataforma de la herramienta. | Ingeniero de migraciones, ingeniero de migraciones, líder de migraciones, administrador de red | 
| Prepare las órdenes de cambio. | Siguiendo el proceso de gestión de cambios de su organización, prepare las órdenes de cambio necesarias y asegúrese de que se aprueben. | Responsable de compilación, líder de migración | 
| Envíe los requisitos a las partes interesadas. | Envíe la lista de verificación previa a la implementación y los requisitos de red a las partes interesadas. Las partes interesadas deben revisar, evaluar y preparar los requisitos necesarios antes de proceder con la implementación. | Responsable de compilación, líder de migración | 

### Implemente la herramienta
<a name="deploy-the-tool"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue el instalador. | Descargue el instalador o la imagen de máquina virtual. Las imágenes de máquinas virtuales suelen estar en formato de virtualización abierta (OVF). | Responsable de compilación, líder de migración | 
| Extraiga los archivos. | Si usa un instalador, debe descargarlo y ejecutarlo en un servidor en las instalaciones. | Responsable de compilación, líder de migración | 
| Implemente la herramienta en los servidores. | Implemente la herramienta de detección en los servidores de destino en las instalaciones de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/get-started-with-automated-portfolio-discovery.html) | Responsable de compilación, líder de migración, administrador de red | 
| Inicie sesión en la herramienta de detección. | Siga las indicaciones que aparecen en pantalla e inicie sesión para usar la herramienta. | Líder de migración, responsable de compilación | 
| Active el producto. | Introduzca su clave de licencia. | Responsable de compilación, líder de migración | 
| Configure la herramienta. | Introduzca las credenciales necesarias para acceder a los servidores de destino, como las credenciales de Windows VMware, el Protocolo simple de administración de redes (SNMP) y el Protocolo Secure Shell (SSH), o las bases de datos. | Responsable de compilación, líder de migración | 

### Pruebe la herramienta
<a name="test-the-tool"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seleccione los servidores de prueba. | Identifique un conjunto pequeño de subredes o direcciones IP que no sean de producción y que pueda usar para probar la herramienta de detección. Esto le ayudará a validar los escaneos rápidamente, identificar y solucionar cualquier error con prontitud y aislar las pruebas de los entornos de producción. | Responsable de compilación, líder de migración, administrador de red | 
| Comience a escanear los servidores de prueba seleccionados. | Si usa una herramienta de detección sin agente, introduzca las subredes o direcciones IP de los servidores de prueba seleccionados en la consola de la herramienta de detección e inicie el escaneo.Si usa una herramienta de detección basada en agente, instale el agente en los servidores de prueba seleccionados. | Responsable de compilación, líder de migración, administrador de red | 
| Revise los resultados escaneados. | Revise los resultados del escaneo de los servidores de prueba. Si encuentra algún error, corríjalo. Documente los errores y las soluciones. Puede hacer referencia a esta información en el futuro y añadirla al manual de procedimientos de su cartera. | Responsable de compilación, líder de migración, administrador de red | 
| Vuelva a escanear los servidores de prueba. | Una vez completado el rescaneo, repítalo hasta que no surjan errores. | Responsable de compilación, líder de migración, administrador de red | 

## Recursos relacionados
<a name="get-started-with-automated-portfolio-discovery-resources"></a>

**AWS resources**
+ [Guía de evaluación de la cartera de aplicaciones para la migración Nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/introduction.html)
+ [Herramientas de detección, planificación y migración recomendadas](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/)

**Guías de implementación para las herramientas de detección más comunes**
+ [Implemente el dispositivo virtual RN15 0](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_QSG_DeployRN150.htm) (documentación de Flexera)
+ [Instalación de Gatherer](https://www.modelizeit.com/documentation/ADC-Gatherer-Install.html) (documentación de ModelizeIT)
+ [Instalación de On-Prem Analysis Server](https://www.modelizeit.com/documentation/RejuvenApptor-Install.html) (documentación de ModelizeIt)

## Información adicional
<a name="get-started-with-automated-portfolio-discovery-additional"></a>

**Consideraciones para seleccionar una herramienta de detección automatizada**

Cada herramienta de detección tiene sus ventajas y limitaciones. A la hora de seleccionar la herramienta adecuada para su caso de uso, tenga en cuenta lo siguiente:
+ Seleccione una herramienta de detección que pueda recopilar la mayoría, si no todos, de los metadatos que necesita para alcanzar el objetivo de evaluación de su cartera.
+ Identifique los metadatos incompatibles con la herramienta que necesite recopilar manualmente.
+ Comunique los requisitos de la herramienta de detección a las partes interesadas para que puedan revisarla y evaluarla en función de sus necesidades internas de seguridad y conformidad, como los requisitos de servidor, red y credenciales.
  + ¿Es necesario que la herramienta instale un agente en la carga de trabajo prevista?
  + ¿Es necesario que la herramienta configure un dispositivo virtual en su entorno?
+ Determine sus requisitos de residencia de datos. Algunas organizaciones no desean almacenar sus datos fuera de su entorno. Para abordar este aspecto, es posible que deba instalar algunos componentes de la herramienta en el entorno en las instalaciones.
+ Asegúrese de que la herramienta sea compatible con el sistema operativo (SO) y la versión del sistema operativo de la carga de trabajo pertinente.
+ Determine si su cartera incluye servidores mainframe, de gama media y heredados. La mayoría de las herramientas de detección pueden detectar estas cargas de trabajo como dependencias, pero es posible que algunas herramientas no puedan obtener detalles del dispositivo, como la utilización y las dependencias del servidor. Las herramientas de detección Device42 y ModernizeIT son compatibles con servidores de mainframe y de gama media.

## Conexiones
<a name="attachments-8c9d84de-e84a-4b0c-bcaa-389cd90be1f0"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/8c9d84de-e84a-4b0c-bcaa-389cd90be1f0/attachments/attachment.zip)

# Migración de cargas de trabajo de Cloudera en las instalaciones a la plataforma de datos de Cloudera en AWS
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws"></a>

*Battulga Purevragchaa y Nidhi Gupta, Amazon Web Services*

*Nijjwol Lamsal, Cloudera, Inc.*

## Resumen
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-summary"></a>

Este patrón describe los pasos de alto nivel para migrar sus cargas de trabajo en las instalaciones Cloudera Distributed Hadoop (CDH), Hortonworks Data Platform (HDP) y Cloudera Data Platform (CDP) a la nube pública de CDP en AWS. Le recomendamos que se asocie con los servicios profesionales de Cloudera y con un integrador de sistemas (SI) para implementar estos pasos.

Hay muchos motivos por los que los clientes de Cloudera quieren trasladar sus cargas de trabajo en las instalaciones de CDH, HDP y CDP a la nube. Algunas de las razones más habituales son las siguientes:
+ Optimizar la adopción de nuevos paradigmas de plataformas de datos, como Data Lakehouse o Data Mesh
+ Aumentar la agilidad empresarial, democratice el acceso y la inferencia sobre los activos de datos existentes
+ Reducir el costo total de propiedad (TCO)
+ Mejorar la elasticidad de la carga
+ Permitir una mayor escalabilidad; reducir drásticamente el tiempo de aprovisionamiento de los servicios de datos en comparación con la base de instalación en las instalaciones heredada
+ Eliminar el hardware heredado y reducir significativamente los ciclos de actualización del hardware
+ Aproveche los pay-as-you-go precios, que se extienden a las cargas de trabajo de Cloudera en AWS con el modelo de licencias (CCU) de Cloudera
+ Aprovechar una implementación más rápida y una mejor integración con las plataformas de integración continua y entrega continua (CI/CD)
+ Utilizar una única plataforma unificada (CDP) para múltiples cargas de trabajo

Cloudera es compatible con las principales cargas de trabajo, incluidas Machine Learning, Data Engineering, Data Warehouse, Operational Database, Stream Processing (CSP) y seguridad y gobierno de datos. Cloudera lleva muchos años ofreciendo estas cargas de trabajo en las instalaciones, y puede migrarlas a la nube de AWS mediante la nube pública de CDP con Workload Manager y Replication Manager. 

Cloudera Shared Data Experience (SDX) proporciona un catálogo de metadatos compartido entre estas cargas de trabajo para facilitar la gestión y las operaciones de datos coherentes. SDX también incluye seguridad integral y granular para proteger contra las amenazas y una gobernanza unificada para las capacidades de auditoría y búsqueda a fin de cumplir con estándares como el Estándar de Seguridad de Datos del Sector de Tarjetas de Pago (PCI DSS) y el GDPR. 

**La migración a CDP de un vistazo**


|  |  | 
| --- |--- |
|    Carga de trabajo | Carga de trabajo de origen | Nube privada de CDH, HDP y CDP | 
| --- |--- |--- |
| Entorno de origen | Windows, LinuxEn las instalaciones, coubicación o en cualquier entorno que no sea de AWS | 
| Carga de trabajo del destino | Nube pública de CDP en AWS | 
| Entorno de destino | Modelo de implementación: cuenta de clienteModelo operativo: plano de control customer/Cloudera  | 
| ** **** ****Migración** | Estrategia de migración (7Rs) | Volver a alojar, redefinir la plataforma o refactorizar | 
| ¿Se trata de una actualización de la versión de carga de trabajo? | Sí | 
| Duración de la migración | Implementación: aproximadamente 1 semana para crear una cuenta de cliente, una nube privada virtual (VPC) y un entorno de nube pública de CDP administrado por el cliente.Duración de la migración: de 1 a 4 meses, según la complejidad y el tamaño de la carga de trabajo. | 
| **Costo** | Costo de ejecutar la carga de trabajo en AWS | A un alto nivel, el costo de una migración de cargas de trabajo CDH a AWS asume que establecerá un nuevo entorno en AWS. Incluye el cálculo de tiempo y esfuerzo del personal, así como el aprovisionamiento de los recursos informáticos y las licencias de software para el nuevo entorno.El modelo de precios de Cloudera basado en el consumo de la nube le ofrece la flexibilidad necesaria para aprovechar las amplias capacidades de escalado automático. Para obtener más información, consulte las [tarifas del servicio de nube pública de CDP](https://www.cloudera.com/products/pricing/cdp-public-cloud-service-rates.html) en el sitio web de Cloudera.Cloudera Enterprise [Data Hub](https://www.cloudera.com/products/enterprise-data-hub.html) se basa en Amazon Elastic Compute Cloud (Amazon EC2) y modela fielmente los clústeres tradicionales. Data Hub se puede [personalizar](https://docs.cloudera.com/data-hub/cloud/create-cluster-aws/topics/mc-creating-a-cluster.html), pero esto repercutirá en los costos.[CDP Public Cloud Data Warehouse](https://docs.cloudera.com/data-warehouse/cloud/index.html), [Cloudera Machine Learning](https://docs.cloudera.com/machine-learning/cloud/product/topics/ml-product-overview.html) y [Cloudera Data Engineering (CDE)](https://docs.cloudera.com/data-engineering/cloud/index.html) están basados en contenedores y se pueden configurar para que se escalen automáticamente. | 
| ** **** ****Marco y acuerdos de infraestructura** | Requisitos del sistema | Consulte la sección [Requisitos previos](#migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs). | 
| SLA | Consulte el [Acuerdo de nivel de servicio de Cloudera para la nube pública de CDP](https://www.cloudera.com/legal/terms-and-conditions/cdp-public-cloud-sla.html). | 
| DR | Consulte la [recuperación de desastres](https://docs.cloudera.com/cdp-reference-architectures/latest/cdp-ra-operations/topics/cdp-ra-abstract.html) en la documentación de Cloudera. | 
| Licencia y modelo operativo (para la cuenta de AWS objetivo) | Modelo Traiga su propia licencia (BYOL) | 
| ** ****Conformidad** | Requisitos de seguridad | Consulte la [descripción general de seguridad de Cloudera](https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/security-overview/topics/cm-security-overview.html) en la documentación de Cloudera. | 
| Otras [certificaciones de conformidad](https://aws.amazon.com/compliance/programs) | Consulte la información en el sitio web de Cloudera sobre el cumplimiento del [Reglamento General de Protección de Datos (GDPR](https://www.cloudera.com/solutions/lower-business-risks/general-data-protection-regulation.html)) y el [CDP](https://www.cloudera.com/products/trust-center.html) Trust Center. | 

## Requisitos previos y limitaciones
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs"></a>

**Requisitos previos **
+ [Requisitos de las cuentas de AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html), incluidas las cuentas, los recursos, los servicios y los permisos, como la configuración de las políticas y los roles de AWS Identity and Access Management (IAM)
+ [Requisitos previos para la implementación de CDP](https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-set_up_cdp_prerequisites.html) desde el sitio web de Cloudera

La migración requiere los siguientes roles y experiencia:


| 
| 
| Rol | Habilidades y responsabilidades | 
| --- |--- |
| Líder de migración | Garantiza el apoyo ejecutivo, la colaboración en equipo, la planificación, la implementación y la evaluación | 
| Cloudera SME | Conocimientos especializados en administración, administración de sistemas y arquitectura de CDH, HDP y CDP | 
| Arquitecto de AWS | Habilidades en servicios, redes, seguridad y arquitecturas de AWS | 

## Arquitectura
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-architecture"></a>

Construir según la arquitectura adecuada es un paso fundamental para garantizar que la migración y el rendimiento satisfagan sus expectativas. Para que su esfuerzo de migración cumpla con las suposiciones de este manual, su entorno de datos de destino en la nube de AWS, ya sea en instancias alojadas en la nube privada virtual (VPC) o en CDP, debe coincidir de manera equivalente con su entorno de origen en términos de versiones del sistema operativo y software, así como de las principales especificaciones de las máquinas.

El siguiente diagrama (reproducido con el permiso de la [hoja de datos de Cloudera Shared Data Experience](https://www.cloudera.com/content/dam/www/marketing/resources/datasheets/cloudera-sdx-datasheet.pdf?daqp=true)) muestra los componentes de infraestructura del entorno CDP y la forma en que interactúan los niveles o los componentes de la infraestructura. 

![\[Componentes del entorno de CDP\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/91d62277-7fde-4ec6-8e2b-86a446e2f6ee.png)


La arquitectura incluye los siguientes componentes del CDP:
+ Data Hub es un servicio para lanzar y gestionar clústeres de cargas de trabajo con tecnología Cloudera Runtime. Puede usar las definiciones de clústeres de Data Hub para aprovisionar clústeres de carga de trabajo y acceder a ellos para casos de uso personalizados y definir configuraciones de clústeres personalizadas. Para obtener más información, consulte el [sitio web de Cloudera](https://docs.cloudera.com/data-hub/cloud/index.html).
+ El flujo y la transmisión de datos abordan los principales desafíos a los que se enfrentan las empresas con los datos en movimiento. Gestiona lo siguiente:
  + Procesamiento del flujo de datos en tiempo real a gran volumen y a gran escala
  + Seguimiento de la procedencia de los datos y del linaje de los datos de streaming
  + Gestión y supervisión de las aplicaciones periféricas y las fuentes de streaming

  Para obtener más información, consulte [Cloudera DataFlow](https://www.cloudera.com/products/dataflow.html) y [CSP](https://www.cloudera.com/products/stream-processing.html) en el sitio web de Cloudera.
+ La ingeniería de datos incluye la integración, la calidad y el gobierno de los datos, lo que ayuda a las organizaciones a crear y mantener flujos de trabajo y flujos de datos. Para obtener más información, consulte el [sitio web de Cloudera](https://docs.cloudera.com/data-engineering/cloud/index.html). Aprenda sobre la [compatibilidad con instancias de spot para facilitar el ahorro de costos en las cargas de trabajo de ingeniería de datos de AWS](https://docs.cloudera.com/data-engineering/cloud/cost-management/topics/cde-spot-instances.html) for Cloudera.
+ Data Warehouse**** le permite crear data warehouses y data marts independientes que se escalan automáticamente para satisfacer las demandas de carga de trabajo. Este servicio proporciona instancias informáticas aisladas y una optimización automatizada para cada almacén de datos y mercado de datos, y le ayuda a ahorrar costes durante las reuniones. SLAs Para obtener más información, consulte el [sitio web de Cloudera](https://docs.cloudera.com/data-warehouse/cloud/index.html). Aprenda sobre la [administración de costos](https://docs.cloudera.com/data-warehouse/cloud/planning/topics/dw-manage-cloud-costs.html) y el [autoscalamiento](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-public-cloud-autoscaling-overview.html) de Cloudera Data Warehouse en AWS.
+ La base de datos operativa de CDP proporciona una base fiable y flexible para aplicaciones escalables y de alto rendimiento. Ofrece una base de datos escalable, siempre disponible y en tiempo real que proporciona datos estructurados tradicionales junto con datos nuevos y no estructurados dentro de una plataforma operativa y de almacenamiento unificada. Para obtener más información, consulte el [sitio web de Cloudera](https://www.cloudera.com/products/operational-db.html).
+ Machine Learning es una plataforma de machine learning nativa de la nube que combina las capacidades de autoservicio de ciencia de datos e ingeniería de datos en un único servicio portátil dentro de una nube de datos empresarial. Permite la implementación escalable del machine learning y la inteligencia artificial (IA) en los datos en cualquier lugar. Para obtener más información, consulte el [sitio web de Cloudera](https://docs.cloudera.com/machine-learning/cloud/index.html).

**CDP en AWS**

El siguiente diagrama (adaptado con permiso del sitio web de Cloudera) muestra la arquitectura de alto nivel de CDP en AWS. CDP implementa su [propio modelo de seguridad](https://docs.cloudera.com/runtime/7.1.0/cdp-security-overview/topics/security-management-console-security.html) para administrar tanto las cuentas como el flujo de datos. Se integran con la [IAM](https://aws.amazon.com/iam/) mediante el uso de [roles entre cuentas](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-req-credential.html). 

![\[Arquitectura de alto nivel de CDP en AWS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/54420517-38b4-4e82-bd19-9ded50ed009c.png)


El plano de control del CDP reside en una cuenta maestra de Cloudera en su propia VPC. Cada cuenta de cliente tiene su propia subcuenta y una VPC única. Los roles de IAM entre cuentas y las tecnologías SSL redirigen el tráfico de administración hacia y desde el plano de control a los servicios de atención al cliente que residen en las subredes públicas enrutables por Internet dentro de cada VPC del cliente. En la VPC del cliente, la experiencia de datos compartidos (SDX) de Cloudera proporciona una seguridad empresarial sólida con una gobernanza y un cumplimiento unificados para que pueda obtener información a partir de sus datos con mayor rapidez. La SDX es una filosofía de diseño que se incorpora a todos los productos de Cloudera. Para obtener más información sobre [SDX](https://docs.cloudera.com/cdp-public-cloud/cloud/overview/topics/cdp-services.html) y la [arquitectura de red de nube pública CDP para AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/aws-refarch/topics/cdp-pc-aws-refarch-overview.html), consulte la documentación de Cloudera.

## Tools (Herramientas)
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) le ayuda a ejecutar Kubernetes en AWS sin necesidad de instalar ni mantener su propio plano de control o nodos de Kubernetes.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Automatizar y herramientas**
+ Para obtener herramientas adicionales, puede usar [Cloudera Backup Data Recovery (BDR),](https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_bdr_tutorials.html) [AWS Snowball](https://aws.amazon.com/snowball/) y [AWS Snowmobile](https://aws.amazon.com/snowmobile/) para ayudar a migrar los datos del CDH, HDP y CDP en las instalaciones al CDP alojado en AWS.
+ Para las nuevas implementaciones, le recomendamos que utilice la [solución para socios de AWS para CDP](https://aws.amazon.com/solutions/partners/terraform-modules/cdp-public-cloud/).

## Epics
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-epics"></a>

### Preparación para la migración
<a name="prepare-for-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Involucre al equipo de Cloudera. | Cloudera sigue un modelo de interacción estandarizado con sus clientes y puede trabajar con su integrador de sistemas (SI) para promover el mismo enfoque. Póngase en contacto con el equipo de atención al cliente de Cloudera para que le brinden orientación y los recursos técnicos necesarios para iniciar el proyecto. Ponerse en contacto con el equipo de Cloudera garantiza que todos los equipos necesarios puedan prepararse para la migración a medida que se acerque su fecha. Puede ponerse en contacto con los servicios profesionales de Cloudera para que su implementación de Cloudera pase de la fase piloto a la fase de producción rápidamente, a un costo menor y con el máximo rendimiento. Para obtener una lista completa de ofertas, consulte el [sitio web de Cloudera](https://www.cloudera.com/about/services-and-support/professional-services.html). | Líder de migración | 
| Cree un entorno de nube pública de CDP en AWS para su VPC. | Trabaje con Cloudera Professional Services o su SI para planificar e implementar la nube pública de CDP en una VPC en AWS. | Arquitecto de la nube, Cloudera SME | 
| Priorice y evalúe las cargas de trabajo para la migración. | Evalúe todas sus cargas de trabajo en las instalaciones para determinar cuáles son las más fáciles de migrar. Es mejor migrar primero a las aplicaciones que no son esenciales para la misión, ya que tendrán un impacto mínimo en sus clientes. Guarde las cargas de trabajo esenciales para el final, después de migrar correctamente otras cargas de trabajo.Las cargas de trabajo transitorias (CDP Data Engineering) son más fáciles de migrar que las cargas de trabajo persistentes (CDP Data Warehouse). También es importante tener en cuenta el volumen y las ubicaciones de los datos al migrar. Los desafíos pueden incluir replicar los datos de forma continua desde un entorno en las instalaciones a la nube y cambiar los procesos de ingesta de datos para importarlos directamente a la nube. | Líder de migración | 
| Analice las actividades de migración de CDH, HDP, CDP y aplicaciones antiguas. | Considere y comience a planificar las siguientes actividades con Cloudera Workload Manager:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Líder de migración | 
| Complete los requisitos y recomendaciones de Cloudera Replication Manager. | Trabaje con Cloudera Professional Services y su SI para prepararse para migrar las cargas de trabajo a su entorno de nube pública de CDP en AWS. Comprender los siguientes requisitos y recomendaciones puede ayudarle a evitar problemas comunes durante y después de instalar el servicio Replication Manager.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Líder de migración | 

### Migración de CDP a AWS
<a name="migrate-cdp-to-aws"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre la primera carga de trabajo para dev/test los entornos con Cloudera Workload Manager. | Su SI puede ayudarlo a migrar su primera carga de trabajo a la nube de AWS. Debe ser una aplicación que no esté orientada al cliente ni sea esencial para la misión. Los candidatos ideales para dev/test la migración son las aplicaciones que tienen datos que la nube puede ingerir fácilmente, como las cargas de trabajo de ingeniería de datos de CDP. Se trata de una carga de trabajo transitoria a la que, por lo general, acceden menos usuarios, en comparación con una carga de trabajo persistente, como una carga de trabajo de CDP Data Warehouse, que podría tener muchos usuarios que necesitan un acceso ininterrumpido. Las cargas de trabajo de ingeniería de datos no son persistentes, lo que minimiza el impacto empresarial en caso de que algo vaya mal. Sin embargo, estas tareas pueden ser fundamentales para los informes de producción, así que priorice primero las cargas de trabajo de ingeniería de datos de bajo impacto. | Líder de migración | 
| Repita los pasos de migración según sea necesario. | Cloudera Workload Manager ayuda a identificar las cargas de trabajo que mejor se adaptan a la nube. Proporciona métricas como las calificaciones de rendimiento de la nube, sizing/capacity los planes para el entorno objetivo y los planes de replicación. Los mejores candidatos para la migración son las cargas de trabajo estacionales, los informes ad hoc y los trabajos intermitentes que no consumen muchos recursos.Cloudera Replication Manager mueve los datos en las instalaciones a la nube y de la nube a las instalaciones.Optimice de forma proactiva las cargas de trabajo, las aplicaciones, el rendimiento y la capacidad de la infraestructura para el almacenamiento de datos, la ingeniería de datos y el machine learning mediante Workload Manager. [Para obtener una guía completa sobre cómo modernizar un data warehouse, consulte el sitio web de Cloudera.](https://www.cloudera.com/content/dam/www/marketing/resources/webinars/modern-data-warehouse-fundamentals.png.landing.html) | Cloudera SME | 

## Recursos relacionados
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-resources"></a>

Documentación de Cloudera:
+ [Registro de clústeres clásicos con CDP, Cloudera Manager y Replication Manager:](https://docs.cloudera.com/replication-manager/cloud/operations/topics/rm-requirements-for-bdr-cdh-clusters.html)
  + [Consola de administración](https://docs.cloudera.com/management-console/cloud/overview/topics/mc-management-console.html)
  + [Replication en Hive de Replication Manager](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-replication-of-data-using-hive.html)
+ [Replicación de Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-policy-replication.html) 
+ [Permisos de Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-ranger-permissions.html)
+ [Lista de verificación para la planificación de clústeres de Data Hub](https://docs.cloudera.com/data-hub/cloud/cluster-planning/topics/dh-cluster-checklist.html)
+ [Arquitectura de Workload Manager](https://docs.cloudera.com/workload-manager/cloud/configuration/topics/wm-public-architecture-wm.html)
+ [Requisitos de Replication Manager](https://docs.cloudera.com/replication-manager/cloud/index.html)
+ [Observabilidad de la plataforma de datos de Cloudera](https://www.cloudera.com/products/observability.html)
+ [Requisitos de AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html)

Documentación de AWS:
+ [Migración de datos a la nube](https://aws.amazon.com/cloud-data-migration/)

# Resolver los errores de conexión después de migrar Microsoft SQL Server a la nube de AWS
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud"></a>

*Premkumar Chelladurai, Amazon Web Services*

## Resumen
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-summary"></a>

Tras migrar Microsoft SQL Server que se ejecuta en Windows Server 2008 R2, 2012 o 2012 R2 a instancias de Amazon Elastic Compute Cloud (Amazon EC2) en la nube de Amazon Web Services (AWS), se produce un error en la conexión a SQL Server y aparecen los siguientes errores: 
+ `[Microsoft][ODBC SQL Server Driver][DBNETLIB] General Network error`
+ `ERROR [08S01] [Microsoft][SQL Native Client]Communication link failure. System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)`
+ `TCP Provider: The semaphore timeout period has expired`

Este patrón describe cómo puede resolver estos errores si desactiva las características del paquete de redes escalables (SNP) de Windows en el nivel del sistema operativo (SO) y de la interfaz de red para SQL Server que se ejecuta en Windows Server 2008 R2, 2012 o 2012 R2.

## Requisitos previos y limitaciones
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-prereqs"></a>

**Requisitos previos **
+ Privilegios de administrador para Windows Server.
+ Si utilizó AWS Application Migration Service como herramienta de migración, necesitará una de las siguientes versiones de Windows Server:
  + Windows Server 2008 R2 Service Pack 1, 2012 o 2012 R2
+ Si utilizó CloudEndure Migration como herramienta de migración, necesitará una de las siguientes versiones de Windows Server:
  + Windows Server 2003 R2 Service Pack 3, 2008, 2008 R2 Service Pack 1, 2012 o 2012 R2.

## Tools (Herramientas)
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-tools"></a>
+ [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html): Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad informática escalable en la nube de AWS. Puede utilizar Amazon EC2 para lanzar tantos o tan pocos servidores virtuales como necesite, y puede ampliarlos de forma horizontal o horizontal. 
+ [Windows Server](https://docs.microsoft.com/en-us/windows-server/): Windows Server es una plataforma para crear una infraestructura de aplicaciones, redes y servicios web conectados.

## Epics
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-epics"></a>

### Cómo desactivar las características de SNP a nivel del sistema operativo y de la interfaz de red elástica
<a name="turn-off-snp-features-at-the-os-and-elastic-network-interface-levels"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Desactive las características de SNP a nivel del sistema operativo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrador de AWS, administrador de sistemas de AWS, ingeniero de migraciones, administrador de la nube | 
| Desactive las características de SNP a nivel de la interface de red elástica. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrador de AWS, administrador de la nube, administrador de sistemas de AWS | 

## Recursos relacionados
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-resources"></a>
+ [Solución de problemas de características avanzadas de rendimiento de red, como RSS y NetDMA](https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-network-performance-features-rss-netdma)

# Reinicie el AWS Replication Agent automáticamente sin deshabilitarlo SELinux después de reiniciar un servidor fuente de RHEL
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server"></a>

*Anil Kunapareddy, Venkatramana Chintha y Shanmugam Shanker, Amazon Web Services*

## Resumen
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-summary"></a>

El servicio de migración de aplicaciones de AWS ayuda a simplificar, acelerar y automatizar la migración de la carga de trabajo de Red Hat Enterprise Linux (RHEL) a la nube de Amazon Web Services (AWS). Para añadir servidores de origen al Servicio de migración de aplicaciones, instale el agente de replicación de AWS en los servidores.

El servicio de migración de aplicaciones proporciona una replicación asíncrona a nivel de bloques en tiempo real. Esto significa que puede continuar con las operaciones de TI normales durante todo el proceso de replicación. Estas operaciones de TI pueden requerir que reinicie o reinicie el servidor de origen de RHEL durante la migración. Si esto ocurre, el agente de replicación de AWS no se reiniciará automáticamente y la replicación de datos se detendrá. Normalmente, puede configurar Security-Enhanced Linux (SELinux) en modo **deshabilitado** o **permisivo** para reiniciar automáticamente AWS Replication Agent. [Sin embargo, es posible que las políticas de seguridad de su organización prohíban la desactivación SELinux y que también tenga que volver a etiquetar los archivos.](https://access.redhat.com/solutions/3176)

Este patrón describe cómo reiniciar automáticamente el AWS Replication Agent sin apagarlo SELinux cuando el servidor de origen de RHEL se reinicia o se reinicia durante una migración. 

## Requisitos previos y limitaciones
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una carga de trabajo de RHEL en las instalaciones que desee migrar a la nube de AWS. 
+ El servicio de migración de aplicaciones se inicializó desde la consola del Servicio de migración de aplicaciones. La inicialización solo es necesaria la primera vez que utilice este servicio. Para obtener instrucciones, consulte la [documentación de Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mandatory-setup.html).
+ [Política de AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) vigente para el Servicio de migración de aplicaciones. Para obtener más información, consulte la [documentación de Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html).

**Versiones**
+ RHEL versión 7 o posterior

## Tools (Herramientas)
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-tools"></a>

**Servicios de AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) es una solución lift-and-shift (rehospedaje) altamente automatizada que simplifica, agiliza y reduce el costo de la migración de aplicaciones a AWS.

**Comandos de Linux**

La siguiente tabla proporciona una lista de los comandos de Linux que se ejecutarán en el servidor fuente de RHEL. Estos también se describen en las epics y las historias de este patrón. 


| 
| 
| Comando | Description (Descripción) | 
| --- |--- |
| `#systemctl –version` | Identifica la versión del sistema. | 
| `#systemctl list-units --type=service` | Muestra todos los servicios activos que están disponibles en el servidor RHEL. | 
| `#systemctl list-units --type=service \| grep running` | Muestra todos los servicios que se están ejecutando actualmente en el servidor RHEL. | 
| `#systemctl list-units --type=service \| grep failed` | Muestra todos los servicios que no se pudieron cargar después de que el servidor RHEL se reiniciara o se reiniciara. | 
| `restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Cambia el contexto a `aws-replication-service`. | 
| `yum install policycoreutils*` | Instala las utilidades principales de la política necesarias para el funcionamiento del sistema. SELinux  | 
| `ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Busca en el registro de auditoría y crea un módulo para las políticas. | 
| `semodule -i my-modprobe.pp` | Activa la política. | 
| `cat my-modprobe.te` | Se muestra el contenido del archivo `my-modprobe.te`. | 
| `semodule -l \| grep my-modprobe` | Comprueba si la política se ha cargado en el SELinux módulo. | 

## Epics
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-epics"></a>

### Instale el agente de replicación de AWS y reinicie el servidor de origen de RHEL
<a name="install-the-aws-replication-agent-and-reboot-the-rhel-source-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un usuario de Application Migration Service con una clave de acceso y una clave de acceso secreta.  | Para instalar el agente de replicación de AWS, debe crear un usuario del Servicio de migración de aplicaciones con las credenciales de AWS requeridas. Para obtener instrucciones, consulte la [documentación del servicio de migración aplicación](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | Ingeniero de migraciones | 
| Instale el agente de replicación de AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.html) | Ingeniero de migraciones | 
| Reinicie o resetee el servidor de origen de RHEL. | Reinicie o resetee el servidor de origen de RHEL cuando el valor de **Estado de la replicación de datos** aparezca como **Estancado** en el [Panel de migración](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | Ingeniero de migraciones | 
| Compruebe el estado de la replicación de los datos. | Espere una hora y, a continuación, vuelva a comprobar el **estado de la Replicación de los datos** en el panel de migración. Debería estar como **En buen estado**. | Ingeniero de migraciones | 

### Compruebe el estado del agente de replicación de AWS en el servidor de origen de RHEL
<a name="check-aws-replication-agent-status-on-the-rhel-source-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifica la versión del sistema. | Abra la interfaz de la línea de comandos del servidor fuente de RHEL y ejecute el siguiente comando para identificar la versión del sistema:`#systemctl –version` | Ingeniero de migraciones | 
| Enumere todos los servicios activos. | Para ver todos los servicios activos disponibles en el servidor RHEL, ejecute el comando:`#systemctl list-units --type=service` | Ingeniero de migraciones | 
| Enumere todos los servicios en ejecución. | Para mostrar todos los servicios que se están ejecutando actualmente en el servidor RHEL, use el comando:`#systemctl list-units --type=service \| grep running` | Ingeniero de migraciones | 
| Enumere todos los servicios que no se pudieron cargar. | Para mostrar todos los servicios que no se pudieron cargar después de que el servidor RHEL se reiniciara o se reiniciara, ejecute el comando:`#systemctl list-units --type=service \| grep failed` | Ingeniero de migraciones | 

### Cree y ejecute el SELinux módulo
<a name="create-and-run-the-selinux-module"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie el contexto de seguridad. | En la interfaz de la línea de comandos del servidor de origen de RHEL, ejecute el siguiente comando para cambiar el contexto de seguridad al servicio de replicación de AWS:`restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Ingeniero de migraciones | 
| Instale las utilidades principales. | Para instalar las utilidades principales necesarias para el funcionamiento del SELinux sistema y sus políticas, ejecute el comando:`yum install policycoreutils*` | Ingeniero de migraciones | 
| Busca el registro de auditoría y crea un módulo para las políticas. | Ejecute el comando:`ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Ingeniero de migraciones | 
| Muestra el contenido del my-modprobe-te archivo.  | **El archivo `my-modprobe.te` se genera mediante el comando audit2allow.** Incluye los SELinux dominios, el directorio de fuentes de políticas y los subdirectorios, y especifica las reglas y transiciones del vector de acceso asociadas a los dominios. Para mostrar el contenido del archivo, ejecute el comando:`cat my modprobe.te` | Ingeniero de migraciones | 
| Activa la política. | Para insertar el módulo y activar el paquete de políticas, ejecute el comando:`semodule -i my-modprobe.pp` | Ingeniero de migraciones | 
| Compruebe si el módulo se ha cargado.  | Ejecute el comando:`semodule -l \| grep my-modprobe`Una vez cargado el SELinux módulo, ya no tendrá que SELinux configurarlo en modo **deshabilitado** o **permisivo** durante la migración. | Ingeniero de migraciones | 
| Reinicie o resetee el servidor de origen de RHEL y compruebe el estado de la replicación de los datos. | Abra la consola de AWS Migration Service, vaya a **Progreso de la replicación de datos** y, a continuación, reinicie o resetee el servidor de origen de RHEL. La replicación de datos ahora debería reanudarse automáticamente después de que se reinicie el servidor de origen de RHEL. | Ingeniero de migraciones | 

## Recursos relacionados
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-resources"></a>
+ [Documentación de Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Materiales de formación técnica](https://docs.aws.amazon.com/mgn/latest/ug/mgn-training.html)
+ [Solución de problemas con AWS Replication Agent](https://docs.aws.amazon.com/mgn/latest/ug/Troubleshooting-Agent-Issues.html)
+ [Políticas de Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html)

# Rediseñar
<a name="migration-rearchitect-pattern-list"></a>

**Topics**
+ [Convierta VARCHAR2 (1) el tipo de datos de Oracle en un tipo de datos booleano para Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Crear usuarios y roles de aplicaciones en Aurora compatible con PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Emule Oracle DR mediante una base de datos global de Aurora compatible con PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Implemente SHA1 el hash para los datos de PII al migrar de SQL Server a PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Migración gradual de Amazon RDS para Oracle a Amazon RDS para PostgreSQL con Oracle SQL Developer y AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Cargar archivos BLOB en TEXT mediante la codificación de archivos en Aurora compatible con PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migre Amazon RDS for Oracle a Amazon RDS for PostgreSQL con y utilizando y AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migración de Amazon RDS para Oracle a Amazon RDS para PostgreSQL en modo SSL mediante AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migración de los paquetes pragma SERIALLY\$1REUTILIZABLE de Oracle a PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migración de tablas externas de Oracle a Amazon Aurora compatible con PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Migración de índices basados en funciones de Oracle a PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migración de las funciones nativas de Oracle a PostgreSQL mediante extensiones](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migre una base de datos Db2 de Amazon EC2 a Aurora compatible con MySQL mediante AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migre una base de datos de Microsoft SQL Server de Amazon EC2 a Amazon DocumentDB mediante AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migre una base de datos ThoughtSpot Falcon local a Amazon Redshift](migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift.md)
+ [Migre de Oracle Database a Amazon RDS for PostgreSQL mediante Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migración de una tabla particionada de Oracle a PostgreSQL mediante AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migración de de Amazon RDS para Oracle a Amazon RDS para MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migre de IBM Db2 en Amazon EC2 a Aurora compatible con PostgreSQL mediante AWS DMS y AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migre de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migración de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante la vista materializada y AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migración de Oracle en Amazon EC2 a Amazon RDS para MySQL con AWS DMS y AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migre una base de datos Oracle de Amazon EC2 a Amazon RDS para MariaDB con AWS DMS y AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para MySQL con AWS DMS y AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para PostgreSQL mediante Oracle Bystander y AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migración de una base de datos de Oracle a Amazon Redshift con AWS DMS y AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de Oracle a Aurora PostgreSQL con AWS DMS y AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migración de datos de una base de datos de Oracle en las instalaciones a Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migración de SAP ASE a Amazon RDS para SQL Server utilizando AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon Redshift mediante AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migración de una base de datos en las instalaciones de Microsoft SQL Server a Amazon Redshift mediante agentes de extracción de datos de AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migración de aplicaciones heredadas de Oracle Pro\$1C a ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migración de columnas generadas de forma virtual de Oracle a PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configure la funcionalidad UTL\$1FILE de Oracle en Aurora compatible con PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Validar los objetos de la base de datos después de migrar de Oracle a Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# Convierta VARCHAR2 (1) el tipo de datos de Oracle en un tipo de datos booleano para Amazon Aurora PostgreSQL
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql"></a>

*Naresh Damera, Amazon Web Services*

## Resumen
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-summary"></a>

Durante una migración de Amazon Relational Database Service (Amazon RDS) para Oracle a una edición compatible con PostgreSQL de Amazon Aurora, es posible que se produzca una discrepancia de datos al validar la migración en (). AWS Database Migration Service AWS DMS Para evitar esta discrepancia, puede convertir VARCHAR2 (1) el tipo de datos en un tipo de datos booleano.

VARCHAR2 el tipo de datos almacena cadenas de texto de longitud variable y VARCHAR2 (1) indica que la cadena tiene una longitud de 1 carácter o 1 byte. Para obtener más información VARCHAR2, consulte los [tipos de datos integrados de Oracle](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) (documentación de Oracle).

En este patrón, en la columna de la tabla de datos fuente de muestra, los datos VARCHAR2 (1) son una **Y**, para *Sí*, o **N**, para *No*.  Este patrón incluye instrucciones para usar AWS DMS y AWS Schema Conversion Tool (AWS SCT) para convertir este tipo de datos de los valores **Y** y **N** de VARCHAR2 (1) a valores **verdaderos** o **falsos** en booleano.

**Destinatarios previstos**

Este patrón se recomienda para quienes tengan experiencia en la migración de bases de datos de Oracle a una versión de Aurora compatible con PostgreSQL mediante AWS DMS. A medida que complete la migración, siga las recomendaciones de Cómo [convertir Oracle a Amazon RDS for PostgreSQL o Amazon AWS SCT Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentación).

## Requisitos previos y limitaciones
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-prereqs"></a>

**Requisitos previos **
+ Un activo. Cuenta de AWS
+ Confirme que su entorno esté preparado para Aurora, incluida la configuración de credenciales, permisos y un grupo de seguridad. Para obtener más información, consulte [Configuración del entorno para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_SettingUp_Aurora.html) (documentación de Aurora).
+ Una base de datos de Amazon RDS for Oracle de origen que contiene una columna de tabla VARCHAR2 con (1) datos.
+ Instancia de base de datos compatible con Amazon Aurora PostgreSQL. Para obtener más información, consulte [Creación de un clúster de base de datos y cómo conectarse a una base de datos en un clúster de base de datos de Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster) (documentación de Aurora).

**Versiones de producto**
+ Opciones de Amazon RDS para Oracle Versión 12.1.0.2 o posterior.
+ AWS DMS versión 3.1.4 o posterior. Para obtener más información, consulte [Uso de una base de datos Oracle como fuente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y [Uso de una base de datos PostgreSQL como destino AWS DMS(documentación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)).AWS DMS Le recomendamos que utilice la última versión de AWS DMS para obtener el soporte más completo de versiones y funciones.
+ AWS Schema Conversion Tool (AWS SCT) versión 1.0.632 o posterior. Le recomendamos que utilice la última versión de AWS SCT para obtener el soporte más completo de versiones y funciones.
+ Aurora es compatible con las versiones de PostgreSQL que figuran en [Versiones del motor de base de datos para Aurora compatibles con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) (documentación de Aurora).

## Arquitectura
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-architecture"></a>

**Pila de tecnología de origen**

Recurso de instancia de base de datos de Amazon RDS para Oracle

**Pila de tecnología de destino**

Instancia de base de datos compatible con Amazon Aurora PostgreSQL

**Arquitectura de origen y destino**

![\[Cambiar los tipos de datos de VARCHAR2 (1) a booleanos\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5d4dc568-20d8-4883-a942-21c81039d8e6/images/9fd82ae2-56e6-439c-b4cd-9e74fe77b480.png)


## Tools (Herramientas)
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-tools"></a>

**Servicios de AWS**
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le ayuda a migrar los almacenes de datos a una combinación de configuraciones locales y en la nube Nube de AWS o entre ellas.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) para Oracle lo ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la Nube de AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) admite migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayoría del código personalizado a un formato compatible con la base de datos de destino.

**Otros servicios**
+ [Oracle SQL Developer](https://docs.oracle.com/en/database/oracle/sql-developer/) es un entorno de desarrollo integrado que simplifica el desarrollo y la administración de bases de datos de Oracle, tanto en implementaciones tradicionales como en implementaciones basadas en la nube. En este patrón, utilice esta herramienta para conectarse a la instancia de base de datos Amazon RDS para Oracle y consultar los datos.
+ [pgAdmin](https://www.pgadmin.org/docs/) es una herramienta de gestión de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos. En este patrón, utilice esta herramienta para conectarse a la instancia de base de datos Aurora y consultar los datos.

## Epics
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un informe de migración de bases de datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | Administrador de base de datos, desarrollador | 
| Elimine las restricciones de clave externa en la base de datos de destino. | En PostgreSQL, las claves foráneas se implementan mediante activadores. Durante la fase de carga completa, AWS DMS carga cada tabla de una en una. Recomendamos encarecidamente que deshabilite las restricciones de clave externa durante una carga completa, utilizando uno de los siguientes métodos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Si no es posible deshabilitar las restricciones de clave externa, cree una tarea de AWS DMS migración para los datos principales que sea específica de la tabla principal y la tabla secundaria. | Administrador de base de datos, desarrollador | 
| Deshabilite las claves principales y únicas en la base de datos de destino. | Con los siguientes comandos, deshabilite las claves y restricciones principales de la base de datos de destino. Esto ayuda a mejorar el rendimiento de la tarea de carga inicial.<pre>ALTER TABLE <table> DISABLE PRIMARY KEY;</pre><pre>ALTER TABLE <table> DISABLE CONSTRAINT <constraint_name>;</pre> | Administrador de base de datos, desarrollador | 
| Cree la tarea de carga inicial. | En AWS DMS, cree la tarea de migración para la carga inicial. Para obtener instrucciones, consulte [Creación de tareas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). En Migration type (Tipo de migración), elija **Migrate existing data** (Migración de datos existentes). Este método de migración se** **llama `Full Load` en la API. No inicie esta tarea todavía. | Administrador de base de datos, desarrollador | 
| Edite la configuración de la tarea de carga inicial. | Edite la configuración de la tarea para añadir la validación de datos. Estos ajustes de validación se deben crear en un archivo JSON. Para obtener instrucciones y ejemplos, consulte [Especificar la configuración de las tareas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Añada las siguientes validaciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Para validar el resto de la migración de datos, habilite la validación de datos en la tarea. Para obtener más información consulte [Configuración de tareas de validación de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.html). | Administrador de AWS, Administrador de base de datos | 
| Creación de una tarea de replicación continua. | En AWS DMS, cree la tarea de migración que mantenga la base de datos de destino sincronizada con la base de datos de origen. Para obtener instrucciones, consulte [Creación de tareas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Para el método de migración, elija **Replicar solo los cambios de datos**. No inicie esta tarea todavía. | Administrador de base de datos | 

### Probar las tareas de migración
<a name="test-the-migration-tasks"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree datos de muestra para realizar pruebas. | En la base de datos de origen, cree una tabla de muestra con datos para realizar pruebas. | Desarrollador | 
| Confirme que no haya actividades conflictivas. | Utilice `pg_stat_activity` para comprobar si hay alguna actividad en el servidor que pueda afectar a la migración. Para obtener más información, consulte [Recopilador de estadísticas](https://www.postgresql.org/docs/current/monitoring-stats.html) (documentación de PostgreSQL). | Administrador de AWS | 
| Inicie las tareas de AWS DMS migración. | En la AWS DMS consola, en la página del **panel** de control, inicie la carga inicial y las tareas de replicación en curso que creó en la epopeya anterior. | Administrador de AWS | 
| Supervise las tareas y los estados de carga de la tabla. | Durante la migración, supervise el [estado de las tareas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.Status) y los [estados de la tabla](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.CustomizingTasks.TableState). Cuando se complete la tarea de carga inicial, en la pestaña **Estadísticas de la tabla**:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | Administrador de AWS | 
| Compruebe los resultados de la migración. | Con pgAdmin, consulte la tabla en la base de datos de destino. Una consulta correcta indica que los datos se migraron correctamente. | Desarrollador | 
| Agregue claves principales y claves externas a la base de datos de destino. | Cree la clave principal y la clave externa en la base de datos de destino. Para obtener más información, consulte [ALTER TABLE](https://www.postgresql.org/docs/current/sql-altertable.html) (sitio web de PostgreSQL). | Administrador de base de datos | 
| Elimine los datos de la prueba. | En las bases de datos de origen y destino, limpie los datos que se crearon para las pruebas unitarias. | Desarrollador | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Completar la migración. | Repita la epopeya anterior, *pruebe las tareas de migración* utilizando los datos de origen reales. De este modo, se migran los datos desde la base de datos de origen a la base de datos de destino. | Desarrollador | 
| Valide que las bases de datos de origen y destino estén sincronizadas. | Valide que las bases de datos de origen y destino estén sincronizadas. Para obtener más información e instrucciones, consulte [Validación de datos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Desarrollador | 
| Detenga la base de datos de origen. | Detenga la base de datos de Amazon RDS para Oracle. Para obtener instrucciones, consulte [Detener temporalmente una instancia de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html). Al detener la base de datos de origen, la carga inicial y las tareas de replicación en curso AWS DMS se detienen automáticamente. No es necesario realizar ninguna acción adicional para detener estas tareas. | Desarrollador | 

## Recursos relacionados
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-resources"></a>

**AWS referencias**
+ [Migre una base de datos Oracle a Aurora PostgreSQL AWS DMS mediante AWS SCT](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.html) y AWS (Guía prescriptiva)
+ [Conversión de Oracle a Amazon RDS para PostgreSQL o Amazon AWS SCT Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentación)
+ [Cómo funciona (documentación) AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.html)AWS DMS 

**Otras referencias**
+ [Tipo de datos booleano](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-boolean/) (documentación de PostgreSQL)
+ [Tipos de datos integrados de Oracle](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) (documentación de Oracle)
+ [pgAdmin](https://www.pgadmin.org/) (sitio web de pgAdmin)
+ [SQL Developer](https://www.oracle.com/database/technologies/appdev/sql-developer.html) (sitio web de Oracle)

**Tutoriales y videos**
+ [Cómo empezar con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Introduction to AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Descripción de Amazon RDS](https://www.youtube.com/watch?v=eMzCI7S1P9M) (video)

## Información adicional
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-additional"></a>

**Script de validación de datos**

El siguiente script de validación de datos convierte **1** en **Y** y **0** **en N.** Esto ayuda a que la AWS DMS tarea se complete correctamente y supere la validación de la tabla.

```
{
"rule-type": "validation",
"rule-id": "5",
"rule-name": "5",
"rule-target": "column",
"object-locator": {
"schema-name": "ADMIN",
"table-name": "TEMP_CHRA_BOOL",
"column-name": "GRADE"
},
"rule-action": "override-validation-function",
"target-function": "case grade when '1' then 'Y' else 'N' end"
        }
```

La sentencia `case` del script realiza la validación. Si la validación falla, AWS DMS inserta un registro en la tabla **public.awsdms\$1validation\$1failures\$1v1** de la instancia de base de datos de destino. Este registro incluye el nombre de la tabla, el tiempo de error y detalles sobre los valores que no coinciden en las tablas de origen y destino.

**Si no agrega este script de validación de datos a la tarea y los datos se insertan en la tabla de destino, la AWS DMS tarea mostrará el estado de validación como Registros no coincidentes. AWS DMS **

Durante la AWS SCT conversión, la tarea de AWS DMS migración cambia el tipo de datos de VARCHAR2 (1) a booleano y añade una restricción de clave principal a la columna. `"NO"`

# Crear usuarios y roles de aplicaciones en Aurora compatible con PostgreSQL
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Resumen
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Al migrar a la edición compatible con PostgreSQL de Amazon Aurora, los usuarios y roles de la base de datos que existen en la base de datos de origen deben crearse en la base de datos de Aurora compatible con PostgreSQL. Puede crear los usuarios y los roles en Aurora compatibles con PostgreSQL mediante dos enfoques diferentes:
+ Utilice usuarios y roles similares en la base de datos de destino y en la base de datos de origen. En este enfoque, los lenguajes de definición de datos (DDLs) se extraen para los usuarios y las funciones de la base de datos de origen. A continuación, se transforman y se aplican a la base de datos Aurora compatible con PostgreSQL de destino. Por ejemplo, la entrada del blog [Usar SQL para asignar usuarios, roles y concesiones de Oracle a PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) trata sobre el uso de la extracción de un motor de base de datos de origen de Oracle.
+ Utilice usuarios y roles estandarizados que se utilizan habitualmente durante el desarrollo, la administración y para realizar otras operaciones relacionadas en la base de datos. Esto incluye las operaciones de solo lectura, lectura/escritura, desarrollo, administración e implementación realizadas por los respectivos usuarios.

Este patrón contiene las concesiones necesarias para la creación de usuarios y roles en Aurora, compatible con PostgreSQL, necesarias para el enfoque estandarizado de usuarios y roles. Los pasos de creación de usuarios y roles están alineados con la política de seguridad de conceder el privilegio mínimo a los usuarios de la base de datos. La siguiente tabla muestra los usuarios, sus funciones correspondientes y sus detalles en la base de datos.


| 
| 
| Users | Roles | Finalidad | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Se utiliza para el acceso de solo lectura al esquema `APP` | 
| `APP_WRITE` | `APP_RW` | Se utiliza para las operaciones de escritura y lectura del esquema `APP` | 
| `APP_dev_user` | `APP_DEV` | Se utiliza con fines de desarrollo en el esquema `APP_DEV`, con acceso de solo lectura al esquema `APP` | 
| `Admin_User` | `rds_superuser` | Se utiliza para realizar operaciones de administrador en la base de datos | 
| `APP` | `APP_DEP` | Se utiliza para crear los objetos del esquema `APP` y para la implementación de objetos en el esquema `APP` | 

## Requisitos previos y limitaciones
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Requisitos previos **
+ Una cuenta de Amazon Web Services (AWS) activa
+ Una base de datos PostgreSQL, una base de datos Amazon Aurora de edición compatible con PostgreSQL o una base de datos Amazon Relational Database Service (Amazon RDS) para PostgreSQL

**Versiones de producto**
+ Todas las versiones de PostgreSQL

## Arquitectura
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Pila de tecnología de origen**
+ Cualquier base de datos

**Pila de tecnología de destino**
+ Amazon Aurora compatible con PostgreSQL

**Arquitectura de destino**

El siguiente diagrama muestra los roles de usuario y la arquitectura del esquema en la base de datos Aurora compatible con PostgreSQL.

![\[Funciones de usuario y arquitectura de esquemas para la base de datos Aurora compatible con PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automatizar y escalar**

Este patrón contiene los usuarios, los roles y el script de creación del esquema, que puede ejecutar varias veces sin que ello afecte a los usuarios actuales de la base de datos de origen o destino.

## Tools (Herramientas)
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Servicios de AWS**
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.

**Otros servicios**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) es una herramienta frontend basada en un terminal que se instala con todas las instalaciones de PostgreSQL Database. Cuenta con una interfaz de la línea de comandos para ejecutar comandos de SQL, PL-PGSQL y del sistema operativo.
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de gestión de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.

## Epics
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Crear los usuarios y los roles
<a name="create-the-users-and-roles"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el usuario de implementación. | El usuario de implementación `APP` se utilizará para crear y modificar los objetos de la base de datos durante las implementaciones. Utilice los siguientes scripts para crear el rol de usuario de implementación `APP_DEP` en el esquema `APP`. Valide los derechos de acceso para asegurarse de que este usuario solo tiene el privilegio de crear objetos en el esquema `APP` requerido.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | Administrador de base de datos | 
| Cree el usuario de solo lectura. | El usuario de solo lectura `APP_read` se utilizará para realizar la operación de solo lectura en el esquema `APP`. Utilice los siguientes scripts para crear el usuario de solo lectura. Valide los derechos de acceso para asegurarse de que este usuario tiene privilegios para leer únicamente los objetos del esquema `APP` y para conceder automáticamente el acceso de lectura a cualquier objeto nuevo creado en el esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | Administrador de base de datos | 
| Cree el read/write usuario. | El read/write usuario se `APP_WRITE` utilizará para realizar operaciones de lectura y escritura en el esquema`APP`. Utilice los siguientes scripts para crear el read/write usuario y asignarle el `APP_RW` rol. Valide los derechos de acceso para asegurarse de que este usuario solo tiene privilegios de lectura y escritura en los objetos del esquema `APP` y para conceder automáticamente el acceso de lectura y escritura a cualquier objeto nuevo creado en el esquema `APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Cree el usuario administrador. | El usuario administrador `Admin_User` se utilizará para realizar operaciones de administración en la base de datos. Algunos ejemplos de estas operaciones son `CREATE ROLE` y `CREATE DATABASE`. `Admin_User` utiliza la función integrada `rds_superuser` para realizar operaciones de administración en la base de datos. Utilice los siguientes scripts para crear y probar el privilegio del usuario administrador `Admin_User` en la base de datos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | Administrador de base de datos | 
| Cree el usuario de desarrollo. | El usuario de desarrollo `APP_dev_user` tendrá derechos para crear los objetos en su esquema local `APP_DEV` y acceso de lectura en el esquema `APP`. Utilice los siguientes scripts para crear y probar los privilegios del usuario `APP_dev_user` en la base de datos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | Administrador de base de datos | 

## Recursos relacionados
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentación de PostgreSQL**
+ [CREAR ROL](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CREAR USUARIO](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Roles predefinidos](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Información adicional
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Mejora de PostgreSQL 14**

PostgreSQL 14 proporciona un conjunto de roles predefinidos que dan acceso a determinadas capacidades e información privilegiadas que se necesitan con frecuencia. Los administradores (incluidos roles con privilegios `CREATE ROLE`) pueden conceder estos roles u otros roles de su entorno a los usuarios, proporcionándoles acceso a la información y las capacidades especificadas.

Los administradores pueden conceder a los usuarios el acceso a estos roles mediante el comando `GRANT`. Por ejemplo, para conceder el rol `pg_signal_backend` al `Admin_User`, puede ejecutar el siguiente comando.

```
GRANT pg_signal_backend TO Admin_User;
```

El objetivo del rol `pg_signal_backend` es permitir a los administradores habilitar roles de confianza que no son de superusuario para enviar señales a otros backends. Para obtener más información, consulte [Mejora de PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Afinar el acceso**

En algunos casos, puede ser necesario proporcionar un acceso más detallado a los usuarios (por ejemplo, acceso basado en tablas o en columnas). En esos casos, se pueden crear roles adicionales para conceder esos privilegios a los usuarios. Para obtener información, consulte [Concesiones de PostgreSQL](https://www.postgresql.org/docs/8.4/sql-grant.html).

# Emule Oracle DR mediante una base de datos global de Aurora compatible con PostgreSQL
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database"></a>

*HariKrishna Boorgadda, Amazon Web Services*

## Resumen
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-summary"></a>

Las prácticas recomendadas para la recuperación de desastres (DR) a nivel empresarial consisten, básicamente, en diseñar e implementar sistemas de hardware y software tolerantes a fallos que puedan sobrevivir a un desastre (*continuidad de la actividad empresarial*) y reanudar las operaciones normales (*reanudación de la actividad empresarial*) con una intervención mínima e, idealmente, sin pérdida de datos. Crear entornos tolerantes a fallos para cumplir los objetivos de la DR empresarial puede ser una empresa larga y costosa, y requiere un firme compromiso por parte de la empresa.

Oracle Database ofrece tres enfoques diferentes de recuperación de desastres que proporcionan el nivel más alto de protección y disponibilidad de datos en comparación con cualquier otro enfoque para proteger datos de Oracle.
+ Dispositivo de recuperación sin pérdida de datos de Oracle
+ Oracle Active Data Guard
+ Oráculo GoldenGate

Este patrón proporciona una forma de emular la recuperación ante GoldenGate desastres de Oracle mediante una base de datos global de Amazon Aurora. La arquitectura de referencia utiliza Oracle GoldenGate for DR en tres regiones de AWS. El patrón redefine la plataforma de la arquitectura de origen a la base de datos global de Aurora, nativa en la nube y basada en la edición compatible con PostgreSQL de Amazon Aurora.

Las bases de datos globales de Aurora están diseñadas para aplicaciones con una huella global. Una única base de datos de Aurora puede abarcar varias regiones de AWS con hasta cinco regiones secundarias. Las bases de datos globales de Aurora ofrecen las siguientes características:
+ Replicación física a nivel de almacenamiento
+ Lecturas globales de baja latencia
+ Recuperación de desastres rápida tras interrupciones en toda la región
+ Migraciones rápidas entre regiones
+ Bajo retraso de replicación en todas las regiones
+ Little-to-no impacto en el rendimiento de su base de datos

Para obtener más información sobre las características y ventajas de las bases de datos globales de Aurora, consulte [Uso de las bases de datos globales de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview). Para obtener más información sobre las conmutaciones por error gestionadas y no planificadas, consulte [Uso de la conmutación por error en una base de datos global de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover).

## Requisitos previos y limitaciones
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Un controlador PostgreSQL de Java Database Connectivity (JDBC) para conectividad de aplicaciones
+ Una base de datos global de Aurora basada en Amazon Aurora compatible con PostgreSQL
+ Una base de datos de Oracle Real Application Clusters (RAC) migrada a la base de datos global de Aurora basada en Aurora compatible con PostgreSQL

**Limitaciones de las bases de datos globales de Aurora**
+ Las bases de datos globales de Aurora no están disponibles en todas las regiones de AWS. Para obtener una lista de las regiones compatibles, consulte [Bases de datos globales de Aurora con Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.apg).
+ Para obtener información sobre las características no compatibles y otras limitaciones de las bases de datos globales de Aurora, consulte [Limitaciones de las bases de datos globales de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations).

**Versiones de producto**
+ Amazon Aurora, edición compatible con PostgreSQL, versión 10.14 o posterior

## Arquitectura
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-architecture"></a>

**Pila de tecnología de origen**** **
+ Base de datos de Oracle RAC de cuatro nodos
+ Oracle GoldenGate

**Arquitectura de origen**** **

El siguiente diagrama muestra tres clústeres con Oracle RAC de cuatro nodos en diferentes regiones de AWS replicados mediante Oracle. GoldenGate 

![\[Oracle RAC en una región principal y dos regiones secundarias.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/9fc740fc-d339-422e-beaf-1f65690c9d14.png)


**Pila de tecnología de destino**
+ Una base de datos global de Amazon Aurora de tres clústeres basada en Aurora compatible con PostgreSQL, con un clúster en la región principal y dos clústeres en diferentes regiones secundarias

**Arquitectura de destino**

![\[Amazon Aurora en una región principal y dos regiones secundarias.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/8e3deca9-03f2-437c-9341-795ac17e2b42.png)


## Tools (Herramientas)
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-tools"></a>

**Servicios de AWS**
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ Las [bases de datos globales de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) abarcan varias regiones de AWS, lo que permite lecturas globales de baja latencia y proporcionan una recuperación rápida de cualquier interrupción que pueda afectar a toda una región de AWS.

## Epics
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-epics"></a>

### Agregue regiones con instancias de base de datos de lectura
<a name="add-regions-with-reader-db-instances"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Adjunte uno o varios clústeres de Aurora secundarios. | En la Consola de administración de AWS, seleccione Amazon Aurora. Seleccione el clúster principal, elija **Acciones** y seleccione **Añadir región** en la lista desplegable. | Administrador de base de datos | 
| Seleccione la clase de instancia. | Puede cambiar la clase de instancia del clúster secundario. Sin embargo, le recomendamos mantenerla igual que la clase de instancia del clúster principal. | Administrador de base de datos | 
| Añada la tercera región. | Repita los pasos de esta épica para añadir un clúster en la tercera región. | Administrador de base de datos | 

### Error en la base de datos global Aurora
<a name="fail-over-the-aurora-global-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine el clúster secundario de la base de datos global de Aurora. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.html) | Administrador de base de datos | 
| Puede volver a configurar la aplicación para desviar el tráfico de escritura al clúster que acaba de promover. | Cambie el punto de conexión de la aplicación por el del clúster recién promocionado. | Administrador de base de datos | 
| Detenga la ejecución de cualquier operación de escritura en el clúster no disponible. | Detenga la aplicación y cualquier actividad del lenguaje de manipulación de datos (DML) en el clúster que ha eliminado. | Administrador de base de datos | 
| Crear una base de datos global de Aurora. | Ahora puede crear una base de datos global de Aurora con el clúster recién promovido como clúster principal. | Administrador de base de datos | 

### Inicie el clúster principal
<a name="start-the-primary-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seleccione el clúster principal que se va a iniciar desde la base de datos global. | En la consola de Amazon Aurora, en la configuración de la base de datos global, elija el clúster principal. | Administrador de base de datos | 
| Iniciar el clúster. | En la lista desplegable **Acciones**, seleccione **Iniciar**. Este proceso puede tardar algún tiempo. Actualice la pantalla para ver el estado o compruebe, en la columna **Estado**, el estado actual del clúster una vez finalizada la operación. | Administrador de base de datos | 

### Limpie los recursos
<a name="clean-up-the-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine los clústeres secundarios restantes. | Tras completar el piloto de conmutación por error, elimine los clústeres secundarios de la base de datos global. | Administrador de base de datos | 
| Elimine el clúster principal. | Eliminar el clúster. | Administrador de base de datos | 

## Recursos relacionados
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-resources"></a>
+ [Uso de bases de datos globales de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-detaching)
+ [Soluciones de recuperación de desastres de Aurora PostgreSQL mediante Base de datos global de Amazon Aurora](https://aws.amazon.com/blogs/database/aurora-postgresql-disaster-recovery-solutions-using-amazon-aurora-global-database/) (publicación de blog)

# Implemente SHA1 el hash para los datos de PII al migrar de SQL Server a PostgreSQL
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql"></a>

*Rajkumar Raghuwanshi y Jagadish Kantubugata, Amazon Web Services*

## Resumen
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-summary"></a>

Este patrón describe cómo implementar el hash del algoritmo de hash seguro 1 (SHA1) para las direcciones de correo electrónico al migrar de SQL Server a Amazon RDS for PostgreSQL o Amazon Aurora compatible con PostgreSQL. Una dirección de correo electrónico es un ejemplo de *información de identificación personal* (PII). La PII es información que, vista directamente o combinada con otros datos relacionados, puede utilizarse para deducir de manera razonable la identidad de una persona. 

Este patrón cubre los desafíos de mantener valores hash coherentes en diferentes intercalaciones de bases de datos y codificaciones de caracteres, y proporciona una solución con funciones y desencadenadores de PostgreSQL. Si bien este patrón se centra en el uso de SHA1 hash, se puede adaptar a otros algoritmos de hash compatibles con el módulo de PostgreSQL. `pgcrypto` Tenga siempre en cuenta las implicaciones de seguridad de su estrategia de hash y consulte con expertos en seguridad si maneja información confidencial.

## Requisitos previos y limitaciones
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ La base de datos de SQL Server de origen
+ La base de datos de PostgreSQL de destino (Amazon RDS para PostgreSQL o Aurora compatible con PostgreSQL)
+ Experiencia en codificación PL/pgSQL

**Limitaciones**
+ Este patrón requiere cambios en la intercalación en el nivel de base de datos en función de los casos de uso.
+ No se ha evaluado el impacto en el rendimiento de conjuntos de datos de gran tamaño.
+ Algunos Servicios de AWS no están disponibles en todos Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

**Versiones de producto**
+ Microsoft SQL Server 2012 o posterior

## Arquitectura
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-architecture"></a>

**Pila de tecnología de origen**
+ SQL Server
+ .NET Framework

**Pila de tecnología de destino**
+ PostgreSQL
+ Extensión `pgcrypto`

**Automatización y escala**
+ Considere la posibilidad de implementar la función de hash como un procedimiento almacenado para facilitar el mantenimiento.
+ Para conjuntos de datos grandes, evalúe el rendimiento y considere el procesamiento por lotes o las estrategias de indexación.

## Tools (Herramientas)
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-tools"></a>

**Servicios de AWS**
+ [Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, totalmente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le ayuda a migrar los almacenes de datos a una combinación de configuraciones locales y en la nube Nube de AWS o entre ellas.
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) lo ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la Nube de AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) admite migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayoría del código personalizado a un formato compatible con la base de datos de destino.

**Otras herramientas**
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de administración de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.
+ [SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms) es un entorno integrado para administrar infraestructuras de SQL Server.

## Prácticas recomendadas
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-best-practices"></a>
+ Utilice la configuración de intercalación adecuada para gestionar los caracteres especiales en la base de datos de destino.
+ Haga pruebas exhaustivas con una variedad de direcciones de correo electrónico, incluidas las direcciones con caracteres que no sean ASCII.
+ Mantenga la coherencia en la gestión de mayúsculas y minúsculas entre las capas de aplicación y base de datos.
+ Compare el rendimiento de las consultas utilizando los valores con hash.

## Epics
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-epics"></a>

### Análisis de la implementación del hash de origen
<a name="analyze-source-hashing-implementation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Revisar el código de SQL Server. | Para revisar el código de SQL Server que genera SHA1 hashes, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingeniero de datos, administrador de base de datos, desarrollador de aplicaciones | 
| Documentar el algoritmo de hash y las transformaciones de los datos. | Para documentar el algoritmo de hash exacto y las transformaciones de los datos, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, ingeniero de datos, administrador de base de datos | 

### Creación de la función de hash de PostgreSQL
<a name="create-postgresql-hashing-function"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear la extensión `pgcrypto`. | Para crear la extensión `pgcrypto`, use `pgAdmin/psql` para ejecutar el siguiente comando:<pre>CREATE EXTENSION pgcrypto;</pre> | Administrador de base de datos, ingeniero de datos | 
| Implementar una función de PostgreSQL. | Implemente la siguiente función de PostgreSQL para replicar la lógica de hash de SQL Server. En líneas generales, esta función utiliza los pasos siguientes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html)<pre>CREATE OR REPLACE FUNCTION utility.hex_to_bigint ( <br />     par_val character varying, <br />     par_upper character varying DEFAULT 'lower'::character varying) <br />RETURNS bigint <br />LANGUAGE 'plpgsql' <br />AS $BODY$ <br />DECLARE <br />    retnumber bigint; <br />    digest_bytes bytea;<br />BEGIN <br />    if lower(par_upper) = 'upper' <br />    then <br />        digest_bytes := digest(upper(par_val), 'sha1');<br />    else <br />        digest_bytes := digest((par_val), 'sha1');<br />    end if; <br />    retnumber := ('x' || encode(substring(digest_bytes, length(digest_bytes)-10+1), 'hex'))::bit(64)::bigint; <br />    RETURN retnumber; <br />END; <br />$BODY$;</pre> | Ingeniero de datos, administrador de base de datos, desarrollador de aplicaciones | 
| Pruebe la función. | Para probar la función, utilice datos de ejemplo de SQL Server para comprobar que los valores de hash coincidan. Use el siguiente comando:<pre>select 'alejandro_rosalez@example.com' as Email, utility.hex_to_bigint('alejandro_rosalez@example.com','upper') as HashValue;<br /><br />--OUTPUT<br />/*<br />email 	        hashvalue<br />"alejandro_rosalez@example.com"	451397011176045063<br />*/<br /></pre> | Desarrollador de aplicaciones, administrador de base de datos, ingeniero de datos | 

### Implementación de desencadenadores para el hash automático
<a name="implement-triggers-for-automatic-hashing"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear desencadenadores en las tablas pertinentes. | Para crear desencadenadores en las tablas pertinentes para generar automáticamente valores de hash al insertar o actualizar, ejecute el siguiente comando:<pre>CREATE OR REPLACE FUNCTION update_email_hash() <br />RETURNS TRIGGER <br />AS $$ <br />BEGIN <br />    NEW.email_hash = utility.hex_to_bigint(NEW.email, 'upper'); <br />    RETURN NEW; <br />END; <br />$$ LANGUAGE plpgsql;</pre><pre>CREATE TRIGGER email_hash_trigger BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE FUNCTION update_email_hash();</pre> | Desarrollador de aplicaciones, ingeniero de datos, administrador de base de datos | 

### Migración de los datos existentes
<a name="migrate-existing-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Desarrolle o utilice un script de migración AWS DMS.  | Desarrolle un script de migración o AWS DMS utilícelo para rellenar los valores hash de los datos existentes (incluidos los valores hash almacenados `BIGINT` en el sistema de origen). Realice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingeniero de datos, desarrollador de aplicaciones, administrador de base de datos | 
| Utilizar la nueva función de hash de PostgreSQL. | Para utilizar la nueva función de hash de PostgreSQL y garantizar la coherencia, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, administrador de bases de datos, ingeniero DevOps  | 

### Actualización de consultas de aplicaciones
<a name="update-application-queries"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identificar las consultas de aplicaciones. | Para identificar las consultas de la aplicación que utilizan valores de hash, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, administrador de base de datos, ingeniero de datos | 
| Modificar consultas. | Si es necesario, modifique las consultas para usar la nueva función de hash de PostgreSQL. Haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, administrador de base de datos, ingeniero de datos | 

### Prueba y validación
<a name="test-and-validate"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Hacer pruebas. | Para llevar a cabo pruebas exhaustivas con un subconjunto de datos de producción, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, ingeniero de datos, administrador de base de datos | 
| Validar que los valores de hash coincidan. | Para validar que los valores de hash coincidan entre SQL Server y PostgreSQL, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, ingeniero de datos, administrador de base de datos | 
| Verificar la funcionalidad de la aplicación. | Para verificar la funcionalidad de la aplicación mediante los datos migrados y la nueva implementación de hash, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Desarrollador de aplicaciones, administrador de base de datos, ingeniero de datos | 

## Resolución de problemas
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Los valores de hash no coinciden. | Compruebe las codificaciones de caracteres y las intercalaciones entre el origen y el destino. Para obtener más información, consulte [Administrar los cambios de intercalación en PostgreSQL en Amazon Aurora y Amazon AWS RDS](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/) (blog). | 

## Recursos relacionados
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-resources"></a>

**AWS Blogs**
+ [Manage collation changes in PostgreSQL on Amazon Aurora and Amazon RDS](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)
+ [Migrate SQL Server to Amazon Aurora PostgreSQL using best practices and lessons learned from the field](https://aws.amazon.com/blogs/database/migrate-sql-server-to-amazon-aurora-postgresql-using-best-practices-and-lessons-learned-from-the-field/)

**Otros recursos**
+ [PostgreSQL pgcrypto module](https://www.postgresql.org/docs/current/pgcrypto.html) (documentación de PostgreSQL)
+ [PostgreSQL trigger functions](https://www.postgresql.org/docs/current/plpgsql-trigger.html) (documentación de PostgreSQL)
+ [SQL Server HASHBYTES function](https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql) (documentación de Microsoft)

# Migración gradual de Amazon RDS para Oracle a Amazon RDS para PostgreSQL con Oracle SQL Developer y AWS SCT
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct"></a>

*Pinesh Singal, Amazon Web Services*

## Resumen
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-summary"></a>

Muchas estrategias y enfoques de migración se ejecutan en varias fases y pueden durar desde unas semanas hasta varios meses. Durante este tiempo, puede experimentar retrasos debido a la aplicación de parches o actualizaciones en las instancias de base de datos de Oracle de origen que desee migrar a las instancias de base de datos de PostgreSQL. Para evitar esta situación, le recomendamos que migre de forma incremental el código de base de datos de Oracle restante al código de base de datos de PostgreSQL.

Este patrón proporciona una estrategia de migración incremental sin tiempo de inactividad para una instancia de base de datos de Oracle de varios terabytes que tiene un número elevado de transacciones realizadas después de la migración inicial y que debe migrarse a una base de datos PostgreSQL. Puede utilizar el step-by-step enfoque de este patrón para migrar de forma incremental una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una instancia de base de datos de Amazon RDS for PostgreSQL sin iniciar sesión en la consola de administración de Amazon Web Services (AWS).

El patrón utiliza [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) para encontrar las diferencias entre dos esquemas de la base de datos de Oracle de origen. A continuación, utilice la herramienta de conversión de esquemas de AWS (AWS SCT) para convertir los objetos de esquema de base de datos de Amazon RDS para Oracle en objetos de esquema de base de datos de Amazon RDS para PostgreSQL. A continuación, puede ejecutar un script de Python en la línea de comandos de Windows para crear objetos SCT de AWS para los cambios incrementales en los objetos de la base de datos de origen.

**nota**  
Antes de migrar sus cargas de trabajo de producción, le recomendamos que ejecute una prueba de concepto (PoC) para el enfoque de este patrón en un entorno de pruebas o que no sea de producción.

## Requisitos previos y limitaciones
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una instancia existente de base de datos de Amazon RDS para Oracle. 
+ Una instancia de base de datos de Amazon RDS para PostgreSQL.
+ AWS SCT, instalado y configurado con controladores JDBC para motores de bases de datos de Oracle y PostgreSQL. Para obtener más información al respecto, consulte [Instalación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) e [Instalación de los controladores de base de datos necesarios](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) en la documentación de AWS SCT. 
+ Oracle SQL Developer, instalado y configurado. Para obtener más información acerca de estos componentes, consulte la documentación de [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ El archivo (adjunto) `incremental-migration-sct-sql.zip`, descargado en su equipo local.

**Limitaciones**
+ Los requisitos mínimos para la instancia de base de datos de Amazon RDS para Oracle son:
  + Oracle versiones 10.2 y posteriores (para las versiones 10.x), 11g (versiones 11.2.0.3.v1 y posteriores) y hasta 12.2 y 18c para las ediciones Enterprise, Standard, Standard One y Standard Two
+ Los requisitos mínimos para su instancia de base de datos de Amazon RDS para PostgreSQL de destino son:  
  + PostgreSQL versiones 9.4 y posteriores (para las versiones 9.x), 10.x y 11.x
+ En este patrón, se utiliza Oracle SQL Developer. Los resultados pueden variar si utiliza otras herramientas para buscar y exportar las diferencias de esquema.
+ Los [scripts SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) generados por Oracle SQL Developer pueden generar errores de transformación, lo que significa que es necesario realizar una migración manual.
+ Si las conexiones de prueba de origen y destino de AWS SCT fallan, asegúrese de configurar las versiones del controlador JDBC y las reglas de entrada para que el grupo de seguridad de la nube privada virtual (VPC) acepte el tráfico entrante.

**Versiones de producto**
+ Instancia de base de datos Amazon RDS para Oracle, versión 12.1.0.2 (versión 10.2 y posteriores)
+ Instancia de base de datos Amazon RDS para PostgreSQL versión 11.5 (versión 9.4 y posteriores)
+ Oracle SQL Developer, versión 19.1 y posteriores
+ AWS SCT versión 1.0.632 y versiones posteriores

## Arquitectura
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**
+ Instancia de base de datos de Amazon RDS para Oracle

**Pila de tecnología de destino**
+ Amazon RDS para instancia de base de datos para PostgreSQL

**Arquitectura de origen y destino**

El siguiente diagrama muestra la migración de una instancia de base de datos Amazon RDS para Oracle a una instancia de base de datos Amazon RDS para PostgreSQL.

![\[Flujo de trabajo de migración de Amazon RDS para Oracle a Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


En el diagrama, se muestra el siguiente flujo de migración:

1. Abra Oracle SQL Developer y conéctese a las bases de datos de origen y destino.

1. Genere un [informe de diferencias](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) y, a continuación, genere el archivo de scripts SQL para los objetos de diferencias de esquema. Para obtener más información acerca de los informes de diferencias, consulte [Informes de diferencias detallados](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) en la documentación de Oracle.

1. Configure AWS SCT y ejecute el código de Python.

1. El archivo de scripts SQL se convierte de Oracle a PostgreSQL.

1. Ejecute el archivo de scripts SQL en la instancia de base de datos PostgreSQL de destino. 

**Automatizar y escalar**

Para automatizar esta migración se pueden agregar parámetros adicionales y cambios relacionados con la seguridad para múltiples funcionalidades de un solo programa al Script de Python.

## Tools (Herramientas)
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-tools"></a>
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): la herramienta de conversión de esquemas de AWS (AWS SCT) convierte el esquema de base de datos existente de un motor de base de datos a otro.
+ [Desarrollador de Oracle SQL](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html): Oracle SQL Developer es un entorno de desarrollo integrado (IDE) que simplifica el desarrollo y la administración de las bases de datos de Oracle, tanto en las implementaciones tradicionales como en las basadas en la nube.

**Código**

El archivo (adjunto) `incremental-migration-sct-sql.zip` contiene el código fuente completo de este patrón.

## Epics
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-epics"></a>

### Cree el archivo de scripts SQL para las diferencias del esquema de la base de datos de origen
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute Database Diff en Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | Administrador de base de datos | 
| Genere el archivo de scripts SQL. | Elija **Generar script** para generar las diferencias en los archivos SQL. Esto genera el archivo de scripts SQL que AWS SCT utiliza para convertir la base de datos de Oracle a PostgreSQL. | Administrador de base de datos | 

### Use el script de Python para crear los objetos de base de datos de destino en AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT con la línea de comandos de Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html)<pre>#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port<br /><br />ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432</pre>4. Modifique los parámetros de configuración de AWS SCT según sus requisitos y, a continuación, copie el archivo de scripts SQL en el directorio de trabajo del subdirectorio `input`. | Administrador de base de datos | 
| Ejecutar el script de Python .  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | Administrador de base de datos | 
|  Cree los objetos en Amazon RDS para PostgreSQL | Ejecute los archivos SQL y cree objetos en su instancia de base de datos de Amazon RDS para PostgreSQL. | Administrador de base de datos | 

## Recursos relacionados
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-resources"></a>
+ [Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Uso de la interfaz de usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Uso de Oracle como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

## Conexiones
<a name="attachments-c7eed517-e496-4e8e-a520-c1e43397419e"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)

# Cargar archivos BLOB en TEXT mediante la codificación de archivos en Aurora compatible con PostgreSQL
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible"></a>

*Bhanu Ganesh Gudivada y Jeevan Shetty, Amazon Web Services*

## Resumen
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-summary"></a>

A menudo, durante la migración, hay casos en los que hay que procesar datos estructurados y no estructurados que se cargan desde archivos de un sistema de archivos local. Los datos también pueden estar en un juego de caracteres diferente del juego de caracteres de la base de datos.

Estos archivos contienen los siguientes tipos de datos:
+ **Metadatos** – Estos datos describen la estructura del archivo.
+ **Datos semiestructurados** – Son cadenas de texto en un formato específico, como JSON o XML. Es posible que pueda hacer afirmaciones sobre dichos datos, como "siempre empezará por '<' " o "no contiene caracteres de nueva línea".
+ **Texto completo** – Estos datos suelen contener todos los tipos de caracteres, incluyendo los caracteres de nueva línea y comillas. También puede consistir en caracteres multibyte en UTF-8.
+ **Datos binarios**: estos datos pueden contener bytes o combinaciones de bytes, incluidos valores nulos y end-of-file marcadores.

Cargar una combinación de estos tipos de datos puede ser complicado.

El patrón se puede utilizar con bases de datos Oracle locales, bases de datos Oracle que se encuentran en instancias de Amazon Elastic Compute Cloud (Amazon EC2) en la nube de Amazon Web Services (AWS) y Amazon Relational Database Service (Amazon RDS) para bases de datos Oracle. Por ejemplo, este patrón utiliza Amazon Aurora de edición compatible con PostgreSQL.

En la base de datos de Oracle, con la ayuda de un puntero `BFILE` (archivo binario), el paquete `DBMS_LOB` y las funciones del sistema Oracle, puede cargar desde un archivo y convertirlo a CLOB con codificación de caracteres. Como PostgreSQL no admite el tipo de datos BLOB al migrar a una base de datos de Amazon Aurora de edición compatible con PostgreSQL, estas funciones deben convertirse en scripts compatibles con PostgreSQL.

Este patrón proporciona dos enfoques para cargar un archivo en una base de datos de una sola columna en una base de datos de Amazon Aurora compatible con PostgreSQL:
+ Método 1: Usted importa datos de su bucket de Amazon Simple Storage Service (Amazon S3) utilizando la función `table_import_from_s3` de la extensión `aws_s3` con la opción de codificación.
+ Método 2: Usted codifica en formato hexadecimal fuera de la base de datos y, a continuación, decodifica para ver `TEXT` dentro de la base de datos.

Recomendamos usar el Método 1 porque Aurora, compatible con PostgreSQL, tiene una integración directa con la extensión `aws_s3`.

Este patrón utiliza el ejemplo de cargar un archivo plano que contiene una plantilla de correo electrónico, que tiene caracteres multibyte y formatos distintos, en una base de datos de Amazon Aurora compatible con PostgreSQL.

## Requisitos previos y limitaciones
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una instancia de Amazon RDS o una instancia de Aurora compatible con PostgreSQL
+ Conocimientos básicos de SQL y del sistema de administración de base de datos relacional (RDBMS)
+ Un bucket de Amazon Simple Storage Service (Amazon S3)
+ Conocimiento de las funciones del sistema en Oracle y PostgreSQL
+ Paquete RPM HexDump -XXD-0.1.1 (incluido con Amazon Linux 2)
**nota**  
Se acerca el fin de la compatibilidad de Amazon Linux 2. Para obtener más información, consulte [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).

**Limitaciones**
+ Para el tipo de datos `TEXT`, la cadena de caracteres más larga posible que se puede almacenar es de aproximadamente 1 GB.

**Versiones de producto**
+ Aurora es compatible con las versiones de PostgreSQL que aparecen en las [actualizaciones de PostgreSQL de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html).

## Arquitectura
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-architecture"></a>

**Pila de tecnología de destino**
+ Aurora compatible con PostgreSQL

**Arquitectura de destino**

*Método 1: Uso de aws\$1s3.table\$1import\$1from\$1s3*

Desde un servidor en las instalaciones, se transfiere a Amazon S3 un archivo que contiene una plantilla de correo electrónico con caracteres multibyte y un formato personalizado. La función de base de datos personalizada que proporciona este patrón utiliza la función `aws_s3.table_import_from_s3` con `file_encoding` para cargar archivos en la base de datos y regresar los resultados de las consultas como tipo de datos `TEXT`.

![\[Proceso de cuatro pasos desde el servidor en las instalaciones hasta la salida TEXT de la base de datos Aurora.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/9c46b385-e8a0-4e50-b856-d522c44d79e3.png)


1. Los archivos se transfieren al bucket de S3 de almacenamiento temporal.

1. Los archivos se cargan en la base de datos Amazon Aurora compatible con PostgreSQL.

1. Mediante el cliente pgAdmin, la función `load_file_into_clob` personalizada se implementa en la base de datos Aurora.

1. La función personalizada usa internamente `table_import_from_s3` con file\$1encoding. El resultado de la función se obtiene utilizando `array_to_string` y `array_agg` como salida `TEXT`.

*Método 2: Codificar en hexadecimal fuera de la base de datos y decodificar para ver el TEXTO dentro de la base de datos*

Un archivo de un servidor en las instalaciones o de un sistema de archivos local se convierte en un volcado hexadecimal. A continuación, el archivo se importa a PostgreSQL como un campo `TEXT`.

![\[Proceso de tres pasos mediante un volcado hexadecimal.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/563038ca-f890-4874-85df-d0f82d99800a.png)


1. Convierta el archivo en un volcado hexadecimal en la línea de comandos mediante la opción `xxd -p`.

1. Cargue los archivos de volcado hexadecimales en una versión de Aurora compatible con PostgreSQL mediante la opción `\copy` y, a continuación, decodifique los archivos de volcado hexadecimales en binarios.

1. Codifique los datos binarios para regresarlos como `TEXT`.

## Tools (Herramientas)
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-tools"></a>

**Servicios de AWS**
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.

**Otras herramientas**
+ [pgAdmin4](https://www.pgadmin.org/) es una plataforma de administración y desarrollo de código abierto para PostgreSQL. pgAdmin4 se puede usar en Linux, Unix, mac OS y Windows para administrar PostgreSQL.  

## Epics
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-epics"></a>

### Método 1: Importación de datos de Amazon S3 a Aurora compatible con PostgreSQL
<a name="approach-1-import-data-from-amazon-s3-to-aurora-postgresql-compatible"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance una EC2 instancia. | Para obtener instrucciones sobre cómo lanzar una instancia, consulte [Lanzar su instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | Administrador de base de datos | 
| Instale la herramienta pgAdmin del cliente PostgreSQL. | Descargue e instale [pgAdmin](https://www.pgadmin.org/download/). | Administrador de base de datos | 
| Cree una política de IAM. | Cree una de política AWS Identity and Access Management (IAM) denominada `aurora-s3-access-pol` que conceda acceso al bucket de S3 en el que se almacenarán los archivos. Use el siguiente código, sustituyendo `<bucket-name>` por el nombre de su bucket de S3.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:DeleteObject",<br />                "s3:ListMultipartUploadParts",<br />                "s3:PutObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<bucket-name>/*",<br />                "arn:aws:s3:::<bucket-name>"<br />            ]<br />        }<br />    ]<br />}</pre> | Administrador de base de datos | 
| Cree un rol de IAM para la importación de objetos de Amazon S3 a Aurora compatible con PostgreSQL. | Usa el siguiente código para crear un rol de IAM denominado `aurora-s3-import-role` con la relación de [AssumeRole](https://docs.amazonaws.cn/en_us/STS/latest/APIReference/API_AssumeRole.html)confianza. `AssumeRole`permite a Aurora acceder a otros servicios de AWS en su nombre.<pre>{<br />  "Version": "2012-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Effect": "Allow","Principal": {<br />        "Service": "rds.amazonaws.com"<br />      },"Action": "sts:AssumeRole"<br />    }<br />  ]<br />}<br /></pre> | Administrador de base de datos | 
| Asocie el rol de IAM al clúster. | Para asociar el rol de IAM al clúster de base de datos compatible con Aurora PostgreSQL, ejecute el siguiente comando de la CLI de AWS. Cambie `<Account-ID>` al ID de la cuenta de AWS que aloja la base de datos Aurora compatible con PostgreSQL. Esto permite que la base de datos Aurora compatible con PostgreSQL acceda al bucket de S3.<pre>aws rds add-role-to-db-cluster --db-cluster-identifier aurora-postgres-cl<br />--feature-name s3Import --role-arn arn:aws:iam::<Account-ID>:role/aurora-s3-import-role</pre> | Administrador de base de datos | 
| Cargue el ejemplo en Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Administrador de base de datos, propietario de la aplicación | 
| Implemente la función personalizada. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Administrador de base de datos, propietario de la aplicación | 
| Ejecute la función personalizada para importar los datos en la base de datos. | Ejecute el siguiente comando SQL y sustituya los elementos entre paréntesis angulares por los valores adecuados.<pre>select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>Sustituya los elementos entre paréntesis angulares por los valores adecuados, como se muestra en el siguiente ejemplo, antes de ejecutar el comando.<pre>Select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>El comando carga el archivo desde Amazon S3 y regresa el resultado como `TEXT`. | Administrador de base de datos, propietario de la aplicación | 

### Método 2: Convertir el archivo de plantilla en un volcado hexadecimal en un sistema Linux local
<a name="approach-2-convert-the-template-file-into-a-hex-dump-in-a-local-linux-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Convierta el archivo de plantilla en un volcado hexadecimal. | La utilidad Hexdump muestra el contenido de los archivos binarios en formato hexadecimal, decimal, octal o ASCII. El comando `hexdump` forma parte del paquete `util-linux` y viene preinstalado en las distribuciones de Linux. El paquete RPM Hexdump también forma parte de Amazon Linux 2. (: Amazon Linux 2 está a punto de finalizar el soporte. Para obtener más información, consulte [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).)Para convertir el contenido del archivo en un volcado hexadecimal, ejecute el siguiente comando del intérprete de comandos.<pre>xxd -p </path/file.vm> | tr -d '\n' > </path/file.hex></pre>Sustituya la ruta y el archivo por los valores adecuados, como se muestra en el siguiente ejemplo.<pre>xxd -p employee.salary.event.notification.email.vm | tr -d '\n' > employee.salary.event.notification.email.vm.hex</pre> | Administrador de base de datos | 
| Cargue el archivo hexdump en el esquema de la base de datos. | Utilice los siguientes comandos para cargar el archivo hexdump en la base de datos Aurora compatible con PostgreSQL.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Administrador de base de datos | 

## Recursos relacionados
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-resources"></a>

**Referencias**
+ [Utilizar una base de datos PostgreSQL como objetivo para el servicio de migración de bases de datos de AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manual de migración de la base de datos de Oracle 19c a Amazon Aurora con compatibilidad con PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Crear políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
+ [Asociación de un rol de IAM con un clúster de base de datos Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)
+ [pgAdmin](https://www.pgadmin.org/)

**Tutoriales**
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Migración de Oracle a Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

## Información adicional
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-additional"></a>

**Función personalizada load\$1file\$1into\$1clob**

```
CREATE OR REPLACE FUNCTION load_file_into_clob(
    s3_bucket_name text,
    s3_bucket_region text,
    file_name text,
    file_delimiter character DEFAULT '&'::bpchar,
    file_encoding text DEFAULT 'UTF8'::text)
    RETURNS text
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
    blob_data BYTEA;
    clob_data TEXT;
    l_table_name CHARACTER VARYING(50) := 'file_upload_hex';
    l_column_name CHARACTER VARYING(50) := 'template';
    l_return_text TEXT;
    l_option_text CHARACTER VARYING(150);
    l_sql_stmt CHARACTER VARYING(500);
        
BEGIN
    
    EXECUTE format ('CREATE TEMPORARY TABLE %I (%I text, id_serial serial)', l_table_name, l_column_name);
    
    l_sql_stmt := 'select ''(format text, delimiter ''''' || file_delimiter || ''''', encoding ''''' || file_encoding ||  ''''')'' ';
    
    EXECUTE FORMAT(l_sql_stmt)
    INTO l_option_text;
    
    EXECUTE FORMAT('SELECT aws_s3.table_import_from_s3($1,$2,$6, aws_commons.create_s3_uri($3,$4,$5))')
    INTO l_return_text
    USING l_table_name, l_column_name, s3_bucket_name, file_name,s3_bucket_region,l_option_text;
    
    EXECUTE format('select array_to_string(array_agg(%I order by id_serial),E''\n'') from %I', l_column_name, l_table_name)
    INTO clob_data;
    
    drop table file_upload_hex;
    
    RETURN clob_data;
END;
$BODY$;
```

**Plantilla de correo electrónico**

```
######################################################################################
##                                                                                    ##
##    johndoe Template Type: email                                                    ##
##    File: johndoe.salary.event.notification.email.vm                                ##
##    Author: Aimée Étienne    Date 1/10/2021                                                ##
##  Purpose: Email template used by EmplmanagerEJB to inform a johndoe they         ##
##        have been given access to a salary event                                    ##
##    Template Attributes:                                                             ##
##        invitedUser - PersonDetails object for the invited user                        ##
##        salaryEvent - OfferDetails object for the event the user was given access    ##
##        buyercollege - CompDetails object for the college owning the salary event    ##
##        salaryCoordinator - PersonDetails of the salary coordinator for the event    ##
##        idp - Identity Provider of the email recipient                                ##
##        httpWebRoot - HTTP address of the server                                    ##
##                                                                                    ##
######################################################################################

$!invitedUser.firstname $!invitedUser.lastname,

Ce courriel confirme que vous avez ete invite par $!salaryCoordinator.firstname $!salaryCoordinator.lastname de $buyercollege.collegeName a participer a l'evenement "$salaryEvent.offeringtitle" sur johndoeMaster Sourcing Intelligence.

Votre nom d'utilisateur est $!invitedUser.username

Veuillez suivre le lien ci-dessous pour acceder a l'evenement.

${httpWebRoot}/myDashboard.do?idp=$!{idp}

Si vous avez oublie votre mot de passe, utilisez le lien "Mot de passe oublie" situe sur l'ecran de connexion et entrez votre nom d'utilisateur ci-dessus.

Si vous avez des questions ou des preoccupations, nous vous invitons a communiquer avec le coordonnateur de l'evenement $!salaryCoordinator.firstname $!salaryCoordinator.lastname au ${salaryCoordinator.workphone}.

*******

johndoeMaster Sourcing Intelligence est une plateforme de soumission en ligne pour les equipements, les materiaux et les services.

Si vous avez des difficultes ou des questions, envoyez un courriel a support@johndoeMaster.com pour obtenir de l'aide.
```

# Migre Amazon RDS for Oracle a Amazon RDS for PostgreSQL con y utilizando y AWS SCT AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Resumen
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Este patrón muestra cómo migrar una instancia de base de datos Amazon [Relational Database Service (Amazon RDS) para](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle de varios terabytes a una instancia de base de datos [Amazon RDS for PostgreSQL mediante](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) (). AWS Command Line Interface AWS CLI Este enfoque proporciona un tiempo de inactividad mínimo y no requiere iniciar sesión en la Consola de administración de AWS.

Este patrón ayuda a evitar las configuraciones manuales y las migraciones individuales mediante el uso de las consolas () y (). AWS Schema Conversion Tool AWS SCT AWS Database Migration Service AWS DMS La solución establece una configuración única para varias bases de datos y realiza las migraciones utilizando AWS SCT y AWS DMS en. AWS CLI

El patrón se utiliza AWS SCT para convertir los objetos del esquema de la base de datos de Amazon RDS for Oracle a Amazon RDS para PostgreSQL y, a continuación, AWS DMS se utiliza para migrar los datos. Al utilizar scripts de Python AWS CLI, se crean AWS SCT objetos y AWS DMS tareas con una CloudFormation plantilla.

## Requisitos previos y limitaciones
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS.
+ Una instancia existente de base de datos de Amazon RDS para Oracle.
+ Una instancia de base de datos de Amazon RDS para PostgreSQL. 
+ Una instancia de Amazon Elastic Compute Cloud (Amazon EC2) o una máquina local con sistema operativo Windows o Linux para ejecutar scripts.
+ Comprensión de los siguientes tipos de tareas de AWS DMS migración:`full-load`,`cdc`,`full-load-and-cdc`.  Para obtener más información, consulte [Crear una tarea](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) en la AWS DMS documentación. 
+ AWS SCT instalado y configurado con controladores JDBC (Java Database Connectivity) para motores de bases de datos de Oracle y PostgreSQL. Para obtener más información, consulte [Instalación y configuración AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) en la AWS SCT documentación. 
+ El `AWSSchemaConversionToolBatch.jar` archivo de la AWS SCT carpeta instalada, copiado en su directorio de trabajo.
+ El archivo `cli-sct-dms-cft.zip` (adjunto), descargado y extraído en el directorio de trabajo.
+ La versión más reciente AWS DMS del motor de instancias de replicación. Para obtener más información, consulte [Cómo crear una instancia de AWS DMS replicación](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) en la AWS Support documentación y las [notas de la AWS DMS versión](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI versión 2, instalada y configurada con el identificador de la clave de acceso, la clave de acceso secreta y el Región de AWS nombre predeterminado de la EC2 instancia o el sistema operativo en el que se ejecutan los scripts. Para obtener más información, consulte [Instalación o actualización a la versión más reciente AWS CLI y Configuración de](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) [los ajustes AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) de la AWS CLI documentación. 
+ Familiaridad con las CloudFormation plantillas. Para obtener más información, consulte [Cómo CloudFormation funciona](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) en la CloudFormation documentación. 
+ Python versión 3, instalado y configurado en la EC2 instancia o el sistema operativo donde se ejecutan los scripts. Para obtener más información, consulte la [documentación de Python](https://docs.python.org/3/). 

**Limitaciones**
+ Los requisitos mínimos para la instancia de base de datos de Amazon RDS para Oracle son: 
  + Versiones 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) y 19c (19.0.0.0) de Oracle para las ediciones Enterprise, Standard, Standard One y Standard Two.
  + Aunque Amazon RDS es compatible con Oracle 18c (18.0.0.0), esta versión está en desuso porque Oracle ya no proporciona parches para 18c después de esa fecha. end-of-support Para obtener más información, consulte [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) en la documentación de Amazon RDS.
  + Amazon RDS para Oracle 11g ya no se admite.
+ Los requisitos mínimos para la instancia de base de datos de Amazon RDS para PostgreSQL son: 
  + Versiones 9 (9.5 y 9.6), 10.x, 11.x, 12.x y 13.x de PostgreSQL.

**Versiones de producto**
+ Instancia de Amazon RDS para Oracle DB versión 12.1.0.2 y posterior
+ Instancia de Amazon RDS para PostgreSQL DB versión 11.5 y posterior
+ AWS CLI versión 2 
+ La última versión de AWS SCT
+ La versión más reciente de Python 3

## Arquitectura
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Pila de tecnología de origen**
+ Amazon RDS para Oracle

**Pila de tecnología de destino**
+ Amazon RDS para PostgreSQL

**Arquitectura de origen y destino**

El siguiente diagrama muestra la migración de una instancia de base de datos de Amazon RDS for Oracle a una instancia de base de datos de Amazon RDS for PostgreSQL AWS DMS mediante scripts de Python.

![\[Migración de una instancia de base de datos de RDS para Oracle a una instancia de base de datos de RDS para PostgreSQL mediante AWS DMS y Python.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

En el diagrama, se muestra el siguiente flujo de trabajo de migración:

1. El script de Python se utiliza AWS SCT para conectarse a las instancias de base de datos de origen y destino.

1. El usuario comienza AWS SCT con el script de Python, convierte el código de Oracle en código PostgreSQL y lo ejecuta en la instancia de base de datos de destino.

1. El script de Python crea tareas de AWS DMS replicación para las instancias de base de datos de origen y destino.

1. El usuario despliega scripts de Python para iniciar las AWS DMS tareas y, a continuación, las detiene una vez finalizada la migración de datos.

**Automatización y escala**

Para automatizar esta migración, se pueden agregar parámetros y cambios relacionados con la seguridad al script de Python a fin de proporcionar funcionalidad adicional. 

## Tools (Herramientas)
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le ayuda a interactuar con los servicios de AWS mediante comandos en el shell de la línea de comandos.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y administrarlos a lo largo de su ciclo de vida en todas Cuentas de AWS las regiones. Este patrón convierte el archivo de entrada `.csv` en un archivo de entrada `.json` mediante un script de Python. El `.json` archivo se utiliza en AWS CLI los comandos para crear una CloudFormation pila que cree varias tareas de AWS DMS replicación con los nombres de los recursos de Amazon (ARNs), los tipos de migración, la configuración de las tareas y las asignaciones de tablas.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le ayuda a migrar los almacenes de datos a una combinación de configuraciones locales y en la nube Nube de AWS o entre ellas. Este patrón se utiliza AWS DMS para crear, iniciar y detener tareas con un script de Python que se ejecuta en la línea de comandos y para crear la CloudFormation plantilla.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) admite migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayoría del código personalizado a un formato compatible con la base de datos de destino. Este patrón requiere el `AWSSchemaConversionToolBatch.jar` archivo del directorio instalado AWS SCT .

**Código**

El archivo `cli-sct-dms-cft.zip` (adjunto) contiene el código fuente completo de este patrón.

## Epics
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Configure AWS SCT y cree objetos de base de datos en el AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT para ejecutarse desde AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | Administrador de base de datos | 
| Ejecutar el script de Python `run_aws_sct.py`. | Ejecute el script de Python `run_aws_sct.py` mediante el comando siguiente:`$ python run_aws_sct.py database_migration.txt`El script de Python convierte los objetos de la base de datos de Oracle a PostgreSQL y crea archivos SQL en formato PostgreSQL. El script también crea el archivo `Database migration assessment report` PDF, que proporciona recomendaciones detalladas y estadísticas de conversión para los objetos de la base de datos. | Administrador de base de datos | 
| Cree objetos en Amazon RDS para PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | Administrador de base de datos | 

### Configure y cree AWS DMS tareas mediante el comando AWS CLI y CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia AWS DMS de replicación. | Inicie sesión en Consola de administración de AWS, abra la [AWS DMS consola](https://console.aws.amazon.com/dms/v2/) y cree una instancia de replicación que esté configurada de acuerdo con sus requisitos.Para obtener más información, consulte [Crear una instancia de replicación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) en la AWS DMS documentación y [Cómo crear una instancia de AWS DMS replicación](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) en la AWS Support documentación. | Administrador de base de datos | 
| Cree el punto de conexión de origen. | En la AWS DMS consola, elija **Endpoints** y, a continuación, cree un punto final de origen para la base de datos Oracle según sus necesidades. El atributo de conexión adicional debe ser `numberDataTypeScale` con el valor `-2`.Para obtener más información, consulte [Creación de puntos finales de origen y destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) en la AWS DMS documentación. | Administrador de base de datos | 
| Cree el punto de conexión de destino. | En la AWS DMS consola, elija **Endpoints** y, a continuación, cree un punto final de destino para la base de datos PostgreSQL según sus necesidades.  Para obtener más información, consulte [Crear puntos de enlace de origen y destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) en la documentación. AWS DMS  | DevOps ingeniero | 
| Configure los detalles de la AWS DMS replicación para que se ejecuten desde AWS CLI. | Configure los puntos finales de AWS DMS origen y destino y los detalles de la replicación en el `dms-arn-list.txt` archivo con el ARN del punto final de origen, el ARN del punto final de destino y el ARN de la instancia de replicación mediante el siguiente formato:<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | Administrador de base de datos | 
| Ejecute el script de `dms-create-task.py` Python para crear las AWS DMS tareas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | Administrador de base de datos | 
| Compruebe que AWS DMS las tareas estén listas. | En la AWS DMS consola, comprueba que AWS DMS las tareas estén en `Ready` estado en la sección **Estado**. | Administrador de base de datos | 

### Inicie y detenga las AWS DMS tareas mediante el AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie las AWS DMS tareas. | Ejecute el script de Python `dms-start-task.py` mediante el comando siguiente:<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>La fecha y la hora de inicio deben estar en los formatos `'DD-MON-YYYY'` o `'YYYY-MM-DDTHH:MI:SS'` (por ejemplo, `'01-Dec-2019'` o `'2018-03-08T12:12:12'`).Puede revisar el estado de la AWS DMS tarea en la pestaña de **estadísticas de la tabla** de la página **Tareas** de la AWS DMS consola. | Administrador de base de datos | 
| Valide los datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Para obtener más información, consulte la [validación de AWS DMS datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) en la AWS DMS documentación. | Administrador de base de datos | 
| Detenga las AWS DMS tareas. | Ejecute el script de Python mediante el comando siguiente:<pre>$ python dms-start-task.py stop</pre>AWS DMS es posible que las tareas se detengan con un `failed` estado, en función del estado de la validación. Para obtener más información, consulte la siguiente sección. | Administrador de base de datos | 

## Resolución de problemas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| AWS SCT las conexiones de prueba de origen y destino fallan. | Configure las versiones del controlador JDBC y las reglas de entrada del grupo de seguridad de VPC para que acepten el tráfico entrante. | 
| La prueba del punto de conexión de origen o destino no se puede ejecutar. | Compruebe si la configuración del punto de conexión y la instancia de replicación están en estado `Available`. Compruebe si el estado de la conexión del punto de conexión es `Successful`. Para obtener más información, consulte [Cómo solucionar los errores de conectividad de los puntos de conexión de los puntos de conexión de AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/) en la AWS Support documentación. | 
| La carga completa no se puede ejecutar. | Compruebe si las bases de datos de origen y destino tienen tipos y tamaños de datos coincidentes. Para obtener más información, consulte la sección [Solución de problemas de las tareas de migración AWS DMS en](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) la AWS DMS documentación. | 
| Se producen errores en la ejecución de la validación. | Compruebe si la tabla tiene una clave principal, ya que las tablas de claves no principales no están validadas.Si la tabla tiene una clave principal y errores, compruebe que el atributo de conexión adicional del punto de conexión de origen tenga `numberDataTypeScale=-2`.Para obtener más información, consulte la [configuración de los terminales cuando se utiliza Oracle como fuente](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib) y la [solución de problemas](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) en la AWS DMS documentación. AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html) | 

## Recursos relacionados
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Instalación y configuración AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Introduction to AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (video)
+ [Ejemplos de comandos de operación de CloudFormation pila para AWS CLI y PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Navegar por la interfaz de usuario del AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Uso de una base de datos Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Conectarse a bases de datos de Oracle con AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de una base de datos PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Orígenes para la migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Destinos para la migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [formación de nubes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html) (documentación)AWS CLI 
+ [create-stack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html) (documentación)AWS CLI  
+ [dms (documentación](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html))AWS CLI  

## Conexiones
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)

# Migración de Amazon RDS para Oracle a Amazon RDS para PostgreSQL en modo SSL mediante AWS DMS
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Resumen
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-summary"></a>

Este patrón proporciona una guía para migrar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una base de datos de Amazon RDS para PostgreSQL en la nube de Amazon Web Services (AWS). Para cifrar las conexiones entre las bases de datos, el patrón utiliza la autoridad de certificación (CA) y el modo SSL en Amazon RDS y AWS Database Migration Service (AWS DMS).

El patrón describe una estrategia de migración en línea con poco o ningún tiempo de inactividad para una base de datos de origen de Oracle de varios terabytes con un número elevado de transacciones. Para garantizar la seguridad de los datos, el patrón utiliza SSL al transferir los datos.

Este patrón utiliza la herramienta de conversión de esquemas de AWS (AWS SCT) para convertir el esquema de base de datos de Amazon RDS para Oracle en un esquema de Amazon RDS para PostgreSQL. A continuación, el patrón utiliza AWS DMS para migrar los datos de la base de datos de Amazon RDS para Oracle a la base de datos de Amazon RDS para PostgreSQL.

## Requisitos previos y limitaciones
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Autoridad de certificación (CA) de bases de datos de Amazon RDS configurada únicamente con ***rds-ca-rsa2048-g1*** 
  + El certificado ***rds-ca-2019*** venció en agosto de 2024.
  + El certificado ***rds-ca-2015*** venció el 5 de marzo de 2020
+ AWS SCT
+ AWS DMS
+ pgAdmin
+ Herramientas de SQL (por ejemplo, SQL Developer o SQL\$1Plus)

**Limitaciones**
+ Base de datos Amazon RDS para Oracle: el requisito mínimo es para las versiones 19c de Oracle, para las ediciones Enterprise y Standard Two.
+ Base de datos Amazon RDS para PostgreSQL: el requisito mínimo es para PostgreSQL versión 12 y versiones posteriores (para las versiones 9.x y posteriores).

**Versiones de producto**
+ Instancia de base de datos de Amazon RDS para Oracle versión 12.1.0.2
+ Instancia de base de datos de Amazon RDS para PostgreSQL versión 11.5

## Arquitectura
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Una instancia de base de datos de Amazon RDS para Oracle con la versión 12.1.0.2.v18.

**Pila de tecnología de destino**
+ AWS DMS
+ Instancia de base de datos de Amazon RDS para PostgreSQL con la versión 11.5.

**Arquitectura de destino**

El diagrama siguiente muestra la arquitectura de migración de datos entre las bases de datos de Oracle (origen) y de PostgreSQL (destino). La arquitectura incluye lo siguiente:
+ Una nube privada virtual (VPC)
+ Una zona de disponibilidad
+ Una subred privada
+ Una base de datos de Amazon RDS para Oracle
+ Una instancia de replicación de AWS DMS
+ Una base de datos RDS para PostgreSQL

Para cifrar las conexiones de las bases de datos de origen y destino, los modos CA y SSL deben estar habilitados en Amazon RDS y AWS DMS.

![\[Movimiento de datos entre RDS para Oracle y AWS DMS, y entre AWS DMS y RDS para PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7098e2a3-b456-4e14-8881-c97145aef483/images/55b50ff7-1e6a-4ff0-9bcd-2fd419d5316a.png)


## Tools (Herramientas)
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-tools"></a>

**Servicios de AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la nube de AWS.
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la nube de AWS.
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.

**Otros servicios**
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de administración de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.

## Prácticas recomendadas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-best-practices"></a>

Amazon RDS proporciona nuevos certificados de entidad de certificación como una práctica recomendada de seguridad de AWS. Para obtener información sobre los nuevos certificados y las regiones de AWS compatibles, consulte [Uso SSL/TLS para cifrar una conexión a una instancia de base de datos o un clúster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html).

Si su instancia de RDS tiene actualmente el certificado CA `rds-ca-2019` y desea actualizar a `rds-ca-rsa2048-g1`, siga las instrucciones que se indican en [Actualización del certificado de entidad de certificación modificando la instancia o el clúster de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating) o [Actualización del certificado de entidad de certificación mediante la aplicación de mantenimiento](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update).

## Epics
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-epics"></a>

### Configurar la instancia de Amazon RDS para Oracle
<a name="configure-the-amazon-rds-for-oracle-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la instancia de base de datos de Oracle. | Inicie sesión en la cuenta de AWS, abra la Consola de administración de AWS y navegue hasta la consola de Amazon RDS. En la consola, seleccione **Create database** (Crear base de datos) y, a continuación, **Oracle**. | AWS general, administrador de bases de datos | 
| Configure grupos de seguridad. | Configure grupos de seguridad entrantes y salientes. | AWS general | 
| Cree un grupo de opciones. | Cree un grupo de opciones en la misma VPC y grupo de seguridad que la base de datos Amazon RDS para Oracle. En **Option**, seleccione **SSL**. Para **Port**, seleccione **2484** (para conexiones SSL). | AWS general | 
| Configure los ajustes de las opciones. | Utilice los siguientes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Modifique la instancia de base de datos de RDS para Oracle. | Establezca el certificado de CA como **rds-ca-rsa2048-g1**. En **Option group** (Grupo de opciones), adjunte el grupo de opciones creado anteriormente. | Administrador de base de datos, AWS general | 
| Confirme que la instancia de base de datos de RDS para Oracle esté disponible. | Compruebe que la instancia de base de datos Amazon RDS para Oracle esté activa y en ejecución y que se pueda acceder al esquema de la base de datos.Para conectarse a la base de datos de RDS for Oracle, utilice el comando `sqlplus` de la línea de comandos.<pre>$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL<br />SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019<br />Copyright (c) 1982, 2016, Oracle.  All rights reserved.<br />Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30<br />Connected to:<br />Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production<br />With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options<br />SQL></pre> | Administrador de base de datos | 
| Cree objetos y datos en la base de datos de RDS para Oracle. | Cree objetos e inserte datos en el esquema. | Administrador de base de datos | 

### Configurar la instancia de Amazon RDS para PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la base de datos de RDS para PostgreSQL. | En la página **Create database** (Crear base de datos) de la consola de Amazon RDS, seleccione **PostgreSQL** para crear una instancia de base de datos de Amazon RDS para PostgreSQL. | Administrador de base de datos, AWS general | 
| Configure grupos de seguridad. | Configure grupos de seguridad entrantes y salientes. | AWS general | 
| Cree un grupo de parámetros. | Si utiliza la versión 11.x de PostgreSQL, cree un grupo de parámetros para configurar los parámetros de SSL. En la versión 12 de PostgreSQL, el grupo de parámetros SSL está habilitado de forma predeterminada. | AWS general | 
| Edite los parámetros. | Cambie el parámetro `rds.force_ssl` por `1` (activado).De forma predeterminada, el parámetro `ssl` está definido como `1` (activado). Al establecer el `rds.force_ssl` parámetro en `1`, se obliga a todas las conexiones a conectarse únicamente a través del modo SSL. | AWS general | 
| Modifique la instancia de base de datos RDS para PostgreSQL. | **Establezca el certificado de CA como 2048-g1. rds-ca-rsa** Adjunte el grupo de parámetros predeterminado o el grupo de parámetros creado anteriormente, según la versión de PostgreSQL. | Administrador de base de datos, AWS general | 
| Confirme que la instancia de base de datos de RDS para PostgreSQL esté disponible. | Compruebe que la base de datos de Amazon RDS para PostgreSQL esté activa y en funcionamiento.El comando `psql` establece una conexión SSL con el conjunto `sslmode` desde la línea de comandos.Una opción es configurar `sslmode=1` en el grupo de parámetros y usar una conexión `psql` sin incluir el parámetro `sslmode` en el comando.El resultado siguiente muestra que la conexión SSL está establecida.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser"<br />Password for user pguser:<br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre>Una segunda opción es configurar `sslmode=1` en el grupo de parámetros e incluir el parámetro `sslmode` en el comando `psql`.El resultado siguiente muestra que la conexión SSL está establecida.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require"<br />Password for user pguser: <br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre> | Administrador de base de datos | 

### Configuración y ejecución de AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale AWS SCT. | Instale la versión más reciente de la aplicación AWS SCT. | AWS general | 
| Configure AWS SCT con controladores JDBC. | Descargue los controladores de conectividad de bases de datos Java (JDBC) para Oracle ([ojdbc8.jar](https://download.oracle.com/otn-pub/otn_software/jdbc/233/ojdbc8.jar)) y PostgreSQL ([postgresql-42.2.5.jar](https://jdbc.postgresql.org/download/postgresql-42.2.19.jar)).Para configurar los controladores en AWS SCT, seleccione **Settings** (Configuración), **Global settings** (Configuración global) y **Drivers** (Controladores). | AWS general | 
| Cree el proyecto AWS SCT. | Cree el proyecto y el informe de AWS SCT con Oracle como motor de base de datos de origen y Amazon RDS para PostgreSQL como motor de base de datos de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Valide los objetos de la base de datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Administrador de base de datos, AWS general | 

### Configurar y ejecutar AWS SCT
<a name="configure-and-run-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Importe el certificado. | Descargue la [agrupación de certificados (PEM)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions) para su región de AWS.El paquete contiene los certificados intermedio y raíz de `rds-ca-2019`. El paquete también contiene los certificados CA raíz `rds-ca-rsa2048-g1`, `rds-ca-rsa4096-g1` y `rds-ca-ecc384-g1`. El almacén de confianza de la aplicación necesita registrar únicamente el certificado CA raíz. | AWS general | 
| Cree el punto de conexión de origen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Para obtener información, consulte [Using an Oracle database as a source for AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) (Usar una base de datos de Oracle como origen para AWS Database Migration Service (AWS DMS)). | AWS general | 
| Cree el punto de conexión de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Para obtener más información, consulte [Using a PostgreSQL database as a target for AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) (Usar una base de datos de PostgreSQL como destino para AWS Database Migration Service (AWS DMS)). | AWS general | 
| Pruebe los puntos de conexión. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Cree tareas de migración. | Para crear una tarea de migración para la captura completa de datos y cambios (CDC) o para la validación de datos, siga los pasos siguientes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Planifique el ciclo de producción. | Confirme el tiempo de inactividad con las partes interesadas, como los propietarios de las aplicaciones, para ejecutar AWS DMS en los sistemas de producción. | Líder de migración | 
| Ejecute la tarea de migración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Valide los datos. | Revise los resultados y los datos de las tareas de migración en las bases de datos de Oracle de origen y PostgreSQL de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | Administrador de base de datos | 
| Detenga la tarea de migración. | Tras completarse correctamente la validación de datos, detenga la tarea de migración. | AWS general | 

### Limpie los recursos
<a name="clean-up-the-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine las tareas de AWS DMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Elimine los puntos de conexión de AWS DMS. | Seleccione los puntos de conexión de origen y destino que creó, elija **Actions** y, a continuación **Delete** (Eliminar). | AWS general | 
| Elimine la instancia de replicación de AWS DMS. | Seleccione la instancia de replicación, elija **Actions** y, a continuación, **Delete** (Eliminar). | AWS general | 
| Elimine la base de datos de PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS general | 
| Elimine la base de datos de Oracle. | En la consola de Amazon RDS, seleccione la instancia de la base de datos de Oracle, elija **Actions** y, a continuación, **Delete** (Eliminar). | AWS general | 

## Resolución de problemas
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Las conexiones de prueba de origen y destino de AWS SCT no funcionan. | Configure las versiones del controlador JDBC y las reglas de entrada del grupo de seguridad de VPC para que acepten el tráfico entrante. | 
| La prueba del punto de conexión de origen de Oracle no se puede ejecutar. | Compruebe la configuración del punto de conexión y si la instancia de replicación está disponible. | 
| Se produce un error en la ejecución a plena carga de la tarea de AWS DMS. | Compruebe si las bases de datos de origen y destino tienen tipos y tamaños de datos coincidentes. | 
| La tarea de migración de validación de AWS DMS devuelve errores. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | 

## Recursos relacionados
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-resources"></a>

**Bases de datos**
+ [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)

**SSL DB connection** (Conexión de bases de datos SSL)
+ [Se utiliza SSL/TLS para cifrar una conexión a una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
  + [Using SSL with an RDS for Oracle DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.SSL.html) (Usar SSL con una instancia de base de datos de RDS para Oracle)
  + [Securing connections to RDS for PostgreSQL with SSL/TLS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.Security.html) (Proteger las conexiones a RDS para PostgreSQL con SSL/TLS)
  + [Descarga de agrupaciones de certificados para regiones de AWS específicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions)
    + [Descarga del certificado raíz CA-2019](https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem) (que venció en agosto de 2024)
+ [Working with option groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html) (Trabajar con grupos de opciones)
  + [Adding options to Oracle DB instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html) (Cómo añadir opciones a instancias de base de datos de Oracle)
  + [Oracle Secure Sockets Layer](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html) (Capa de conexión segura de Oracle)
+ [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) (Trabajar con grupos de parámetros)
+ [PostgreSQL sslmode connection parameter](https://www.postgresql.org/docs/11/libpq-connect.html#LIBPQ-CONNECT-SSLMODE) (Parámetro de conexión sslmode de PostgreSQL)
+ [Using SSL from JDBC](https://jdbc.postgresql.org/documentation/ssl/) (Usar SSL desde JDBC)
+ [Rotación del certificado SSL/TLS ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
  + [Actualización del certificado de CA mediante la modificación de la instancia de base de datos o el clúster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating)
  + [Actualizar su certificado de CA mediante la aplicación del mantenimiento](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update)

**AWS SCT**
+ [Herramienta de conversión de esquemas de AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guía del usuario de la herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Uso de la interfaz de usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Using Oracle Database as a source for AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) (Utilizar la base de datos de Oracle como origen para AWS SCT)

**AWS DMS**
+ [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/)
+ [AWS Database Migration Service User Guide](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) (Guía del usuario de AWS Database Migration Service)
  + [Uso de una base de datos de Oracle como origen de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
  + [Using a PostgreSQL database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) (Utilizar una base de datos de PostgreSQL como destino para AWS DMS)
+ [Using SSL with AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.SSL.html) (Usar SSL con AWS Database Migration Service (AWS DMS))
+ [Migración de aplicaciones que ejecutan bases de datos relacionales a AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

## Información adicional
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-additional"></a>

Los certificados `rds-ca-2019` de la entidad de certificación de Amazon RDS vencieron en agosto de 2024. Si utiliza o tiene pensado utilizar SSL o TLS con verificación de certificados para conectarse a las instancias de base de datos de RDS o clústeres de base de datos multi-AZ, considere la posibilidad de utilizar uno de los certificados CA nuevos: `rds-ca-rsa2048-g1`, `rds-ca-rsa4096-g1` o `rds-ca-ecc384-g1`.

# Migración de los paquetes pragma SERIALLY\$1REUTILIZABLE de Oracle a PostgreSQL
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql"></a>

*Vinay Paladi, Amazon Web Services*

## Resumen
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-summary"></a>

Este patrón proporciona un step-by-step enfoque para migrar paquetes de Oracle que se definen como pragma SERIALLY\$1REUTILIZABLE a PostgreSQL en Amazon Web Services (AWS). Este enfoque mantiene la funcionalidad del pragma SERIALLY\$1REUTILIZABLE.

PostgreSQL no admite el concepto de paquetes ni el pragma SERIALLY\$1REUTILIZABLE. Para obtener una funcionalidad similar en PostgreSQL, puede crear esquemas para paquetes e implementar todos los objetos relacionados (como funciones, procedimientos y tipos) dentro de los esquemas. Para lograr la funcionalidad del pragma SERIALLY\$1REUTILIZABLE, el script de función contenedora de ejemplo que se proporciona en este patrón utiliza un paquete de extensiones de [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html).

Para obtener más información, consulte [SERIALLY\$1REUSABLE Pragma](https://docs.oracle.com/cd/B13789_01/appdev.101/b10807/13_elems046.htm) en la documentación de Oracle.

## Requisitos previos y limitaciones
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ La versión más reciente de AWS SCT y los controladores necesarios
+ Una base de datos de Edición compatible con Amazon Aurora PostgreSQL o una Amazon Relational Database Service (Amazon RDS) para PostgreSQL 

**Versiones de producto**
+ Oracle Database versión 10g y posteriores

## Arquitectura
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-architecture"></a>

**Pila de tecnología de origen**
+ Oracle Database en las instalaciones

**Pila de tecnología de destino**
+ [Aurora compatible con PostgreSQL](https://aws.amazon.com/rds/aurora/details/postgresql-details/) o Amazon RDS para PostgreSQL
+ AWS SCT

**Arquitectura de migración**

![\[Datos de bases de datos de Oracle en las instalaciones que se transfieren a AWS mediante AWS SCT, archivos .sql o conversión manual a PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/fe3c45d2-6ea4-43b5-adb1-18f068f126b9/images/2dc90708-e300-4251-9d12-de97b6588b72.png)


## Tools (Herramientas)
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-tools"></a>

**Servicios de AWS**
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la nube de AWS.

**Otras herramientas**
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de gestión de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.

## Epics
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-epics"></a>

### Migración del paquete de Oracle mediante AWS SCT
<a name="migrate-the-oracle-package-by-using-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT. | Configure la conectividad de AWS SCT con la base de datos de origen. Para obtener más información, consulte [Uso de una base de datos de Oracle como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html). | Administrador de base de datos, desarrollador | 
| Convierta el script.  | Utilice AWS SCT para convertir el paquete de Oracle seleccionando la base de datos de destino como compatible con Aurora PostgreSQL. | Administrador de base de datos, desarrollador | 
| Guarde los archivos.sql. | Antes de guardar el archivo.sql, modifique la opción **Configuración del proyecto** en AWS SCT a **Archivo único por etapa**. AWS SCT separará el archivo.sql en varios archivos.sql según el tipo de objeto. | Administrador de base de datos, desarrollador | 
| Cambie el código. | Abra la función `init` generada por AWS SCT y cámbiela como se muestra en el ejemplo de la sección *Información adicional*. Añadirá una variable para lograr la funcionalidad de `pg_serialize = 0`. | Administrador de base de datos, desarrollador | 
| Pruebe la conversión. | Implemente la función `init` en la base de datos compatible con Aurora PostgreSQL y pruebe los resultados. | Administrador de base de datos, desarrollador | 

## Recursos relacionados
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-resources"></a>
+ [Herramienta de conversión de esquemas de AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Características de Amazon Aurora](https://aws.amazon.com/rds/aurora/postgresql-features/)
+ [SERIALLY\$1REUTILIZABLE Pragma](https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/seriallyreusable_pragma.htm#LNPLS01346)

## Información adicional
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-additional"></a>

```
Source Oracle Code:

CREATE OR REPLACE PACKAGE test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
PROCEDURE function_1
 (test_id number);
PROCEDURE function_2
 (test_id number
 );
END;

CREATE OR REPLACE PACKAGE BODY test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
v_char VARCHAR2(20) := 'shared.airline';
v_num number := 123;

PROCEDURE function_1(test_id number)
IS
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
v_char:='test1';
function_2(0);
END;

PROCEDURE function_2(test_id number)
is
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
END;
END test_pkg_var;

Calling the above functions

set serveroutput on


EXEC test_pkg_var.function_1(1);


EXEC test_pkg_var.function_2(1);


Target Postgresql Code:


CREATE SCHEMA test_pkg_var;

CREATE OR REPLACE FUNCTION test_pkg_var.init(pg_serialize IN INTEGER DEFAULT 0)

RETURNS void
AS
$BODY$

DECLARE

BEGIN

if aws_oracle_ext.is_package_initialized( 'test_pkg_var' ) AND pg_serialize = 0

then

return;

end if;

PERFORM aws_oracle_ext.set_package_initialized( 'test_pkg_var' );

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'shared.airline.basecurrency'::CHARACTER

VARYING(100));

PERFORM aws_oracle_ext.set_package_variable('test_pkg_var', 'v_num', 123::integer);

END;

$BODY$

LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_1(pg_serialize int default 1)

RETURNS void
AS

$BODY$
DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'test1'::varchar);

PERFORM test_pkg_var.function_2(0);
END;

$BODY$
LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_2(IN pg_serialize integer default 1)

RETURNS void

AS

$BODY$

DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

END;
$BODY$
LANGUAGE plpgsql;


Calling the above functions

select test_pkg_var.function_1()

 select test_pkg_var.function_2()
```

# Migración de tablas externas de Oracle a Amazon Aurora compatible con PostgreSQL
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible"></a>

*Anuradha Chintha y Rakesh Raghav, Amazon Web Services*

## Resumen
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-summary"></a>

Las tablas externas permiten a Oracle consultar los datos almacenados fuera de la base de datos en archivos planos. Puede usar el controlador ORACLE\$1LOADER para acceder a cualquier dato almacenado en cualquier formato que pueda cargar la utilidad SQL\$1Loader. No puede usar el Lenguaje de Manipulación de Datos (DML) en tablas externas, pero puede usar las tablas externas para operaciones de consulta, unión y clasificación.

Amazon Aurora compatible con PostgreSQL no proporciona una funcionalidad similar a las tablas externas de Oracle. En su lugar, debe adoptar la modernización para desarrollar una solución escalable que cumpla con los requisitos funcionales y sea eficiente.

Este patrón proporciona los pasos para migrar diferentes tipos de tablas externas de Oracle a la edición de Aurora compatible con PostgreSQL en la nube de Amazon Web Services (AWS) mediante la extensión `aws_s3`.

Recomendamos probar exhaustivamente esta solución antes de implementarla en un entorno de producción.

## Requisitos previos y limitaciones
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Interfaz de la línea de comandos de AWS (AWS CLI)
+ Una instancia disponible de base de datos Aurora compatible con PostgreSQL.
+ Una base de datos de Oracle en las instalaciones con una tabla externa
+ API de pg.Client
+ Archivos de datos 

**Limitaciones**
+ Este patrón no proporciona la funcionalidad necesaria para sustituir a las tablas externas de Oracle. Sin embargo, los pasos y el código de muestra se pueden mejorar aún más para lograr sus objetivos de modernización de la base de datos.
+ Los archivos no deben contener el carácter que se emplea como delimitador en las funciones de exportación e importación de `aws_s3`.

**Versiones de producto**
+ Para realizar la importación de Amazon S3 en RDS para PostgreSQL, la base de datos debe ejecutar la versión PostgreSQL 10.7 o posterior.

## Arquitectura
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-architecture"></a>

**Pila de tecnología de origen**
+ Oracle

**Arquitectura de origen **

![\[Diagrama de los archivos de datos que van a un directorio y una tabla de la base de datos de Oracle en las instalaciones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/3fbc507d-b0fa-4e05-b999-043dc7327ed7.png)


**Pila de tecnología de destino**
+ Amazon Aurora compatible con PostgreSQL
+ Amazon CloudWatch
+ AWS Lambda
+ AWS Secrets Manager
+ Amazon Simple Notification Service (Amazon SNS)
+ Amazon Simple Storage Service (Amazon S3)

**Arquitectura de destino**

En el siguiente diagrama se muestra una representación de alto nivel de la solución.

![\[La descripción se encuentra después del diagrama.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/5421540e-d2e3-4361-89cc-d8415fcb21fd.png)


1. Los archivos se cargan en el bucket de S3.

1. Se inicia la función de Lambda.

1. La función de Lambda inicia la llamada a la función de base de datos.

1. Secrets Manager proporciona las credenciales para acceder a la base de datos.

1. Según la función de la base de datos, se crea una alarma de SNS.

**Automatizar y escalar**

Cualquier adición o cambio en las tablas externas se puede gestionar mediante el mantenimiento de los metadatos.

## Tools (Herramientas)
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-tools"></a>
+ [Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html): la edición de Amazon Aurora compatible con PostgreSQL es un motor de bases de datos relacionales, completamente administrado, compatible con PostgreSQL y conforme a ACID, que combina la velocidad y la fiabilidad de las bases de datos comerciales de tecnología avanzada con la rentabilidad de las bases de datos de código abierto.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): la interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta unificada para administrar los servicios de AWS. Con una única herramienta para descargar y configurar, puede controlar varios servicios de AWS desde la línea de comando y automatizarlos mediante scripts.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Amazon CloudWatch supervisa los recursos y la utilización de Amazon S3.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html): AWS Lambda es un servicio de computación sin servidor que permite ejecutar código sin aprovisionar ni administrar servidores, crear una lógica de escalado de clústeres adaptada a las cargas de trabajo, mantener las integraciones de eventos o gestionar los tiempos de ejecución. En este patrón, Lambda ejecuta la función de base de datos cada vez que se carga un archivo en Amazon S3.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html): AWS Secrets Manager es un servicio de almacenamiento y recuperación de credenciales. Con Secrets Manager puede reemplazar las credenciales codificadas en el código, incluidas las contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): Amazon Simple Storage Service (Amazon S3) proporciona una capa de almacenamiento que permite recibir y almacenar archivos para su consumo y transmisión hacia y desde el clúster de Aurora compatible con PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3): la extensión `aws_s3` integra Amazon S3 y Aurora compatible con PostgreSQL.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html): Amazon Simple Notification Service (Amazon SNS) coordina y administra la entrega o el envío de mensajes entre publicadores y clientes. En este patrón, Amazon SNS se usa para enviar notificaciones.

**Código**

Siempre que se ubique un archivo en el bucket de S3, se debe crear una función de base de datos a la que llamar desde la aplicación de procesamiento o la función de Lambda. Para obtener más información, consulte el código (adjunto).

## Epics
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-epics"></a>

### Cree un archivo externo
<a name="create-an-external-file"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Añada un archivo externo a la base de datos de origen. | Cree un archivo externo y trasládelo al directorio `oracle`. | Administrador de base de datos | 

### Configure el objetivo (Aurora compatible con PostgreSQL)
<a name="configure-the-target-aurora-postgresql-compatible"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una base de datos de Aurora PostgreSQL. | Cree una instancia de base de datos en su clúster de Amazon Aurora compatible con PostgreSQL. | Administrador de base de datos | 
| Cree un esquema, una extensión aws\$1s3 y tablas. | Use el código que aparece en la sección `ext_tbl_scripts` de *Información adicional*. Las tablas incluyen tablas reales, tablas de ensayo, tablas de errores y registros y una metatabla. | Administrador de base de datos, desarrollador | 
| Cree la función de base de datos. | Para crear la función de base de datos, use el código que aparece bajo la función `load_external_table_latest` en la sección de *Información adicional*. | Administrador de base de datos, desarrollador | 

### Creación y configuración de la función de Lambda
<a name="create-and-configure-the-lambda-function"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un rol. | Cree un rol con permisos para acceder a Amazon S3 y a Amazon Relational Database Service (Amazon RDS). Esta función se asignará a Lambda para ejecutar el patrón. | Administrador de base de datos | 
| Crear la función de Lambda. | Cree una función de Lambda que lea el nombre del archivo de Amazon S3 (por ejemplo, `file_key = info.get('object', {}).get('key')`) y llame a la función de base de datos (por ejemplo, `curs.callproc("load_external_tables", [file_key])`) con el nombre del archivo como parámetro de entrada.Según el resultado de la llamada a la función, se iniciará una notificación de SNS (por ejemplo, `client.publish(TopicArn='arn:',Message='fileloadsuccess',Subject='fileloadsuccess')`).En función de las necesidades de su empresa, puede crear una función de Lambda con código adicional si es necesario. Para más información, consulte la [documentación de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html). | Administrador de base de datos | 
| Configure un desencadenante de eventos en el bucket de S3. | Configure un mecanismo para llamar a la función de Lambda en todos los eventos de creación de objetos en el bucket de S3. | Administrador de base de datos | 
| Cree un secreto. | Cree un nombre secreto para las credenciales de la base de datos mediante Secrets Manager. Pase el secreto a la función de Lambda. | Administrador de base de datos | 
| Cargue los archivos de soporte de Lambda. | Cargue un archivo .zip que contenga los paquetes de soporte de Lambda y el script de Python adjunto para conectar a Aurora compatible con PostgreSQL. El código Python llamará a la función que creó en la base de datos. | Administrador de base de datos | 
| Cree un tema de SNS. | Cree un tema de SNS para enviar un correo si la carga de datos se ha realizado correctamente o no. | Administrador de base de datos | 

### Cómo añadir integración con Amazon S3
<a name="add-integration-with-amazon-s3"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un bucket de S3. | En la consola de Amazon S3, cree un bucket de S3 con un nombre único que no contenga barras diagonales en el inicio. Un nombre de bucket de S3 es globalmente único y todas las cuentas de AWS comparten el espacio de nombres. | Administrador de base de datos | 
| Cree políticas de IAM . | Para crear las políticas de AWS Identity and Access Management (IAM), use el código que se describe en la sección `s3bucketpolicy_for_import` de *Información adicional*. | Administrador de base de datos | 
| Cree roles. | Cree dos roles para Aurora compatible con PostgreSQL, uno para Importar y otro para Exportar. Asigne las políticas correspondientes a los roles. | Administrador de base de datos | 
| Adjunte los roles al clúster de Aurora compatible con PostgreSQL. | En **Administrar roles**, adjunte los roles de Importar y Exportar al clúster de Aurora PostgreSQL. | Administrador de base de datos | 
| Cree objetos de apoyo para Aurora compatible con PostgreSQL. | Para las tablas de scripts, utilice el código de `ext_tbl_scripts` en la sección *Información adicional*.Para la función personalizada, utilice el código de `load_external_Table_latest` en la sección *Información adicional*. | Administrador de base de datos | 

### Procese un archivo de prueba
<a name="process-a-test-file"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cargar un archivo en el bucket de S3. | Para cargar un archivo de prueba en el bucket de S3, use la consola o ejecute el siguiente comando en la CLI de AWS. <pre>aws s3 cp /Users/Desktop/ukpost/exttbl/"testing files"/aps s3://s3importtest/inputext/aps</pre>En cuanto se carga el archivo, el evento de bucket inicia la función de Lambda, que ejecuta la función Aurora compatible con PostgreSQL. | Administrador de base de datos | 
| Compruebe los datos y los archivos de registro y error. | La función de Aurora compatible con PostgreSQL carga los archivos en la tabla principal y crea los archivos `.log` y `.bad` en el bucket de S3. | Administrador de base de datos | 
| Supervise la solución. | En la CloudWatch consola de Amazon, supervise la función Lambda. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-resources"></a>
+ [Integración de Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Trabajar con la versión de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/)
+ [Configuración de notificaciones de Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)

## Información adicional
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-additional"></a>

**ext\$1table\$1scripts**

```
CREATE EXTENSION aws_s3 CASCADE;
CREATE TABLE IF NOT EXISTS meta_EXTERNAL_TABLE
(
    table_name_stg character varying(100) ,
    table_name character varying(100)  ,
    col_list character varying(1000)  ,
    data_type character varying(100)  ,
    col_order numeric,
    start_pos numeric,
    end_pos numeric,
    no_position character varying(100)  ,
    date_mask character varying(100)  ,
    delimeter character(1)  ,
    directory character varying(100)  ,
    file_name character varying(100)  ,
    header_exist character varying(5)
);
CREATE TABLE IF NOT EXISTS ext_tbl_stg
(
    col1 text
);
CREATE TABLE IF NOT EXISTS error_table
(
    error_details text,
    file_name character varying(100),
    processed_time timestamp without time zone
);
CREATE TABLE IF NOT EXISTS log_table
(
    file_name character varying(50) COLLATE pg_catalog."default",
    processed_date timestamp without time zone,
    tot_rec_count numeric,
    proc_rec_count numeric,
    error_rec_count numeric
);
sample insert scripts of meta data:
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'source_filename', 'character varying', 2, 8, 27, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'record_type_identifier', 'character varying', 3, 28, 30, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'fad_code', 'numeric', 4, 31, 36, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'session_sequence_number', 'numeric', 5, 37, 42, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'transaction_sequence_number', 'numeric', 6, 43, 48, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
```

**s3bucketpolicy\$1for import**

```
---Import role policy
--Create an IAM policy to allow, Get,  and list actions on S3 bucket
 {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3import",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest",
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
--Export Role policy
--Create an IAM policy to allow, put,  and list actions on S3 bucket
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3export",
            "Action": [
                "S3:PutObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
```

**Ejemplo de función de base de datos load\$1external\$1tables\$1latest**

```
CREATE OR REPLACE FUNCTION public.load_external_tables(pi_filename text)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
/* Loading data from S3 bucket into a APG table */
DECLARE
 v_final_sql TEXT;
 pi_ext_table TEXT;
 r refCURSOR;
 v_sqlerrm text;
 v_chunk numeric;
 i integer;
 v_col_list TEXT;
 v_postion_list CHARACTER VARYING(1000);
 v_len  integer;
 v_delim varchar;
 v_file_name CHARACTER VARYING(1000);
 v_directory CHARACTER VARYING(1000);
 v_table_name_stg CHARACTER VARYING(1000);
 v_sql_col TEXT;
 v_sql TEXT;
 v_sql1 TEXT;
 v_sql2 TEXT;
 v_sql3 TEXT;
 v_cnt integer;
 v_sql_dynamic TEXT;
 v_sql_ins TEXT;
 proc_rec_COUNT integer;
 error_rec_COUNT integer;
 tot_rec_COUNT integer;
 v_rec_val integer;
 rec record;
 v_col_cnt integer;
 kv record;
 v_val text;
 v_header text;
 j integer;
 ERCODE VARCHAR(5);
 v_region text;
 cr CURSOR FOR
 SELECT distinct DELIMETER,
   FILE_NAME,
   DIRECTORY
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
   AND DELIMETER IS NOT NULL;


 cr1 CURSOR FOR
   SELECT   col_list,
   data_type,
   start_pos,
   END_pos,
   concat_ws('',' ',TABLE_NAME_STG) as TABLE_NAME_STG,
   no_position,date_mask
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
 order by col_order asc;
cr2 cursor FOR
SELECT  distinct table_name,table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);


BEGIN
 -- PERFORM utl_file_utility.init();
   v_region := 'us-east-1';
   /* find tab details from file name */


   --DELETE FROM  ERROR_TABLE WHERE file_name= pi_filename;
  -- DELETE FROM  log_table WHERE file_name= pi_filename;


 BEGIN


   SELECT distinct table_name,table_name_stg INTO strict pi_ext_table,v_table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);
 EXCEPTION
   WHEN NO_DATA_FOUND THEN
    raise notice 'error 1,%',sqlerrm;
    pi_ext_table := null;
    v_table_name_stg := null;
      RAISE USING errcode = 'NTFIP' ;
    when others then
        raise notice 'error others,%',sqlerrm;
 END;
 j :=1 ;
  
for rec in  cr2
 LOOP




  pi_ext_table     := rec.table_name;
  v_table_name_stg := rec.table_name_stg;
  v_col_list := null;


 IF pi_ext_table IS NOT NULL
  THEN
    --EXECUTE concat_ws('','truncate table  ' ,pi_ext_table) ;
   EXECUTE concat_ws('','truncate table  ' ,v_table_name_stg) ;




       SELECT distinct DELIMETER INTO STRICT v_delim
       FROM  meta_EXTERNAL_TABLE
       WHERE table_name = pi_ext_table;


       IF v_delim IS NOT NULL THEN
     SELECT distinct DELIMETER,
       FILE_NAME,
       DIRECTORY ,
       concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
     INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table
       AND DELIMETER IS NOT NULL;


     IF    upper(v_delim) = 'CSV'
     THEN
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3 ( ''',
       v_table_name_stg,''','''',
       ''DELIMITER '''','''' CSV HEADER QUOTE ''''"'''''', aws_commons.create_s3_uri ( ''',
       v_directory,''',''',v_file_name,''', ''',v_region,'''))');
       ELSE
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
           v_table_name_stg, ''','''', ''DELIMITER AS ''''^''''',''',','
          aws_commons.create_s3_uri
           ( ''',v_directory, ''',''',
           v_file_name, ''',',
            '''',v_region,''')
          )');
          raise notice 'v_sql , %',v_sql;
       begin
        EXECUTE  v_sql;
       EXCEPTION
         WHEN OTHERS THEN
           raise notice 'error 1';
         RAISE USING errcode = 'S3IMP' ;
       END;


       select count(col_list) INTO v_col_cnt
       from  meta_EXTERNAL_TABLE where table_name = pi_ext_table;






        -- raise notice 'v_sql 2, %',concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');


       execute concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');




       i :=1;
       FOR rec in cr1
       loop
       v_sql1 := concat_ws('',v_sql1,'split_part(col1,''',v_delim,''',', i,')',' as ',rec.col_list,',');
       v_sql2 := concat_ws('',v_sql2,rec.col_list,',');
   --    v_sql3 := concat_ws('',v_sql3,'rec.',rec.col_list,'::',rec.data_type,',');


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 coalesce((trim(split_part(col1,''',v_delim,''',', i,')))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask =  'MM/DD/YYYY hh24:mi:ss'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''01/01/9999 0024:00:00''),''MM/DD/YYYY hh24:mi:ss'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                  coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


       i :=i+1;
       end loop;


         -- raise notice 'v_sql 3, %',v_sql3;


       SELECT trim(trailing ' ' FROM v_sql1) INTO v_sql1;
       SELECT trim(trailing ',' FROM v_sql1) INTO v_sql1;


       SELECT trim(trailing ' ' FROM v_sql2) INTO v_sql2;
       SELECT trim(trailing ',' FROM v_sql2) INTO v_sql2;


       SELECT trim(trailing ' ' FROM v_sql3) INTO v_sql3;
       SELECT trim(trailing ',' FROM v_sql3) INTO v_sql3;


       END IF;
      raise notice 'v_delim , %',v_delim;


     EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)  INTO v_cnt;


    raise notice 'stg cnt , %',v_cnt;


    /* if upper(v_delim) = 'CSV' then
       v_sql_ins := concat_ws('', ' SELECT * from ' ,v_table_name_stg );
     else
      -- v_sql_ins := concat_ws('',' SELECT ',v_sql1,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       END IF;*/


v_chunk := v_cnt/100;




for i in 1..101
loop
     BEGIN
    -- raise notice 'v_sql , %',v_sql;
       -- raise notice 'Chunk number , %',i;
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ' offset ',v_chunk*(i-1), ' limit ',v_chunk,') sub ');


     v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
     -- raise notice 'select statement , %',v_sql_ins;
          -- v_sql := null;
     -- EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins, 'offset ',v_chunk*(i-1), ' limit ',v_chunk );
     --v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins );


     -- raise notice 'insert statement , %',v_sql;


    raise NOTICE 'CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'CHUNK END %',v_chunk;


     EXECUTE v_sql;


  EXCEPTION
       WHEN OTHERS THEN
       -- v_sql_ins := concat_ws('',' SELECT ',v_sql1, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');
         -- raise notice 'Chunk number for cursor , %',i;


    raise NOTICE 'Cursor - CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'Cursor -  CHUNK END %',v_chunk;
         v_sql_ins := concat_ws('',' SELECT ',v_sql3, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');


         v_final_sql := REPLACE (v_sql_ins, ''''::text, ''''''::text);
        -- raise notice 'v_final_sql %',v_final_sql;
         v_sql :=concat_ws('','do $a$ declare  r refcursor;v_sql text; i numeric;v_conname text;  v_typ  ',pi_ext_table,'[]; v_rec  ','record',';
           begin






           open r for execute ''select col1 from ',v_table_name_stg ,'  offset ',v_chunk*(i-1), ' limit ',v_chunk,''';
           loop
           begin
           fetch r into v_rec;
           EXIT WHEN NOT FOUND;




           v_sql := concat_ws('''',''insert into  ',pi_ext_table,' SELECT ',REPLACE (v_sql3, ''''::text, ''''''::text) , '  from ( select '''''',v_rec.col1,'''''' as col1) v'');
            execute v_sql;


           exception
            when others then
          v_sql := ''INSERT INTO  ERROR_TABLE VALUES (concat_ws('''''''',''''Error Name: '''',$$''||SQLERRM||''$$,''''Error State: '''',''''''||SQLSTATE||'''''',''''record : '''',$$''||v_rec.col1||''$$),'''''||pi_filename||''''',now())'';


               execute v_sql;
             continue;
           end ;
           end loop;
           close r;
           exception
           when others then
         raise;
           end ; $a$');
      -- raise notice ' inside excp v_sql %',v_sql;
          execute v_sql;
      --  raise notice 'v_sql %',v_sql;
       END;
  END LOOP;
     ELSE


     SELECT distinct DELIMETER,FILE_NAME,DIRECTORY ,concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
       INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table                  ;
     v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
       v_table_name_stg, ''','''', ''DELIMITER AS ''''#'''' ',v_header,' '',','
      aws_commons.create_s3_uri
       ( ''',v_directory, ''',''',
       v_file_name, ''',',
        '''',v_region,''')
      )');
         EXECUTE  v_sql;


     FOR rec in cr1
     LOOP


      IF rec.start_pos IS NULL AND rec.END_pos IS NULL AND rec.no_position = 'recnum'
      THEN
        v_rec_val := 1;
      ELSE


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1)))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDDHH24MISS'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''9999010100240000''),''YYYYMMDDHH24MISS'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                  coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


      END IF;
      v_col_list := concat_ws('',v_col_list ,v_sql1);
     END LOOP;




           SELECT trim(trailing ' ' FROM v_col_list) INTO v_col_list;
           SELECT trim(trailing ',' FROM v_col_list) INTO v_col_list;


           v_sql_col   :=  concat_ws('',trim(trailing ',' FROM v_col_list) , ' FROM  ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 ');




           v_sql_dynamic := v_sql_col;


           EXECUTE  concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg) INTO v_cnt;




         IF v_rec_val = 1 THEN
             v_sql_ins := concat_ws('',' select row_number() over(order by ctid) as line_number ,' ,v_sql_dynamic) ;


         ELSE
               v_sql_ins := concat_ws('',' SELECT' ,v_sql_dynamic) ;
           END IF;


     BEGIN
       EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
           EXCEPTION
              WHEN OTHERS THEN
          IF v_rec_val = 1 THEN
                  v_final_sql := ' select row_number() over(order by ctid) as line_number ,col1 from ';
                ELSE
                 v_final_sql := ' SELECT col1 from';
               END IF;
       v_sql :=concat_ws('','do $a$ declare  r refcursor;v_rec_val numeric := ',coalesce(v_rec_val,0),';line_number numeric; col1 text; v_typ  ',pi_ext_table,'[]; v_rec  ',pi_ext_table,';
             begin
             open r for execute ''',v_final_sql, ' ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 '' ;
             loop
             begin
             if   v_rec_val = 1 then
             fetch r into line_number,col1;
             else
             fetch r into col1;
             end if;


             EXIT WHEN NOT FOUND;
              if v_rec_val = 1 then
              select line_number,',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              else
                select ',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              end if;


             insert into  ',pi_ext_table,' select v_rec.*;
              exception
              when others then
               INSERT INTO  ERROR_TABLE VALUES (concat_ws('''',''Error Name: '',SQLERRM,''Error State: '',SQLSTATE,''record : '',v_rec),''',pi_filename,''',now());
               continue;
              end ;
               end loop;
             close r;
              exception
              when others then
              raise;
              end ; $a$');
         execute v_sql;


     END;


         END IF;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  ' ,pi_ext_table)   INTO proc_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  error_table WHERE file_name =''',pi_filename,''' and processed_time::date = clock_timestamp()::date')  INTO error_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)   INTO tot_rec_COUNT;


   INSERT INTO  log_table values(pi_filename,now(),tot_rec_COUNT,proc_rec_COUNT, error_rec_COUNT);


   raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT replace(trim(substring(error_details,position(''('' in error_details)+1),'')''),'','','';''),file_name,processed_time FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );


raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  log_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.log', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );




   END IF;
 j := j+1;
 END LOOP;


       RETURN 'OK';
EXCEPTION
    WHEN  OTHERS THEN
  raise notice 'error %',sqlerrm;
   ERCODE=SQLSTATE;
   IF ERCODE = 'NTFIP' THEN
     v_sqlerrm := concat_Ws('',sqlerrm,'No data for the filename');
   ELSIF ERCODE = 'S3IMP' THEN
    v_sqlerrm := concat_Ws('',sqlerrm,'Error While exporting the file from S3');
   ELSE
      v_sqlerrm := sqlerrm;
   END IF;


 select distinct directory into v_directory from  meta_EXTERNAL_TABLE;




 raise notice 'exc v_directory, %',v_directory;


   raise notice 'exc pi_filename, %',pi_filename;


   raise notice 'exc v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );
    RETURN null;
END;
$function$
```

# Migración de índices basados en funciones de Oracle a PostgreSQL
<a name="migrate-function-based-indexes-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi y Navakanth Talluri, Amazon Web Services*

## Resumen
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-summary"></a>

Los índices son una forma común de mejorar el rendimiento de las bases de datos. Un índice permite al servidor de bases de datos encontrar y recuperar filas específicas mucho más rápido de lo que lo haría sin un índice. Sin embargo, los índices también añaden una sobrecarga al sistema de bases de datos en su conjunto, por lo que deben utilizarse con sensatez. Los índices basados en funciones, que se basan en una función o expresión, pueden incluir varias columnas y expresiones matemáticas. Un índice basado en funciones mejora el rendimiento de las consultas que utilizan la expresión de índice. 

De forma nativa, PostgreSQL no admite la creación de índices basados en funciones mediante funciones cuya volatilidad se define como estable. Sin embargo, puede crear funciones similares con volatilidad `IMMUTABLE` y utilizarlas en la creación de índices.

Una función `IMMUTABLE` no puede modificar la base de datos y se garantiza que devolverá los mismos resultados con los mismos argumentos para siempre. Esta categoría permite al optimizador evaluar previamente la función cuando una consulta la llama con argumentos constantes. 

Este patrón ayuda a migrar los índices basados en funciones de Oracle cuando se utilizan con funciones como `to_char`, `to_date` y `to_number` al equivalente de PostgreSQL.

## Requisitos previos y limitaciones
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-prereqs"></a>

**Requisitos previos **
+ Una cuenta de Amazon Web Services (AWS) activa
+ Una instancia de base de datos de Oracle de origen con el servicio de escucha configurado y en ejecución
+ Familiaridad con bases de datos PostgreSQL

**Limitaciones**
+ El límite de tamaño de la base de datos es de 64 TB
+ Las funciones utilizadas en la creación de índices deben ser INMUTABLES.

**Versiones de producto**
+ Todas las ediciones de bases de datos de Oracle para las versiones 11g (versiones 11.2.0.3.v1 y posteriores) y hasta 12.2, y 18c
+ Versiones 9.6 y posteriores de PostgreSQL

## Arquitectura
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos Oracle local o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) o una instancia de base de datos Amazon RDS for Oracle

**Pila de tecnología de destino**
+ Cualquier motor de PostgreSQL

## Tools (Herramientas)
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-tools"></a>
+ **pgAdmin 4** es una herramienta de administración de código abierto para Postgres. La herramienta pgAdmin 4 proporciona una interfaz gráfica para crear, mantener y utilizar objetos de base de datos.
+ **Oracle SQL Developer** es un entorno de desarrollo integrado (IDE) para desarrollar y gestionar bases de datos de Oracle tanto en implementaciones tradicionales como en la nube.

## Epics
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-epics"></a>

### Cree un índice basado en funciones mediante una función predeterminada
<a name="create-a-function-based-index-using-a-default-function"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un índice basado en funciones en una columna mediante la función to\$1char. | Utilice el siguiente código para crear el índice basado en funciones.<pre>postgres=# create table funcindex( col1 timestamp without time zone);<br />CREATE TABLE<br />postgres=# insert into funcindex values (now());<br />INSERT 0 1<br />postgres=# select * from funcindex;<br />            col1<br />----------------------------<br /> 2022-08-09 16:00:57.77414<br />(1 rows)<br /> <br />postgres=# create index funcindex_idx on funcindex(to_char(col1,'DD-MM-YYYY HH24:MI:SS'));<br />ERROR:  functions in index expression must be marked IMMUTABLE</pre> PostgreSQL no permite crear un índice basado en funciones sin la cláusula `IMMUTABLE`. | Administrador de base de datos, desarrollador de aplicaciones | 
| Compruebe la volatilidad de la función. | Para comprobar la volatilidad de la función, utilice el código de la sección *Información adicional*.   | Administrador de base de datos | 

### Crear índices basados en funciones utilizando una función envolvente
<a name="create-function-based-indexes-using-a-wrapper-function"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una función de encapsulación. | Para crear una función de encapsulación, utilice el código de la *sección de información adicional*. | Desarrollador de PostgreSQL | 
| Cree un índice mediante la función de encapsulación. | Utilice el código de la sección *Información adicional* para crear una función definida por el usuario con la palabra clave `IMMUTABLE` en el mismo esquema que la aplicación y consúltela en el script de creación de índices.Si se crea una función definida por el usuario en un esquema común (del ejemplo anterior), actualice `search_path` tal como se muestra.<pre>ALTER ROLE <ROLENAME> set search_path=$user, COMMON;</pre> | Administrador de base de datos, desarrollador de PostgreSQL | 

### Validar creación del índice
<a name="validate-index-creation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la creación del índice. | Valide que es necesario crear el índice en función de los patrones de acceso a las consultas. | Administrador de base de datos | 
| Valide que se pueda utilizar el índice. | Para comprobar si el optimizador de PostgreSQL recoge el índice basado en funciones, ejecute una instrucción SQL mediante explain o explain analyze. Utilice el código de la sección *Información adicional*. Si es posible, recopile también las estadísticas de la tabla.Si observa el plan de explicación, el optimizador de PostgreSQL ha elegido un índice basado en funciones debido a la condición de predicado. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-resources"></a>
+ [Índices basados en funciones](https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_indexes.htm#ADFNS00505) (documentación de Oracle)
+ [Índices de expresiones](https://www.postgresql.org/docs/9.4/indexes-expressional.html) (documentación de PostgreSQL)
+ [Volatilidad de PostgreSQL](https://www.postgresql.org/docs/current/xfunc-volatility.html) (documentación de PostgreSQL)
+ [PostgreSQL search\$1path](https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATH) (documentación de PostgreSQL)
+ [Manual de migración de Oracle Database 19c a Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/dms/latest/oracle-to-aurora-postgresql-migration-playbook/chap-oracle-aurora-pg.html) 

## Información adicional
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-additional"></a>

**Crear una función de encapsulación**

```
CREATE OR REPLACE FUNCTION myschema.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
```

**Crear un índice mediante la función de encapsulación**

```
postgres=# create function common.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
CREATE FUNCTION
postgres=# create index funcindex_idx on funcindex(common.to_char(col1,'DD-MM-YYYY HH24:MI:SS'));
CREATE INDEX
```

**Comprobar la volatilidad de la función**

```
SELECT DISTINCT p.proname as "Name",p.provolatile as "volatility" FROM pg_catalog.pg_proc p
 LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
 LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
 WHERE n.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.default AND p.proname='to_char'GROUP BY p.proname,p.provolatile
ORDER BY 1;
```

**Validar que se pueda utilizar el índice**

```
explain analyze <SQL>
 
 
postgres=# explain select col1 from funcindex where common.to_char(col1,'DD-MM-YYYY HH24:MI:SS') = '09-08-2022 16:00:57';
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Index Scan using funcindex_idx on funcindex  (cost=0.42..8.44 rows=1 width=8)
   Index Cond: ((common.to_char(col1, 'DD-MM-YYYY HH24:MI:SS'::character varying))::text = '09-08-2022 16:00:57'::text)
(2 rows)
```

# Migración de las funciones nativas de Oracle a PostgreSQL mediante extensiones
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions"></a>

*Pinesh Singal, Amazon Web Services*

## Resumen
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-summary"></a>

Este patrón de migración proporciona step-by-step orientación para migrar una base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una base de datos de Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL Edition compatible con PostgreSQL mediante la modificación y las extensiones del código integrado nativo de PostgreSQL (). `aws_oracle_ext` `orafce` `psql` Esto ahorrará tiempo de procesamiento.

El patrón describe una estrategia de migración manual fuera de línea sin tiempo de inactividad para una base de datos de origen de Oracle de varios terabytes con un elevado número de transacciones.

El proceso de migración utiliza la herramienta de conversión de esquemas de AWS (AWS SCT) con las extensiones `aws_oracle_ext` y `orafce` para convertir un esquema de base de datos de Amazon RDS para Oracle en un esquema de base de datos compatible con Amazon RDS para PostgreSQL o Aurora PostgreSQL. Luego, el código se cambia manualmente al código integrado de `psql` nativo compatible con PostgreSQL. Esto se debe a que las llamadas a la extensión afectan al procesamiento del código en el servidor de bases de datos PostgreSQL y no todo el código de la extensión es totalmente compatible o compatible con el código PostgreSQL.

Este patrón se centra principalmente en la migración manual de códigos SQL mediante AWS SCT y las extensiones `aws_oracle_ext` y. `orafce` Las extensiones que ya se utilizan se convierten en elementos integrados (`psql`) nativos de PostgreSQL. A continuación, se eliminan todas las referencias a las extensiones y se convierten los códigos en consecuencia.

## Requisitos previos y limitaciones
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Sistema operativo (Windows o Mac) o EC2 instancia de Amazon (en funcionamiento) 
+ Orafce

**Limitaciones**

No todas las funciones de Oracle que utilizan extensiones `aws_oracle_ext` o `orafce` se pueden convertir en funciones nativas de PostgreSQL. Es posible que necesite una revisión manual para poder compilarlo con las bibliotecas de PostgreSQL.

Un inconveniente del uso de extensiones SCT de AWS es su lento rendimiento a la hora de ejecutar y obtener los resultados. Su costo se puede entender a partir del simple [plan EXPLAIN de PostgreSQL](https://www.postgresql.org/docs/current/sql-explain.html) (plan de ejecución de una declaración) sobre la migración de la función `SYSDATE` de Oracle a la función `NOW()` de PostgreSQL entre los tres códigos (`aws_oracle_ext`, `orafce` y `psql` predeterminados), como se explica en la sección *Performance comparison check* del documento adjunto.

**Versiones de producto**
+ **Origen:** base de datos 10.2 y versiones posteriores de Amazon RDS para Oracle (para 10.x), 11g (11.2.0.3.v1 y versiones posteriores) y hasta 12.2, 18c y 19c (y versiones posteriores) para Enterprise Edition, Standard Edition, Standard Edition 1 y Standard Edition 2
+ **Destino**: base de datos compatible con Amazon RDS para PostgreSQL o Aurora PostgreSQL 9.4 y versiones posteriores (para 9.x), 10.x, 11.x, 12.x, 13.x y 14.x (y versiones posteriores)
+ **AWS SCT**: última versión (este patrón se probó con 1.0.632)
+ **Oracle**: última versión (este patrón se probó con la versión 3.9.0)

## Arquitectura
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-architecture"></a>

**Pila de tecnología de origen**
+ Instancia de base de datos de Amazon RDS para Oracle con versión 12.1.0.2.v18

**Pila de tecnología de destino**
+ Una instancia de base de datos compatible con Amazon RDS para PostgreSQL o Aurora PostgreSQL con la versión 11.5

**Arquitectura de migración de bases de datos**

El siguiente diagrama representa la arquitectura de migración de bases de datos entre las bases de datos de Oracle de origen y PostgreSQL de destino. La arquitectura incluye la nube de AWS, una nube privada virtual (VPC), zonas de disponibilidad, una subred privada, una base de datos Amazon RDS para Oracle, AWS SCT, una base de datos Amazon RDS para PostgreSQL o Aurora compatible con PostgreSQL, extensiones para Oracle (`aws_oracle_ext` y `orafce`) y archivos de lenguaje de consulta estructurado (SQL).

![\[El proceso se explica en la siguiente lista.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/158847bb-27ef-4915-a9ca-7d87073792c1/images/234b824a-bfe5-4ef0-9fa7-8401370b92a5.png)


1. Inicie la instancia de base de datos de Amazon RDS para Oracle (base de datos de origen).

1. Utilice AWS SCT con los `aws_oracle_ext` paquetes de `orafce` extensión para convertir el código fuente de Oracle a PostresQL.

1. La conversión produce archivos.sql migrados compatibles con PostgreSQL.

1. Convierta manualmente los códigos de extensión de Oracle no convertidos en códigos PostgreSQL (`psql`).

1. La conversión manual produce archivos.sql convertidos compatibles con PostgreSQL.

1. Ejecute estos archivos.sql en su instancia de base de datos de Amazon RDS para PostgreSQL (base de datos de destino).

## Tools (Herramientas)
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-tools"></a>

**Herramientas**

*Servicios de AWS*
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): la herramienta de conversión de esquemas de AWS (AWS SCT) convierte el esquema de base de datos existente de un motor de base de datos a otro. Puede convertir un esquema de procesamiento de transacciones en línea (OLTP) relacional o un esquema de almacenamiento de datos. Su esquema convertido es adecuado para una instancia de base de datos de Amazon RDS para MySQL, un clúster de base de datos de Amazon Aurora, una instancia de base de datos de Amazon RDS para PostgreSQL o un clúster de Amazon Redshift. El esquema convertido también se puede usar con una base de datos en una EC2 instancia de Amazon o se puede almacenar como datos en un bucket de Amazon S3.

  AWS SCT proporciona una interfaz de usuario basada en proyectos para convertir automáticamente el esquema de la base de datos de origen a un formato compatible con su instancia de Amazon RDS de destino. 

  Puede usar AWS SCT para realizar la migración desde una base de datos de origen de Oracle a cualquiera de los destinos enumerados anteriormente. Con AWS SCT, puede exportar las definiciones de los objetos de la base de datos de origen, como el esquema, las vistas, los procedimientos almacenados y las funciones. 

  Puede utilizar AWS SCT para convertir datos de Oracle a Amazon RDS para PostgreSQL o Amazon Aurora PostgreSQL-Compatible Edition. 

  Este patrón utiliza AWS SCT para convertir y migrar el código de Oracle a PostgreSQL mediante las extensiones `aws_oracle_ext` y `orafce` migrar manualmente los códigos `psql` de extensión a código integrado nativo o predeterminado.
+ El paquete de extensión de [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html) es un módulo complementario que simula funciones presentes en la base de datos de origen que son necesarias a la hora de convertir objetos a la base de datos de destino. Antes de poder instalar el paquete de extensión AWS SCT, debe convertir el esquema de su base de datos.

  Cuando convierte su base de datos o esquema de almacén de datos, AWS SCT agrega un esquema adicional a su base de datos de destino. Este esquema implementa las funciones del sistema SQL de la base de datos de origen que son necesarias al escribir su esquema convertido en la base de datos de destino. El esquema adicional se denomina esquema del paquete de extensión.

  El esquema del paquete de extensión para bases de datos OLTP se nombra según la base de datos de origen. Para las bases de datos de Oracle, el esquema del paquete de extensiones es `AWS_ORACLE_EXT`.

*Otras herramientas*
+ [Oracle](https://github.com/orafce/orafce): Orafce es un módulo que implementa funciones, tipos de datos y paquetes compatibles con Oracle. Es una herramienta de código abierto con una licencia de Berkeley Source Distribution (BSD) para que cualquiera pueda usarla. El módulo `orafce` es útil para migrar de Oracle a PostgreSQL porque tiene muchas funciones de Oracle implementadas en PostgreSQL.

 

**Código**

Para obtener una lista de todos los códigos más utilizados y migrados de Oracle a PostgreSQL para evitar el uso del código de extensión SCT de AWS, consulte el documento adjunto.

## Epics
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-epics"></a>

### Configuración de la base de datos de origen de Amazon RDS para Oracle
<a name="configure-the-amazon-rds-for-oracle-source-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la instancia de base de datos de Oracle. | Cree una instancia de base de datos compatible con Amazon RDS para Oracle o Aurora PostgreSQL desde la consola de Amazon RDS. | AWS general, administrador de bases de datos | 
| Configuración de los grupos de seguridad. | Configure grupos de seguridad entrantes y salientes. | AWS general | 
| Cree la base de datos. | Crear la base de datos de Oracle con los usuarios y esquemas necesarios. | AWS general, administrador de bases de datos | 
| Cree los objetos. | Crear objetos e introducir datos en el esquema. | Administrador de base de datos | 

### Configuración de la base de datos de destino de Amazon RDS para PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la instancia de base de datos PostgreSQL. | Cree una instancia de base de datos de Amazon RDS para PostgreSQL o de Amazon Aurora mediante la consola de Amazon RDS. | AWS general, administrador de bases de datos | 
| Configuración de los grupos de seguridad. | Configure grupos de seguridad entrantes y salientes. | AWS general | 
| Cree la base de datos. | Cree la base de datos PostgreSQL con los usuarios y esquemas necesarios. | AWS general, administrador de bases de datos | 
| Valide las extensiones. | Asegúrese de que `aws_oracle_ext` y `orafce` están instalados y configurados correctamente en la base de datos PostgreSQL. | Administrador de base de datos | 
| Compruebe que la base de datos PostgreSQL esté disponible. | Asegúrese de que la base de datos PostgreSQL esté activa y en funcionamiento. | Administrador de base de datos | 

### Migración del esquema de Oracle a PostgreSQL con AWS SCT y las extensiones
<a name="migrate-the-oracle-schema-into-postgresql-using-aws-sct-and-the-extensions"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale AWS SCT. | Instale la versión más reciente de AWS SCT. | Administrador de base de datos | 
| Configure AWS SCT. | Configure AWS SCT con los controladores de conectividad de bases de datos Java (JDBC) para Oracle (`ojdbc8.jar`) y PostgreSQL (`postgresql-42.2.5.jar`). | Administrador de base de datos | 
| Habilite el paquete o la plantilla de extensiones SCT de AWS. | En AWS SCT **Configuración de proyecto**, habilite la implementación de funciones integradas con las extensiones `aws_oracle_ext` y `orafce` para el esquema de base de datos de Oracle. | Administrador de base de datos | 
| Convierta el esquema.  | En AWS SCT, seleccione **Convertir esquema** para convertir el esquema de Oracle a PostgreSQL y generar los archivos.sql. | Administrador de base de datos | 

### Convierta el código de extensión SCT de AWS en código psql
<a name="convert-aws-sct-extension-code-to-psql-code"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Convertir el código manualmente. | Convierta manualmente cada línea de código compatible con la extensión en código integrado predeterminado `psql`, como se detalla en el documento adjunto. Por ejemplo, cambie `AWS_ORACLE_EXT.SYSDATE()` a `ORACLE.SYSDATE()` o `NOW()`. | Administrador de base de datos | 
| Valida el código | (Opcional) Valide cada línea de código ejecutándola temporalmente en la base de datos PostgreSQL. | Administrador de base de datos | 
| Cree objetos en la base de datos PostgreSQL. | Para crear objetos en la base de datos de PostgreSQL, ejecute los archivos.sql generados por AWS SCT y modificados en los dos pasos anteriores. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-resources"></a>
+ Base de datos
  + [Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)
  + [PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
  + [Uso de Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
  + [Plan EXPLAIN de PostgreSQL](https://www.postgresql.org/docs/current/sql-explain.html)
+ AWS SCT
  + [Descripción general de la herramienta de conversión de esquemas de AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
  + [Guía del usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
  + [Uso de la interfaz de usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
  + [Utilizar la base de datos de Oracle como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ Extensiones para AWS SCT
  + [Uso del paquete de extensión de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html)
  + [Funcionalidad de Oracle (en)](https://postgres.cz/wiki/Oracle_functionality_(en))
  + [PGXN oracle](https://pgxn.org/dist/orafce/)
  + [GitHub orafce](https://github.com/orafce/orafce)

## Información adicional
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-additional"></a>

Para obtener más información, siga los comandos detallados, con sintaxis y ejemplos, para convertir el código manualmente en el documento adjunto.

## Conexiones
<a name="attachments-158847bb-27ef-4915-a9ca-7d87073792c1"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/158847bb-27ef-4915-a9ca-7d87073792c1/attachments/attachment.zip)

# Migre una base de datos Db2 de Amazon EC2 a Aurora compatible con MySQL mediante AWS DMS
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Resumen
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-summary"></a>

Tras migrar la [base de datos de IBM Db2 for LUW](https://www.ibm.com/docs/en/db2/11.5?topic=federation) a Amazon [Elastic Compute Cloud EC2 (Amazon)](https://docs.aws.amazon.com/ec2/), considere la posibilidad de rediseñar la base de datos pasando a una base de datos nativa de la nube de Amazon Web Services (AWS). Este patrón cubre la migración de una base de datos IBM [Db2](https://www.ibm.com/docs/en/db2/11.5) for LUW que se ejecuta en una EC2 instancia de [Amazon](https://docs.aws.amazon.com/ec2/) a una base de datos [Amazon Aurora MySQL Edition compatible con AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html).  

El patrón describe una estrategia de migración en línea con un tiempo de inactividad mínimo para una base de datos fuente de Db2 de varios terabytes con un número elevado de transacciones. 

Este patrón utiliza la [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) para convertir el esquema de la base de datos de Db2 en un esquema de Aurora compatible con MySQL. A continuación, el patrón utiliza [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) para migrar datos desde la base de datos Db2 a la base de datos de Aurora compatible con MySQL. Se requerirán conversiones manuales para el código que AWS SCT no convierta.

## Requisitos previos y limitaciones
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa con una nube privada virtual (VPC)
+ AWS SCT
+ AWS DMS

**Versiones de producto**
+ Versión más reciente de AWS SCT
+ Db2 para Linux, versión 11.1.4.4 y posteriores

## Arquitectura
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ DB2/Linux x86-64 bits montado en una instancia EC2  

**Pila de tecnología de destino**
+ Una instancia de base de datos de la edición de Amazon Aurora compatible con MySQL

**Arquitectura de origen y destino**

El siguiente diagrama muestra la arquitectura de migración de datos entre las bases de datos compatibles con MySQL de Aurora de origen y de destino. La arquitectura de la nube de AWS incluye una nube privada virtual (VPC), una zona de disponibilidad, una subred pública para la instancia de Db2 y la instancia de replicación de AWS DMS, y una subred privada para la base de datos Aurora compatible con MySQL.

![\[Arquitectura de migración de datos entre Db2 de origen y las bases de datos compatibles con MySQL de Aurora de destino.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5abfccc4-148c-4794-8d80-e3c122679125/images/f30664f8-2d6a-4448-8d5c-cff3988a52c7.png)


## Tools (Herramientas)
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-tools"></a>

**Servicios de AWS**
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) es un motor de base de datos relacional completamente administrado diseñado para la nube y compatible con MySQL y PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino. AWS SCT admite como origen las versiones 9.1, 9.5, 9.7, 10.1, 10.1, 10.5, 11.1 y 11.5 de IBM Db2 para LUW.

## Prácticas recomendadas
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-best-practices"></a>

Para prácticas recomendadas, consulte [Prácticas recomendadas para AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Epics
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-epics"></a>

### Configurar la base de datos IBM Db2 de origen
<a name="configure-the-source-ibm-db2-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la base de datos IBM Db2 en Amazon EC2. | Puede crear una base de datos IBM Db2 en una EC2 instancia mediante una Amazon Machine Image (AMI) de AWS Marketplace o instalando el software Db2 en una EC2 instancia.Para lanzar una EC2 instancia, seleccione una AMI para IBM Db2 (por ejemplo, [IBM Db2 v11.5.7 RHEL 7.9](https://aws.amazon.com/marketplace/pp/prodview-aclrjj4hq2ols?sr=0-1&ref_=beagle&applicationId=AWS-EC2-Console)), que es similar a una base de datos local. | Administrador de base de datos, AWS general | 
| Configuración de grupos de seguridad. | Configure las reglas de entrada del grupo de seguridad de VPC para SSH (Secure Shell) y TCP con los puertos 22 y 50000, respectivamente. | AWS general | 
| Crear la instancia de base de datos. | Cree una instancia (usuario) y una base de datos (esquema) nuevas, o utilice la instancia y la base de datos `db2inst1` de muestra predeterminadas.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Administrador de base de datos | 
| Confirme que la instancia de la base de datos Db2 está disponible. | Para confirmar que la instancia de la base de datos de Db2 está activa y en ejecución, utilice el comando `Db2pd -`. | Administrador de base de datos | 

### Configurar la base de datos de destino de Aurora compatible con MySQL
<a name="configure-the-target-aurora-mysql-compatible-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la base de datos de Aurora compatible con MySQL. | Crear una base de datos de Amazon Aurora con compatibilidad con MySQL desde el servicio de AWS RDS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Administrador de base de datos, AWS general | 
| Configuración de grupos de seguridad. | Configure las reglas de entrada del grupo de seguridad de la VPC para las conexiones SSH y TCP. | AWS general | 
| Confirme que la base de datos de Aurora esté disponible. | Para asegurarse de que la base de datos de Aurora compatible con MySQL esté en funcionamiento, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Administrador de base de datos | 

### Configuración y ejecución de AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale AWS SCT. | Descargue e instale la versión más reciente de [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) (la versión actual más reciente es 1.0.628). | AWS general | 
| Configure AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS general | 
| Cree un proyecto de AWS SCT. | Cree un proyecto y un informe de AWS SCT que utilice Db2 para LUW como motor de base de datos de origen y Aurora compatible con MySQL para el motor de base de datos de destino.Para identificar los privilegios necesarios para conectarse a una base de datos de Db2 para LUW, consulte [Uso de Db2 LUW como fuente de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html). | AWS general | 
| Valide los objetos. | Seleccione **Cargar esquema**, validar los objetos. Actualice cualquier objeto incorrecto en la base de datos de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Administrador de base de datos, AWS general | 

### Configurar y ejecutar AWS SCT
<a name="configure-and-run-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación. | Inicie sesión en la consola de administración de AWS, navegue hasta el servicio AWS DMS y cree una instancia de replicación con una configuración válida para el grupo de seguridad de VPC que configuró para las bases de datos de origen y destino. | AWS general | 
| Cree puntos de conexión. | Cree el punto de conexión de origen para la base de datos Db2 y cree el punto de conexión de destino para la base de datos Aurora compatible con MySQL:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS general | 
| Cree tareas de migración. | Cree una o varias tareas de migración para completar la carga y validar los CDC o los datos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS general | 
| Planifique el ciclo de producción. | Confirme el tiempo de inactividad con las partes interesadas, como los propietarios de las aplicaciones, para ejecutar AWS DMS en los sistemas de producción. | Líder de migración | 
| Ejecute las tareas de migración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS general | 
| Valide los datos. | Revise los resultados y los datos de las tareas de migración en las bases de datos Db2 de origen y MySQL de destino:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | Administrador de base de datos | 
| Detenga las tareas de migración. | Una vez que la validación de datos se haya completado correctamente, detenga las tareas de migración de la validación. | AWS general | 

## Resolución de problemas
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Las conexiones de prueba de origen y destino de AWS SCT no funcionan. | Configure las versiones del controlador JDBC y las reglas de entrada del grupo de seguridad de VPC para que acepten el tráfico entrante. | 
| Se produce un error en la ejecución de la prueba del punto de conexión de origen de Db2. | Configure la configuración `CurrentLSN=<scan>;` de conexión adicional. | 
| La AWSDMS tarea no se puede conectar a la fuente de Db2 y aparece el siguiente error.`database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON` | Para evitar el error, ejecute los siguientes comandos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 

## Recursos relacionados
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-resources"></a>

**Amazon EC2**
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Guías EC2 de usuario de Amazon](https://docs.aws.amazon.com/ec2/)

**Bases de datos**
+ [Base de datos IBM Db2](https://www.ibm.com/products/db2-database)
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/)
+ [Uso de Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)

**AWS SCT**
+ [Conversión de esquemas AWS DMS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guía del usuario de la herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Uso de la interfaz de usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Uso de IBM Db2 LUW como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)

**AWS DMS**
+ [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/)
+ [Guía del usuario de AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Orígenes para la migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Destinos para la migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [AWS Database Migration Service (AWS DMS) y la herramienta de conversión de esquemas de AWS ahora admiten IBM Db2 LUW como fuente](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-aws-schema-conversion-tool-now-support-ibm-db2-as-a-source/) (entrada del blog)
+ [Migración de aplicaciones que ejecutan bases de datos relacionales a AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

# Migre una base de datos de Microsoft SQL Server de Amazon EC2 a Amazon DocumentDB mediante AWS DMS
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms"></a>

*Umamaheswara Nooka, Amazon Web Services*

## Resumen
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-summary"></a>

Este patrón describe cómo usar AWS Database Migration Service (AWS DMS) para migrar una base de datos de Microsoft SQL Server alojada en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) a una base de datos de Amazon DocumentDB (compatible con MongoDB).

La tarea de replicación de AWS DMS lee la estructura de tablas de la base de datos de SQL Server, crea la colección correspondiente en Amazon DocumentDB y lleva a cabo una migración de carga completa.

También se puede usar este patrón para migrar una instancia de base de datos de SQL Server en las instalaciones o Amazon Relational Database Service (Amazon RDS) para SQL Server a Amazon DocumentDB. Para obtener más información, consulte la guía [Migrating Microsoft SQL Server databases to the AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/welcome.html) (Migrar bases de datos de Microsoft SQL Server a la nube de AWS) en el sitio web de Recomendaciones de AWS.

## Requisitos previos y limitaciones
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de SQL Server existente en una instancia. EC2 
+ Función de base de datos fija (**db\$1owner**) asignada a AWS DMS en la base de datos de SQL Server. Para obtener más información, consulte [Database-level roles](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver15) (Roles en el nivel de base de datos) de la documentación de SQL Server. 
+ Familiaridad con el uso de los programas de utilidades `mongodump`, `mongorestore`,`mongoexport` y `mongoimport` para [mover datos dentro y fuera de un clúster de Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html).
+ [Microsoft SQL Server Management Studio](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15), instalado y configurado.

**Limitaciones**
+ El límite de tamaño del clúster en Amazon DocumentDB es de 64 TB. Para obtener más información, consulte [Cluster limits](https://docs.aws.amazon.com/documentdb/latest/developerguide/limits.html#limits-cluster) (Límites de los clústeres) en la documentación de Amazon DocumentDB. 
+ AWS DMS no permite combinar varias tablas de origen en una sola colección de Amazon DocumentDB.
+ Si AWS DMS procesa los cambios de una tabla de origen sin una clave principal, omitirá las columnas de objetos grandes (LOB) de la tabla de origen.

## Arquitectura
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Amazon EC2

**Pila de tecnología de destino**
+ Amazon DocumentDB

**Arquitectura de destino**

![\[Nube de AWS architecture showing VPC with private DB subnet and components for SQL Server and DocumentDB.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f186220b-5a94-48b2-840d-f04aedf51651/images/00962b85-8b71-49df-b84a-3adcbc9ad3a3.png)


## Tools (Herramientas)
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-tools"></a>
+ [WS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html): AWS Database Migration Service (AWS DMS) ayuda a migrar los datos de forma rápida y segura.
+ [Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html): Amazon DocumentDB (con compatibilidad con MongoDB) es un servicio de bases de datos rápido, fiable y totalmente gestionado.
+ [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html): Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad informática escalable en la nube de AWS.
+ [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15): SQL Server es un sistema de administración de bases de datos relacionales.
+ [SQL Server Management Studio (SSMS)](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver15): SSMS es una herramienta para administrar SQL Server, que incluye el acceso, la configuración y la administración de los componentes de SQL Server.

## Epics
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-epics"></a>

### Crear y configurar una VPC
<a name="create-and-configure-a-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC. | Inicie sesión en la consola de administración de AWS y abra la consola de Amazon VPC. Cree una nube privada virtual (VPC) con un rango de bloques IPv4 CIDR. | Administrador de sistemas | 
| Cree redes y grupos de seguridad. ACLs | En la consola de Amazon VPC, cree grupos de seguridad y listas de control de acceso a la red (red ACLs) para su VPC, según sus necesidades. También puede utilizar la configuración predeterminada para estas configuraciones. Para obtener más información sobre esta y otras historias, consulte la sección “Recursos relacionados”. | Administrador de sistemas | 

### Crear y configurar el clúster de Amazon DocumentDB
<a name="create-and-configure-the-amazon-documentdb-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Cree un clúster de Amazon DocumentDB. | Abra la consola de Amazon DocumentDB y elija “Clústeres”. Elija “Crear” y cree un clúster de Amazon DocumentDB con una instancia. Importante: Asegúrese de configurar este clúster con los grupos de seguridad de su VPC. | Administrador de sistemas  | 
|  Instale el intérprete de comandos de mongo. | El intérprete de comandos de mongo es un programa de utilidad de línea de comandos que se utiliza para conectarse al clúster de Amazon DocumentDB y consultarlo. Para instalarla, ejecute el comando «/etc/yum.repos.d/mongodb-org-3.6.repo» para crear el archivo de repositorio. Ejecute el comando «sudo yum install -y mongodb-org-shell" para instalar el shell mongo. Para cifrar los datos en tránsito, descargue la clave pública de Amazon DocumentDB y, a continuación, conéctese a su instancia de Amazon DocumentDB. Para obtener más información sobre estos pasos, consulte la sección “Recursos relacionados”. | Administrador de sistemas  | 
| Cree una base de datos en el clúster de Amazon DocumentDB.  | Ejecute el comando «use» con el nombre de la base de datos para crear una base de datos en el clúster de Amazon DocumentDB. | Administrador de sistemas  | 

### Cree y configure una instancia de replicación de AWS DMS
<a name="create-and-configure-the-aws-dms-replication-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación de AWS DMS. | Abra la consola de AWS DMS y elija “Crear una instancia de replicación”. Especifique un nombre y una descripción para la tarea de replicación. Seleccione la clase de instancia, la versión del motor, el almacenamiento, la VPC y las zonas de disponibilidad múltiples (Multi-AZ) y póngalas a disposición del público. Elija la pestaña “Avanzado” para establecer la configuración de red y de cifrado. Especifique la configuración de mantenimiento y, a continuación, elija “Crear una instancia de replicación”. | Administrador de sistemas  | 
| Configure la base de datos de SQL Server.  | Inicie sesión en Microsoft SQL Server y agregue una regla de entrada para la comunicación entre el punto de conexión de origen y la instancia de replicación de AWS DMS. Utilice la dirección IP privada de la instancia de replicación como origen. Importante: La instancia de replicación y el punto de conexión de destino deben estar en la misma VPC. Utilice una fuente alternativa en el grupo de seguridad si VPCs son diferentes para las instancias de origen y de replicación. | Administrador de sistemas  | 

### Cree y pruebe los puntos de conexión de origen y destino en AWS DMS
<a name="create-and-test-the-source-and-target-endpoints-in-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree puntos de conexión de base de datos de origen y destino. | Abra la consola de AWS DMS y elija “Conectar puntos de conexión de la base de datos de origen y de destino”. Especifique la información de conexión para las bases de datos de origen y destino. Si es necesario, elija la pestaña “Avanzado” para establecer los valores de “Atributos de conexión adicionales”. Descargue y utilice el grupo de certificados de la configuración del punto de conexión. | Administrador de sistemas  | 
| Pruebe la conexión del punto de conexión.  | Elija “Ejecutar prueba” para probar la conexión. Para solucionar cualquier mensaje de error, compruebe la configuración del grupo de seguridad y las conexiones a la instancia de replicación de AWS DMS desde las instancias de base de datos de origen y destino. | Administrador de sistemas  | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la tarea de migración de AWS DMS.  | En la consola de AWS DMS, elija “Tareas” y “Crear una tarea”. Especifique las opciones de la tarea, incluidos los nombres de los puntos de conexión de origen y destino y los nombres de las instancias de replicación. En “Tipo de migración”, elija “Migrar los datos existentes” y “Replicar solo los cambios en los datos”. Elija “Iniciar tarea”. | Administrador de sistemas  | 
| Ejecute la tarea de migración de AWS DMS. | En “Configuración de la tarea”, especifique los ajustes del modo de preparación de tablas, como “No hacer nada”, “Borrar tablas en el destino”, “Truncar” e “Incluir las columnas LOB en la replicación”. Establezca un tamaño de LOB máximo que AWS DMS acepte y elija “Habilitar registro”. Deje “Configuración avanzada” en sus valores predeterminados y elija “Crear una tarea”. | Administrador de sistemas  | 
| Supervise la migración. | En la consola de AWS DMS, elija “Tareas” y, a continuación, su tarea de migración. Elija “Supervisión de tareas” para supervisar su tarea. La tarea se detiene cuando la migración de carga completa finaliza y se aplican los cambios guardados en la memoria caché. | Administrador de sistemas  | 

### Probar y verificar la aplicación
<a name="test-and-verify-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Conéctese al clúster de Amazon DocumentDB mediante el intérprete de comandos de mongo. | Abra la consola de Amazon DocumentDB y seleccione su clúster en “Clústeres”. En la pestaña “Conectividad y seguridad”, elija “Conectar a este clúster con el shell mongo”. | Administrador de sistemas  | 
| Verifique los resultados de la migración. | Ejecute el comando “use” con el nombre de su base de datos y, a continuación, ejecute el comando “show collections”. Ejecute el comando “db. .count ();” con el nombre de su base de datos. Si los resultados coinciden con la base de datos de origen, la migración se ha realizado correctamente. | Administrador de sistemas  | 

## Recursos relacionados
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-resources"></a>

**Create and configure a VPC ** (Crear y configurar una VPC)
+ [Create a security group for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) (Crear un grupo de seguridad para la VPC)
+ [Create a network ACL](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) (Crear una ACL de red)

** **

**Create and configure the Amazon DocumentDB cluster** (Crear y configurar el clúster de Amazon DocumentDB)
+ [Create an Amazon DocumentDB cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-cluster) (Crear un clúster de Amazon DocumentDB)
+ [Install the mongo shell for Amazon DocumentDB ](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-mongoshell) (Instalar el intérprete de comandos de mongo para Amazon DocumentDB)
+ [Connect to your Amazon DocumentDB cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-connectcluster) (Conectarse al clúster de Amazon DocumentDB)

** **

**Create and configure the AWS DMS replication instance ** (Crear y configurar una instancia de replicación de AWS DMS)
+ [Use public and private replication instances](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.PublicPrivate) (Usar instancias de replicación pública y privada)

** **

**Create and test the source and target endpoints in AWS DMS ** (Crear y probar los puntos de conexión de origen y destino en AWS DMS)
+ [Use Amazon DocumentDB as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/target.docdb.html) (Utilizar Amazon DocumentDB como destino para AWS DMS)
+ [Use a SQL Server database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) (Utilizar una base de datos de SQL Server como origen para AWS DMS)
+ [Use AWS DMS endpoints](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html) (Utilizar puntos de conexión de AWS DMS)

** **

**Migración de datos**
+ [Migrate to Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-migration.html) (Migrar a Amazon DocumentDB)

** **

**Otros recursos**
+ [Limitations on using SQL Server as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Limitations) (Restricciones en el uso de SQL Server como origen para AWS DMS) 
+ [How to use Amazon DocumentDB to build and manage applications at scale](https://aws.amazon.com/blogs/database/how-to-use-amazon-documentdb-with-mongodb-compatibility-to-build-and-manage-applications-at-scale/) (Cómo utilizar Amazon DocumentDB para crear y gestionar aplicaciones a gran escala)

# Migre una base de datos ThoughtSpot Falcon local a Amazon Redshift
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift"></a>

*Battulga Purevragchaa y Antony Prasad Thevaraj, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-summary"></a>

El almacenamiento de datos en las instalaciones requiere una cantidad considerable de tiempo y recursos de administración, especialmente en el caso de conjuntos de datos de gran tamaño. El costo financiero de compilar, mantener y hacer crecer estos almacenes también es muy alto. Para ayudar a administrar los costos, mantener baja la complejidad de extracción, transformación y carga (ETL) y ofrecer rendimiento a medida que sus datos crecen, debe elegir constantemente qué datos cargar y qué datos archivar.

Al migrar sus [bases de datos ThoughtSpot Falcon](https://docs.thoughtspot.com/software/latest/data-caching) locales a la nube de Amazon Web Services (AWS), puede acceder a lagos de datos y almacenes de datos basados en la nube que aumentan la agilidad, la seguridad y la confiabilidad de las aplicaciones de su empresa, además de reducir los costos generales de infraestructura. Amazon Redshift ayuda a reducir considerablemente los costos y los gastos operativos de un almacenamiento de datos. También puede usar Amazon Redshift Spectrum para analizar grandes cantidades de datos en su formato nativo sin necesidad de cargar los datos.

Este patrón describe los pasos y el proceso para migrar una base de datos ThoughtSpot Falcon de un centro de datos local a una base de datos de Amazon Redshift en la nube de AWS.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos ThoughtSpot Falcon alojada en un centro de datos local

**Versiones de producto**
+ ThoughtSpot versión 7.0.1 

## Arquitectura
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-architecture"></a>

![\[Migración de una base de datos ThoughtSpot Falcon desde un centro de datos local a Amazon Redshift.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/b0ca29f4-b269-4b57-b386-738693a6b334/images/2b483990-1f30-439c-ba13-dc0cb0650360.png)


 

En el diagrama, se muestra el siguiente flujo de trabajo:

1. Los datos se alojan en una base de datos relacional en las instalaciones.

1. La herramienta de conversión de esquemas de AWS (AWS SCT) convierte el lenguaje de definición de datos (DDL) que es compatible con Amazon Redshift.

1. Una vez creadas las tablas, puede migrar los datos mediante AWS Database Migration Service (AWS DMS).

1. Los datos se cargan en Amazon Redshift.

1. Los datos se almacenan en Amazon Simple Storage Service (Amazon S3) si utiliza Redshift Spectrum o si ya aloja los datos en Amazon S3.

## Tools (Herramientas)
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html): AWS Data Migration Service (AWS DMS) le ayuda a migrar bases de datos a AWS de forma rápida y segura.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html): Amazon RedShift es un servicio de almacenamiento de datos de escala de petabyte rápido, totalmente administrado, que hace que sea simple y rentable analizar de manera eficiente todos sus datos utilizando sus herramientas de inteligencia empresariales existentes.
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): la herramienta de conversión de esquemas de AWS (AWS SCT) convierte el esquema de base de datos existente de un motor de base de datos a otro.

## Epics
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique la configuración de Amazon Redshift adecuada. | Identifique la configuración de clúster de Amazon Redshift adecuada en función de sus requisitos y volumen de datos. Para obtener más información, consulte [Clústeres de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Investigue Amazon Redshift para evaluar si cumple con sus requisitos. | Utilice [Amazon Redshift FAQs](https://aws.amazon.com/redshift/faqs/) para comprender y evaluar si Amazon Redshift cumple sus requisitos. | Administrador de base de datos | 

### Preparación del clúster de Amazon Redshift de destino
<a name="prepare-the-target-amazon-redshift-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un clúster de Amazon Redshift. | Inicie sesión en la consola de administración de AWS, abra la consola de Amazon Redshift y, a continuación, cree un clúster de Amazon Redshift en una nube privada virtual (VPC). Para obtener más información, consulte [Creación de un clúster en una VPC](https://docs.aws.amazon.com/redshift/latest/mgmt/getting-started-cluster-in-vpc.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Lleve a cabo una PoC para el diseño de su base de datos de Amazon Redshift. | Siga las prácticas recomendadas de Amazon Redshift realizando una prueba de concepto (PoC) para el diseño de su base de datos. Para obtener más información, consulte [Realización de una prueba de concepto para Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/proof-of-concept-playbook.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Cree usuarios de bases de datos. | Cree los usuarios en la base de datos de Amazon Redshift y asigne los roles adecuados para acceder al esquema y a las tablas.  Para obtener más información, consulte [Conceder privilegios de acceso a un usuario o grupo de usuarios](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Aplique los parámetros de configuración a la base de datos de destino. | Aplique los parámetros de configuración a la base de datos de Amazon Redshift según sus requisitos. Para obtener más información sobre cómo habilitar los parámetros de base de datos, sesión y servidor, consulte la [Referencia de configuración](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 

### Crear objetos en el clúster de Amazon Redshift
<a name="create-objects-in-the-amazon-redshift-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree tablas manualmente con DDL en Amazon Redshift. | (Opcional) Si utiliza AWS SCT, las tablas se crean automáticamente. Sin embargo, si se producen errores al replicar DDLs, tendrá que crear las tablas manualmente | Administrador de base de datos | 
| Crear tablas externas para Redshift Spectrum. | Cree una tabla externa con un esquema externo para Amazon Redshift Spectrum. Para crear tablas externas, debe ser el propietario del esquema externo o un [superusuario de base de datos](https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html). Para obtener más información, consulte [Creación de tablas externas para Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 

### Migración de datos utilizando AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice AWS DMS para migrar los datos. | Tras crear el DDL de las tablas en la base de datos de Amazon Redshift, migre sus datos a Amazon Redshift mediante AWS DMS.Para obtener instrucciones y pasos detallados, consulte [Uso de una base de datos de Amazon Redshift como destino de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Uso del comando COPY para cargar datos. | Utilice el comando `COPY` de Amazon Redshift para cargar los datos desde Amazon S3 a Amazon Redshift.Para obtener más información, consulte [Uso del comando COPIAR para cargar desde Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 

### Validar el clúster de Amazon Redshift
<a name="validate-the-amazon-redshift-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide los registros de origen y destino.  | Valide el recuento de tablas de los registros de origen y destino que se cargaron desde el sistema de origen. | Administrador de base de datos | 
| Implemente las prácticas recomendadas de Amazon Redshift para el ajuste del rendimiento. | Implemente las prácticas recomendadas de Amazon Redshift para el diseño de tablas y bases de datos. Para obtener más información, consulte la siguiente entrada del blog: [Las 10 técnicas principales de ajuste del rendimiento de Amazon Redshift](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/). | Administrador de base de datos | 
| Optimizar el rendimiento de la consulta. | Amazon RedShift utiliza consultas basadas en SQL para interactuar con datos y objetos en el sistema. El Data Manipulation Language (DML, Lenguaje de manipulación de datos) es el subconjunto de SQL que el usuario utiliza para ver, añadir, cambiar y eliminar datos. DDL es el subconjunto de SQL que el usuario utiliza para añadir, cambiar y eliminar objetos de la base de datos como tablas y vistas.Para obtener más información, consulte [Ajuste del rendimiento de las consultas](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Implemente WLM.  | Puede utilizar workload management (WLM) para definir varias colas de consultas y dirigir las consultas a las colas adecuadas en tiempo de ejecución.Para obtener más información, consulte [Implementación de la administración de la carga de trabajo](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Trabajar con escalado de concurrencia. | Al usar la característica de escalado de concurrencia, puede admitir usuarios concurrentes prácticamente ilimitados y consultas concurrentes, con un rendimiento de consulta consistentemente rápido.Para obtener más información, consulte [Uso del escalado de simultaneidad](https://docs.aws.amazon.com/redshift/latest/dg/concurrency-scaling.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Use las prácticas recomendadas de Amazon RedShift para el diseño de tablas. | Cuando planifica su base de datos, ciertas decisiones importantes de diseño de tabla pueden influir considerablemente en el rendimiento general de la consulta.Para obtener más información sobre seleccionar la opción de diseño de tablas más adecuada, consulte [Prácticas recomendadas de Amazon Redshift para el diseño de tablas](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Crear vistas materializadas en Amazon Redshift. | Una vista materializada contiene un conjunto de resultados computados previamente, basados en una consulta de SQL sobre una o más tablas base. Puede emitir instrucciones `SELECT` para consultar una vista materializada, de la misma manera que puede consultar otras tablas o vistas en la base de datos.Para obtener más información, consulte [Creación de vistas materializadas en Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Defina las uniones entre las tablas. | Para buscar en más de una tabla al mismo tiempo ThoughtSpot, debe definir las uniones entre las tablas especificando columnas que contengan datos coincidentes en dos tablas. Estas columnas representan la `primary key` y `foreign key` de la unión.Puede definirlos mediante el `ALTER TABLE` comando de Amazon Redshift o. ThoughtSpot Para obtener más información, consulte [ALTER TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE.html) en la documentación de Amazon RedShift. | Administrador de base de datos | 

### Configurar la ThoughtSpot conexión a Amazon Redshift
<a name="set-up-thoughtspot-connection-to-amazon-redshift"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Añada una conexión de Amazon Redshift. | Añada una conexión Amazon Redshift a su base de datos Falcon local. ThoughtSpot Para obtener más información, consulte [Añadir una conexión Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-add-connection.html) en la ThoughtSpot documentación. | Administrador de base de datos | 
| Edite la conexión de Amazon Redshift. | Puede editar la conexión de Amazon Redshift para añadir tablas y columnas.Para obtener más información, consulte [Edición de una conexión de Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-edit-connection.html) en la ThoughtSpot documentación. | Administrador de base de datos | 
| Reasigne la conexión de Amazon Redshift. | Modifique los parámetros de conexión editando el archivo .yaml de asignación de origen que se creó al añadir la conexión de Amazon Redshift. Por ejemplo, puede reasignar la tabla o columna existente a una tabla o columna diferente en una conexión de base de datos existente. ThoughtSpot recomienda comprobar las dependencias antes y después de volver a mapear una tabla o columna de una conexión para asegurarse de que se muestran según sea necesario.Para obtener más información, consulte [Remapear una conexión de Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-remap-connection.html) en ThoughtSpot la documentación. | Administrador de base de datos | 
| Elimine una tabla de la conexión de Amazon Redshift.  | (Opcional) Si intenta eliminar una tabla de una conexión de Amazon Redshift, ThoughtSpot comprueba las dependencias y muestra una lista de objetos dependientes. Puede elegir los objetos de la lista para eliminarlos o eliminar la dependencia. A continuación puede eliminar la tabla.Para obtener más información, consulte [Eliminar una tabla de una conexión de Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table.html) en la ThoughtSpot documentación. | Administrador de base de datos | 
|  Elimine una tabla con objetos dependientes de una conexión de Amazon Redshift. | (Opcional) Si intenta eliminar una tabla con objetos dependientes, la operación se bloquea. Se muestra una ventana `Cannot delete` con una lista de enlaces a objetos dependientes. Cuando se eliminen todas las dependencias, podrá eliminar la tablaPara obtener más información, consulte [Eliminar una tabla con objetos dependientes de una conexión de Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table-dependencies.html) en la ThoughtSpot documentación. | Administrador de base de datos | 
| Elimine una conexión de Amazon Redshift. | (Opcional) Como una conexión se puede utilizar en varios orígenes de datos o visualizaciones, debe eliminar todas las fuentes y tareas que utilizan esa conexión antes de poder eliminar la conexión de Amazon Redshift.Para obtener más información, consulte [Eliminar una conexión de Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-connection.html) en la ThoughtSpot documentación. | Administrador de base de datos | 
|  Compruebe la referencia de conexión de Amazon Redshift. | Asegúrese de proporcionar la información requerida para su conexión a Amazon Redshift utilizando la [referencia de conexión](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-connection-reference.html) de la documentación. ThoughtSpot  | Administrador de base de datos | 

## Información adicional
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-additional"></a>
+ [Análisis basados en IA a cualquier escala con Amazon ThoughtSpot Redshift](https://aws.amazon.com/blogs/apn/ai-driven-analytics-at-any-scale-with-thoughtspot-and-amazon-redshift/)
+ [Precios de Amazon Redshift](https://aws.amazon.com/redshift/pricing/)
+ [Introducción a AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html) 
+ [Introducción a Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Uso de agentes de extracción de datos](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Chick-fil-A mejora la velocidad de obtención de información con ThoughtSpot AWS](https://www.thoughtspot.com/sites/default/files/pdf/ThoughtSpot-Chick-fil-A-AWS-Case-Study.pdf) 

# Migre de Oracle Database a Amazon RDS for PostgreSQL mediante Oracle GoldenGate
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate"></a>

*Dhairya Jindani, Sindhusha Paturu y Rajeshkumar Sabankar, Amazon Web Services*

## Resumen
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-summary"></a>

Este patrón muestra cómo migrar una base de datos Oracle a Amazon Relational Database Service (Amazon RDS) para PostgreSQL mediante Oracle Cloud Infrastructure (OCI). GoldenGate

Con Oracle GoldenGate, puede replicar datos entre la base de datos de origen y una o más bases de datos de destino con un tiempo de inactividad mínimo.

**nota**  
La base de datos Oracle de origen puede estar en las instalaciones o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). Puede utilizar un procedimiento similar cuando utilice herramientas de replicación en las instalaciones.

## Requisitos previos y limitaciones
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una licencia de Oracle GoldenGate 
+ Controlador de Java Database Connectivity (JDBC) para conectarse a la base de datos PostgreSQL
+ Esquema y tablas creados con la [herramienta de conversión de esquemas de AWS (AWS SCT)](https://aws.amazon.com/dms/schema-conversion-tool/) en la base de datos Amazon RDS para PostgreSQL de destino

**Limitaciones**
+ Oracle solo GoldenGate puede replicar los datos de las tablas existentes (carga inicial) y los cambios en curso (captura de datos de cambios)

**Versiones de producto**
+ Oracle Database 10g Enterprise Edition o versiones más recientes 
+ Oracle GoldenGate 12.2.0.1.1 para Oracle o versiones más recientes
+ Oracle GoldenGate 12.2.0.1.1 para PostgreSQL o versiones más recientes

## Arquitectura
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-architecture"></a>

El siguiente diagrama muestra un ejemplo de flujo de trabajo para migrar una base de datos de Oracle a Amazon RDS for PostgreSQL mediante Oracle: GoldenGate

![\[Flujo de trabajo de migración de una base de datos de Oracle en las instalaciones a Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/384f0eaf-8582-474a-a7f4-ec1048a4feb3/images/de541887-0d5f-4a9a-b136-ce2599355cb8.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. El [proceso de GoldenGate extracción](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-6419F3A9-71EC-4D14-9C41-3BAA1E3CA19C) de Oracle se ejecuta en la base de datos de origen para extraer los datos.

1. El [proceso de Oracle GoldenGate Replicat](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-5EF0326C-9058-4C40-8925-98A223388C95) entrega los datos extraídos a la base de datos Amazon RDS for PostgreSQL de destino.

## Tools (Herramientas)
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-tools"></a>
+ [Oracle](https://www.oracle.com/integration/goldengate/#:~:text=OCI%20GoldenGate%20is%20a%20real,in%20the%20Oracle%20Cloud%20Infrastructure.) le GoldenGate ayuda a diseñar, ejecutar, organizar y monitorear sus soluciones de procesamiento de datos y de replicación de datos en streaming en Oracle Cloud Infrastructure.
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la nube de AWS.

## Epics
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-epics"></a>

### Descargue e instale Oracle GoldenGate
<a name="download-and-install-oracle-goldengate"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue Oracle GoldenGate. | Descargue las siguientes versiones de Oracle GoldenGate:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html)Para descargar el software, consulte [ GoldenGate Descargas de Oracle en el sitio web de Oracle](https://www.oracle.com/middleware/technologies/goldengate-downloads.html). | Administrador de base de datos | 
| Instale Oracle GoldenGate for Oracle en el servidor de Oracle Database de origen. | Para obtener instrucciones, consulte la [ GoldenGate documentación de Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | Administrador de base de datos | 
| Instale la base de datos Oracle GoldenGate for PostgreSQL en la instancia de Amazon. EC2  | Para obtener instrucciones, consulte la documentación de [Oracle GoldenGate ](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | Administrador de base de datos | 

### Configure Oracle GoldenGate en las bases de datos de origen y destino
<a name="configure-oracle-goldengate-on-the-source-and-target-databases"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure Oracle GoldenGate for Oracle Database en la base de datos de origen. | Para obtener instrucciones, consulte la [ GoldenGate documentación de Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm).Asegúrese de configurar lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | Administrador de base de datos | 
| Configure Oracle GoldenGate para PostgreSQL en la base de datos de destino. | Para obtener instrucciones, consulte la [Parte VI Uso de Oracle GoldenGate para PostgreSQL](https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/using-oracle-goldengate-postgresql.html) en el sitio web de Oracle.Asegúrese de configurar lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | Administrador de base de datos | 

### Configuración de la captura de datos
<a name="configure-the-data-capture"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el proceso de extracción en la base de datos de origen. | En la base de datos de Oracle de origen, cree un archivo de extracción para extraer los datos.Para obtener instrucciones, consulte [ADD EXTRACT](https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/ggsci_commands006.htm#GWURF122) en la documentación de Oracle.El archivo de extracción incluye la creación del archivo de parámetros de extracción y el directorio de archivos de seguimiento. | Administrador de base de datos | 
| Configure una bomba de datos para transferir el archivo de seguimiento de la base de datos de origen a la de destino. | Cree un archivo de parámetros EXTRACT y un directorio de archivos de seguimiento siguiendo las instrucciones que aparecen en [PARFILE](https://docs.oracle.com/database/121/SUTIL/GUID-7A045C82-5993-44EB-AFAD-B7D39C34BCCD.htm#SUTIL859) en *Utilidades de bases de datos*, en el sitio web de Oracle.Para obtener más información, consulte [¿Qué es una ruta?](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-88674F53-1E07-4C00-9868-598F82D7113C) en *Fusion Middleware Understanding Oracle GoldenGate* en el sitio web de Oracle. | Administrador de base de datos | 
| Configure la replicación en la EC2 instancia de Amazon. | Cree un archivo de parámetros de replicación y un directorio de archivos de seguimiento.Para obtener más información sobre la creación de archivos de parámetros de replicación, consulte la sección [3.5 Validación de un archivo de parámetros](https://docs.oracle.com/en/middleware/goldengate/core/21.3/admin/using-oracle-goldengate-parameter-files.html#GUID-1E32A9AD-25DB-4243-93CD-E643E7116215) en la documentación de la base de datos de Oracle.Para obtener más información, consulte [Creación de un registro de seguimiento](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/creating-trail.html) en la documentación de CloudTrail.Asegúrese de agregar una entrada en la tabla de puntos de control en el archivo GLOBALS del destino.Para obtener más información, consulte [¿Qué es un replicante?](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GGCON-GUID-5EF0326C-9058-4C40-8925-98A223388C95) en *Fusion Middleware Understanding Oracle GoldenGate* en el sitio web de Oracle. | Administrador de base de datos | 

### Configure la replicación de datos
<a name="configure-the-data-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| En la base de datos de origen, cree un archivo de parámetros para extraer los datos de la carga inicial. | Siga las instrucciones de la sección [Creación de un archivo de parámetros en GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) en la documentación de Oracle Cloud.Asegúrese de que el administrador se ejecute en el destino. | Administrador de base de datos | 
| En la base de datos de destino, cree un archivo de parámetros para replicar los datos de la carga inicial. | Siga las instrucciones de la sección [Creación de un archivo de parámetros en GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) en la documentación de Oracle Cloud.Asegúrese de agregar e iniciar el proceso de replicación. | Administrador de base de datos | 

### Cambie a la base de datos de Amazon RDS para PostgreSQL
<a name="cut-over-to-the-amazon-rds-for-postgresql-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detenga el proceso de replicación y asegúrese de que las bases de datos de origen y destino estén sincronizadas. | Compare los recuentos de filas entre las bases de datos de origen y destino para asegurarse de que la replicación de los datos se realizó correctamente. | Administrador de base de datos | 
| Compatibilidad con el lenguaje de definición de datos (DDL) de configuración. | Ejecute el script DDL para crear activadores, secuencias, sinónimos y claves referenciales en PostgreSQL.Puede usar cualquier aplicación cliente de SQL estándar para conectarse al clúster de base de datos. Por ejemplo, puede usar [pgAdmin](https://www.pgadmin.org/) para conectarse a su instancia de base de datos. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-resources"></a>
+ [Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) en la *Guía del usuario de Amazon RDS*
+ [ EC2 Documentación de Amazon](https://docs.aws.amazon.com/ec2/)
+ [Métodos de procesamiento y bases de datos GoldenGate compatibles con Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD112) (documentación de Oracle)

# Migración de una tabla particionada de Oracle a PostgreSQL mediante AWS DMS
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms"></a>

*Saurav Mishra y Eduardo Valentim, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-summary"></a>

Este patrón describe cómo acelerar la carga de una tabla particionada de Oracle a PostgreSQL mediante AWS Database Migration Service (AWS DMS), que no admite el particionamiento nativo. La base de datos PostgreSQL de destino se puede instalar en Amazon Elastic Compute Cloud ( EC2Amazon) o puede ser una instancia de base de datos Edition compatible con PostgreSQL o Amazon Aurora PostgreSQL compatible con PostgreSQL. 

La carga de una tabla particionada incluye los pasos siguientes:

1. Cree una tabla principal similar a la tabla de particiones de Oracle, pero no incluya ninguna partición.

1. Cree tablas secundarias que hereden de la tabla principal que se creó en el paso 1.

1. Cree una función de procedimiento y un disparador para gestionar las inserciones en la tabla principal.

Sin embargo, dado que el disparador se activa para cada inserción, la carga inicial con AWS DMS puede ser muy lenta.

Para acelerar las cargas iniciales de Oracle a PostgreSQL 9.0, este patrón crea una tarea de AWS DMS independiente para cada partición y carga las tablas secundarias correspondientes. A continuación, se crea un disparador durante la transición. 

La versión 10 de PostgreSQL admite particiones nativas. Sin embargo, en algunos casos puede decidir utilizar la partición heredada. Para obtener más información, consulte la sección [Additional information](#migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional) (Información adicional).

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de Oracle de origen con una tabla particionada
+ Una base de datos PostgreSQL en AWS

**Versiones de producto**
+ PostgreSQL 9.0

## Arquitectura
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Una tabla particionada en Oracle

**Pila de tecnología de destino**
+ Una tabla particionada en PostgreSQL (en EC2 Amazon, Amazon RDS for PostgreSQL o Aurora PostgreSQL)

**Arquitectura de destino**

![\[Tabla de datos particionada de Oracle que se transfiere a la tarea de AWS DMS para cada partición y, a continuación, a PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7fa2898e-3308-436a-aec8-ab6f680d7bac/images/1b9742ea-a13d-434c-83a7-56686cf76ea0.png)


## Tools (Herramientas)
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.

## Epics
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-epics"></a>

### Configure AWS DMS
<a name="set-up-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree las tablas en PostgreSQL. | Cree las tablas principales y secundarias correspondientes en PostgreSQL con las condiciones de comprobación necesarias para las particiones. | Administrador de base de datos | 
| Cree la tarea AWS DMS para cada partición. | Incluya el estado del filtro de la partición en la tarea de AWS DMS. Asigne las particiones a las tablas secundarias de PostgreSQL correspondientes. | Administrador de base de datos | 
| Ejecute las tareas de AWS DMS con captura de datos de cambio y carga completa (CDC). | Además, compruebe que el parámetro `StopTaskCachedChangesApplied` está establecido en `true` y que el parámetro `StopTaskCachedChangesNotApplied` está establecido en `false`. | Administrador de base de datos | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detiene la tarea de replicación. | Antes de detener las tareas, confirme que el origen y el destino están sincronizados. | Administrador de base de datos | 
| Cree un disparador en la tabla principal. | Como la tabla principal recibirá todos los comandos de inserción y actualización, cree un activador que dirija estos comandos a las tablas secundarias respectivas en función de la condición de partición. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Particionamiento de tablas (documentación de PostgreSQL)](https://www.postgresql.org/docs/10/ddl-partitioning.html)

## Información adicional
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional"></a>

Aunque la versión 10 de PostgreSQL admite la partición nativa, puede decidir usar la partición heredada para los siguientes casos de uso:
+ La partición impone una regla según la cual todas las particiones deben tener el mismo conjunto de columnas que la principal, pero la herencia de tablas permite que las particiones secundarias tengan columnas adicionales.
+ La herencia de tablas admite herencias múltiples.
+ La partición declarativa solo admite la partición de listas y rangos. Con la herencia de tablas, puede dividir los datos como desee. Sin embargo, si la exclusión de la restricción no puede reducir las particiones de forma eficaz, el rendimiento de las consultas se verá afectado.
+ Algunas operaciones necesitan un bloqueo más fuerte cuando se usa la partición declarativa que cuando se usa la herencia de tablas. Por ejemplo, añadir o quitar una partición de una tabla particionada requiere un bloqueo `ACCESS EXCLUSIVE` en la tabla principal, mientras que un bloqueo `SHARE UPDATE EXCLUSIVE` es suficiente para una herencia normal.

Si utiliza particiones de trabajo independientes, también puede volver a cargar las particiones si hay algún problema de validación de AWS DMS. Para mejorar el rendimiento y el control de la replicación, ejecute las tareas en instancias de replicación independientes.

# Migración de de Amazon RDS para Oracle a Amazon RDS para MySQL
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql"></a>

*Jitender Kumar, Srini Ramaswamy y Neha Sharma, Amazon Web Services*

## Resumen
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-summary"></a>

Este patrón proporciona una guía para migrar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una base de datos de Amazon RDS para MySQL en la nube de Amazon Web Services (AWS). Este patrón utiliza AWS Database Migration Service (AWS DMS) y la Herramienta de conversión de esquemas de AWS (AWS SCT). 

El patrón proporciona las prácticas recomendadas para gestionar la migración de los procedimientos almacenados. También trata y cambia el código para admitir la capa de aplicación. 

## Requisitos previos y limitaciones
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de origen de Amazon RDS para Oracle.
+ Una base de datos de destino de Amazon RDS para MySQL. Las bases de datos de origen y de destino deben estar en la misma nube privada virtual (VPC). Si utilizas varios VPCs o debes tener los permisos de acceso necesarios.
+ Grupos de seguridad que permiten la conectividad entre las bases de datos de origen y destino, AWS SCT, el servidor de la aplicación y AWS DMS.
+ Una cuenta de usuario con los privilegios necesarios para ejecutar AWS SCT en la base de datos de origen.
+ Registro suplementario activado para ejecutar AWS DMS en la base de datos de origen.

**Limitaciones**
+ El límite de tamaño de la base de datos de Amazon RDS de origen y destino es de 64 TB. Para obtener información sobre el tamaño de Amazon RDS, consulte la [documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
+ Oracle distingue mayúsculas de minúsculas para los objetos de base de datos, pero MySQL no. AWS SCT puede gestionar este problema al crear un objeto. Sin embargo, es necesario llevar a cabo algunos trabajos manuales para no distinguir entre mayúsculas y minúsculas.
+ Esta migración no utiliza extensiones de MySQL para habilitar las funciones nativas de Oracle. AWS SCT gestiona la mayor parte de la conversión, pero es necesario trabajar un poco para cambiar el código manualmente.
+ Se requieren cambios en el controlador de Java Database Connectivity (JDBC) en la aplicación.

**Versiones de producto**
+ Amazon RDS para Oracle 12.2.0.1 y versiones posteriores. Para ver las versiones de RDS para Oracle compatibles actualmente, consulte la [documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html).
+ Amazon RDS para MySQL 8.0.15 y versiones posteriores Para ver las versiones de RDS para MySQL compatibles actualmente, consulte la [documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html).
+ AWS DMS, versión 3.3.0 y posteriores. Consulte la documentación de AWS para obtener más información sobre los [puntos de conexión de origen](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html) y [de destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) compatibles con AWS DMS.
+ AWS SCT, versión 1.0.628 y posteriores.  Consulte [AWS SCT source and target endpoint support matrix](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) en la documentación de AWS.

## Arquitectura
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-architecture"></a>

**Pila de tecnología de origen**
+ Amazon RDS para Oracle. Para obtener más información, consulte [Using an Oracle database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 

**Pila de tecnología de destino**
+ Amazon RDS para MySQL. Para obtener más información, consulte [Using a MySQL-Compatible database as a target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html).

**Arquitectura de migración**

En el siguiente diagrama, AWS SCT copia y convierte los objetos de esquema de la base de datos de origen de Amazon RDS para Oracle y envía los objetos a la base de datos de destino de Amazon RDS para MySQL. AWS DMS replica los datos de la base de datos de origen y los envía a la instancia de Amazon RDS para MySQL.

![\[AWS SCT, AWS DMS y Amazon RDS se implementaron en una subred privada.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)


## Tools (Herramientas)
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-tools"></a>
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) lo ayuda a migrar almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS. Este patrón utiliza [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) and [Amazon RDS para MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html).
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.

## Epics
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-epics"></a>

### Preparación para la migración
<a name="prepare-for-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
|  Identifique los requisitos de hardware de la instancia del servidor de destino. |  | DBA, SysAdmin | 
| Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Elija el tipo de instancia apropiado (capacidad, características de almacenamiento y características de red). |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red de las bases de datos de origen y destino. |  | DBA, SysAdmin  | 
| Elija una estrategia de migración de aplicaciones. | Considere si desea un tiempo de inactividad total o parcial para las actividades en transición. | DBA, propietario de la SysAdmin aplicación | 

### Configurar la infraestructura
<a name="configure-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Creación de una VPC y de subredes. |  | SysAdmin | 
| Cree grupos de seguridad y listas de control de acceso a la red (ACLs). |  | SysAdmin | 
| Configure e inicie la instancia de Amazon RDS para Oracle. |  | DBA, SysAdmin | 
| Configure e inicie la instancia de Amazon RDS para MySQL.  |  | DBA, SysAdmin | 
| Prepare un caso de prueba para la validación de la conversión de código. | Esto ayudará a realizar pruebas unitarias para el código convertido. | Administrador de base de datos, desarrollador | 
| Configure la instancia de AWS DMS. |  |  | 
| Configure los puntos de conexión de origen y destino en AWS DMS. |  |  | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Generar el script de la base de datos de destino mediante AWS SCT. | Compruebe la precisión del código convertido por AWS SCT. Será necesario realizar algunos trabajos manuales. | Administrador de base de datos, desarrollador | 
| En AWS SCT, elija la configuración “Sin distinción entre mayúsculas y minúsculas”. | En AWS SCT, elija Configuración del proyecto, Distinción entre mayúsculas y minúsculas del destino, Sin distinción entre mayúsculas y minúsculas. | Administrador de base de datos, desarrollador | 
| En AWS SCT, opte por no utilizar la función nativa de Oracle. | En la configuración del proyecto, compruebe las funciones TO\$1 \$1DATECHAR/TO\$1NUMBER/TO. | Administrador de base de datos, desarrollador | 
| Realice cambios en el código “sql%notfound”. | Puede que tenga que convertir el código manualmente. |  | 
| Realice consultas sobre tablas y objetos en procedimientos almacenados (utilice consultas en minúsculas). |  | Administrador de base de datos, desarrollador | 
| Cree el script principal después de realizar todos los cambios y, a continuación, impleméntelo en la base de datos de destino. |  | Administrador de base de datos, desarrollador | 
| Realice pruebas unitarias de procedimientos almacenados y llamadas a aplicaciones utilizando datos de muestra.  |  |  | 
| Limpie los datos que se crearon durante las pruebas unitarias. |  | Administrador de base de datos, desarrollador | 
| Elimine las restricciones de clave externa en la base de datos de destino. | Este paso es obligatorio para cargar los datos iniciales. Si no desea eliminar las restricciones de clave externa, debe crear una tarea de migración para los datos específicos de las tablas principal y secundaria. | Administrador de base de datos, desarrollador | 
| Coloque las claves principales y las claves únicas en la base de datos de destino. | Este paso da como resultado un mejor rendimiento para la carga inicial. | Administrador de base de datos, desarrollador | 
| Habilitar el registro suplementario en la base de datos de origen.  |  | Administrador de base de datos | 
| Cree una tarea de migración para la carga inicial en AWS DMS y ejecútela. | Seleccione la opción de migrar datos existentes. | Administrador de base de datos | 
| Añada las claves principales y las claves externas a la base de datos de destino. | Las restricciones deben añadirse después de la carga inicial. | Administrador de base de datos, desarrollador | 
| Cree una tarea de migración para la replicación continua. | La replicación continua mantiene la base de datos de destino sincronizada con la base de datos de origen. | Administrador de base de datos | 

### Migración de aplicaciones
<a name="migrate-applications"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Sustituya las funciones nativas de Oracle por funciones nativas de MySQL. |  | Propietario de la aplicación | 
| Asegúrese de que solo se usen nombres en minúscula para los objetos de base de datos en las consultas SQL. |  | DBA, SysAdmin propietario de la aplicación | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Apague el servidor de la aplicación. |  | Propietario de la aplicación | 
| Valide que las bases de datos de origen y destino estén sincronizadas. |  | Administrador de base de datos, propietario de la aplicación | 
| Detenga la instancia de base de datos de Amazon RDS para Oracle. |  | Administrador de base de datos | 
| Detenga la tarea de migración. | Se detendrá automáticamente después de completar el paso anterior. | Administrador de base de datos | 
| Cambie la conexión JDBC de Oracle a MySQL. |  | Administrador de base de datos, propietario de la aplicación | 
| Inicie la aplicación. |  | DBA, propietario de la SysAdmin aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Revise y valide los documentos del proyecto. |  | DBA, SysAdmin | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de tareas manuales en comparación con las tareas automatizadas, el ahorro de costos, etc. |  | DBA, SysAdmin | 
| Detenga y elimine las instancias de AWS DMS. |  | Administrador de base de datos | 
| Elimine los puntos de conexión de la base de datos de origen y de destino. |  | Administrador de base de datos | 
| Elimine las tareas de migración. |  | Administrador de base de datos | 
| Realice una instantánea de la instancia de base de datos de Amazon RDS para Oracle. |  | Administrador de base de datos | 
| Elimine la instancia de base de datos de Amazon RDS para Oracle. |  | Administrador de base de datos | 
| Cierre y elimine cualquier otro recurso temporal de AWS que haya utilizado. |  | DBA, SysAdmin | 
| Cierre el proyecto y envíe sus comentarios. |  | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migre de IBM Db2 en Amazon EC2 a Aurora compatible con PostgreSQL mediante AWS DMS y AWS SCT
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct"></a>

*Sirsendu Halder y Abhimanyu Chhabra, Amazon Web Services*

## Resumen
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-summary"></a>

Este patrón proporciona orientación para migrar una base de datos IBM Db2 en una instancia de Amazon Elastic Compute Cloud EC2 (Amazon) a una instancia de base de datos Edition compatible con Amazon Aurora PostgreSQL. Este patrón utiliza AWS Database Migration Service (AWS DMS) y Herramienta de conversión de esquemas de AWS (AWS SCT) para la migración de datos y la conversión de esquemas.

El patrón describe una estrategia de migración en línea con poco o ningún tiempo de inactividad para una base de datos IBM Db2 de varios terabytes que tiene un número elevado de transacciones. Le recomendamos que convierta las columnas de claves principales (PKs) y claves externas (FKs) con el tipo de datos `NUMERIC` a PostgreSQL `INT` o `BIGINT` en PostgreSQL para obtener un mejor rendimiento. 

## Requisitos previos y limitaciones
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Una base de datos IBM Db2 de origen en una instancia EC2 

**Versiones de producto**
+ DB2/LINUXX8664 versión 11.1.4.4 y versiones posteriores

## Arquitectura
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**** **
+ Una base de datos Db2 en una instancia EC2  

**Pila de tecnología de destino**
+ Una instancia de base de datos compatible con Aurora PostgreSQ versión 10.18 o instancia de base de datos posterior

**Arquitectura de migración de base de datos**** **

![\[Uso de AWS DMS para migrar de IMB Db2 en Amazon a una versión compatible con EC2 Aurora PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5e737fab-3e04-4887-9fb0-d1c88503b57d/images/789fabcc-8052-40d5-a746-986d799576e9.png)


## Tools (Herramientas)
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) ayuda a migrar los bases de datos a la nube de AWS o entre combinaciones de configuraciones en las instalaciones y en la nube. La base de datos de origen permanece totalmente operativa durante la migración, minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. Puede utilizar AWS DMS puede migrar sus datos desde y hasta las bases de datos comerciales y de código abierto más usadas. AWS DMS admite migraciones heterogéneas entre diferentes plataformas de bases de datos, como IBM Db2 a una versión 10.18 o posterior compatible con Aurora PostgreSQL. Para obtener más información, consulte [Fuentes de migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) y [Objetivos de migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) en la documentación de AWS DMS.
+ [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) ademite las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte de los objetos de código de base de datos, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato que sea compatible con la base de datos de destino. Los objetos que no se conviertan automáticamente se marcan claramente para que puedan convertirse manualmente con el objetivo de completar la migración. AWS SCT también puede analizar el código fuente de su aplicación en busca de instrucciones de SQL incrustadas y convertirlas. 

## Epics
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-epics"></a>

### Configuración del entorno
<a name="set-up-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una instancia de base de datos compatible con Aurora PostgreSQL. | Para crear una instancia de base de datos, siga las instrucciones de la [documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). Para engine type (Tipo de motor), elija **Amazon Aurora**. En edition (edición), seleccione **Edición compatible con Amazon Aurora PostgreSQL**.La instancia de base de datos de la versión 10.18 o posterior compatible con Aurora PostgreSQL debe estar en la misma nube privada virtual (VPC) que la base de datos de origen de IBM Db2. | Amazon RDS | 

### Convertir su esquema de base de dato
<a name="convert-your-database-schema"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instalar y verificar AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Administrador de AWS, administrador de base de datos, ingeniero de migraciones | 
| Inicie AWS SCT y cree un proyecto. | Para iniciar la herramienta AWS SCT y crear un nuevo proyecto para ejecutar un informe de evaluación de la migración de bases de datos, siga las instrucciones de la [documentación de AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Launching) | Ingeniero de migraciones | 
| Añada servidores de bases de datos y cree una regla de asignación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingeniero de migraciones | 
| Crear un informe de evaluación de la migración de la base de datos.  | Cree el informe de evaluación de la migración de la base de datos siguiendo los pasos de la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport). | Ingeniero de migraciones | 
| Consultar del informe de evaluación. | Utilice la pestaña **Resumen** del informe de evaluación de la migración de la base de datos para ver el informe y analizar los datos. Este análisis le ayudará a determinar la complejidad de la migración. Para obtener más información, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html). | Ingeniero de migraciones | 
| Convierta el esquema. | Para convertir su esquemas de base de datos de origen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Para obtener más información, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Converting). | Ingeniero de migraciones | 
| Aplicar el esquema de base de datos convertido a su instancia de base de datos de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Para obtener más información, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.ApplyingConversion). | Ingeniero de migraciones | 

### Migración de datos
<a name="migrate-your-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar grupos de parámetros de base de datos y una VPC.  | Configure grupos de parámetors de base de datos y una VPC, y configure las reglas y parámetros de entrada necesarios para la migración. Para obtener instrucciones, consulte la [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html).Para el grupo de seguridad de VPC, seleccione la EC2 instancia para Db2 y la instancia de base de datos compatible con Aurora PostgreSQL. Esta instancia de replicación debe estar en la misma región que las instancias de base de datos de origen y de destino. | Ingeniero de migraciones | 
| Prepare las instancias de base de datos de origen y destino. | Prepare las instancias de base de datos de origen y destino para la migración. En un entorno de producción, la base de datos de origen ya existirá.Para la base de datos de origen, el nombre del servidor debe ser el sistema de nombres de dominio (DNS) público de la instancia en la EC2 que se ejecuta Db2. Para el nombre de usuario, puede usar `db2inst1` seguido del puerto, que será 5000 para IBM Db2.  | Ingeniero de migraciones | 
| Crea un EC2 cliente y puntos de conexión de Amazon. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingeniero de migraciones | 
| Cree una instancia de replicación. | Cree una instancia de replicación mediante la consola de AWS DMS y especifique los puntos de conexión de origen y destino. La instancia de replicación realiza la migración de datos entre los puntos de conexión. Para obtener más información, consulte [la documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html).  | Ingeniero de migraciones | 
| Crear una tarea de AWS DMS para migrar los datos. | Cree una tarea para cargar las tablas de IBM Db2 de origen en la instancia de base de datos PostgreSQL de destino siguiendo los pasos de la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingeniero de migraciones | 

## Recursos relacionados
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-resources"></a>

**Referencias**
+ [Documentación de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
+ [Documentación del contenedor de datos externos (FDW) de PostgreSQL](https://www.postgresql.org/docs/10/postgres-fdw.html) 
+ [Documentación IMPORT FOREIGN SCHEMA de PostgreSQL](https://www.postgresql.org/docs/10/sql-importforeignschema.html) 
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/index.html)  
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

**Tutoriales y videos**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/) (guía)
+ [Introducción a Amazon EC2 : Elastic Cloud Server & Hosting con AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vídeo)

# Migre de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante AWS DMS SharePlex
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms"></a>

*Kumar Babu P G, Amazon Web Services*

## Resumen
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-summary"></a>

Este patrón describe cómo migrar una base de datos de Oracle 8i o 9i en las instalaciones a una base de datos de Amazon Relational Database Service (Amazon RDS) para PostgreSQL o Amazon Aurora PostgreSQL. AWS Database Migration Service (AWS DMS) no admite Oracle 8i o 9i como fuente, por lo que Quest SharePlex replica los datos de una base de datos 8i o 9i local en una base de datos Oracle intermedia (Oracle 10g u 11g), que es compatible con AWS DMS.

Desde la instancia intermedia de Oracle, el esquema y los datos se migran a la base de datos PostgreSQL en AWS mediante la herramienta de conversión de esquemas de AWS (AWS SCT) y AWS DMS. Este método ayuda a lograr una transmisión continua de datos desde la base de datos de Oracle de origen a la instancia de base de datos PostgreSQL de destino con un retraso de replicación mínimo. En esta implementación, el tiempo de inactividad se limita al tiempo que se tarda en crear o validar todas las claves, activadores y secuencias externas en la base de datos PostgreSQL de destino.

La migración utiliza una instancia de Amazon Elastic Compute Cloud (Amazon EC2) con Oracle 10g u 11g instalado para alojar los cambios de la base de datos Oracle de origen. AWS DMS utiliza esta instancia intermedia de Oracle como fuente para transmitir los datos a Amazon RDS para PostgreSQL o Aurora PostgreSQL. La replicación de datos se puede pausar y reanudar desde la base de datos de Oracle en las instalaciones a la instancia intermedia de Oracle. También se puede pausar y reanudar desde la instancia intermedia de Oracle hasta la base de datos PostgreSQL de destino para que pueda validar los datos mediante la validación de datos de AWS DMS o una herramienta de validación de datos personalizada.

## Requisitos previos y limitaciones
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de Oracle 8i o 9i de origen en un centro de datos en las instalaciones 
+ AWS Direct Connect, configurado entre el centro de datos en las instalaciones y AWS 
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores SCT de AWS instalados en una máquina local o en la instancia en la EC2 que está instalado AWS SCT
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ Familiaridad con la replicación de datos de Quest SharePlex 

 

**Limitaciones**
+ El límite de tamaño de la base de datos es de 64 TB
+ La base de datos de Oracle en las instalaciones debe ser Enterprise Edition

 

**Versiones de producto**
+ Oracle 8i o 9i para la base de datos de origen
+ Oracle 10g o 11g para la base de datos intermedia 
+ PostgreSQL 9.6 o posterior

## Arquitectura
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Oracle 8i o 9i 
+ Quest SharePlex 

 

**Pila de tecnología de destino**
+ Amazon RDS para PostgreSQL o Amazon Aurora PostgreSQL. 

** **

**Arquitectura de origen y destino**

![\[Architecture diagram showing migration from on-premises Oracle database to AWS cloud using various services.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/b6c30668-fc2e-4293-a59a-e01fd151f4bb/images/25082670-0bf3-4b20-8c80-99c6633b046f.png)


## Tools (Herramientas)
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-tools"></a>
+ **AWS DMS** – [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) ayuda a migrar los datos de forma rápida y segura a AWS. La base de datos de origen permanece totalmente operativa durante la migración, minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. AWS DMS puede migrar sus datos desde y hasta las bases de datos comerciales y de código abierto más usadas. 
+ **AWS SCT** – [La herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino. Los objetos que no se conviertan automáticamente se marcan claramente para que puedan convertirse manualmente con el objetivo de completar la migración. AWS SCT también puede analizar el código fuente de su aplicación en busca de instrucciones de SQL incrustadas y convertirlas como parte de un proyecto de conversión de esquemas de bases de datos. Durante este proceso, AWS SCT optimiza el código nativo en la nube al convertir las funciones heredadas de Oracle y SQL Server en sus equivalentes de AWS, para ayudarlo a modernizar sus aplicaciones mientras migra sus bases de datos. Una vez finalizada la conversión del esquema, AWS SCT puede ayudar a migrar datos de una variedad de almacenamiento de datos a Amazon Redshift mediante el uso de agentes de migración de datos integrados.
+ **Quest SharePlex**: [Quest SharePlex](https://www.quest.com/register/120420/?gclid=Cj0KCQiA6IHwBRCJARIsALNjViVSt9fHqAsf9XbWkoCwKKyQqollR_5kSxNhBagh9s3spQT4IQCaVy0aAmCnEALw_wcB) es una herramienta de replicación de Oracle-to-Oracle datos para mover datos con un tiempo de inactividad mínimo y sin pérdida de datos.

## Epics
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-epics"></a>

### Cree la EC2 instancia e instale Oracle
<a name="create-the-ec2-instance-and-install-oracle"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configura la red para Amazon EC2. | Creación de la nube privada virtual (VPC), subredes, puerta de enlace de Internet, tablas de enrutamiento y grupos de seguridad. | AWS SysAdmin | 
| Crea la nueva EC2 instancia. | Selecciona Amazon Machine Image (AMI) para la EC2 instancia. Elija el tamaño de la instancia y configura los detalles de la instancia: la cantidad de instancias (1), la VPC y la subred del paso anterior, la asignación automática de la IP pública y otras opciones. Agregue almacenamiento, configure grupos de seguridad y lance la instancia. Cuando se le pida, cree y guarde un par de claves para el siguiente paso. | AWS SysAdmin | 
| Instale Oracle en la EC2 instancia. | Adquiera las licencias y los binarios de Oracle necesarios e instale Oracle 10g u 11g en la instancia. EC2  | Administrador de base de datos | 

### Configure SharePlex en una EC2 instancia y configure la replicación de datos
<a name="set-up-shareplex-on-an-ec2-instance-and-configure-data-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar SharePlex. | Cree una EC2 instancia de Amazon e instale los SharePlex binarios compatibles con Oracle 8i o 9i. | AWS SysAdmin, administrador de bases de datos | 
| Configure la replicación de datos. | Siga las prácticas SharePlex recomendadas para configurar la replicación de datos desde una base de datos Oracle 8i/9i local a una instancia Oracle 10g/11g. | Administrador de base de datos | 

### Convertir el esquema de base de datos de Oracle a PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT. | Cree un informe nuevo y, a continuación, conéctese a Oracle como origen y a PostgreSQL como destino. En la configuración del proyecto, abra la pestaña SQL Scripting y cambie el script SQL de destino a Varios archivos. | Administrador de base de datos | 
| Convertir el esquema de base de datos de Oracle. | En la pestaña Acción, elija Generar informe, Convertir esquema y, a continuación, Guardar como SQL. | Administrador de base de datos | 
| Modifique los scripts SQL generados por AWS SCT. |  | Administrador de base de datos | 

### Creación y configuración de la instancia de base de datos de Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Creación de una instancia de base de datos de Amazon RDS | En la consola de Amazon RDS, cree una nueva instancia de base de datos PostgreSQL. | AWS SysAdmin, administrador de bases de datos | 
| Configure la instancia de base de datos. | Especifique la versión del motor de base de datos, la clase de instancia de base de datos, la implementación Multi-AZ, el tipo de almacenamiento y el almacenamiento asignado. Introduzca el identificador de la instancia de base de datos, un nombre de usuario maestro y una contraseña maestra. | AWS SysAdmin, administrador de bases de datos | 
| Configurar la red y la seguridad. | Especifique la VPC, el grupo de subredes, la accesibilidad pública, la preferencia de zona de disponibilidad y los grupos de seguridad. | AWS SysAdmin, administrador de bases de datos | 
| Configurar las opciones de la base de datos. | Especifique el nombre, el puerto, el grupo de parámetros, el cifrado y la clave maestra de la base de datos. | AWS SysAdmin, administrador de bases de datos | 
| Configure copias de seguridad. | Especifique el período de retención de la copia de seguridad, la ventana de copia de seguridad, la hora de inicio, la duración y si desea copiar las etiquetas a las instantáneas. | AWS SysAdmin, administrador de bases de datos | 
| Configure las opciones de monitoreo. | Habilite y desactive la monitorización mejorada de información sobre rendimiento. | AWS SysAdmin, administrador de bases de datos | 
| Configurar las opciones de mantenimiento. | Especifique la actualización automática de la versión secundaria, el período de mantenimiento y el día, la hora y la duración de inicio. | AWS SysAdmin, administrador de bases de datos | 
| Ejecute los scripts previos a la migración desde AWS SCT. | En la instancia de Amazon RDS, ejecute los siguientes scripts: reate\$1database.sql, create\$1sequence.sql, create\$1table.sql, create\$1view.sql y create\$1function.sql. | AWS SysAdmin, administrador de bases de datos | 

### Migración de datos mediante AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación en AWS DMS. | Complete los campos para el nombre, la clase de instancia, la VPC (igual que para la EC2 instancia), la zona de disponibilidad múltiple y la accesibilidad pública. En la sección de configuración avanzada, especifique el almacenamiento asignado, el grupo de subredes, la zona de disponibilidad, los grupos de seguridad de VPC y la clave raíz de AWS Key Management Service (AWS KMS). | AWS SysAdmin, administrador de bases de datos | 
| Cree el punto de conexión de origen de la base de datos. | Especifique el nombre, el tipo, el motor de origen (Oracle), el nombre del servidor (nombre DNS EC2 privado de Amazon), el puerto, el modo SSL, el nombre de usuario, la contraseña, el SID, la VPC (especifique la VPC que tiene la instancia de replicación) y la instancia de replicación. Para probar la conexión, seleccione Ejecutar prueba y, a continuación, cree el punto de conexión. También puede configurar los siguientes ajustes avanzados: maxFileSize y numberDataType Scale. | AWS SysAdmin, administrador de bases de datos | 
| Cree una tarea de replicación de AWS DMS. | Especifique el nombre de la tarea, la instancia de replicación, los puntos de conexión de origen y destino y la instancia de replicación. Para tipo de migración, seleccione la opción «Migrate existing data and replication ongoing changes» (Migración de los datos existentes y réplica de los cambios en curso). Desactive la casilla de verificación «Start task on create» (Iniciar la tarea al crearla). | AWS SysAdmin, administrador de bases de datos | 
| Configure la configuración de la tarea de replicación de AWS DMS. | Para el modo de preparación de la tabla de destino, elija «Do nothing» (No hacer nada). Detenga la tarea cuando se complete la carga completa para crear las claves principales. Especifique el modo LOB limitado o completo y habilite las tablas de control. Si lo desea, puede configurar la configuración CommitRate avanzada. | Administrador de base de datos | 
| Configure las asignaciones de tablas. | En la sección Mapeos de tablas, cree una regla de Inclusión para todas las tablas de todos los esquemas incluidos en la migración y, a continuación, cree una regla de Exclusión. Agregue tres reglas de transformación para convertir los nombres del esquema, la tabla y las columnas a minúsculas y añada cualquier otra regla necesaria para esta migración específica. | Administrador de base de datos | 
| Iniciar la tarea. | Iniciar la tarea de replicación. Asegúrese de que la carga completa está ejecutando. Ejecute ALTER SYSTEM SWITCH LOGFILE en la base de datos principal de Oracle para iniciar la tarea. | Administrador de base de datos | 
| Ejecute los scripts de la migración intermedia desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute los siguientes scripts: create\$1index.sql y create\$1constraint.sql. | Administrador de base de datos | 
| Reinicie la tarea para continuar con la captura de datos de cambio (CDC). | Ejecute VACUUM en la instancia de base de datos Amazon RDS para PostgreSQL y reinicie la tarea de AWS DMS para aplicar los cambios de CDC en caché. | Administrador de base de datos | 

### Realizar la transición a la base de datos de PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Consulte los registros y las tablas de metadatos de AWS DMS. | Valide cualquier error y corríjalo si es necesario. | Administrador de base de datos | 
| Detenga todas las dependencias de Oracle. | Cierre los oyentes de la base de datos de Oracle y ejecute ALTER SYSTEM SWITCH LOGFILE. Detenga la tarea de AWS DMS cuando no muestre actividad. | Administrador de base de datos | 
| Ejecute los scripts posteriores a la migración desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute los siguientes scripts: create\$1foreign\$1key\$1constraint.sql y create\$1triggers.sql. | Administrador de base de datos | 
| Complete los pasos adicionales de Amazon RDS para PostgreSQL. | Aumente las secuencias para que coincidan con las de Oracle si es necesario, ejecute VACUUM y ANALYZE y tome una instantánea para comprobar la conformidad. | Administrador de base de datos | 
| Abra las conexiones hacia Amazon RDS para PostgreSQL. | Elimine los grupos de seguridad de AWS DMS de Amazon RDS para PostgreSQL, añada grupos de seguridad de producción y dirija sus aplicaciones a la nueva base de datos. | Administrador de base de datos | 
| Limpie los recursos de AWS DMS. | Elimine los puntos finales, las tareas de replicación, las instancias de replicación y la EC2 instancia. | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-resources"></a>
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Precio de Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Documentación de Quest SharePlex ](https://support.quest.com/shareplex/9.0.2/technical-documents)

# Migración de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante la vista materializada y AWS DMS
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms"></a>

*Kumar Babu P G y Pragnesh Patel, Amazon Web Services*

## Resumen
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-summary"></a>

Este patrón describe cómo migrar una base de datos de Oracle 8i o 9i en las instalaciones a una base de datos de Amazon Relational Database Service (Amazon RDS) para PostgreSQL o para una edición compatible de Amazon Aurora PostgreSQL. 

AWS Database Migration Service (AWS DMS) no admite Oracle 8i o 9i como fuente, por lo que este patrón utiliza una instancia de base de datos de Oracle intermedia que es compatible con AWS DMS, como Oracle 10g u 11g. También utiliza la característica de vistas materializadas para migrar los datos de la instancia 8i/9i de origen de Oracle a la instancia intermedia 10g/11g de Oracle.

La Herramienta de conversión de esquemas de AWS (AWS SCT) convierte el esquema de la base de datos y AWS DMS migra los datos a la base de datos PostgreSQL de destino. 

Este patrón ayuda a los usuarios que desean migrar desde bases de datos de Oracle heredadas con un tiempo de inactividad mínimo. En esta implementación, el tiempo de inactividad se limita al tiempo que se tarda en crear o validar todas las claves externas, activadores y secuencias en la base de datos de destino. 

El patrón utiliza instancias de Amazon Elastic Compute Cloud (Amazon EC2) con una base de datos Oracle 10g/11g instalada para ayudar a AWS DMS a transmitir los datos. Puede pausar temporalmente la replicación del streaming desde la base de datos de Oracle en las instalaciones a una instancia de Oracle para activar AWS DMS y ponerse al día con la validación de datos o para utilizar otra herramienta de validación de datos. La instancia de base de datos PostgreSQL y la base de datos intermedia de Oracle tendrán los mismos datos cuando AWS DMS haya terminado de migrar los cambios actuales.

## Requisitos previos y limitaciones
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de Oracle 8i o 9i de origen en un centro de datos en las instalaciones 
+ AWS Direct Connect, configurado entre el centro de datos en las instalaciones y AWS
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores SCT de AWS instalados en una máquina local o en la instancia en la EC2 que está instalado AWS SCT
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitaciones**
+ El límite de tamaño de la base de datos es de 64 TB

**Versiones de producto**
+ Oracle 8i o 9i para la base de datos de origen
+ Oracle 10g o 11g para la base de datos intermedia
+ PostgreSQL 10.17 o posterior

## Arquitectura
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Oracle 8i o 9i 

**Pila de tecnología de destino**
+ Amazon RDS para PostgreSQL o Aurora PostgreSQL compatibles

**Arquitectura de destino**

![\[Arquitectura para migrar de una base de datos de Oracle heredada a Amazon RDS o Aurora\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/8add9b21-1b62-46a2-bb8e-0350f36a924a/images/f34f9b0f-f1da-4c27-a385-71b12d16c375.png)


## Tools (Herramientas)
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) ayuda a migrar las bases de datos de forma rápida y segura. La base de datos de origen permanece totalmente operativa durante la migración, minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. AWS DMS puede migrar sus datos desde y hasta las bases de datos comerciales y de código abierto más usadas. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) ayuda a convertir automáticamente el esquema de la base de datos de origen y la mayor parte de los objetos de código de la base de datos, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino. Los objetos que no se conviertan automáticamente se marcan claramente para que puedan convertirse manualmente con el objetivo de completar la migración. AWS SCT también puede analizar el código fuente de su aplicación en busca de instrucciones de SQL incrustadas y convertirlas como parte de un proyecto de conversión de esquemas de bases de datos. Durante este proceso, AWS SCT optimiza el código nativo en la nube al convertir las funciones heredadas de Oracle y SQL Server en sus equivalentes de AWS, para ayudarlo a modernizar sus aplicaciones mientras migra sus bases de datos. Una vez finalizada la conversión del esquema, AWS SCT puede ayudar a migrar datos de una variedad de almacenamiento de datos a Amazon Redshift mediante el uso de agentes de migración de datos integrados.  

## Prácticas recomendadas
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-best-practices"></a>

Para conocer las prácticas recomendadas para actualizar las vistas materializadas, consulte la siguiente documentación de Oracle:
+ [Actualización de vistas materializadas](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG-GUID-64068234-BDB0-4C12-AE70-75571046A586)
+ [Actualización rápida para vistas materializadas](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8361)

## Epics
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-epics"></a>

### Instale Oracle en una EC2 instancia y cree vistas materializadas
<a name="install-oracle-on-an-ec2-instance-and-create-materialized-views"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la red para la EC2 instancia. | Creación de la nube privada virtual (VPC), subredes, puerta de enlace de Internet, tablas de enrutamiento y grupos de seguridad. | AWS SysAdmin | 
| Crea la EC2 instancia. | Selecciona Amazon Machine Image (AMI) para la EC2 instancia. Elija el tamaño de la instancia y configura los detalles de la instancia: la cantidad de instancias (1), la VPC y la subred del paso anterior, la asignación automática de la IP pública y otras opciones. Agregue almacenamiento, configure grupos de seguridad y lance la instancia. Cuando se le pida, cree y guarde un par de claves para el siguiente paso. | AWS SysAdmin | 
| Instale Oracle en la EC2 instancia. | Adquiera las licencias y los binarios de Oracle necesarios e instale Oracle 10g u 11g en la instancia. EC2  | Administrador de base de datos | 
| Configure las redes de Oracle. | Modifique o añada entradas en `listener.ora` para conectarse a la base de datos de Oracle 8i/9i de origen en las instalaciones y, a continuación, cree los enlaces de la base de datos. | Administrador de base de datos | 
| Cree vistas materializadas. | Identifique los objetos de la base de datos que desee replicar en la base de datos de Oracle 8i/9i de origen y, a continuación, cree vistas materializadas de todos los objetos mediante el enlace a la base de datos. | Administrador de base de datos | 
| Implemente scripts para actualizar las vistas materializadas a los intervalos necesarios. | Desarrolle e implemente scripts para actualizar las vistas materializadas a los intervalos requeridos en la instancia Amazon EC2 Oracle 10g/11g. Utilice la opción de actualización incremental para refrescar las vistas materializadas. | Administrador de base de datos | 

### Convertir el esquema de base de datos de Oracle a PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT. | Cree un informe nuevo y, a continuación, conéctese a Oracle como origen y a PostgreSQL como destino. En la Configuración del proyecto, vaya a la pestaña **SQL Scripting**. Cambie el Script SQL de destino a **Varios archivos**. (AWS SCT no es compatible con las bases de datos de Oracle 8i/9i, por lo que debe restaurar el volcado exclusivo del esquema en la instancia intermedia de Oracle 10g/11g y usarlo como fuente para AWS SCT). | Administrador de base de datos | 
| Convertir el esquema de base de datos de Oracle. | En la pestaña **Action** (Acción), elija **Generate Report** (Generar informe), **Convert Schema** (Convertir esquema) y, a continuación, **Save as SQL** (Guardar como SQL). | Administrador de base de datos | 
| Modifique los scripts SQL. | Realice las modificaciones en función de las prácticas recomendadas. Por ejemplo, cambie a los tipos de datos adecuados y desarrolle equivalentes de PostgreSQL para funciones específicas de Oracle. | Administrador de base de datos, DevDBA | 

### Creación y configuración de la instancia de base de datos de Amazon RDS para alojar la base de datos convertida
<a name="create-and-configure-the-amazon-rds-db-instance-to-host-the-converted-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Creación de una instancia de base de datos de Amazon RDS | En la consola de Amazon RDS, cree una nueva instancia de base de datos PostgreSQL. | AWS SysAdmin, DBA | 
| Configure la instancia de base de datos. | Especifique la versión del motor de base de datos, la clase de instancia de base de datos, la implementación Multi-AZ, el tipo de almacenamiento y el almacenamiento asignado. Introduzca el identificador de la instancia de base de datos, un nombre de usuario maestro y una contraseña maestra. | AWS SysAdmin, DBA | 
| Configurar la red y la seguridad. | Especifique la VPC, el grupo de subredes, la accesibilidad pública, la preferencia de zona de disponibilidad y los grupos de seguridad. | DBA, SysAdmin | 
| Configurar las opciones de la base de datos. | Especifique el nombre, el puerto, el grupo de parámetros, el cifrado y la clave maestra de la base de datos. | ADMINISTRADOR DE BASES DE DATOS, AWS SysAdmin | 
| Configure copias de seguridad. | Especifique el período de retención de la copia de seguridad, la ventana de copia de seguridad, la hora de inicio, la duración y si desea copiar las etiquetas a las instantáneas. | AWS SysAdmin, DBA | 
| Configure las opciones de monitoreo. | Habilite y desactive la monitorización mejorada de información sobre rendimiento. | AWS SysAdmin, DBA | 
| Configurar las opciones de mantenimiento. | Especifique la actualización automática de la versión secundaria, el período de mantenimiento y el día, la hora y la duración de inicio. | AWS SysAdmin, DBA | 
| Ejecute los scripts previos a la migración desde AWS SCT. | En la instancia de Amazon RDS para PostgreSQL de destino, cree el esquema de base de datos mediante los scripts SQL de AWS SCT con otras modificaciones. Estas pueden incluir la ejecución de varios scripts e incluir la creación de usuarios, la creación de bases de datos, la creación de esquemas, tablas, vistas, funciones y otros objetos de código. | AWS SysAdmin, DBA | 

### Migración de datos mediante AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación en AWS DMS. | Complete los campos para el nombre, la clase de instancia, la VPC (igual que para la EC2 instancia), la zona de disponibilidad múltiple y la accesibilidad pública. En la configuración avanzada, especifique el almacenamiento asignado, el grupo de subredes, la zona de disponibilidad, los grupos de seguridad de VPC y la clave de AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Cree el punto de conexión de origen de la base de datos. | Especifique el nombre, el tipo, el motor de origen (Oracle), el nombre del servidor (el nombre DNS privado de la EC2 instancia), el puerto, el modo SSL, el nombre de usuario, la contraseña, el SID, la VPC (especifique la VPC que tiene la instancia de replicación) y la instancia de replicación. Para probar la conexión, seleccione **Ejecutar prueba** y, a continuación, cree el punto de conexión. **También puede configurar los siguientes ajustes avanzados: **maxFileSize**y numberDataType Scale.** | AWS SysAdmin, DBA | 
| Conecte AWS DMS a Amazon RDS para PostgreSQL. | Cree un grupo de seguridad de migración para las conexiones entre sí VPCs, si su base de datos PostgreSQL está en otra VPC. | AWS SysAdmin, DBA | 
| Cree puntos de conexión de base de datos de destino. | Especifique el nombre del punto de conexión, el tipo, el motor de origen (PostgreSQL), el nombre del servidor (punto de conexión de Amazon RDS), el puerto, el modo SSL, el nombre de usuario, la contraseña, el nombre de la base de datos, la VPC (especifique la VPC que tiene la instancia de replicación) y la instancia de replicación. Para probar la conexión, seleccione **Ejecutar prueba** y, a continuación, cree el punto de conexión. También puede configurar los siguientes ajustes avanzados: **maxFileSize**y **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Cree una tarea de replicación de AWS DMS. | Especifique el nombre de la tarea, la instancia de replicación, los puntos de conexión de origen y destino y la instancia de replicación. Para tipo de migración, seleccione la opción **Migrate existing data and replication ongoing changes** (Migración de los datos existentes y réplica de los cambios en curso). Desactive la casilla **Start task on create** (Iniciar la tarea al crearla). | AWS SysAdmin, DBA | 
| Configure la configuración de la tarea de replicación de AWS DMS. | Para el modo de preparación de la tabla de destino, elija **No hacer nada**. Detenga la tarea cuando se complete la carga completa para crear las claves principales. Especifique el modo LOB limitado o completo y habilite las tablas de control. Si lo desea, puede configurar la configuración **CommitRate**avanzada. | Administrador de base de datos | 
| Configure las asignaciones de tablas. | En la sección **Table mappings** (Mapeos de tabla), cree una regla de inclusión para todas las tablas de todos los esquemas incluidos en la migración y, a continuación, cree una regla de exclusión. Agregue tres reglas de transformación para convertir los nombres del esquema, la tabla y las columnas a minúsculas y añada cualquier otra regla necesaria para esta migración específica. | Administrador de base de datos | 
| Iniciar la tarea. | Iniciar la tarea de replicación. Asegúrese de que la carga completa está ejecutando. Ejecute `ALTER SYSTEM SWITCH LOGFILE` en la base de datos principal de Oracle para iniciar la tarea. | Administrador de base de datos | 
| Ejecute los scripts de la migración intermedia desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute los siguientes scripts: `create_index.sql` y `create_constraint.sql` (si el esquema completo no se creó inicialmente). | Administrador de base de datos | 
| Reanude la tarea para continuar con la captura de datos de cambio (CDC). | Ejecute `VACUUM` en la instancia de base de datos Amazon RDS para PostgreSQL y reinicie la tarea de AWS DMS para aplicar los cambios de CDC en caché. | Administrador de base de datos | 

### Realizar la transición a la base de datos de PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Consulte los registros y las tablas de validación de AWS DMS. | Compruebe y corrija cualquier error de replicación o validación. | Administrador de base de datos | 
| Deje de utilizar la base de datos de Oracle en las instalaciones y sus dependencias. | Detenga todas las dependencias de Oracle, cierre los oyentes de la base de datos de Oracle y ejecute `ALTER SYSTEM SWITCH LOGFILE`. Detenga la tarea de AWS DMS cuando no muestre actividad. | Administrador de base de datos | 
| Ejecute los scripts posteriores a la migración desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute estos scripts: `create_foreign_key_constraint.sql and create_triggers.sql`. Asegúrese de que las secuencias estén actualizadas. | Administrador de base de datos | 
| Complete los pasos adicionales de Amazon RDS para PostgreSQL. | Aumente las secuencias para que coincidan con las de Oracle si es necesario, ejecute `VACUUM` y ANALYZE y `ANALYZE`, y tome una instantánea para comprobar la conformidad. | Administrador de base de datos | 
| Abra las conexiones hacia Amazon RDS para PostgreSQL. | Elimine los grupos de seguridad de AWS DMS de Amazon RDS para PostgreSQL, añada grupos de seguridad de producción y dirija sus aplicaciones a la nueva base de datos. | Administrador de base de datos | 
| Limpie los objetos de AWS DMS. | Elimine los puntos finales, las tareas de replicación, las instancias de replicación y la EC2 instancia. | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-resources"></a>
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Precio de Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

# Migración de Oracle en Amazon EC2 a Amazon RDS para MySQL con AWS DMS y AWS SCT
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Anil Kunapareddy, Amazon Web Services*

*Harshad Gohil, ninguno*

## Resumen
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

La administración de bases de datos de Oracle en instancias de Amazon Elastic Compute Cloud (Amazon EC2) requiere recursos y puede resultar costosa. Mover estas bases de datos a una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para MySQL le facilitará el trabajo al optimizar el presupuesto global de TI. Amazon RDS para MySQL también ofrece funciones como Multi-AZ, escalabilidad y copias de seguridad automáticas. 

Este patrón le guía a través de la migración de una base de datos de Oracle de origen en Amazon EC2 a una instancia de base de datos Amazon RDS para MySQL de destino. Utiliza AWS Database Migration Service (AWS DMS) para migrar los datos y la Herramienta de conversión de esquemas de AWS (AWS SCT) para convertir el esquema y los objetos de la base de datos de origen a un formato compatible con Amazon RDS para MySQL. 

## Requisitos previos y limitaciones
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos fuente con servicios de instancia y escucha en ejecución, en modo ARCHIVELOG
+ Una base de datos Amazon RDS para MySQL de destino, con suficiente almacenamiento para la migración de datos

**Limitaciones**
+ AWS DMS no crea un esquema en la base de datos de destino; debe hacerlo usted. El nombre de esquema ya tiene que existir para el destino. Las tablas del esquema de origen se importan al usuario o esquema que AWS DMS utiliza para conectarse a la instancia de destino. Debe crear varias tareas de replicación si tiene que migrar varios esquemas. 

**Versiones de producto**
+ Todas las ediciones de las bases de datos de Oracle para las versiones 10.2 y posteriores, 11g y versiones posteriores a la 12.2 y 18c. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y [Uso de una base de datos compatible con MySQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. Para obtener información sobre las versiones de bases de datos de Oracle compatibles con AWS SCT, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html).
+ AWS DMS es compatible con las versiones 5.5, 5.6 y 5.7 de MySQL. 

## Arquitectura
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos de Oracle en una instancia EC2  

**Pila de tecnología de destino**
+ Instancia de base de datos de Amazon RDS para MySQL

**Arquitectura de migración de datos**

![\[Uso de AWS DMS para migrar de Oracle en Amazon EC2 a Amazon RDS para MySQL\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/c00f908c-f348-41dd-a31c-3931b990777a.png)


**Arquitectura de origen y destino**

![\[Uso de AWS DMS y AWS SCT para migrar de Oracle en Amazon EC2 a Amazon RDS para MySQL\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/e7ba7ac0-3094-4142-b355-fb192e242432.png)


## Tools (Herramientas)
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) es un servicio web que puede utilizar para migrar datos de una base de datos en las instalaciones, de una instancia de base de datos de Amazon RDS o de una base de datos de una instancia EC2 a una base de datos de un servicio de AWS, como Amazon RDS para MySQL o una instancia EC2. Puede también migrar desde una base de datos de un servicio de AWS a otra base de datos local. Puede migrar datos entre motores de bases de datos heterogéneos u homogéneos.
+ **AWS SCT**: [la herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) hace más predecible las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino. Tras convertir el esquema de la base de datos y los objetos de código mediante AWS SCT, puede utilizar AWS DMS para migrar los datos de la base de datos de origen a la base de datos de destino para completar sus proyectos de migración.

## Epics
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique las versiones y motores de la base de datos de origen y destino. |  | Administrador de base de datos/desarrollador | 
| Identifique la instancia de replicación de DMS. |  | Administrador de base de datos/desarrollador | 
| Identifique los requisitos de almacenamiento, como el tipo y la capacidad de almacenamiento. |  | Administrador de base de datos/desarrollador | 
| Identifique los requisitos de la red, como la latencia y el ancho de banda. |  |  Administrador de base de datos/desarrollador | 
| Identifique los requisitos de hardware para las instancias del servidor de origen y destino (según la lista de compatibilidad de Oracle y los requisitos de capacidad). |  | Administrador de base de datos/desarrollador | 
| Identifique requisitos de seguridad para acceder a la red de las bases de datos de origen y destino. |  | Administrador de base de datos/desarrollador | 
| Instale los controladores AWS SCT y Oracle. |  | Administrador de base de datos/desarrollador | 
| Determine una estrategia de copia de seguridad. |  | Administrador de base de datos/desarrollador | 
| Determine los requisitos de disponibilidad. |  | Administrador de base de datos/desarrollador | 
| Identifique la estrategia de migración y cambio de aplicaciones. |  | Administrador de base de datos/desarrollador | 
| Seleccione el tipo de instancia de base de datos adecuado en función de la capacidad, el almacenamiento y las características de la red. |  | Administrador de base de datos/desarrollador | 

### Configure el entorno
<a name="configure-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). El origen, el destino y la instancia de replicación deben estar en la misma VPC. También es bueno tenerlos en la misma zona de disponibilidad. |  | Desarrollador | 
| Cree los grupos de seguridad necesarios para el acceso a la base de datos. |  |  Desarrollador | 
| Genere y configure un par de claves. |  | Desarrollador | 
| Configure las subredes, las zonas de disponibilidad y los bloques CIDR. |  | Desarrollador | 

### Configure la fuente: base de datos de Oracle en una instancia EC2
<a name="configure-the-source-oracle-database-on-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Oracle Database en Amazon EC2 con los usuarios y roles necesarios. |  | Administrador de base de datos | 
|  Realice los tres pasos de la siguiente columna para acceder a Oracle desde fuera de la instancia EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.html) | Administrador de base de datos | 
| Cuando se reinicia Amazon EC2, el DNS público cambia. Asegúrese de actualizar el DNS público de Amazon EC2 en “tnsnames” y “listener” o utilice una dirección IP elástica. |  | Administrador de base de datos/desarrollador | 
| Configure el grupo de seguridad de la instancia de EC2 para que la instancia de replicación y los clientes necesarios puedan acceder a la base de datos de origen. |  | Administrador de base de datos/desarrollador | 

### Configure el destino: Amazon RDS para MySQL
<a name="configure-the-target-amazon-rds-for-mysql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure e inicie la instancia de base de datos de Amazon RDS para MySQL. |  | Desarrollador | 
| Cree el espacio de tablas necesario en la instancia de base de datos de Amazon RDS para MySQL. |  | Administrador de base de datos | 
| Configure el grupo de seguridad para que la instancia de replicación y los clientes necesarios puedan acceder a la base de datos de destino. |  | Desarrollador | 

### Configure AWS SCT y cree un esquema en la base de datos de destino
<a name="configure-aws-sct-and-create-a-schema-in-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale los controladores AWS SCT y Oracle. |  | Desarrollador | 
| Introduzca los parámetros adecuados y conéctese a la fuente y al destino. |  | Desarrollador | 
| Genere un informe de conversión de esquemas. |  | Desarrollador | 
| Corrija el código y el esquema según sea necesario, especialmente los espacios de tabla y las comillas, y ejecútelos en la base de datos de destino. |  |  Desarrollador | 
| Valide el esquema en el origen y en el destino antes de migrar los datos. |  | Desarrollador | 

### Migración de datos utilizando AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Para carga completa y la captura de datos de cambios (CDC) o simplemente para CDC, debe configurar un atributo de conexión adicional. |  | Desarrollador | 
| Al usuario especificado en las definiciones de la base de datos de Oracle de origen de AWS DMS se le deben conceder todos los privilegios necesarios. Para obtener una lista completa, consulte https://docs.aws.amazon.com/dms/ latest/userguide/CHAP \$1Source.Oracle.html \$1CHAP\$1Source .Oracle.Self-Managed. |  | Administrador de base de datos/desarrollador | 
| Habilitar el registro suplementario en la base de datos de origen. |  | Administrador de base de datos/desarrollador | 
| Para la captura completa de datos y cambios (CDC) o simplemente CDC, habilite el modo ARCHIVELOG en la base de datos de origen. |  | Administrador de base de datos | 
| Cree puntos de conexión de origen y destino y pruebe las conexiones. |  | Desarrollador | 
| Cuando los puntos de conexión estén conectados correctamente, cree una tarea de replicación. |  | Desarrollador | 
| Seleccione solo CDC (o) carga completa más CDC en la tarea para capturar los cambios para la replicación continua únicamente (o) carga completa más los cambios en curso, respectivamente. |  | Desarrollador | 
| Ejecute la tarea de replicación y supervise CloudWatch los registros de Amazon. |  |  Desarrollador | 
| Valide los datos en las bases de datos de origen y destino. |  | Desarrollador | 

### Migración de su aplicación y cómo realizar la transición
<a name="migrate-your-application-and-cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga los pasos de su estrategia de migración de aplicaciones. |  | Administrador de base de datos, desarrollador, propietario de la aplicación | 
| Siga los pasos de su estrategia de transición o cambio de aplicaciones. |  | Administrador de base de datos, desarrollador, propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide el esquema y los datos en las bases de datos de origen y de destino. |  | Administrador de base de datos/desarrollador | 
| Recopile métricas en función del tiempo de migración, el porcentaje de trabajo manual en comparación con el trabajo con herramientas, el ahorro de costos, etc. |  |  DBA/Developer/AppOwner | 
| Revise los documentos y artefactos del proyecto. |  | DBA/Developer/AppOwner | 
| Cerrar los recursos temporales de AWS. |  | Administrador de base de datos/desarrollador | 
| Cerrar el proyecto y enviar comentarios. |  | DBA/Developer/AppOwner | 

## Recursos relacionados
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-resources"></a>
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 
+ [Sitio web de AWS DMS](https://aws.amazon.com/dms/)
+ [Publicaciones del blog de AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/) 
+ [Strategies for Migrating Oracle Database to AWS](https://d1.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf) 
+ [Amazon RDS para Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/) 
+ [Preguntas frecuentes sobre Oracle](https://aws.amazon.com/oracle/faq/) 
+ [Amazon EC2](https://aws.amazon.com/ec2/) 
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Concesión de licencias de software de Oracle en el entorno de computación en la nube](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

# Migre una base de datos Oracle de Amazon EC2 a Amazon RDS para MariaDB con AWS DMS y AWS SCT
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct"></a>

*Veeranjaneyulu Grandhi y Vinod Kumar, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-summary"></a>

Este patrón le guía por los pasos para migrar una base de datos Oracle en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) a una instancia de base de datos Amazon Relational Database Service (Amazon RDS) para MariaDB. Este patrón utiliza AWS Data Migration Service (AWS DMS) y Herramienta de conversión de esquemas de AWS (AWS SCT) para la conversión de esquemas. 

La administración de bases de datos Oracle en EC2 instancias requiere más recursos y es más costosa que usar una base de datos en Amazon RDS. Amazon RDS facilita la configuración, el funcionamiento y el escalado de una base de datos relacional en la nube. Amazon RDS proporciona una capacidad rentable y redimensionable a la vez que automatiza las tareas de administración que tanto tiempo consumen, como el aprovisionamiento de hardware, la configuración de la base de datos, la aplicación de parches y las copias de seguridad.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de Oracle de origen con servicios de instancia y escucha en funcionamiento. Esta base de datos debe estar en modo ARCHIVELOG.
+ Estar familiarizado con [Usar una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridad con el [uso de Oracle como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html).

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB 

**Versiones de producto**
+ Todas las ediciones de las bases de datos de Oracle para las versiones 10.2 y posteriores, 11g y versiones posteriores a la 12.2 y 18c. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y la [tabla de versiones de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) en la documentación de AWS.
+ Amazon RDS es compatible con las versiones 10.3, 10.4, 10.5 y 10.6 de MariaDB Server Community Server. Para ver la lista más reciente de las versiones admitidas, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html).

## Arquitectura
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos Oracle en una instancia EC2 

**Pila de tecnología de destino**
+ Amazon RDS para MariaDB

**Arquitectura de migración de datos**

![\[Uso de AWS DMS para la migración.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/ed191145-e5c2-4d61-8827-31f081450c03.png)


**Arquitectura de destino**

![\[Uso de AWS SCT para la migración.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/0171f548-37dd-4110-851c-7e74dfff3732.png)


## Tools (Herramientas)
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-tools"></a>
+ La [Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) hace que las migraciones de bases de datos heterogéneas sean predecibles al convertir automáticamente el esquema de la base de datos de origen y la mayoría de los objetos de código de la base de datos (incluidas las vistas, los procedimientos almacenados y las funciones) a un formato compatible con la base de datos de destino. Tras convertir el esquema de la base de datos y los objetos de código mediante AWS SCT, puede utilizar AWS DMS para migrar los datos de la base de datos de origen a la base de datos de destino para completar sus proyectos de migración. Para obtener más información, consulte [Uso de Oracle como fuente de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) en la documentación de AWS SCT.
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) (AWS DMS) le ayuda a migrar bases de datos a AWS de forma rápida y segura. La base de datos de origen permanece totalmente operativa durante la migración, minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. AWS DMS puede migrar sus datos desde y hasta las bases de datos comerciales y de código abierto más usadas. AWS DMS admite migraciones homogéneas, como de Oracle a Oracle, así como migraciones heterogéneas entre diferentes plataformas de bases de datos, como de Oracle o Microsoft SQL Server a Amazon Aurora. Para obtener más información sobre la migración de bases de datos de Oracle, consulte [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) en la documentación de AWS DMS.

## Epics
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-epics"></a>

### Planificar la migración
<a name="plan-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique las versiones y los motores de bases de datos. | Identifique las versiones y motores de la base de datos de origen y destino. | Administrador de base de datos, desarrollador | 
| Identifique la instancia de replicación. | Identifique la instancia de replicación de AWS DMS. | Administrador de base de datos, desarrollador | 
| Identifique los requisitos de almacenamiento. | Identifique el tipo y la capacidad de almacenamiento. | Administrador de base de datos, desarrollador | 
| Identifique requisitos de red. | Identifique la latencia y el ancho de banda de la red. | Administrador de base de datos, desarrollador | 
| Identifique los requisitos de hardware. | Identifique los requisitos de hardware para las instancias del servidor de origen y destino (según la lista de compatibilidad de Oracle y los requisitos de capacidad). | Administrador de base de datos, desarrollador | 
| Identifique los requisitos de seguridad. | Identifique los requisitos de seguridad de acceso a la red de las bases de datos de origen y destino. | Administrador de base de datos, desarrollador | 
| Instalar controladores. | Instale los controladores AWS SCT y Oracle más recientes. | Administrador de base de datos, desarrollador | 
| Determine una estrategia de copia de seguridad. |  | Administrador de base de datos, desarrollador | 
| Determine los requisitos de disponibilidad. |  | Administrador de base de datos, desarrollador | 
| Elija una migration/switchover estrategia de aplicación. |  | Administrador de base de datos, desarrollador | 
| Seleccione el tipo de instancia. | Seleccione el tipo de instancia adecuado en función de la capacidad, el almacenamiento y las características de la red. | Administrador de base de datos, desarrollador | 

### Configure el entorno
<a name="configure-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC).  | Las instancias de origen, destino y replicación deben estar en la misma VPC y en la misma zona de disponibilidad (recomendado). | Desarrollador | 
| Cree grupos de seguridad. | Cree los grupos de seguridad necesarios para el acceso a la base de datos. | Desarrollador | 
| Genere un par de claves. | Genere y configure un par de claves. | Desarrollador | 
| Configure otros recursos. | Configure las subredes, las zonas de disponibilidad y los bloques CIDR. | Desarrollador | 

### Configurar el origen
<a name="configure-the-source"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lanza la EC2 instancia. | Para obtener instrucciones, consulta la [ EC2 documentación de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | Desarrollador | 
| Instalar la base de datos de Oracle. | Instale la base de datos Oracle en la EC2 instancia, con los usuarios y roles necesarios. | Administrador de base de datos | 
| Siga los pasos de la descripción de la tarea para acceder a Oracle desde fuera de la EC2 instancia. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.html) | Administrador de base de datos | 
| Actualiza el DNS EC2 público de Amazon. | Una vez reiniciada la EC2 instancia, el DNS público cambia. Asegúrese de actualizar el DNS EC2 público de Amazon en `tnsnames` y`listener`, o utilice una dirección IP elástica. | Administrador de base de datos, desarrollador | 
| Configure el grupo de seguridad de la EC2 instancia. | Configure el grupo de seguridad de EC2 instancias para que la instancia de replicación y los clientes necesarios puedan acceder a la base de datos de origen. | Administrador de base de datos, desarrollador | 

### Configurar el entorno de destino de Amazon RDS para MariaDB
<a name="configure-the-target-amazon-rds-for-mariadb-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie la instancia de base de datos de RDS. | Configure e inicie la instancia de la base de datos de Amazon RDS para MariaDB. | Desarrollador | 
| Cree espacios de trabajo. | Cree los espacios de tabla necesarios en la base de datos MariaDB de Amazon RDS MariaDB. | Administrador de base de datos | 
| Configurar un grupo de seguridad. | Configure un grupo de seguridad para que la instancia de replicación y los clientes necesarios puedan acceder a la base de datos de destino. | Desarrollador | 

### Configurar AWS SCT
<a name="configure-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instalar controladores. | Instale los controladores AWS SCT y Oracle más recientes. | Desarrollador | 
| Connect (Conectar). | Introduzca los parámetros adecuados y, a continuación, conéctese al origen y al destino. | Desarrollador | 
| Genere un informe de conversión de esquemas. | Genere un informe de conversión del esquemas de AWS SCT. | Desarrollador | 
| Corrija el código y el esquema según sea necesario. | Realice las correcciones necesarias en el código y el esquema (especialmente los espacios de tabla y las comillas). | Administrador de base de datos, desarrollador | 
| Valide el esquema. | Valide el esquema en el origen en comparación con el de destino antes de cargar los datos. | Desarrollador | 

### Migración de datos utilizando AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Defina un atributo de conexión. | Para cargar completamente y capturar datos de cambios (CDC) o simplemente para CDC, debe configurar un atributo de conexión adicional. Para obtener más información, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html). | Desarrollador | 
| Habilitar el registro suplementario. | Habilitar el registro suplementario en la base de datos de origen. | Administrador de base de datos, desarrollador | 
| Habilite el modo de registro de archivos. | Para los CDC de carga completa (o solo para los CDC), habilite el modo de registro de archivos en la base de datos de origen. | Administrador de base de datos | 
| Cree y pruebe puntos de conexión. | Cree puntos de conexión de origen y destino y pruebe las conexiones. Para obtener más información, consulte la [documentación de Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Desarrollador | 
| Cree una tarea de replicación. | Cuando los puntos de conexión estén conectados correctamente, cree una tarea de replicación. Para obtener más información, consulte la [documentación de Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). | Desarrollador | 
| Elija el tipo de replicación. | Elija **Solo CDC** o **Carga completa más CDC** en la tarea para capturar los cambios solo para la replicación continua, o para carga completa y cambios continuos, respectivamente. | Desarrollador | 
| Inicie y monitoree la tarea. | Inicie la tarea de replicación y supervise CloudWatch los registros de Amazon. Para obtener más información, consulte la [documentación de Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Desarrollador | 
| Valide los datos. | Valide los datos en las bases de datos de origen y destino. | Desarrollador | 

### Migración de aplicaciones y cómo realizar la transición a la base de datos de destino
<a name="migrate-applications-and-cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga la estrategia de migración de aplicaciones elegida. |  | Administrador de base de datos, propietario de la aplicación, desarrollador | 
| Siga la cutover/switchover estrategia de aplicación elegida. |  | Administrador de base de datos, propietario de la aplicación, desarrollador | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide el esquema y los datos. | Asegúrese de que el esquema y los datos se validen correctamente en el origen en comparación con el destino antes de cerrar el proyecto. | Administrador de base de datos, desarrollador | 
| Recopile métricas. | Recopile métricas para tiempo de migración, porcentaje de tareas manuales en comparación con las tareas de herramientas, ahorro de costos y otros criterios similares. | Administrador de base de datos, propietario de la aplicación, desarrollador | 
| Revise la documentación. | Revise los documentos y artefactos del proyecto. | Administrador de base de datos, propietario de la aplicación, desarrollador | 
| Cierre los recursos. | Cerrar los recursos temporales de AWS. | Administrador de base de datos, desarrollador | 
| Cierre el proyecto. | Cierre el proyecto de migración y envíe sus comentarios. | Administrador de base de datos, propietario de la aplicación, desarrollador | 

## Recursos relacionados
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-resources"></a>
+ [Información general sobre MariaDB de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html)
+ [Detalles del producto de Amazon RDS para MariaDB](https://aws.amazon.com/rds/mariadb/features)
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Estrategias para migrar bases de datos de Oracle a AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html)
+ [Concesión de licencias de software de Oracle en el entorno de computación en la nube](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)
+ [Amazon RDS para Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/)
+ [Información general sobre AWS DMS](https://aws.amazon.com/dms/)
+ [Publicaciones del blog de AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/)
+ [ EC2 Descripción general de Amazon](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)

# Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para MySQL con AWS DMS y AWS SCT
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Sergey Dmitriev y Naresh Damera, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

Este patrón le guía a través de la migración de una base de datos de Oracle en las instalaciones a una Amazon Relational Database Service (Amazon RDS) para una instancia de base de datos de MySQL. Utiliza AWS Database Migration Service (AWS DMS) para migrar los datos y la Herramienta de conversión de esquemas de AWS (AWS SCT) para convertir el esquema y los objetos de la base de datos de origen a un formato compatible con Amazon RDS para MySQL. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Oracle en un centro de datos en las instalaciones 

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ Todas las ediciones de bases de datos de Oracle para las versiones 11g (versiones 11.2.0.3.v1 y posteriores) y hasta la 12.2, y 18c. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. Para obtener información sobre las versiones de bases de datos de Oracle compatibles con AWS SCT, consulte la [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 
+ AWS DMS es actualmente compatible con las versiones 5.5, 5.6 y 5.7 de MySQL. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos compatible con MySQL como destino para las versiones de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) en la documentación de AWS. 

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Oracle en las instalaciones

**Pila de tecnología de destino**
+ Instancia de base de datos de Amazon RDS para MySQL

**Arquitectura de migración de datos**

![\[Nube de AWS architecture showing data migration from on-premises to RDS via VPC, Internet Gateway, and AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/0385e5ad-a1ca-4c29-945b-592321d95f9d/images/c872e033-b13a-4436-b503-0632b5d437ae.png)


 

## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: [AWS Database Migration Services](https://docs.aws.amazon.com/dms/latest/userguide/) (AWS DMS) facilita la migración de bases de datos relacionales, almacenamiento de datos, bases de datos NoSQL y otros tipos de almacenes de datos. Puede utilizar AWS DMS para migrar datos a la nube de AWS, entre instancias en las instalaciones (a través de una configuración de nube de AWS) o entre combinaciones de configuraciones en las instalaciones y en la nube.
+ **AWS SCT**: [la Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) se utiliza para convertir su esquema de base de datos existente de un motor de base de datos a otro. El código personalizado que convierte la herramienta incluye vistas, procedimientos almacenados y funciones. Cualquier código que la herramienta no pueda convertir automáticamente está claramente marcado para que pueda convertirlo usted mismo.

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión y el motor de la base de datos de origen y de destino. |  | Administrador de base de datos | 
|  Identifique los requisitos de hardware de la instancia del servidor de destino. |  | DBA, SysAdmin | 
| Identifique los requisitos de almacenamiento (el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. |  | DBA, SysAdmin  | 
| Identificar la estrategia de migración de aplicaciones. |  | DBA, propietario de la SysAdmin aplicación | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC) y subredes. |  | SysAdmin | 
| Cree los grupos de seguridad y las listas de control de acceso a la red (ACLs). |  | SysAdmin | 
| Configure e inicie una instancia de base de datos de Amazon RDS. |  | DBA, SysAdmin | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre el esquema de la base de datos mediante AWS SCT. |  | Administrador de base de datos | 
| Migre los datos mediante AWS DMS. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilizar AWS SCT para analizar y convertir el código SQL dentro del código de la aplicación. | Para obtener más información, consulte https://docs.aws.amazon.com/SchemaConversionTool/ latest/userguide/CHAP \$1Converting.app.html. | Propietario de la aplicación | 
| Seguir la estrategia de migración de aplicaciones. |  |  SysAdminDBA, propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. |  | DBA, propietario de la SysAdmin aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | DBA, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | DBA, SysAdmin | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de migraciones manuales en comparación con las realizadas con herramientas, el ahorro de costos, etc. |  | DBA, SysAdmin | 
| Cerrar el proyecto y enviar comentarios. |  |  | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-related-resources"></a>

**Referencias**
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriales y videos**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para PostgreSQL mediante Oracle Bystander y AWS DMS
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms"></a>

*Cady Motyka, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-summary"></a>

Este patrón describe cómo puede migrar una base de datos de Oracle en las instalaciones a cualquiera de los siguientes servicios de bases de datos de AWS compatibles con PostgreSQL con un tiempo de inactividad mínimo:
+ Amazon Relational Database Service (Amazon RDS) para PostgreSQL
+ Edición de Amazon Aurora compatible con PostgreSQL

La solución utiliza AWS Database Migration Service (AWS DMS) para migrar los datos, la Herramienta de conversión de esquemas de AWS (AWS SCT) para convertir el esquema de la base de datos y una base de datos de Oracle Bystander para ayudar a gestionar la migración. En esta implementación, el tiempo de inactividad se limita al tiempo necesario para crear o validar todas las claves externas de la base de datos. 

La solución también utiliza instancias de Amazon Elastic Compute Cloud (Amazon EC2) con una base de datos de observadores de Oracle para ayudar a controlar el flujo de datos a través de AWS DMS. Puede pausar temporalmente la replicación en streaming desde la base de datos de Oracle en las instalaciones a Oracle Bystander para activar AWS DMS y ponerse al día con la validación de datos o para utilizar otra herramienta de validación de datos. La instancia de base de datos de Amazon RDS para PostgreSQL o la instancia de base de datos compatible con Aurora PostgreSQL y la base de datos de bystander tendrán los mismos datos cuando AWS DMS termine de migrar los cambios actuales. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Oracle en un centro de datos en las instalaciones con Active Data Guard configurado en modo de espera
+ AWS Direct Connect, configurado entre el centro de datos en las instalaciones y AWS Secrets Manager para almacenar los secretos de la base de datos
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores SCT de AWS, instalados en una máquina local o en la instancia en la EC2 que está instalado AWS SCT
+ Estar familiarizado con el [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Estar familiarizado con el [ uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ AWS DMS es compatible con todas las ediciones de bases de datos de Oracle para las versiones 10.2 y posteriores (para versiones 10.x), 11g y hasta 12.2, 18c y 19c. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. Para obtener información sobre las versiones de bases de datos de Oracle compatibles con AWS SCT, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 
+ AWS DMS es compatible con PostgreSQL versión 9.4 y posterior (para las versiones 9.x), 10.x, 11.x, 12.x y 13.x Para obtener más información, consulte [Uso de una base de datos PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) en la documentación de AWS.

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos de Oracle en las instalaciones
+ EC2 Instancia que aloja a un espectador de la base de datos de Oracle

**Pila de tecnología de destino**
+ Instancia de Amazon RDS para PostgreSQL o Aurora PostgreSQL, PostgreSQL 9.3 y versiones posteriores

**Arquitectura de destino**

El siguiente diagrama muestra un ejemplo de flujo de trabajo para migrar una base de datos de Oracle a una base de datos de AWS compatible con PostgreSQL mediante AWS DMS y un bystander de Oracle:

![\[Migración de una base de datos de Oracle en las instalaciones a PostgreSQL en AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6f5d5500-8b09-4bd1-8ef9-e670d58d07f8/images/1de98abd-c143-481a-b55f-e8d00eb96a38.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS.

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-epics"></a>

### Convertir el esquema de base de datos de Oracle a PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT. | Cree un informe nuevo y conéctese a Oracle como origen y a PostgreSQL como destino. En la **Configuración del proyecto**, vaya a la pestaña **SQL Scripting**. Cambie el **Script SQL de destino** a **Varios archivos**. Estos archivos se utilizarán más adelante y se denominarán de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | Administrador de base de datos | 
| Convertir el esquema de base de datos de Oracle. | En la pestaña **Acción**, elija **Generar informe**. A continuación, elija **Convertir esquema** y seleccione **Guardar como SQL**. | Administrador de base de datos | 
| Modifique los scripts. | Por ejemplo, es posible que desee modificar el script si un número del esquema de origen se ha convertido a formato numérico en PostgreSQL, pero prefiera utilizar **BIGINT** en su lugar para obtener un mejor rendimiento. | Administrador de base de datos | 

### Creación y configuración de la instancia de base de datos de Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Creación de una instancia de base de datos de Amazon RDS | En la región de AWS correcta, cree una nueva instancia de base de datos de PostgreSQL. Para obtener más información, consulte [Creación de una instancia de base de datos PostgreSQL y conexión a una base de datos en una instancia de base de datos PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) en la documentación de Amazon RDS. | AWS SysAdmin, administrador de bases de datos | 
| Configure las especificaciones de la instancia de base de datos. | Especifique la versión del motor de base de datos, la clase de instancia de base de datos, la implementación Multi-AZ, el tipo de almacenamiento y el almacenamiento asignado. Introduzca el identificador de la instancia de base de datos, un nombre de usuario principal y una contraseña principal. | AWS SysAdmin, administrador de bases de datos | 
| Configurar la red y la seguridad. | Especifique la nube privada virtual (VPC), el grupo de subredes, la accesibilidad pública, la preferencia de zona de disponibilidad y los grupos de seguridad. | DBA, SysAdmin | 
| Configurar las opciones de la base de datos. | Especifique el nombre, el puerto, el grupo de parámetros, el cifrado y la clave KMS. | AWS SysAdmin, administrador de bases de datos | 
| Configure copias de seguridad. | Especifique el período de retención de la copia de seguridad, la ventana de copia de seguridad, la hora de inicio, la duración y si desea copiar las etiquetas a las instantáneas. | AWS SysAdmin, administrador de bases de datos | 
| Configure las opciones de monitoreo. | Active o desactive los conocimientos mejorados de supervisión y rendimiento. | AWS SysAdmin, administrador de bases de datos | 
| Configurar las opciones de mantenimiento. | Especifique la actualización automática de versiones secundarias, el período de mantenimiento y el día, la hora y la duración de inicio. | AWS SysAdmin, administrador de bases de datos | 
| Ejecute los scripts previos a la migración desde AWS SCT. | En la instancia de Amazon RDS, ejecute los siguientes scripts generados por AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | AWS SysAdmin, administrador de bases de datos | 

### Configurar el Oracle bystander en Amazon EC2
<a name="configure-the-oracle-bystander-in-amazon-ec2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configura la red para Amazon EC2. | Creación de la nueva VPC, subredes, puerta de enlace de Internet, tablas de enrutamiento y grupos de seguridad. | AWS SysAdmin | 
| Crea la EC2 instancia. | En la región de AWS correspondiente, cree una nueva EC2 instancia. Seleccione la imagen de máquina de Amazon (AMI), elija el tamaño de la instancia y configure los detalles de la instancia: la cantidad de instancias (1), la VPC y la subred del paso anterior, la asignación automática de la IP pública y otras opciones. Agregue almacenamiento, configure grupos de seguridad y lance. Cuando se le pida, cree y guarde un par de claves para el siguiente paso. | AWS SysAdmin | 
| Conecte la base de datos de origen de Oracle a la EC2 instancia. | Copie la dirección IP IPv4 pública y el DNS en un archivo de texto y conéctese mediante SSH de la siguiente manera: **ssh -i «your\$1file.pem» ec2-user@<your-IP** - -DNS>. address-or-public | AWS SysAdmin | 
| Configura el anfitrión inicial para un transeúnte en Amazon. EC2 | Configure las claves SSH, el perfil bash, ORATAB y los enlaces simbólicos. Cree directorios Oracle. | AWS SysAdmin, administrador de Linux | 
| Configurar la copia de la base de datos para un espectador en Amazon EC2 | Utilice RMAN para crear una copia de la base de datos, habilitar el registro adicional y crear el archivo de control en espera. Una vez completada la copia, coloque la base de datos en modo de recuperación. | AWS SysAdmin, administrador de bases de datos | 
| Configurar Oracle Data Guard. | Modifique el archivo **listener.ora** e inicie el oyente. Configure un nuevo destino de archivo. Coloque al espectador en modo de recuperación, sustituya los archivos temporales para evitar futuros daños, instale un crontab si es necesario para evitar que el directorio de archivos se quede sin espacio y edite el **manage-trclog-files-oraclearchivo.cfg** para el archivo de origen y el modo de espera. | AWS SysAdmin, administrador de bases de datos | 
| Prepare la base de datos de Oracle para sincronizar los envíos. | Añada los archivos de registro en espera y cambie el modo de recuperación. Cambie el envío de registros a **SYNC AFFIRM** tanto en la fuente principal como en la fuente en espera. Active los registros principales, confirme mediante el registro de alertas de Amazon EC2 Bystander que está utilizando los archivos de registro en espera y confirme que la retransmisión está fluyendo en SYNC. | AWS SysAdmin, administrador de bases de datos | 

### Migre datos con AWS DMS
<a name="migrate-data-with-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación en AWS DMS. | Complete los campos para el nombre, la clase de instancia, la VPC (igual que la EC2 instancia de Amazon), la zona de disponibilidad múltiple y la accesibilidad pública. En **Avanzado**, especifique el almacenamiento asignado, el grupo de subredes, la zona de disponibilidad, los grupos de seguridad de VPC y la clave de AWS Key Management Service (AWS KMS). | AWS SysAdmin, administrador de bases de datos | 
| Cree el punto de conexión de origen de la base de datos. | Especifique el nombre, el tipo, el motor de origen (Oracle), el nombre del servidor (nombre DNS EC2 privado de Amazon), el puerto, el modo SSL, el nombre de usuario, la contraseña, el SID, la VPC (especifique la VPC que tiene la instancia de replicación) y la instancia de replicación. Para probar la conexión, seleccione **Ejecutar prueba** y, a continuación, cree el punto de conexión. **También puede configurar los siguientes ajustes avanzados: **maxFileSize**y numberDataType Scale.** | AWS SysAdmin, administrador de bases de datos | 
| Conecte AWS DMS a Amazon RDS para PostgreSQL. | Cree un grupo de seguridad de migración para todas VPCs las conexiones. | AWS SysAdmin, administrador de bases de datos | 
| Cree puntos de conexión de base de datos de destino. | Especifique el nombre del punto de conexión, el tipo, el motor de origen (PostgreSQL), el nombre del servidor (punto de conexión de Amazon RDS), el puerto, el modo SSL, el nombre de usuario, la contraseña, el nombre de la base de datos, la VPC (especifique la VPC que tiene la instancia de replicación) y la instancia de replicación. Para probar la conexión, seleccione **Ejecutar prueba** y, a continuación, cree el punto de conexión. También puede configurar los siguientes ajustes avanzados: **maxFileSize **y **numberDataTypeScale**. | AWS SysAdmin, administrador de bases de datos | 
| Cree una tarea de replicación de AWS DMS. | Especifique el nombre de la tarea, la instancia de replicación, los puntos de conexión de origen y destino y la instancia de replicación. Para tipo de migración, seleccione la opción **Migrate existing data and replication ongoing changes** (Migración de los datos existentes y réplica de los cambios en curso). Desactive la casilla de verificación **Iniciar la tarea al crearla**. | AWS SysAdmin, administrador de bases de datos | 
| Configure la configuración de la tarea de replicación de AWS DMS. | Para el modo de preparación de la tabla de destino, elija **No hacer nada**. Detenga la tarea cuando se complete la carga completa (para crear las claves principales). Especifique el modo LOB limitado o completo y habilite las tablas de control. Si lo desea, puede configurar la configuración **CommitRate**avanzada. | Administrador de base de datos | 
| Configure el mapeo de tablas. | En la sección **Table mappings** (Mapeo de tablas), cree una regla de **Inclusión** para todas las tablas de todos los esquemas incluidos en la migración y, a continuación, cree una regla de **Exclusión**. Agregue tres reglas de transformación para convertir los nombres del esquema, la tabla y las columnas a minúsculas y añada cualquier otra regla necesaria para esta migración específica. | Administrador de base de datos | 
| Iniciar la tarea. | Iniciar la tarea de replicación. Asegúrese de que la carga completa está ejecutando. Ejecute **ALTER SYSTEM SWITCH LOGFILE** en la base de datos principal de Oracle para iniciar la tarea. | Administrador de base de datos | 
| Ejecute los scripts de la migración intermedia desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute los siguientes scripts generados por AWS SCT: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | Administrador de base de datos | 
| Reinicie la tarea para continuar con la captura de datos de cambio (CDC). | Ejecute **VACUUM** en la instancia de base de datos Amazon RDS para PostgreSQL y reinicie la tarea de AWS DMS para aplicar los cambios de CDC en caché. | Administrador de base de datos | 

### Realizar la transición a la base de datos de PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Revise los registros y las tablas de validación de AWS DMS para ver si hay algún error. | Compruebe y corrija cualquier error de replicación o validación. | Administrador de base de datos | 
| Detenga todas las dependencias de Oracle. | Detenga todas las dependencias de Oracle, cierre los oyentes de la base de datos de Oracle y ejecute **ALTER SYSTEM SWITCH LOGFILE**. Detenga la tarea de AWS DMS cuando no muestre actividad. | Administrador de base de datos | 
| Ejecute los scripts posteriores a la migración desde AWS SCT. | En Amazon RDS para PostgreSQL, ejecute los siguientes scripts generados por AWS SCT:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | Administrador de base de datos | 
| Complete los pasos adicionales de Amazon RDS para PostgreSQL. | Aumente las secuencias para que coincidan con las de Oracle si es necesario, ejecute **VACUUM** y **ANALYZE** y tome una instantánea para comprobar la conformidad. | Administrador de base de datos | 
| Abra las conexiones hacia Amazon RDS para PostgreSQL. | Elimine los grupos de seguridad de AWS DMS de Amazon RDS para PostgreSQL, añada grupos de seguridad de producción y dirija sus aplicaciones a la nueva base de datos. | Administrador de base de datos | 
| Limpie los objetos de AWS DMS. | Elimine los puntos finales, las tareas de replicación, las instancias de replicación y la EC2 instancia. | SysAdmin, DBA | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-resources"></a>
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Precio de Amazon RDS para PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/) 

# Migración de una base de datos de Oracle a Amazon Redshift con AWS DMS y AWS SCT
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct"></a>

*Piyush Goyal y Brian Motzer, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-summary"></a>

Este patrón proporciona orientación para migrar las bases de datos de Oracle a un data warehouse en la nube de Amazon Redshift en la nube de Amazon Web Services (AWS) mediante AWS Database Migration Service (AWS DMS) y la Herramienta de conversión de esquemas de AWS (AWS SCT). El patrón cubre las bases de datos Oracle de origen que están en las instalaciones o instaladas en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). También incluye Amazon Relational Database Service (Amazon RDS) para bases de datos de Oracle.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-prereqs"></a>

**Requisitos previos **
+ Una base de datos de Oracle que se ejecuta en un centro de datos en las instalaciones o en la nube de AWS
+ Una cuenta de AWS activa
+ Estar familiarizado con el [uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridad con el [uso de una base de datos Amazon Redshift como objetivo para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ Conocimiento de Amazon RDS, Amazon Redshift, las tecnologías de bases de datos aplicables y SQL
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores de AWS SCT, donde está instalado AWS SCT

**Versiones de producto**
+ Para las bases de datos de Oracle autogestionadas, AWS DMS admite todas las ediciones de bases de datos de Oracle para las versiones 10.2 y posteriores (para las versiones 10.*x*), 11g y hasta 12.2, 18c y 19c. En el caso de las bases de datos de Amazon RDS para Oracle que administra AWS, AWS DMS admite todas las ediciones de bases de datos de Oracle para las versiones 11g (versiones 11.2.0.4 y posteriores) y hasta 12.2, 18c y 19c. Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características.

## Arquitectura
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**

Uno de los siguientes:
+ Una base de datos de Oracle en las instalaciones
+ Una base de datos de Oracle en una EC2 instancia
+ Una instancia de base de datos de Amazon RDS para Oracle

**Pila de tecnología de destino**
+ Amazon Redshift

**Arquitectura de destino**

*De una base de datos de Oracle que se ejecuta en la nube de AWS a Amazon Redshift:*

![\[Migración de una base de datos de Oracle en la nube de AWS a un almacén de datos de Amazon Redshift.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/7140e819-81d6-45c4-805b-8e10828076a7.png)


*Desde una base de datos de Oracle que se ejecuta en un centro de datos interno hasta Amazon Redshift:*

![\[Migración de una base de datos de Oracle en las instalaciones a un almacén de datos de Amazon Redshift.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/d6654b48-0e1b-4b01-a261-5a640be01fd7.png)


## Tools (Herramientas)
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html): AWS Database Migration Service (AWS DMS) le ayuda a migrar bases de datos a AWS de forma rápida y segura. La base de datos de origen permanece totalmente operativa durante la migración, minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. AWS DMS puede migrar sus datos desde y hasta las bases de datos comerciales y de código abierto más usadas. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): la herramienta de conversión de esquemas de AWS (AWS SCT) puede utilizarse para convertir su esquema de base de datos existente de un motor de base de datos a otro. Es compatible con varios motores de bases de datos, incluidos Oracle, SQL Server y PostgresSQL, como orígenes.

## Epics
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos. | Valide las versiones de las bases de datos de origen y destino y asegúrese de que son compatibles con AWS DMS. Para información sobre las versiones de bases de datos de Oracle compatibles, consulte [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Para obtener información acerca del uso de Amazon Redshift como destino, consulte [Uso de una base de datos de Amazon Redshift como destino de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html). | Administrador de base de datos | 
| Crear una VPC y un grupo de seguridad. | En su cuenta de AWS, cree una nube privada virtual (VPC), si no existe. Cree un grupo de seguridad para el tráfico saliente para las bases de datos de origen y destino. Para más información, consulte la [documentación de Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). | Administrador de sistemas | 
| Instale AWS SCT. | Descargue e instale la versión más reciente de AWS SCT y sus controladores correspondientes. Para más información, consulte [Instalación, verificación y actualización de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html). | Administrador de base de datos | 
| Cree un usuario para la tarea de AWS DMS. | Cree un usuario de AWS DMS en la base de datos de origen y concédale privilegios de LECTURA. AWS SCT y AWS DMS utilizarán este usuario. | Administrador de base de datos | 
| Pruebe la conectividad de la base de datos. | Probar la conectividad con la instancia de base de datos de Oracle. | Administrador de base de datos | 
| Cree un proyecto nuevo en AWS SCT. | Abra la herramienta AWS SCT y cree un proyecto nuevo. | Administrador de base de datos | 
| Analice el esquema de Oracle que se va a migrar. | Utilice AWS SCT para analizar el esquema que se va a migrar y generar un informe de evaluación de la migración de la base de datos. Para obtener más información, consulte [Creación de un informe de evaluación de la migración de bases de datos](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.Create.html) en la documentación de AWS SCT. | Administrador de base de datos | 
| Revise el informe de evaluación. | Revise el informe para comprobar la viabilidad de la migración. Es posible que algunos objetos de base de datos requieran una conversión manual. Para más información sobre el informe, consulte [Ver el informe de evaluación](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) en la documentación de AWS SCT. | Administrador de base de datos | 

### Prepare la base de datos de destino
<a name="prepare-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un clúster de Amazon Redshift. | Cree un clúster de Amazon Redshift en la VPC que creó anteriormente. Para obtener más información, consulte [Clústeres de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 
| Cree usuarios de bases de datos. | Extraiga la lista de usuarios, roles y concesiones de la base de datos de origen de Oracle. Cree usuarios en la base de datos Amazon Redshift de destino y aplique las funciones del paso anterior. | Administrador de base de datos | 
| Evaluar los parámetros de la base de datos. | Revise las opciones, los parámetros, los archivos de red y los enlaces a las bases de datos de la base de datos de origen de Oracle y evalúe su aplicabilidad al destino.             | Administrador de base de datos | 
| Aplique cualquier configuración pertinente a la base de datos de destino.  | Para obtener más información acerca de este paso, consulte [Referencia de configuración](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) en la documentación de Amazon Redshift. | Administrador de base de datos | 

### Crear usuarios en la base de datos de destino
<a name="create-objects-in-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un usuario de AWS DMS en la base de datos de destino. | Cree un usuario de AWS DMS en la base de datos de destino y concédale privilegios de lectura y escritura. Valide la conectividad desde AWS SCT. | Administrador de base de datos | 
| Convierta el esquema, revise el informe SQL y guarde los errores o advertencias. | Para obtener más información, consulte [Convertir esquemas de bases de datos mediante AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) en la documentación de AWS SCT. | Administrador de base de datos | 
| Aplique los cambios de esquema a la base de datos de destino o guárdelos como un archivo .sql. | Para obtener instrucciones, consulte [Guardar y aplicar el esquema convertido en AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.DW.html#CHAP_Converting.DW.SaveAndApply) en la documentación de AWS SCT. | Administrador de base de datos | 
| Valide los objetos de la base de datos de destino. | Valide los objetos que se crearon en el paso anterior en la base de datos de destino. Reescriba o rediseñe los objetos que no se hayan convertido correctamente. | Administrador de base de datos | 
| Deshabilite las claves y los desencadenadores externos. | Deshabilite cualquier clave y desencadenador externo. Esto puede provocar problemas de carga de datos durante el proceso de carga completa cuando se ejecuta AWS DMS. | Administrador de base de datos | 

### Migración de datos utilizando AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación de AWS DMS. | Inicie sesión en la Consola de administración de AWS y abra la consola de AWS DMS. En el panel de navegación, seleccione **Instancias de replicación** y **Crear instancia de replicación**. Para obtener instrucciones detalladas, consulte el [paso 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance) de la *Introducción a AWS DMS* en la documentación de AWS DMS. | Administrador de base de datos | 
| Cree puntos de conexión de origen y destino. | Cree puntos de conexión de origen y destino, pruebe la conexión desde la instancia de replicación a los puntos de conexión de origen y destino. Para obtener instrucciones detalladas, consulte el [paso 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints) de la *Introducción a AWS DMS* en la documentación de AWS DMS. | Administrador de base de datos | 
| Cree una tarea de replicación. | Cree una tarea de replicación y seleccione el método de migración adecuado. Para obtener instrucciones detalladas, consulte el [paso 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks) de la *Introducción a AWS DMS* en la documentación de AWS DMS. | Administrador de base de datos | 
| Iniciar la tarea de replicación. | Inicie la tarea de replicación y supervise los registros para detectar cualquier error. | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-your-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree servidores de aplicaciones. | Cree los nuevos servidores de aplicaciones en AWS. | Propietario de la aplicación | 
| Migre el código de la aplicación. | Migre el código de la aplicación a los nuevos servidores. | Propietario de la aplicación | 
| Configure los servidores de aplicaciones. | Configure el servidor de aplicaciones para los controladores y la base de datos de destino. | Propietario de la aplicación | 
| Optimice el código de la aplicación. | Optimice el código de la aplicación para la base de datos de destino. | Propietario de la aplicación | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide a los usuarios. | En la base de datos de Amazon Redshift de destino, valide a los usuarios y asígneles funciones y privilegios. | Administrador de base de datos | 
| Valide que la aplicación esté bloqueada. | Asegúrese de que la aplicación esté bloqueada para evitar más cambios. | Propietario de la aplicación | 
| Valide los datos. | Valide los datos de la base de datos Amazon Redshift de destino. | Administrador de base de datos | 
| Habilite las claves y los desencadenadores externos. | Habilite las claves y los desencadenadores externos en la base de datos de Amazon Redshift de destino. | Administrador de base de datos | 
| Conéctese a la nueva base de datos. | Configure la aplicación para conectarse a la nueva base de datos de Amazon Redshift. | Propietario de la aplicación | 
| Realice las comprobaciones finales. | Realice una comprobación final y exhaustiva del sistema antes de la puesta en marcha. | Administrador de base de datos, propietario de la aplicación | 
| Realice la puesta en marcha. | Póngalo en marcha con la base de datos de Amazon Redshift de destino. | Administrador de base de datos | 

### Cerrar el proyecto de migración
<a name="close-the-migration-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. | Cierre los recursos temporales de AWS, como la instancia de replicación de AWS DMS y la EC2 instancia utilizada para AWS SCT.  | Administrador de base de datos, administrador de sistemas | 
| Revise los documentos.  | Revise y valide los documentos del proyecto de migración.     | Administrador de base de datos, administrador de sistemas | 
| Recopile métricas. | Recopile información sobre el proyecto de migración, como el tiempo de migración, el porcentaje de tareas manuales en comparación con las tareas automatizadas y el ahorro total de costos.  | Administrador de base de datos, administrador de sistemas | 
| Cerrar el proyecto. | Cerrar el proyecto y enviar comentarios. | Administrador de base de datos, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-resources"></a>

**Referencias**
+ [Guía del usuario de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guía del usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Guía de introducción a Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

**Tutoriales y videos**
+ [Conozca en profundidad AWS SCT y AWS DMS](https://www.youtube.com/watch?v=kJs9U4ys5FE) (presentación de AWS re:Invent 2019)
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/getting-started/)

# Migración de una base de datos de Oracle a Aurora PostgreSQL con AWS DMS y AWS SCT
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-summary"></a>

Este patrón describe cómo migrar una base de datos de Oracle a una edición compatible con PostgreSQL de Amazon Aurora mediante AWS Data Migration Service (AWS DMS) y la la Herramienta de conversión de esquemas de AWS (AWS SCT). 

El patrón abarca las bases de datos Oracle de origen que se encuentran en las instalaciones, las bases de datos Oracle que están instaladas en instancias de Amazon Elastic Compute Cloud (Amazon EC2) y Amazon Relational Database Service (Amazon RDS) para las bases de datos de Oracle. El patrón convierte estas bases de datos en compatibles con Aurora PostgreSQL.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de Oracle en un centro de datos en las instalaciones o en la nube de AWS.
+ Los clientes de SQL se instalan en una máquina local o en una EC2 instancia.
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores SCT de AWS, instalados en una máquina local o en una instancia en la EC2 que esté instalado AWS SCT. 

**Limitaciones**
+ Límite de tamaño de la base de datos: 128 TB 
+ Si la base de datos de origen es compatible con una aplicación comercial off-the-shelf (COTS) o es específica de un proveedor, es posible que no pueda convertirla a otro motor de base de datos. Antes de usar este patrón, confirme que la aplicación es compatible con Aurora PostgreSQL.  

**Versiones de producto**
+ Para las bases de datos de Oracle autogestionadas, AWS DMS admite todas las ediciones de bases de datos de Oracle para las versiones 10.2 y posteriores (para las versiones 10.x), 11g y hasta 12.2, 18c y 19c. Para ver la lista más reciente de las versiones de las bases de datos de Oracle compatibles (tanto autogestionadas como de Amazon RDS para Oracle), consulte [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y [Uso de una base de datos PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html). 
+ Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. Para obtener información sobre las versiones de bases de datos de Oracle compatibles con AWS SCT, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html). 
+ Aurora es compatible con las versiones de PostgreSQL incluidas en las [versiones de Amazon Aurora PostgreSQL y versiones del motor](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html).

## Arquitectura
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**

Uno de los siguientes:
+ Una base de datos de Oracle en las instalaciones
+ Una base de datos Oracle en una instancia EC2  
+ Una instancia de base de datos de Amazon RDS para Oracle

**Pila de tecnología de destino**
+ Aurora compatible con PostgreSQL 

**Arquitectura de destino**

![\[Arquitectura de destino para migrar bases de datos de Oracle a Aurora compatibles con PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/68beb634-926e-4908-97b1-edcd23e06a2b.png)


**Arquitectura de migración de datos**
+ Desde una base de datos de Oracle en ejecución en la nube de AWS   
![\[Arquitectura de migración de datos para una base de datos de Oracle en AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/7fc32019-3db1-485b-93e5-6d5539be048c.png)

   
+ Desde una base de datos de Oracle en ejecución en un centro de datos en las instalaciones  
![\[Arquitectura de migración de datos para una base de datos de Oracle en un centro de datos en las instalaciones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/c70d8774-aef7-4414-9766-ce8f25757c4b.png)

## Tools (Herramientas)
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino.

## Epics
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la base de datos de origen. | Para preparar la base de datos de origen, consulte [Uso de Oracle Database como un origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) en la documentación de AWS SCT. | Administrador de base de datos | 
| Cree una EC2 instancia para AWS SCT. | Cree y configure una EC2 instancia para AWS SCT, si es necesario. | Administrador de base de datos | 
| Descargue AWS SCT. | Descargue la versión más reciente de AWS SCT y los controladores asociados. Para obtener más información, consulte [Instalación, verificación y actualización de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) en la documentación de AWS SCT. | Administrador de base de datos | 
| Añada usuarios y permisos. | Agregue y valide los usuarios y permisos necesarios en la base de datos de origen. | Administrador de base de datos | 
| Cree un proyecto de AWS SCT. | Cree un proyecto de AWS SCT para la carga de trabajo y conéctese a la base de datos de origen. Para obtener instrucciones, consulte [Creación de un proyecto de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Project) y [Cómo añadir servidores de bases de datos](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) en la documentación de AWS SCT. | Administrador de base de datos | 
| Evalúe la viabilidad. | Genere un informe de evaluación que resuma las medidas a tomar en el caso de los esquemas que no se pueden convertir automáticamente y proporcione estimaciones de los esfuerzos de conversión manual. Para obtener más información, consulte [Creación y revisión del informe de evaluación de la migración de bases de datos](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) en la documentación de AWS SCT. | Administrador de base de datos | 

### Prepare la base de datos de destino
<a name="prepare-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una instancia de base de datos de Amazon RDS de destino. | Cree una instancia de base de datos de Amazon RDS de destino con Amazon Aurora como motor de base de datos. Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) en la documentación de Amazon RDS. | Administrador de base de datos | 
| Extraiga usuarios, roles y permisos. | Extraiga la lista de usuarios, roles y permisos de la base de datos de origen. | Administrador de base de datos | 
| Asigne usuarios. | Asigne los usuarios existentes de la base de datos a los nuevos usuarios de la base de datos. | Propietario de la aplicación | 
| Cree usuarios. | Cree usuarios en la base de datos de destino. | Administrador de base de datos, propietario de la aplicación | 
| Aplique roles. | Aplique los roles del paso anterior a la base de datos de destino. | Administrador de base de datos | 
| Compruebe las opciones, los parámetros, los archivos de red y los enlaces a las bases de datos. | Revise la base de datos de origen para ver las opciones, los parámetros, los archivos de red y los enlaces a la base de datos y, a continuación, evalúe su aplicabilidad a la base de datos de destino. | Administrador de base de datos | 
| Aplique la configuración. | Aplique cualquier configuración relevante a la base de datos de destino. | Administrador de base de datos | 

### Transferir objetos
<a name="transfer-objects"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la conectividad de AWS SCT. | Configure la conectividad de AWS SCT con la base de datos de destino. | Administrador de base de datos | 
| Convierta el esquema con AWS SCT. | AWS SCT convierte automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino. El código que la herramienta no puede convertir automáticamente está marcado de forma clara para que pueda convertirlo manualmente. | Administrador de base de datos | 
| Revise el informe. | Revise el informe SQL generado y guarde los errores y advertencias. | Administrador de base de datos | 
| Aplique cambios de esquema automatizados. | Aplique los cambios de esquema automatizados a la base de datos de destino o guárdelos como un archivo .sql. | Administrador de base de datos | 
| Valide objetos. | Valide que AWS SCT haya creado los objetos en el destino.  | Administrador de base de datos | 
| Gestione los elementos que no se hayan convertido. | Reescriba, rechace o rediseñe manualmente cualquier elemento que no se haya podido convertir automáticamente. | Administrador de base de datos, propietario de la aplicación | 
| Aplique permisos de usuario y rol. | Aplique los permisos de usuario y rol generados, y revise las excepciones. | Administrador de base de datos | 

### Migración de datos
<a name="migrate-the-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Determine el método. | Determine el método para migrar los datos. | Administrador de base de datos | 
| Cree una instancia de replicación. | Cree una instancia de replicación desde la consola de AWS DMS. Para obtener más información, consulte [Cómo trabajar con una instancia de replicación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Cree los puntos de conexión de origen y de destino. | Para crear puntos de conexión, siga las instrucciones de [Creación de puntos de conexión de origen y destino en la documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Administrador de base de datos | 
| Cree una tarea de replicación. | Para crear una tarea, consulte [Trabajar con tareas de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Inicie la tarea de replicación y supervise los registros. | Para obtener más información sobre este paso, consulte [Monitorización de las tareas de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html) en la documentación de AWS DMS. | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Analice y convierta los elementos SQL en el código de la aplicación. | Use AWS SCT para analizar y convertir los elementos de SQL en el código de la aplicación. Al convertir su esquema de base de datos de un motor a otro, también deberá actualizar el código SQL de las aplicaciones para interactuar con el nuevo motor de base de datos en lugar del antiguo. Puede ver, analizar, editar y guardar el código SQL convertido. | Propietario de la aplicación | 
| Cree servidores de aplicaciones. | Cree los nuevos servidores de aplicaciones en AWS. | Propietario de la aplicación | 
| Migre el código de la aplicación. | Migre el código de la aplicación a los nuevos servidores. | Propietario de la aplicación | 
| Configure los servidores de aplicaciones. | Configure los servidores de aplicaciones para los controladores y la base de datos de destino. | Propietario de la aplicación | 
| Corrija el código. | Corrija cualquier código específico del motor de base de datos de origen de su aplicación. | Propietario de la aplicación | 
| Optimice el código. | Optimice el código de su aplicación para el motor de base de datos de destino. | Propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Realizar la transición a la base de datos de destino. | Realice la transición a la nueva base de datos. | Administrador de base de datos | 
| Bloquee la aplicación. | Bloquee la aplicación frente a cualquier cambio. | Propietario de la aplicación | 
| Valide los cambios. | Valide que todos los cambios se hayan propagado a la base de datos de destino. | Administrador de base de datos | 
| Redirigir a la base de datos de destino. | Apunte los nuevos servidores de la aplicación hacia la base de datos de destino. | Propietario de la aplicación | 
| Compruebe todo. | Realice una verificación final y exhaustiva del sistema. | Propietario de la aplicación | 
| Realice la puesta en marcha | Complete las tareas finales de la transición. | Propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. | Cierre los recursos temporales de AWS, como la instancia de replicación de AWS DMS y la EC2 instancia utilizada para AWS SCT. | Administrador de base de datos, propietario de la aplicación | 
| Actualice los comentarios. | Actualice los comentarios sobre el proceso de AWS DMS para los equipos internos. | Administrador de base de datos, propietario de la aplicación | 
| Revise el proceso y las plantillas. | Revise el proceso de AWS DMS y mejore la plantilla si es necesario. | Administrador de base de datos, propietario de la aplicación | 
| Valide los documentos. | Revise y valide los documentos del proyecto. | Administrador de base de datos, propietario de la aplicación | 
| Recopile métricas. | Recopile métricas para evaluar el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado, el ahorro de costos, etc. | Administrador de base de datos, propietario de la aplicación | 
| Cierre el proyecto. | Cierre el proyecto de migración y envíe comentarios a las partes interesadas. | Administrador de base de datos, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-resources"></a>

**Referencias**
+ [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilizar una base de datos PostgreSQL como objetivo para el servicio de migración de bases de datos de AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manual de migración de Oracle Database 11g/12c a Amazon Aurora con compatibilidad con PostgreSQL (9.6.x)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Manual de migración de la base de datos de Oracle 19c a Amazon Aurora con compatibilidad con PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Migración de una base de datos de Amazon RDS para Oracle a una edición compatible con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-oracle-postgresql.html)
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Migración de Oracle a Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriales y videos**
+ [Tutoriales sobre la migración de bases de datos Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS Data Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (video)
+ [Migración de una base de datos de Oracle a PostgreSQL](https://www.youtube.com/watch?v=ibtNkChGFkw) (video)

## Información adicional
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-additional"></a>

.

# Migración de datos de una base de datos de Oracle en las instalaciones a Aurora PostgreSQL
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql"></a>

*Michelle Deng y Shunan Xiang, Amazon Web Services*

## Resumen
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-summary"></a>

Este patrón proporciona orientación para la migración de datos de una base de datos de Oracle en las instalaciones a una edición de Amazon Aurora compatible con PostgreSQL. Se basa en una estrategia de migración de datos en línea con un tiempo de inactividad mínimo para bases de datos de Oracle de varios terabytes que contienen tablas grandes con un alto nivel de actividad de lenguaje de manipulación de datos (DML). Emplea una base de datos en espera de Oracle Active Data Guard como fuente para reducir la migración de datos de la base de datos principal. La replicación de la base de datos principal de Oracle a la base de datos en espera se puede suspender durante la carga completa para evitar errores ORA-01555. 

Las columnas de la tabla en claves principales (PKs) o claves externas (FKs), con el tipo de datos NUMBER, se utilizan normalmente para almacenar números enteros en Oracle. Le recomendamos que los convierta a INT o BIGINT en PostgreSQL para obtener un mejor rendimiento. Puede usar la Herramienta de conversión de esquemas de AWS (AWS SCT) para cambiar la asignación de tipos de datos por defecto en las columnas PK y FK. (Para obtener más información, consulte la entrada del AWS blog [Convertir el tipo de datos NUMBER de Oracle a PostgreSQL](https://aws.amazon.com/blogs/database/convert-the-number-data-type-from-oracle-to-postgresql-part-2/)). La migración de datos de este patrón usa AWS Database Migration Service (AWS DMS) tanto para la captura de datos a carga completa como para la captura de datos de cambios (CDC).

También puede usar este patrón para migrar una base de datos Oracle local a Amazon Relational Database Service (Amazon RDS) para PostgreSQL, o una base de datos Oracle alojada en Amazon Elastic Compute Cloud (Amazon) a EC2 Amazon RDS para PostgreSQL o compatible con Aurora PostgreSQL.

## Requisitos previos y limitaciones
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Oracle en un centro de datos en las instalaciones con Active Data Guard configurado en modo de espera 
+ AWS Direct Connect, configurado entre el centro de datos en las instalaciones y la nube de AWS
+ Estar familiarizado con el [uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Estar familiarizado con el [ uso de una base de datos de PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limitaciones**
+ Los clústeres de bases de datos de Amazon Aurora se pueden crear con hasta 128 TiB de almacenamiento. Las instancias de bases de datos de Amazon RDS para PostgreSQL se pueden crear con hasta 64 TiB de almacenamiento. Para obtener la información de almacenamiento más reciente, consulte [Almacenamiento y fiabilidad de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html) y [Almacenamiento de instancias de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) en la documentación de AWS.

**Versiones de producto**
+ AWS DMS es compatible con todas las ediciones de bases de datos de Oracle para las versiones 10.2 y posteriores (para versiones 10.x), 11g y hasta 12.2, 18c y 19c. Para ver la lista actualizada de versiones compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) en la documentación de AWS. 

## Arquitectura
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-architecture"></a>

**Pila de tecnología de origen**
+ Bases de datos de Oracle en las instalaciones con Oracle Active Data Guard standby configurado 

**Pila de tecnología de destino**
+ Aurora compatible con PostgreSQL 

**Arquitectura de migración de datos**

![\[Migración de una base de datos de Oracle a Aurora compatible con PostgreSQL\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/49f9b03e-6d33-4ac0-94ad-d3e6d02e6d63/images/0038a36b-fb7d-4f2d-8376-8d38290b0736.png)


## Tools (Herramientas)
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-tools"></a>
+ **AWS DMS**: [AWS Database Migration Service](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) admite varias bases de datos de origen y destino. Consulte [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html), en la documentación de AWS DMS, para obtener una lista de las versiones y ediciones de bases de datos de origen y destino de Oracle compatibles. Si AWS DMS no admite la base de datos de origen, debe seleccionar otro método para migrar los datos en la fase 6 (en la sección *Epics*). **Nota importante:** dado que se trata de una migración heterogénea, primero debe comprobar si la base de datos admite una aplicación comercial off-the-shelf (COTS). Si la aplicación es COTS, consulte al proveedor para confirmar que es compatible con Aurora PostgreSQL antes de continuar. Para obtener más información, consulte los [tutoriales de Step-by-Step migración a AWS DMS en la documentación](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) de AWS.
+ **AWS SCT**: la [Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.htm) (AWS SCT) facilita las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino. El código personalizado que convierte la herramienta incluye vistas, procedimientos almacenados y funciones. Cualquier código que la herramienta no pueda convertir automáticamente está claramente marcado para que pueda convertirlo usted mismo. 

## Epics
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
| Instale AWS SCT y los controladores. |  | Administrador de base de datos | 
| Agregue y valide la base de datos de origen de concesiones y usuarios de requisitos previos de AWS SCT. |  | Administrador de base de datos | 
| Cree un proyecto de AWS SCT para la carga de trabajo y conéctese a la base de datos de origen. |  | Administrador de base de datos | 
| Genere un informe de evaluación y evalúe la viabilidad. |  | Administrador de base de datos, propietario de la aplicación | 

### Prepare la base de datos de destino
<a name="prepare-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una base de datos de destino de Aurora compatible con PostgreSQL. |  | Administrador de base de datos | 
| Extraiga la lista de concesiones, usuarios y roles de la base de datos de origen. |  | Administrador de base de datos | 
| Asigne los usuarios existentes de la base de datos a los nuevos usuarios de la base de datos. |  | Propietario de la aplicación | 
| Cree usuarios en la base de datos de destino. |  | Administrador de base de datos | 
| Aplique los roles del paso anterior a la base de datos de Aurora compatible con PostgreSQL de destino. |  | Administrador de base de datos | 
| Revise las opciones, los parámetros, los archivos de red y los enlaces de la base de datos de origen, y evalúe su aplicabilidad a la base de datos de destino. |  | Administrador de base de datos, propietario de la aplicación | 
| Aplique cualquier configuración relevante a la base de datos de destino. |  | Administrador de base de datos | 

### Prepare para la conversión del código de objetos de la base de datos
<a name="prepare-for-database-object-code-conversion"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la conectividad de AWS SCT con la base de datos de destino. |  | Administrador de base de datos | 
| Convierta el esquema en AWS SCT y guarde el código convertido como archivo .sql. |  | Administrador de base de datos, propietario de la aplicación | 
| Convierta manualmente cualquier objeto de base de datos que no se haya podido convertir automáticamente. |  | Administrador de base de datos, propietario de la aplicación | 
| Optimice la conversión del código de la base de datos. |  | Administrador de base de datos, propietario de la aplicación | 
| Divida el archivo .sql en varios archivos .sql según el tipo de objeto. |  | Administrador de base de datos, propietario de la aplicación | 
| Valide los scripts SQL en la base de datos de destino. |  | Administrador de base de datos, propietario de la aplicación | 

### Prepárese para la migración de datos
<a name="prepare-for-data-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación de AWS DMS. |  | Administrador de base de datos | 
| Cree los puntos de conexión de origen y de destino.  | Si el tipo de datos de PKs and FKs se convierte de NUMBER en Oracle a BIGINT en PostgreSQL, considere la posibilidad de especificar el atributo `numberDataTypeScale=-2` de conexión al crear el punto final de origen. | Administrador de base de datos | 

### Migración de datos: carga completa
<a name="migrate-data-ndash-full-load"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el esquema y las tablas en la base de datos de destino. |  | Administrador de base de datos | 
|  Cree tareas de carga completa de AWS DMS agrupando tablas o dividiendo una tabla grande en función de su tamaño. |  | Administrador de base de datos | 
| Detenga las aplicaciones en las bases de datos de Oracle de origen durante un breve período. |  | Propietario de la aplicación | 
| Compruebe que la base de datos en espera de Oracle esté sincronizada con la base de datos principal y detenga la replicación de la base de datos principal a la base de datos en espera. |  | Administrador de base de datos, propietario de la aplicación | 
| Inicie las aplicaciones en la base de datos de Oracle de origen. |  | Propietario de la aplicación | 
| Inicie las tareas de carga completa de AWS DMS en paralelo desde la base de datos en espera de Oracle hasta la base de datos de Aurora compatible con PostgreSQL. |  | Administrador de base de datos | 
| Cree PKs índices secundarios una vez completada la carga completa. |  | Administrador de base de datos | 
| Valide los datos. |  | Administrador de base de datos | 

### Migración de datos: CDC
<a name="migrate-data-ndash-cdc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree tareas de replicación continua de AWS DMS especificando la hora de inicio de CDC o el número de cambio de sistema (SCN) personalizados cuando el modo de espera de Oracle se sincronizó con la base de datos principal y antes de que se reiniciaran las aplicaciones en la tarea anterior. |  | Administrador de base de datos | 
| Inicie las tareas de AWS DMS en paralelo para replicar los cambios en curso de la base de datos en espera Oracle a la base de datos Aurora compatible con PostgreSQL. |  | Administrador de base de datos | 
| Restablezca la replicación de la base de datos principal de Oracle a la base de datos en espera. |  | Administrador de base de datos | 
| Supervise los registros y detenga las aplicaciones en la base de datos de Oracle cuando la base de datos de destino de Aurora compatible con PostgreSQL esté casi sincronizada con la base de datos de Oracle de origen. |  | Administrador de base de datos, propietario de la aplicación | 
| Detenga las tareas de AWS DMS cuando el destino esté completamente sincronizado con la base de datos de Oracle de origen. |  | Administrador de base de datos | 
| Cree FKs y valide los datos en la base de datos de destino. |  | Administrador de base de datos | 
| Cree funciones, vistas, desencadenantes, secuencias y otros tipos de objetos en la base de datos de destino. |  | Administrador de base de datos | 
| Aplique las concesiones de funciones en la base de datos de destino. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Use AWS SCT para analizar y convertir las instrucciones SQL del código de la aplicación. |  | Propietario de la aplicación | 
| Cree nuevos servidores de aplicaciones en AWS. |  | Propietario de la aplicación | 
| Migre el código de la aplicación a los nuevos servidores. |  | Propietario de la aplicación | 
| Configure el servidor de aplicaciones para los controladores y la base de datos de destino. |  | Propietario de la aplicación | 
| Corrija cualquier código específico del motor de base de datos de origen de la aplicación. |  | Propietario de la aplicación | 
| Optimice el código de la aplicación para la base de datos de destino. |  | Propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Apunte el nuevo servidor de la aplicación hacia la base de datos de destino. |  | Administrador de base de datos, propietario de la aplicación | 
| Realice comprobaciones de estado. |  | Administrador de base de datos, propietario de la aplicación | 
| Realice la puesta en marcha. |  | Administrador de base de datos, propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | Administrador de base de datos, administrador de sistemas | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación | 
| Recopile métricas sobre el tiempo necesario para migrar, el porcentaje de uso manual en comparación con el uso de herramientas, el ahorro de costos y datos similares. |  | Administrador de base de datos, propietario de la aplicación | 
| Cerrar el proyecto y enviar comentarios. |  | Administrador de base de datos, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-resources"></a>

**Referencias**
+ [Base de datos de Oracle a Aurora compatible con PostgreSQL: manual de procedimientos para la migración](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Migración de una base de datos de Amazon RDS para Oracle a Amazon Aurora MySQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-rdsoracle2aurora.html)
+ [Sitio web de AWS DMS](https://aws.amazon.com/dms/)
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Sitio web de AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Migración de Oracle a Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

**Tutoriales**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/) 
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [ Step-by-StepTutoriales de AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/dms-sbs-welcome.html)

# Migración de SAP ASE a Amazon RDS para SQL Server utilizando AWS DMS
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms"></a>

*Amit Kumar, Amazon Web Services*

## Resumen
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-summary"></a>

Este patrón proporciona orientación para migrar una base de datos de SAP Adaptive Server Enterprise (ASE) a una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) que ejecute Microsoft SQL Server. La base de datos de origen puede estar ubicada en un centro de datos local o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). El patrón utiliza AWS Database Migration Service (AWS DMS) para migrar datos y (de forma opcional) herramientas de ingeniería de software asistida por computadora (CASE) para convertir el esquema de base de datos. 

## Requisitos previos y limitaciones
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos SAP ASE en un centro de datos local o en una instancia EC2 
+ Una base de datos de Amazon RDS para SQL Server de destino que esté en funcionamiento

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ Solo para SAP ASE, versión 15.7 o 16.x. Para obtener la información más reciente, consulte [Uso de una base de datos de SAP como origen para AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)
+ Para las bases de datos de destino de Amazon RDS, AWS DMS admite [las versiones de Microsoft SQL Server en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) para las ediciones Enterprise, Standard, Web y Express. Para obtener la información más reciente sobre las versiones compatibles, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características.  

## Arquitectura
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos SAP ASE que se encuentra en las instalaciones o en una EC2 instancia de Amazon

**Pila de tecnología de destino**
+ Instancia de base de datos de Amazon RDS para SQL Server

**Arquitectura de origen y destino**

*Desde una base de datos SAP ASE en Amazon EC2 hasta una instancia de base de datos de Amazon RDS for SQL Server:*

![\[De la arquitectura de destino de SAP ASE en Amazon EC2 a Amazon RDS para SQL Server\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/957bdcf0-ab58-4b6d-a71a-d0ecbc31822c.png)


*De una base de datos SAP ASE en las instalaciones a una instancia de base de datos de Amazon RDS para SQL Server:*

![\[Arquitectura de destino para aplicaciones en las instalaciones de SAP ASE a Amazon RDS para SQL Server\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/65aab2f5-0e63-4c34-97e2-cd4ac23751a4.png)


## Tools (Herramientas)
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-tools"></a>
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) es un servicio web que puede utilizar para migrar datos de una base de datos local, de una instancia de base de datos de Amazon RDS o de una base de datos de una EC2 instancia a una base de datos de un servicio de AWS, como Amazon RDS for SQL Server, o una instancia. EC2 Puede también migrar desde una base de datos de un servicio de AWS a otra base de datos local. Puede migrar datos entre motores de bases de datos heterogéneos u homogéneos.
+ [Para las conversiones de esquemas, si lo desea, puede utilizar [Erwin](https://erwin.com/products/erwin-data-modeler/) Data Modeler o SAP. PowerDesigner](https://www.sap.com/products/technology-platform/powerdesigner-data-modeling-tools.html)

## Epics
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
| Identifique los requisitos de almacenamiento (el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. |  | DBA, SysAdmin | 
| Identificar la estrategia de migración de aplicaciones. |  | DBA, propietario de la SysAdmin aplicación | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC) y subredes. |  | SysAdmin | 
| Cree grupos de seguridad y listas de control de acceso a la red (ACLs). |  | SysAdmin | 
| Configure e inicie una instancia de base de datos de Amazon RDS. |  | SysAdmin | 

### Migración de datos: opción 1
<a name="migrate-data---option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre el esquema de la base de datos manualmente o utilice una herramienta CASE como Erwin Data Modeler o SAP. PowerDesigner |  | Administrador de base de datos | 

### Migración de datos: opción 2
<a name="migrate-data---option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre datos utilizando AWS DMS. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. |  | DBA, SysAdmin propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. |  | DBA, propietario de la SysAdmin aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | DBA, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | DBA, propietario de la SysAdmin aplicación | 
| Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado y el ahorro de costos. |  | DBA, propietario de la SysAdmin aplicación | 
| Cerrar el proyecto y enviar comentarios. |  | DBA, propietario de la SysAdmin aplicación | 

## Recursos relacionados
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-resources"></a>

**Referencias**
+ [Sitio web de AWS DMS](https://aws.amazon.com/dms/)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Uso de una base de datos SAP ASE como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)
+ [Limitaciones de RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)

**Tutoriales y videos**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon Redshift mediante AWS DMS
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms"></a>

*Marcelo Fernandes, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-summary"></a>

Este patrón proporciona orientación para migrar una base de datos de Microsoft SQL Server en las instalaciones a Amazon Redshift mediante AWS Data Migration Service (AWS DMS). 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Microsoft SQL Server en un centro de datos en las instalaciones
+ Requisitos previos cumplidos para usar una base de datos de Amazon Redshift como destino para AWS DMS, tal y como se describe en la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.Prerequisites)

**Versiones de producto**
+ Ediciones SQL Server 2005-2019, Enterprise, Standard, Workgroup, Developer y Web. Para ver la lista actualizada de versiones compatibles, consulte [Usar una base de datos de Microsoft SQL Server como origen de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) en la documentación de AWS. 

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Microsoft SQL Server en las instalaciones 

**Pila de tecnología de destino**
+ Amazon Redshift

**Arquitectura de migración de datos**

 

![\[Arquitectura para migrar una base de datos de SQL Server en las instalaciones a Amazon Redshift mediante AWS DMS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/65b2be1b-740e-4d4d-99a8-f77c4ea6553d/images/3a094bf2-be31-4d83-8dd2-9dc078321055.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) es un servicio de migración de datos que admite varios tipos de bases de datos de origen y destino. Para obtener información sobre las versiones y ediciones de bases de datos de Microsoft SQL Server que se admiten para su uso con AWS DMS, consulte [Uso de una base de datos de Microsoft SQL Server como fuente de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) en la documentación de AWS DMS. Si AWS DMS no es compatible con su base de datos de origen, debe seleccionar un método alternativo para la migración de datos.

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión y el motor de la base de datos de origen y de destino. |  | Administrador de base de datos | 
| Identifique los requisitos de hardware de la instancia del servidor de destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de almacenamiento (el tipo y la capacidad de almacenamiento). |  | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar la estrategia de migración de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). | Para obtener más información, consulte [Trabajar con una instancia de base de datos en una VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) en la documentación de AWS. | Administrador de sistemas | 
| Cree grupos de seguridad. |  | Administrador de sistemas | 
| Configure e inicie un clúster de Amazon Redshift. | Para obtener más información, consulte [Crear un clúster de muestra de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html) en la documentación de Amazon Redshift. | Administrador de base de datos, administrador de sistemas | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los datos de la base de datos de Microsoft SQL Server mediante AWS DMS. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos temporales. |  | Administrador de base de datos, administrador de sistemas | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado y el ahorro de costos. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cerrar el proyecto y enviar comentarios. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-resources"></a>

**Referencias**
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/index.html)
+ [Documentación de Amazon Redshift](https://docs.aws.amazon.com/redshift/)
+ [Precios de Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriales y videos**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Uso de una base de datos de Amazon Redshift como objetivo de AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 

# Migración de una base de datos en las instalaciones de Microsoft SQL Server a Amazon Redshift mediante agentes de extracción de datos de AWS SCT
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents"></a>

*Neha Thakur, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-summary"></a>

Este patrón describe los pasos para migrar una base de datos de origen de Microsoft SQL Server en las instalaciones a una base de datos de destino de Amazon Redshift mediante los agentes de extracción de datos de la herramienta de conversión de esquemas de AWS (AWS SCT). Un agente es un programa externo que se integra con AWS SCT, pero que lleva a cabo la transformación de datos en otro lugar e interactúa con otros servicios de AWS en su nombre.   

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-prereqs"></a>

**Requisitos previos **
+ Una base de datos de origen de Microsoft SQL Server utilizada para la carga de trabajo del almacenamiento de datos en un centro de datos en las instalaciones
+ Una cuenta de AWS activa

**Versiones de producto**
+ Microsoft SQL Server versión 2008 o posterior. Consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) para ver una lista de las versiones compatibles más reciente.. 

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-architecture"></a>

**Pila de tecnología** de **origen**
+ Una base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología** de **destino**
+ Amazon Redshift

**Arquitectura de migración de datos**

![\[Migración de una base de datos de SQL Server a Amazon Redshift mediante agentes de extracción de datos de AWS SCT.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6975f67a-0705-47b4-a1b8-90aaa2597a04/images/dbff958b-7601-442e-9e23-4d07edd0ccfd.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-tools"></a>
+ [La Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) gestiona las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino. Cuando las bases de datos de origen y destino son muy diferentes, puede utilizar un agente SCT de AWS para realizar una transformación de datos adicional. Para obtener más información, consulte [Migrar datos de un almacén de datos en las instalaciones a Amazon Redshift](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.dw.html) en la documentación de AWS.

## Prácticas recomendadas
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-best-practices"></a>
+ [Prácticas recomendadas para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html)
+ [Prácticas recomendadas para Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/best-practices.html)

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-epics"></a>

### Preparación para la migración
<a name="prepare-for-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
| Identifique los requisitos de hardware de la instancia del servidor de destino. |  | DBA, SysAdmin | 
| Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Elija el tipo de instancia apropiado (capacidad, características de almacenamiento y características de red). |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red de las bases de datos de origen y destino. |  | DBA, SysAdmin | 
| Elija una estrategia de migración de aplicaciones. |  | DBA, propietario de la SysAdmin aplicación | 

### Configurar la infraestructura
<a name="configure-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC) y subredes. |  | SysAdmin | 
| Cree grupos de seguridad. |  | SysAdmin | 
| Configure e inicie el clúster de Amazon Redshift. |  | SysAdmin | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los datos con los agentes de extracción de datos de AWS SCT. |  | Administrador de base de datos | 

### Migración de aplicaciones
<a name="migrate-applications"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga la estrategia de migración de aplicaciones elegida. |  | DBA, propietario de la SysAdmin aplicación | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie las aplicaciones cliente a la nueva infraestructura. |  | DBA, propietario de la SysAdmin aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | DBA, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | DBA, propietario de la SysAdmin aplicación | 
| Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado y el ahorro de costos. |  | DBA, propietario de la SysAdmin aplicación | 
| Cierre el proyecto y envíe sus comentarios. |  | DBA, propietario de la SysAdmin aplicación | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-resources"></a>

**Referencias**
+ [Guía del usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Uso de agentes de extracción de datos](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Precios de Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriales y videos**
+ [Introducción a la Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)
+ [Introducción a Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

# Migración de aplicaciones heredadas de Oracle Pro\$1C a ECPG
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg"></a>

*Sai Parthasaradhi y Mahesh Balumuri, Amazon Web Services*

## Resumen
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-summary"></a>

La mayoría de las aplicaciones antiguas que tienen código SQL integrado utilizan el precompilador Pro\$1C de Oracle para acceder a la base de datos. Al migrar estas bases de datos de Oracle a Amazon Relational Database Service (Amazon RDS) para PostgreSQL o a una edición compatible con Amazon Aurora PostgreSQL, debe convertir el código de la aplicación a un formato que sea compatible con el precompilador de PostgreSQL, que se denomina ECPG. Este patrón describe cómo convertir el código de Oracle Pro\$1C a su equivalente en PostgreSQL ECPG. 

Para obtener más información sobre Pro\$1C, consulte la [documentación de Oracle](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415). Para obtener una breve introducción al ECPG, consulte la sección [Información adicional](#migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional).

## Requisitos previos y limitaciones
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos compatible con Amazon RDS para PostgreSQL o Aurora PostgreSQL
+ Una base de datos de Oracle que se ejecuta en las instalaciones

## Tools (Herramientas)
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-tools"></a>
+ Los paquetes de PostgreSQL que se enumeran en la siguiente sección.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): la interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta de código abierto para interactuar con los servicios de AWS mediante comandos en el intérprete de comandos de línea de comandos. Con una configuración mínima, puede ejecutar comandos de la CLI de AWS que implementan una funcionalidad equivalente a la proporcionada por la consola de administración de AWS basada en navegador desde un símbolo del sistema.

## Epics
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-epics"></a>

### Configurar el entorno de compilación en CentOS o RHEL
<a name="set-the-build-environment-on-centos-or-rhel"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale los paquetes de PostgreSQL. | Instale los paquetes PostgreSQL necesarios utilizando los siguientes comandos.<pre>yum update -y<br />yum install -y yum-utils<br />rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm<br />dnf -qy module disable postgresql</pre> | Desarrollador de aplicaciones, DevOps ingeniero | 
| Instale los archivos de encabezado y las bibliotecas. | Instale el paquete `postgresql12-devel`, que contiene bibliotecas y archivos de encabezado, mediante los siguientes comandos. Instale el paquete tanto en el entorno de desarrollo como en el de tiempo de ejecución para evitar errores en el entorno de ejecución.<pre>dnf -y install postgresql12-devel<br />yum install ncompress zip ghostscript jq unzip wget git -y</pre>Solo para el entorno de desarrollo, ejecute también los siguientes comandos.<pre>yum install zlib-devel make -y<br />ln -s /usr/pgsql-12/bin/ecpg /usr/bin/</pre> | Desarrollador de aplicaciones, DevOps ingeniero | 
| Configure la variable de ruta del entorno. | Establezca la ruta del entorno para las bibliotecas cliente de PostgreSQL.<pre>export PATH=$PATH:/usr/pgsql-12/bin</pre> | Desarrollador de aplicaciones, DevOps ingeniero | 
| Instale software adicional según sea necesario. | Si es necesario, instale **PGLoader** como reemplazo de **SQL\$1Loader** en Oracle.<pre>wget -O /etc/yum.repos.d/pgloader-ccl.repo https://dl.packager.io/srv/opf/pgloader-ccl/master/installer/el/7.repo<br />yum install pgloader-ccl -y<br />ln -s /opt/pgloader-ccl/bin/pgloader /usr/bin/</pre>Si llama a alguna aplicación Java desde un módulo Pro\$1C, instale Java.<pre>yum install java -y</pre>Instale **ant** para compilar el código Java.<pre>yum install ant -y</pre> | Desarrollador de aplicaciones, DevOps ingeniero | 
| Instale la AWS CLI. | Instale la CLI de AWS para ejecutar comandos que interactúen con servicios de AWS de como AWS Secrets Manager y Amazon Simple Storage Service (Amazon S3) desde sus aplicaciones.<pre>cd /tmp/<br />curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />./aws/install -i /usr/local/aws-cli -b /usr/local/bin --update</pre> | Desarrollador de aplicaciones, DevOps ingeniero | 
| Identifique los programas que se convertirán. | Identifique las aplicaciones que desea convertir de Pro\$1C a ECPG. | Desarrollador de aplicaciones, propietario de la aplicación | 

### Convertir el código Pro\$1C a ECPG
<a name="convert-pro-c-code-to-ecpg"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine los encabezados no deseados. | Elimine los encabezados `include ` que no sean necesarios en PostgreSQL, como `oci.h`, `oratypes` y `sqlda`. | Propietario de la aplicación, desarrollador de la aplicación | 
| Actualice las declaraciones de variables. | Agregue instrucciones `EXEC SQL` para todas las declaraciones de variables que se utilizan como variables de host.Elimine de la aplicación las declaraciones `EXEC SQL VAR` como las siguientes.<pre>EXEC SQL VAR query IS STRING(2048);</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Actualice la funcionalidad ROWNUM. | La función `ROWNUM` no está disponible en PostgreSQL. Sustituya esto con la función de ventana `ROW_NUMBER` en las consultas SQL.Código Pro\$1C:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME <br />FROM  DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%' <br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM;</pre>Código ECPG:<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME , ROW_NUMBER() OVER (ORDER BY FILE_NAME DESC) AS ROWNUM<br />FROM  demo_schema.DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%'<br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM; </pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Actualice los parámetros de la función para usar variables de alias. | En PostgreSQL, los parámetros de las funciones no se pueden usar como variables de host. Sobrescríbalos mediante una variable de alias.Código Pro\$1C:<pre>int processData(int referenceId){<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre>Código ECPG:<pre>int processData(int referenceIdParam){<br />  EXEC SQL int referenceId = referenceIdParam;<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Actualice los tipos de estructura. | Defina los tipos de `struct` en los boques `EXEC SQL BEGIN` y `END` con `typedef` si las variables de tipo `struct` se utilizan como variables de host. Si los tipos de `struct` están definidos en los archivos de encabezado (`.h`), incluya los archivos con instrucciones `EXEC SQL` include.Código Pro\$1C:Archivo de encabezado (`demo.h`)<pre>struct s_partition_ranges<br />{<br /> char   sc_table_group[31];<br /> char   sc_table_name[31];<br /> char   sc_range_value[10];<br />}; <br />struct s_partition_ranges_ind<br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />}; </pre>Código ECPG:Archivo de encabezado (`demo.h`)<pre>EXEC SQL BEGIN DECLARE SECTION;<br />typedef struct <br />{<br />  char   sc_table_group[31];<br />  char   sc_table_name[31];<br />  char   sc_range_value[10];<br />} s_partition_ranges; <br />typedef struct <br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />} s_partition_ranges_ind; <br />EXEC SQL END DECLARE SECTION;</pre>Archivo Pro\$1C (`demo.pc`)<pre>#include "demo.h"<br />struct s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />struct s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;</pre>Archivo ECPG (`demo.pc`)<pre>exec sql include "demo.h"<br />EXEC SQL BEGIN DECLARE SECTION;<br />s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;<br />EXEC SQL END DECLARE SECTION;</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Modifique la lógica para extraerla de los cursores. | Para obtener varias filas de los cursores mediante variables de matriz, cambie el código que se va a utilizar `FETCH FORWARD`.Código Pro\$1C:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL FETCH filename_cursor into :aPoeFiles;</pre>Código ECPG:<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL int fetchSize = MAX_FILES;<br />EXEC SQL FETCH FORWARD :fetchSize filename_cursor into :aPoeFiles;</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Modifique las llamadas a paquetes que no tienen valores de retorno. | Las funciones de los paquetes de Oracle que no tienen valores de retorno se deben llamar con una variable indicadora. Si la aplicación incluye varias funciones que tienen el mismo nombre o si las funciones de tipo desconocido generan errores de tiempo de ejecución, clasifique los valores en los tipos de datos.Código Pro\$1C:<pre>void ProcessData (char *data , int id)<br />{        <br />        EXEC SQL EXECUTE<br />               BEGIN<br />                  pkg_demo.process_data (:data, :id);                                                                                    <br />               END;<br />       END-EXEC;<br />}</pre>Código ECPG:<pre>void ProcessData (char *dataParam, int idParam )<br />{<br />        EXEC SQL char *data = dataParam;<br />        EXEC SQL int id = idParam;<br />        EXEC SQL short rowInd;<br />        EXEC SQL short rowInd = 0;<br />        EXEC SQL SELECT pkg_demo.process_data (<br />                       inp_data => :data::text,<br />                       inp_id => :id<br />               ) INTO :rowInd;<br />}</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Reescriba las variables SQL\$1CURSOR. | Reescriba la variable `SQL_CURSOR` y su implementación.Código Pro\$1C:<pre>/* SQL Cursor */<br />SQL_CURSOR      demo_cursor;<br />EXEC SQL ALLOCATE :demo_cursor;<br />EXEC SQL EXECUTE<br />  BEGIN<br />      pkg_demo.get_cursor(     <br />        demo_cur=>:demo_cursor<br />      );<br />  END;<br />END-EXEC;</pre>Código ECPG:<pre>EXEC SQL DECLARE demo_cursor CURSOR FOR SELECT<br />         * from<br />    pkg_demo.open_filename_rc(<br />            demo_cur=>refcursor<br />          ) ;<br />EXEC SQL char open_filename_rcInd[100]; <br /># As the below function returns cursor_name as <br /># return we need to use char[] type as indicator. <br />EXEC SQL SELECT pkg_demo.get_cursor (<br />        demo_cur=>'demo_cursor'<br />    ) INTO :open_filename_rcInd;</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Aplique patrones de migración comunes. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-legacy-applications-from-oracle-pro-c-to-ecpg.html) | Desarrollador de aplicaciones, propietario de la aplicación | 
| Habilite la depuración, si fuera necesario.  | Para ejecutar el programa ECPG en modo de depuración, añada el siguiente comando dentro del bloque de funciones principal.<pre>ECPGdebug(1, stderr); </pre> | Desarrollador de aplicaciones, propietario de la aplicación | 

### Compilar programas ECPG
<a name="compile-ecpg-programs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un archivo ejecutable para ECPG. | Si tiene un archivo fuente de SQL C incrustado denominado `prog1.pgc`, puede crear un programa ejecutable mediante el siguiente Script.<pre>ecpg prog1.pgc<br />cc -I/usr/local/pgsql/include -c prog1.c<br />cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 
| Cree un archivo de creación para su compilación. | Cree un archivo make para compilar el programa ECPG, tal como se muestra en el siguiente archivo de ejemplo.<pre>CFLAGS ::= $(CFLAGS) -I/usr/pgsql-12/include -g -Wall<br />LDFLAGS ::= $(LDFLAGS) -L/usr/pgsql-12/lib -Wl,-rpath,/usr/pgsql-12/lib<br />LDLIBS ::= $(LDLIBS) -lecpg<br />PROGRAMS = test <br />.PHONY: all clean<br />%.c: %.pgc<br />      ecpg $<<br />all: $(PROGRAMS)<br />clean:<br />    rm -f $(PROGRAMS) $(PROGRAMS:%=%.c) $(PROGRAMS:%=%.o)</pre> | Desarrollador de aplicaciones, propietario de la aplicación | 

### Pruebe la aplicación
<a name="test-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Pruebe el código. | Pruebe el código de la aplicación que se convertirá para asegurarse de que funciona correctamente. | Desarrollador de aplicaciones, propietario de la aplicación, ingeniero de pruebas | 

## Recursos relacionados
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-resources"></a>
+ [ECPG: SQL integrado en C](https://www.postgresql.org/docs/current/static/ecpg.html) (documentación de PostgreSQL)
+ [Gestión de errores](https://www.postgresql.org/docs/12/ecpg-errors.html) (documentación de PostgreSQL)
+ [Por qué utilizar el precompilador Pro\$1C/C\$1\$1 de Oracle](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415) (documentación de Oracle)

## Información adicional
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional"></a>

PostgreSQL tiene un precompilador SQL integrado, ECPG, que es equivalente al precompilador Pro\$1C de Oracle. El ECPG convierte los programas en C que tienen instrucciones SQL incorporadas en código C estándar sustituyendo las llamadas SQL por llamadas a funciones especiales. Luego, los archivos de salida se pueden procesar con cualquier cadena de herramientas del compilador de C.

**Archivos de entrada y salida**

ECPG convierte cada archivo de entrada que especifique en la línea de comandos en el archivo de salida C correspondiente. Si el nombre de un archivo de entrada no tiene una extensión de archivo, se asume la extensión .pgc. La extensión del archivo se sustituye por `.c` para construir el nombre del archivo de salida. Sin embargo, puede anular el nombre del archivo de salida predeterminado utilizando la opción `-o`.

Si utiliza un guión (`-`) como nombre del archivo de entrada, ECPG lee el programa desde la entrada estándar y escribe en la salida estándar, a menos que lo anule mediante la opción `-o`.

**Archivos de encabezado**

Cuando el compilador de PostgreSQL compila los archivos de código C preprocesados, busca los archivos de cabecera ECPG en el directorio de PostgreSQL `include`. Por lo tanto, puede que tenga que usar la opción `-I` para dirigir el compilador al directorio correcto (por ejemplo, `-I/usr/local/pgsql/include`).

**Bibliotecas**

Los programas que utilizan código C con SQL incorporado tienen que estar enlazados a la biblioteca `libecpg`. Por ejemplo, puede utilizar las opciones ` -L/usr/local/pgsql/lib -lecpg` del enlazador.

Las aplicaciones ECPG convertidas llaman a las funciones de la `libpq` biblioteca a través de la biblioteca SQL integrada (`ecpglib`) y se comunican con el servidor PostgreSQL mediante el protocolo estándar. frontend/backend 

# Migración de columnas generadas de forma virtual de Oracle a PostgreSQL
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi, Rajesh Madiwale y Ramesh Pathuri, Amazon Web Services*

## Resumen
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-summary"></a>

En la versión 11 y anteriores, PostgreSQL no proporciona una característica que sea directamente equivalente a una columna virtual de Oracle. Gestionar las columnas generadas de forma virtual al migrar de Oracle Database a la versión 11 o anterior de PostgreSQL resulta difícil por dos motivos: 
+ Las columnas virtuales no están visibles durante la migración.
+ PostgreSQL no admite la expresión `generate` antes de la versión 12.

Sin embargo, existen soluciones alternativas para emular una funcionalidad similar. Cuando utilice AWS Database Migration Service (AWS DMS) para migrar datos desde Oracle Database a la versión 11 y anteriores de PostgreSQL, puede utilizar las funciones de activación para rellenar los valores de las columnas generadas de forma virtual. Este patrón proporciona ejemplos de código PostgreSQL y Oracle Database que puede utilizar para este fin. En AWS, puede utilizar Amazon Relational Database Service (Amazon RDS) para PostgreSQL o la Edición compatible con PostgreSQL de Amazon Aurora para la base de datos de PostgreSQL.

A partir de la versión 12 de PostgreSQL, se admiten las columnas generadas. Las columnas generadas pueden calcularse sobre la marcha a partir de otros valores de columna o calcularse y almacenarse. [Las columnas generadas por PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) son similares a las columnas virtuales de Oracle.

## Requisitos previos y limitaciones
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Base de datos de origen de Oracle 
+ Bases de datos PostgreSQL de destino (en Amazon RDS para PostgreSQL o Aurora compatible con PostgreSQL)
+ Experiencia en codificación [PL/pgSQL](https://www.postgresql.org/docs/current/plpgsql.html)

**Limitaciones**
+ Solo se aplica a las versiones de PostgreSQL anteriores a la versión 12. 
+ Se aplica a la versión 11g o posterior de Oracle Database.
+ Las columnas virtuales no se admiten en las herramientas de migración de datos.
+ Solo se aplica a las columnas definidas en la misma tabla.
+ Si una columna generada de forma virtual hace referencia a una función determinista definida por el usuario, no se puede utilizar como columna clave de partición.
+ El resultado de la expresión debe ser un valor escalar. No puede devolver un tipo de datos proporcionado por Oracle, un tipo definido por el usuario, `LOB` o `LONG RAW`.
+ Los índices que se definen en columnas virtuales equivalen a los índices basados en funciones en PostgreSQL.
+ Se deben recopilar las estadísticas de las tablas.

## Tools (Herramientas)
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-tools"></a>
+ [pgAdmin 4](https://www.pgadmin.org/) es una herramienta de gestión de código abierto para PostgreSQL. Esta herramienta proporciona una interfaz gráfica que simplifica la creación, el mantenimiento y el uso de los objetos de la base de datos.
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/) es un entorno de desarrollo integrado y gratuito para trabajar con SQL en bases de datos de Oracle, tanto en implementaciones tradicionales como en la nube. 

## Epics
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-epics"></a>

### Cree tablas de bases de datos de origen y destino
<a name="create-source-and-target-database-tables"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una tabla de base de datos de Oracle de origen. | En Oracle Database, cree una tabla con columnas generadas de forma virtual mediante la siguiente declaración.<pre>CREATE TABLE test.generated_column<br />( CODE NUMBER,<br />STATUS VARCHAR2(12) DEFAULT 'PreOpen',<br />FLAG CHAR(1) GENERATED ALWAYS AS (CASE UPPER(STATUS) WHEN 'OPEN' THEN 'N' ELSE 'Y' END) VIRTUAL VISIBLE<br />);</pre>En esta tabla de origen, los datos de la columna `STATUS` se migran a través de AWS DMS a la base de datos de destino. Sin embargo, la columna `FLAG` se rellena mediante la funcionalidad `generate by`, por lo que AWS DMS no podrá verla durante la migración. Para implementar la funcionalidad de `generated by`, debe utilizar activadores y funciones de la base de datos de destino para rellenar los valores de la columna `FLAG`, como se muestra en la siguiente epopeya. | Administrador de base de datos, desarrollador de aplicaciones | 
| Cree una tabla PostgreSQL de destino en AWS. | Cree una tabla de PostgreSQL en AWS con la siguiente instrucción.<pre>CREATE TABLE test.generated_column<br />(<br />    code integer not null,<br />    status character varying(12) not null ,<br />    flag character(1)<br />);</pre>En esta tabla, la columna `status` es una columna estándar. La columna `flag` será una columna generada en función de los datos de la columna `status`. | Administrador de base de datos, desarrollador de aplicaciones | 

### Cree una función de activación para gestionar la columna virtual en PostgreSQL
<a name="create-a-trigger-function-to-handle-the-virtual-column-in-postgresql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un activador de PostgreSQL. | En PostgreSQL, cree un activador.<pre>CREATE TRIGGER tgr_gen_column<br />AFTER INSERT OR UPDATE OF status ON test.generated_column<br />FOR EACH ROW <br />EXECUTE FUNCTION test.tgf_gen_column();</pre> | Administrador de base de datos, desarrollador de aplicaciones | 
| Cree una función de activación de PostgreSQL. | En PostgreSQL, cree una función para el activador. Esta función rellena una columna virtual que la aplicación o AWS DMS insertan o actualizan y valida los datos.<pre>CREATE OR REPLACE FUNCTION test.tgf_gen_column() RETURNS trigger AS $VIRTUAL_COL$<br />BEGIN<br />IF (TG_OP = 'INSERT') THEN<br />IF (NEW.flag IS NOT NULL) THEN<br />RAISE EXCEPTION 'ERROR: cannot insert into column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF (TG_OP = 'UPDATE') THEN<br />IF (NEW.flag::VARCHAR != OLD.flag::varchar) THEN<br />RAISE EXCEPTION 'ERROR: cannot update column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF TG_OP IN ('INSERT','UPDATE') THEN<br />IF (old.flag is NULL) OR (coalesce(old.status,'') != coalesce(new.status,'')) THEN<br />UPDATE test.generated_column<br />SET flag = (CASE UPPER(status) WHEN 'OPEN' THEN 'N' ELSE 'Y' END)<br />WHERE code = new.code;<br />END IF;<br />END IF;<br />RETURN NEW;<br />END<br />$VIRTUAL_COL$ LANGUAGE plpgsql;</pre> | Administrador de base de datos, desarrollador de aplicaciones | 

### Pruebe la migración de datos mediante AWS DMS
<a name="test-data-migration-by-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación. | Para crear una instancia de replicación, siga las [instrucciones](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) de la documentación de AWS DMS. La instancia de replicación debe estar en la misma nube privada virtual (VPC) que las bases de datos de origen y destino. | Administrador de base de datos, desarrollador de aplicaciones | 
| Cree puntos de conexión de origen y destino. | Para crear los puntos de conexión, siga las [instrucciones de la documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Administrador de base de datos, desarrollador de aplicaciones | 
| Probar los puntos de conexión. | Puede probar las conexiones de conexión especificando la VPC y la instancia de replicación y seleccionando **Ejecutar prueba**. | Administrador de base de datos, desarrollador de aplicaciones | 
| Cree e inicie una tarea de carga completa. | Para obtener instrucciones, consulte [Creación de una tarea](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) y [Configuración de tareas de carga completa](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html) en la documentación de AWS DMS. | Administrador de base de datos, desarrollador de aplicaciones | 
| Valide los datos de la columna virtual. | Compare los datos de la columna virtual en las bases de datos de origen y destino. Puede validar los datos manualmente o escribir un script para este paso. | Administrador de base de datos, desarrollador de aplicaciones | 

## Recursos relacionados
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-resources"></a>
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (documentación de AWS DMS)
+ [Uso de una base de datos de Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) (documentación de AWS DMS)
+ [Uso de una base de datos PostgreSQL como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) (documentación de AWS DMS)
+ [Columnas generadas en PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) (documentación de PostgreSQL)
+ [Funciones de activación](https://www.postgresql.org/docs/12/plpgsql-trigger.html) (documentación de PostgreSQL)
+ [Columnas virtuales](https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402) en Oracle Database (documentación de Oracle)

# Configure la funcionalidad UTL\$1FILE de Oracle en Aurora compatible con PostgreSQL
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible"></a>

*Rakesh Raghav y Anuradha Chintha, Amazon Web Services*

## Resumen
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-summary"></a>

Como parte de su migración de Oracle a una edición compatible con PostgreSQL de Amazon Aurora en la nube de Amazon Web Services (AWS), es posible que se enfrente a varios desafíos. Por ejemplo, migrar el código que se basa en la utilidad de Oracle `UTL_FILE` siempre es un desafío. En Oracle PL/SQL, el paquete `UTL_FILE` se utiliza para operaciones de archivos, como lectura y escritura, junto con el sistema operativo subyacente. La utilidad `UTL_FILE` funciona tanto para los sistemas de servidor como para los de máquinas cliente. 

Amazon Aurora PostgreSQL es una oferta de bases de datos administradas. Por este motivo, no es posible acceder a los archivos del servidor de la base de datos. Este patrón le guía a través de la integración de Amazon Simple Storage Service (Amazon S3) y Amazon Aurora PostgreSQL para lograr un subconjunto de funciones de `UTL_FILE`. Con esta integración, podemos crear y consumir archivos sin utilizar herramientas o servicios de extracción, transformación y carga (ETL) de terceros.

Si lo desea, puede configurar la CloudWatch supervisión de Amazon y las notificaciones de Amazon SNS.

Recomendamos probar exhaustivamente esta solución antes de implementarla en un entorno de producción.

## Requisitos previos y limitaciones
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Experiencia en AWS Database Migration Service (AWS DMS)
+ Experiencia en codificación PL/pgSQL 
+ Clúster de Amazon Aurora compatible con PostgreSQL
+ Un bucket de S3

**Limitaciones**

Este patrón no proporciona la funcionalidad necesaria para reemplazar la utilidad de Oracle `UTL_FILE`. Sin embargo, los pasos y el código de muestra se pueden mejorar aún más para lograr sus objetivos de modernización de la base de datos.

**Versiones de producto**
+ Edición 11.9 de Amazon Aurora compatible con PostgreSQL

## Arquitectura
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-architecture"></a>

**Pila de tecnología de destino**
+ Amazon Aurora compatible con PostgreSQL
+ Amazon CloudWatch
+ Amazon Simple Notification Service (Amazon SNS)
+ Amazon S3

**Arquitectura de destino**

En el siguiente diagrama se muestra una representación de alto nivel de la solución.

![\[Los archivos de datos se cargan en un bucket de S3, se procesan con la extensión aws_s3 y se envían a la instancia de Aurora.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/3aeecd46-1f87-41f9-a9cd-f8181f92e83f/images/4a6c5f5c-58fb-4355-b243-d09a15c1cec6.png)


1. Los archivos se cargan de la aplicación en el bucket de S3.

1. La extensión `aws_s3` accede a los datos mediante PL/pgSQL y los carga en una aplicación compatible con Aurora PostgreSQL.

## Tools (Herramientas)
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-tools"></a>
+ [Compatible con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html): Amazon Aurora PostgreSQL Edition es un motor de bases de datos relacionales, completamente administrado, compatible con PostgreSQL y conforme a ACID. Combina la velocidad y la fiabilidad de las bases de datos comerciales de gama alta con la rentabilidad de las bases de datos de código abierto.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): la interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta unificada para administrar los servicios de AWS. Con una única herramienta para descargar y configurar, puede controlar varios servicios de AWS desde la línea de comando y automatizarlos mediante scripts.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Amazon CloudWatch supervisa los recursos y el uso de Amazon S3.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html): Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento para Internet. En este patrón, Amazon S3 proporciona una capa de almacenamiento para recibir y almacenar archivos para su consumo y transmisión hacia y desde el clúster compatible con Aurora PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3): la extensión `aws_s3` integra Amazon S3 y Aurora compatible con PostgreSQL.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html): Amazon Simple Notification Service (Amazon SNS) coordina y administra la entrega o el envío de mensajes entre publicadores y clientes. En este patrón, Amazon SNS se usa para enviar notificaciones.
+ [pgAdmin](https://www.pgadmin.org/docs/): pgAdmin es una herramienta de administración de código abierto para Postgres. pgAdmin 4 proporciona una interfaz gráfica para crear, mantener y utilizar objetos de bases de datos.

**Código**

Para lograr la funcionalidad requerida, el patrón crea varias funciones con nombres similares a `UTL_FILE`. La sección de *información adicional* contiene el código base de estas funciones.

En el código, sustituya `testaurorabucket` por el nombre del bucket de S3 de prueba. Sustituya `us-east-1` por la región de AWS de donde está ubicado su bucket de S3 de prueba.

## Epics
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-epics"></a>

### Integre Amazon S3 y Aurora PostgreSQL
<a name="integrate-amazon-s3-and-aurora-postgresql-compatible"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar políticas de IAM. | Cree una política de AWS Identity and Access Management (políticas de IAM) que conceda acceso a un bucket de S3 y sus objetos. Para ver el código, consulte la sección de *información adicional*. | Administrador de AWS, Administrador de base de datos | 
| Añada funciones de acceso de Amazon S3 a Aurora PostgreSQL. | Cree dos roles de IAM: un rol para el acceso de lectura y otro para el acceso de escritura a Amazon S3. Adjunte los dos roles al clúster compatible con Aurora PostgreSQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.html)Para obtener más información, consulte la documentación compatible con Aurora PostgreSQL sobre la [importación](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html) y la [exportación de datos a Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html). | Administrador de AWS, Administrador de base de datos | 

### Configurar las extensiones en Aurora PostgreSQL
<a name="set-up-the-extensions-in-aurora-postgresql-compatible"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la extensión aws\$1commons. | La extensión `aws_commons` es una dependencia de la extensión `aws_s3`. | Administrador de base de datos, desarrollador | 
| Cree la extensión aws\$1s3. | La extensión `aws_s3` interactúa con Amazon S3. | Administrador de base de datos, desarrollador | 

### Valide la integración compatible con Amazon S3 y Aurora PostgreSQL
<a name="validate-amazon-s3-and-aurora-postgresql-compatible-integration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prueba de importación de archivos de Amazon S3 en Aurora PostgreSQL. | Para probar la importación de archivos a un entorno compatible con Aurora PostgreSQL, cree un archivo CSV de muestra y cárguelo en el bucket de S3. Cree una definición de tabla basada en el archivo CSV y cargue el archivo en la tabla mediante la función `aws_s3.table_import_from_s3`. | Administrador de base de datos, desarrollador | 
| Pruebe a exportar archivos de Aurora PostgreSQL a Amazon S3. | Para probar la exportación de archivos compatibles con Aurora PostgreSQL, cree una tabla de prueba, llénela con datos y, a continuación, exporte los datos mediante la función `aws_s3.query_export_to_s3`. | Administrador de base de datos, desarrollador | 

### Para imitar la utilidad UTL\$1FILE, cree funciones envolventes
<a name="to-mimic-the-utl_file-utility-create-wrapper-functions"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el esquema utl\$1file\$1utility. | El esquema mantiene unidas las funciones envolventes. Ejecute el siguiente comando para crear el esquema.<pre>CREATE SCHEMA utl_file_utility;</pre> | Administrador de base de datos, desarrollador | 
| Cree el tipo file\$1type. | Para crear el tipo `file_type`, utilice el siguiente código.<pre>CREATE TYPE utl_file_utility.file_type AS (<br />    p_path character varying(30),<br />    p_file_name character varying<br />);<br /><br /><br /></pre> | Administrador de base de datos/desarrollador | 
| Cree la función init. | La función `init` inicializa una variable común como `bucket` o `region`. Para ver el código, consulte la sección de *información adicional*. | Administrador de base de datos/desarrollador | 
| Cree las funciones. | Cree las funciones envolventes `fopen`, `put_line`, y `fclose`. Para ver el código, consulte la sección de *información adicional*. | Administrador de base de datos, desarrollador | 

### Pruebe las funciones de la capa
<a name="test-the-wrapper-functions"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Pruebe las funciones del contenedor en modo escritura. | Para probar las funciones del contenedor en modo de escritura, utilice el código que se proporciona en la sección *Información adicional*. | Administrador de base de datos, desarrollador | 
| Pruebe las funciones del contenedor en el modo de adición. | Para probar las funciones del contenedor en el modo de adición, utilice el código proporcionado en la sección *Información adicional*. | Administrador de base de datos, desarrollador | 

## Recursos relacionados
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-resources"></a>
+ [Integración de Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Aurora](https://aws.amazon.com/rds/aurora/?nc2=h_ql_prod_db_aa&aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [Amazon SNS](https://aws.amazon.com/sns/?nc2=h_ql_prod_ap_sns&whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)

## Información adicional
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-additional"></a>

**Configurar políticas de IAM**

Cree las políticas siguientes.


| 
| 
| Nombre de la política | JSON | 
| --- |--- |
| S3 IntRead | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />         "arn:aws:s3:::testaurorabucket/*",<br />         "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 
| S3 IntWrite | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",                <br />                "s3:ListBucket"<br />            ],<br />            "Resource": [                "arn:aws:s3:::testaurorabucket/*",                "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 

**Creación de la función init**

Para inicializar variables comunes, como `bucket` o `region`, cree la función `init` mediante el siguiente código.

```
CREATE OR REPLACE FUNCTION utl_file_utility.init(
    )
    RETURNS void
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
BEGIN
      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 'region' )
      , 'us-east-1'::text
      , false );

      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 's3bucket' )
      , 'testaurorabucket'::text
      , false );
END;
$BODY$;
```

**Cree las funciones envolventes**

Cree las funciones envolventes `fopen`, `put_line` y `fclose`.

*fopen*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fopen(
    p_file_name character varying,
    p_path character varying,
    p_mode character DEFAULT 'W'::bpchar,
    OUT p_file_type utl_file_utility.file_type)
    RETURNS utl_file_utility.file_type
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
declare
    v_sql character varying;
    v_cnt_stat integer;
    v_cnt integer;
    v_tabname character varying;
    v_filewithpath character varying;
    v_region character varying;
    v_bucket character varying;

BEGIN
    /*initialize common variable */
    PERFORM utl_file_utility.init();
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
    
    /* set tabname*/
    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;
    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region;
    
    /* APPEND MODE HANDLING; RETURN EXISTING FILE DETAILS IF PRESENT ELSE CREATE AN EMPTY FILE */
    IF p_mode = 'A' THEN
        v_sql := concat_ws('','create temp table if not exists ', v_tabname,' (col1 text)');
        execute v_sql;

        begin
        PERFORM aws_s3.table_import_from_s3 
            ( v_tabname, 
            '',  
            'DELIMITER AS ''#''', 
            aws_commons.create_s3_uri 
            (     v_bucket, 
                v_filewithpath ,
                v_region)
            );
        exception
            when others then
             raise notice 'File load issue ,%',sqlerrm;
             raise;
        end;
        execute concat_ws('','select count(*) from ',v_tabname) into v_cnt;

        IF v_cnt > 0 
        then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
        else         
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );

            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;        
        end if;
        v_sql := concat_ws('','drop table ', v_tabname);        
        execute v_sql;            
    ELSEIF p_mode = 'W' THEN
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
    END IF;    
    
EXCEPTION
        when others then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
            raise notice 'fopenerror,%',sqlerrm;
            raise;
END;
$BODY$;
```

*put\$1line*

```
CREATE OR REPLACE FUNCTION utl_file_utility.put_line(
    p_file_name character varying,
    p_path character varying,
    p_line text,
    p_flag character DEFAULT 'W'::bpchar)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
/**************************************************************************
* Write line, p_line in windows format to file, p_fp - with carriage return
* added before new line.
**************************************************************************/
declare
    v_sql varchar;
    v_ins_sql varchar;
    v_cnt INTEGER;
    v_filewithpath character varying;
    v_tabname  character varying;
    v_bucket character varying;
    v_region character varying;    

BEGIN
 PERFORM utl_file_utility.init();

/* check if temp table already exist */

 v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );

 v_sql := concat_ws('','select count(1) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace where n.nspname like ''pg_temp_%''' 
                         ,' AND pg_catalog.pg_table_is_visible(c.oid) AND Upper(relname) = Upper( '''
                         ,  v_tabname ,''' ) ');
  
 execute v_sql into v_cnt;
  
  IF v_cnt = 0 THEN
         v_sql := concat_ws('','create temp table ',v_tabname,' (col text)');
        execute v_sql;
        /* CHECK IF APPEND MODE */
        IF upper(p_flag) = 'A' THEN
            PERFORM utl_file_utility.init();                        
            v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
            v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
            
            /* set tabname*/            
            v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;            
            
            begin
               PERFORM aws_s3.table_import_from_s3 
                     ( v_tabname, 
                          '',  
                       'DELIMITER AS ''#''', 
                        aws_commons.create_s3_uri 
                           ( v_bucket, 
                               v_filewithpath, 
                               v_region    )
                    );
            exception
                when others then
                    raise notice  'Error Message : %',sqlerrm;
                    raise;
            end;    
        END IF;    
    END IF;
    /* INSERT INTO TEMP TABLE */              
    v_ins_sql := concat_ws('','insert into ',v_tabname,' values(''',p_line,''')');
    execute v_ins_sql;
    RETURN TRUE;
    exception
            when others then
                raise notice  'Error Message : %',sqlerrm;
                raise;
END;
$BODY$;
```

*fclose*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fclose(
    p_file_name character varying,
    p_path character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
DECLARE
    v_filewithpath character varying;
    v_bucket character varying;
    v_region character varying;
    v_tabname character varying;
    v_sql character varying;
BEGIN
      PERFORM utl_file_utility.init();
  
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );

    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;

    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region ;
    
    /* exporting to s3 */
    perform aws_s3.query_export_to_s3
        (concat_ws('','select * from ',v_tabname,'  order by ctid asc'), 
            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)
        );
    v_sql := concat_ws('','drop table ', v_tabname);
    execute v_sql;    
    RETURN TRUE;
EXCEPTION 
       when others then
     raise notice 'error fclose %',sqlerrm;
     RAISE;
END;
$BODY$;
```

**Pruebe sus funciones de configuración y envoltura**

Utilice los siguientes bloques de código anónimos para comprobar su configuración.

*Pruebe el modo de escritura*

El siguiente código escribe un archivo llamado `s3inttest` en el bucket de S3.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'W';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

*Pruebe el modo de adición*

El siguiente código añade líneas al archivo `s3inttest` que se creó en la prueba anterior.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'A';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;


select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose : append 1', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket : for test purpose : append 2', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

**Notificaciones de Amazon SNS**

Si lo desea, puede configurar la CloudWatch supervisión de Amazon y las notificaciones de Amazon SNS en el bucket de S3. Para obtener más información, consulte [Supervisión de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-overview.html) y [Configuración de las notificaciones de Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html).

# Validar los objetos de la base de datos después de migrar de Oracle a Amazon Aurora PostgreSQL
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql"></a>

*Venkatramana Chintha y Eduardo Valentim, Amazon Web Services*

## Resumen
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-summary"></a>

Este patrón describe un step-by-step enfoque para validar objetos después de migrar una base de datos de Oracle a una edición compatible con PostgreSQL de Amazon Aurora.

Este patrón describe los escenarios de uso y los pasos para la validación de objetos de bases de datos; para obtener información más detallada, consulte [Validación de objetos de bases de datos después de la migración con AWS SCT y AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/) en el blog sobre bases de datos de [AWS](https://aws.amazon.com/blogs/).

## Requisitos previos y limitaciones
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de Oracle local que se migró a una base de datos compatible con Aurora PostgreSQL. 
+ Credenciales de inicio de sesión a las que se ha aplicado la RDSData FullAccess política de [Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), para la base de datos Aurora compatible con PostgreSQL. 
+ Este patrón utiliza el [editor de consultas para los clústeres de bases de datos Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), que está disponible en la consola de Amazon Relational Database Service (Amazon RDS). Sin embargo, puede utilizar este patrón con cualquier otro editor de consultas. 

**Limitaciones**
+ Los objetos SYNONYM de Oracle no están disponibles en PostgreSQL, pero se pueden validar parcialmente mediante **vistas** o consultas SET search\$1path.
+ El editor de consultas de Amazon RDS solo está disponible en [determinadas regiones de AWS y para determinadas versiones de MySQL y PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html).

## Arquitectura
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-architecture"></a>

 

![\[Database migration workflow showing on-premises Oracle to AWSAurora PostgreSQL via client program and validation scripts.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7c028960-6dea-46ad-894d-e42cefd50c03/images/be5f8ae3-f5af-4c5e-9440-09ab410beaa1.png)


 

## Tools (Herramientas)
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-tools"></a>

**Herramientas**
+ [Edición compatible con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html): Aurora PostgreSQL-Compatible es un motor de bases de datos relacionales, completamente administrado, compatible con PostgreSQL y conforme a ACID, que combina la velocidad y la fiabilidad de las bases de datos comerciales de tecnología avanzada con la sencillez y la rentabilidad de las bases de datos de código abierto.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html): Amazon Relational Database Service (Amazon RDS) facilita la configuración, el funcionamiento y el escalado de una base de datos relacional en la nube de AWS. Proporciona una capacidad rentable y de tamaño ajustable para una base de datos relacional estándar y se ocupa de las tareas de administración de bases de datos comunes.
+ [Editor de consultas para Aurora Severless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html): el editor de consultas le ayuda a ejecutar consultas SQL en la consola de Amazon RDS. Puede ejecutar cualquier declaración SQL válida en el clúster de base de datos de Aurora Serverless, incluidas las declaraciones de manipulación y definición de datos.

Para validar los objetos, utilice los scripts completos del archivo “Object validation scripts” de la sección “Adjuntos”. Utilice la siguiente tabla como referencia.


| 
| 
| Objeto de Oracle | Script a utilizar | 
| --- |--- |
| Paquetes | Consulta 1 | 
| Tablas | Consulta 3 | 
| Vistas | Consulta 5 | 
| Secuencias | Consulta 7 | 
| Desencadenadores |  Consulta 9 | 
| Claves principales | Consulta 11 | 
| Índices | Consulta 13 | 
| Restricciones de comprobación | Consulta 15 | 
| Claves externas  | Consulta 17  | 


| 
| 
| Objeto PostgreSQL | Script a utilizar | 
| --- |--- |
| Paquetes | Consulta 2 | 
| Tablas | Consulta 4 | 
| Vistas | Consulta 6 | 
| Secuencias | Consulta 8 | 
| Desencadenadores | Consulta 10 | 
| Claves principales | Consulta 12 | 
| Índices | Consulta 14 | 
| Restricciones de comprobación | Consulta 16 | 
| Claves externas | Consulta 18 | 

## Epics
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-epics"></a>

### Valide los objetos de la base de datos de Oracle de origen
<a name="validate-objects-in-the-source-oracle-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute la consulta de validación de “paquetes” en la base de datos de Oracle de origen.  | Descargue y abra el archivo “Object validation scripts” de la sección “Adjuntos”. Conéctese a la base de datos de Oracle de origen a través de su programa cliente. Ejecute el script de validaciones “Query 1” desde el archivo “Object validation scripts”. Importante: Introduzca su nombre de usuario de Oracle en lugar de “your\$1schema” en las consultas. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “tables”.  | Ejecute el script “Query 3” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “views”.  | Ejecute el script “Query 5” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la validación del recuento “sequences”.  | Ejecute el script “Query 7” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “triggers”.  | Ejecute el script “Query 9” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “primary keys”.  | Ejecute el script “Query 11” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “indexes”.  | Ejecute el script de validación “Query 13” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “check constraints”.  | Ejecute el script “Query 15” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “foreign keys”.  | Ejecute el script de validación “Query 17” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 

### Validar objetos en la base de datos compatible con Aurora PostgreSQL de destino
<a name="validate-objects-in-the-target-aurora-postgresql-compatible-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Conectar a la base de datos Aurora compatible con PostgreSQL de destino mediante el editor de consultas. | Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS. En la esquina superior derecha, elija la región de AWS en la que creó la base de datos Aurora PostgreSQL. En el panel de navegación, elija “Bases de datos” y elija la base de datos compatible con Aurora PostgreSQL de destino. En “Acciones”, elija “Consulta”. Importante: si no se ha conectado a la base de datos antes, se abre la página “Conectarse a la base de datos”. A continuación, debe introducir la información de la base de datos, como el nombre de usuario y la contraseña. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “packages” | Ejecute el script “Query 2” desde el archivo “Object validation scripts” de la sección “Adjuntos”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “tables”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 4” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “views”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 6” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la validación del recuento “sequences”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 8” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “triggers”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 10” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “primary keys”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 12” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “indexes”.  | Vuelva al editor de consultas de la base de datos compatible con Aurora PostgreSQL y ejecute el script “Query 14” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “check constraints”.  | Ejecute el script “Query 16” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 
| Ejecute la consulta de validación “foreign keys”.  | Ejecute el script de validación “Query 18” desde el archivo “Object validation scripts”. Asegúrese de registrar los resultados de la consulta. | Desarrollador, administrador de base de datos | 

### Compare los registros de validación de las bases de datos de origen y destino
<a name="compare-source-and-target-database-validation-records"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compare y valide los resultados de ambas consultas.  | Compare los resultados de las consultas de las bases de datos compatibles con Oracle y Aurora PostgreSQL para validar todos los objetos. Si todos coinciden, significa que todos los objetos se han validado correctamente. | Desarrollador, administrador de base de datos | 

## Recursos relacionados
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-resources"></a>
+ [Validación de objetos de bases de datos después de una migración mediante AWS SCT y AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)
+ [Características de Amazon Aurora: edición compatible con PostgreSQL](https://aws.amazon.com/rds/aurora/postgresql-features/)

## Conexiones
<a name="attachments-7c028960-6dea-46ad-894d-e42cefd50c03"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/7c028960-6dea-46ad-894d-e42cefd50c03/attachments/attachment.zip)

# Volver a alojar
<a name="migration-rehost-pattern-list"></a>

**Topics**
+ [Acelere el descubrimiento y la migración de las cargas de trabajo de Microsoft a AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Cree un proceso de aprobación para las solicitudes de firewall durante una migración de realojamiento a AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)
+ [Incorpore y migre instancias de EC2 Windows a una cuenta de AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migrar una base de datos de Couchbase Server a Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migre Db2 for LUW a Amazon EC2 mediante el envío de registros para reducir el tiempo de interrupción](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migración de Db2 para LUW a Amazon EC2 con recuperación de desastres de alta disponibilidad](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migre aplicaciones alojadas en IIS a Amazon EC2 mediante appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migre una base de datos local de Microsoft SQL Server a Amazon EC2 mediante Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migre una carga de trabajo de F5 BIG-IP a F5 BIG-IP VE en Nube de AWS](migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud.md)
+ [Migración de una aplicación web Go en las instalaciones a AWS Elastic Beanstalk mediante el método binario](migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.md)
+ [Migre un servidor SFTP local para utilizar AWS AWS Transfer for SFTP](migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp.md)
+ [Migre una máquina virtual local a Amazon EC2 mediante AWS Application Migration Service](migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.md)
+ [Migre pequeños conjuntos de datos del entorno local a Amazon S3 mediante AWS SFTP](migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp.md)
+ [Migre una base de datos Oracle local a Oracle on Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migre una base de datos Oracle local a Amazon EC2 mediante Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migración de los sistemas BYOL de RHEL a instancias con licencia incluida de AWS mediante AWS MGN](migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.md)
+ [Migre una base de datos local de Microsoft SQL Server a Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Vuelva a alojar las cargas de trabajo en las instalaciones en la nube de AWS: lista de verificación de migración](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Configure una infraestructura Multi-AZ para una FCI Always On de SQL Server mediante Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)
+ [Utilice las consultas de BMC Discovery para extraer datos de migración para planificar la migración](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Acelere el descubrimiento y la migración de las cargas de trabajo de Microsoft a AWS
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws"></a>

*Ali Alzand, Amazon Web Services*

## Resumen
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-summary"></a>

Este patrón le muestra cómo usar el [ PowerShell módulo Migration Validator Toolkit](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads) para detectar y migrar sus cargas de trabajo de Microsoft a AWS. El módulo funciona realizando múltiples comprobaciones y validaciones para tareas comunes asociadas a cualquier carga de trabajo de Microsoft. Por ejemplo, el módulo busca instancias que puedan tener varios discos conectados o instancias que usen muchas direcciones IP. Para obtener una lista completa de las comprobaciones que puede realizar el módulo, consulte la sección [Comprobaciones](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads#checks) de la página del módulo. GitHub 

El PowerShell módulo Migration Validator Toolkit puede ayudar a su organización a reducir el tiempo y el esfuerzo necesarios para descubrir qué aplicaciones y servicios se ejecutan en sus cargas de trabajo de Microsoft. El módulo también puede servirle de ayuda para identificar las configuraciones de sus cargas de trabajo para que pueda averiguar si sus configuraciones son compatibles con AWS. El módulo también proporciona recomendaciones sobre los próximos pasos y las acciones de mitigación, de modo que puede evitar cualquier error de configuración antes, durante o después de la migración.

## Requisitos previos y limitaciones
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-prereqs"></a>

**Requisitos previos **
+ Cuenta de administrador local
+ PowerShell 4.0

**Limitaciones**
+ Solo funciona con instancias de Microsoft Windows Server 2012 R2 o versiones posteriores.

## Tools (Herramientas)
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-tools"></a>

**Herramientas**
+ PowerShell 4.0

**Repositorio de código**

[El PowerShell módulo Migration Validator Toolkit para este patrón está disponible en el GitHub migration-validator-toolkit-for repositorio -microsoft-workloads.](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads)

## Epics
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-epics"></a>

### Ejecute el módulo Migration Validator Toolkit en un único destino PowerShell
<a name="run-the-migration-validator-toolkit-powershell-module-on-a-single-target"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue, extraiga, importe e invoque el módulo. | Elija uno de los siguientes métodos para descargar e implementar el módulo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Ejecute el PowerShell script**En PowerShell, ejecute el siguiente código de ejemplo:<pre>#MigrationValidatorToolkit<br />$uri = 'https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads/archive/refs/heads/main.zip'<br />$destination = (Get-Location).Path<br />if ((Test-Path -Path "$destination\MigrationValidatorToolkit.zip" -PathType Leaf) -or (Test-Path -Path "$destination\MigrationValidatorToolkit")) {<br />    write-host "File $destination\MigrationValidatorToolkit.zip or folder $destination\MigrationValidatorToolkit found, exiting"<br />}else {<br />    Write-host "Enable TLS 1.2 for this PowerShell session only."<br />    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />    $webClient = New-Object System.Net.WebClient<br />    Write-host "Downloading MigrationValidatorToolkit.zip"<br />    $webClient.DownloadFile($uri, "$destination\MigrationValidatorToolkit.zip")<br />    Write-host "MigrationValidatorToolkit.zip download successfully"<br />    Add-Type -Assembly "system.io.compression.filesystem"<br />    [System.IO.Compression.ZipFile]::ExtractToDirectory("$destination\MigrationValidatorToolkit.zip","$destination\MigrationValidatorToolkit")<br />    Write-host "Extracting MigrationValidatorToolkit.zip complete successfully"<br />    Import-Module "$destination\MigrationValidatorToolkit\migration-validator-toolkit-for-microsoft-workloads-main\MigrationValidatorToolkit.psm1"; Invoke-MigrationValidatorToolkit<br />}</pre>El código descarga el módulo de un archivo.zip. A continuación, el código extrae, importa e invoca el módulo.**Descargue y extraiga el archivo .zip**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Clona el GitHub repositorio**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrador de sistemas | 
| Invoque el módulo manualmente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)Formato [Format-Table](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit</pre>Formato [Format-List](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-list?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -List</pre>GridViewFormato [de salida](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-gridview?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -GridView</pre>[ConvertTo-Formato CSV](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertto-csv?view=powershell-7.3):<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -csv</pre> | Administrador de sistemas | 

### Ejecute el módulo Migration Validator Toolkit PowerShell en varios objetivos
<a name="run-the-migration-validator-toolkit-powershell-module-on-multiple-targets"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue el archivo.zip o clone el repositorio. GitHub  | Elija una de las siguientes opciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>git clone https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads.git</pre> | Administrador de sistemas | 
| Actualice la lista server.csv. | Si descargó el archivo .zip, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrador de sistemas | 
| Invoque el módulo. | Puede utilizar cualquier equipo del dominio que utilice un usuario del dominio que tenga acceso de administrador a los equipos de destino.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-DomainComputers</pre>El archivo.csv de salida se guarda en `MigrationValidatorToolkit\Outputs\folder` con el nombre del prefijo `DomainComputers_MigrationAutomations_YYYY-MM-DDTHH-MM-SS`. | Administrador de sistemas | 

## Resolución de problemas
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| `MigrationValidatorToolkit` escribe información sobre las ejecuciones, comandos y errores en los archivos de registro del host en ejecución. | Puede ver los registros manualmente en la siguiente ubicación:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | 

## Recursos relacionados
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-resources"></a>
+ [Opciones, herramientas y prácticas recomendadas para migrar cargas de trabajo de Microsoft a AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-microsoft-workloads-aws/introduction.html) (Recomendaciones de AWS)
+ [Patrones de migración de Microsoft](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migration-migration-patterns-by-workload-microsoft-pattern-list.html) (Recomendaciones de AWS)
+ [Servicios gratuitos de migración a la nube en AWS](https://aws.amazon.com/free/migration/) (documentación de AWS)
+ [Acciones predefinidas posteriores al lanzamiento](https://docs.aws.amazon.com/mgn/latest/ug/predefined-post-launch-actions.html) (documentación de marketing de la aplicación)

## Información adicional
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-additional"></a>

**Preguntas frecuentes**

*¿Dónde puedo ejecutar el módulo Migration Validator Toolkit? PowerShell *

Puede ejecutar el módulo en Microsoft Windows Server 2012 R2 o posterior.

*¿Cuándo ejecuto este módulo?*

Le recomendamos que ejecute el módulo durante la [fase de evaluación](https://aws.amazon.com/cloud-migration/how-to-migrate/) del proceso de migración.

*¿El módulo modifica mis servidores actuales?*

No. Todas las acciones del módulo son de solo lectura.

*¿Cuánto tiempo se tarda en ejecutar el módulo?*

La ejecución del módulo suele tardar entre 1 y 5 minutos, pero depende de la asignación de recursos del servidor.

*¿Qué permisos necesita el módulo para ejecutarse?*

Debe ejecutar el módulo desde una cuenta de administrador local.

*¿Puedo ejecutar el módulo en servidores físicos?*

Sí, siempre que el sistema operativo sea Microsoft Windows Server 2012 R2 o posterior.

*¿Cómo puedo ejecutar el módulo a escala para varios servidores?*

Para ejecutar el módulo a escala en varios ordenadores unidos a un dominio, siga los pasos del * PowerShell módulo Ejecute el kit de herramientas de validación de migración* en varios destinos, que se incluye en esta guía. En el caso de ordenadores que no estén unidos a un dominio, utilice una invocación remota o ejecute el módulo de forma local siguiendo los pasos del módulo Ejecute el kit de *herramientas PowerShell de validación de migración en un solo destino, épica de esta* guía.

# Cree un proceso de aprobación para las solicitudes de firewall durante una migración de realojamiento a AWS
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Resumen
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-summary"></a>

Si quieres usar [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)[Cloud Migration Factory activado AWS](https://aws.amazon.com/solutions/implementations/cloud-migration-factory-on-aws/) para migrar a un rehost Nube de AWS, uno de los requisitos previos es mantener abiertos los puertos TCP 443 y 1500. Por lo general, la apertura de estos puertos de firewall requiere la aprobación de tu equipo de seguridad de la información (InfoSec).

Este patrón describe el proceso para obtener la aprobación de una solicitud de firewall por parte de un InfoSec equipo durante una migración de rehost a. Nube de AWS Puedes utilizar este proceso para evitar que el InfoSec equipo rechace tu solicitud de firewall, lo que puede resultar caro y llevar mucho tiempo. El proceso de solicitud del firewall consta de dos pasos de revisión y aprobación entre los asesores de AWS migración y los líderes, quienes trabajan con su equipo InfoSec y el de aplicaciones para abrir los puertos del firewall.

Este patrón supone que está planificando una migración de rehospedaje con AWS consultores o especialistas en migración de su organización. Puede utilizar este patrón si su organización no cuenta con un proceso de aprobación de firewall o si no tiene un formulario de aprobación global para solicitar un firewall. Para obtener más información al respecto, consulte la sección *Limitaciones* de este patrón. Para obtener más información sobre los requisitos de red del Servicio de migración de aplicaciones, consulte los [Requisitos de red](https://docs.aws.amazon.com/mgn/latest/ug/Network-Requirements.html) en la documentación del Servicio de migración de aplicaciones.

## Requisitos previos y limitaciones
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-prereqs"></a>

**Requisitos previos **
+ Una migración de realojamiento planificada con AWS consultores o especialistas en migración de su organización
+ La información de puerto e IP necesaria para migrar la pila
+ Diagramas de arquitectura de estados actuales y futuros
+ Información del firewall sobre la infraestructura local y de destino, los puertos y zone-to-zone el flujo de tráfico
+ Una lista de verificación para revisar las solicitudes de firewall (adjunta)
+ Un documento de solicitud de firewall, configurado de acuerdo con los requisitos de su organización
+ Una lista de contactos para los revisores y aprobadores de firewall, que incluya los siguientes roles:
  + **Presentador de la solicitud de firewall**: especialista en AWS migración o consultor. El remitente de la solicitud de firewall también puede ser un especialista en migración de su organización.
  + **Revisor de solicitudes de firewall**: por lo general, es el punto de contacto único (SPOC) desde el que se envía. AWS
  + **Aprobador de solicitudes de firewall**: miembro InfoSec del equipo.

**Limitaciones**
+ Este patrón describe un proceso genérico de aprobación de una solicitud de firewall. Los requisitos pueden variar de una organización a otra.
+ Asegúrese de realizar un seguimiento de los cambios en el documento de solicitud de firewall.

En la tabla siguiente se muestran los casos de uso de este patrón.


| 
| 
| ¿Cuenta su organización con un proceso de aprobación de firewalls existente? | ¿Cuenta su organización con un formulario de solicitud de firewall existente?  | Acción sugerida | 
| --- |--- |--- |
| Sí | Sí | Colabore con AWS consultores o sus especialistas en migración para implementar el proceso de su organización. | 
| No | Sí | Utilice el proceso de aprobación de firewall de este patrón. Recurra a un AWS consultor o a un especialista en migración de su organización para enviar el formulario de aprobación general de la solicitud de firewall. | 
| No | No | Utilice el proceso de aprobación de firewall de este patrón. Recurra a un AWS consultor o a un especialista en migración de su organización para enviar el formulario de aprobación general de la solicitud de firewall. | 

## Arquitectura
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-architecture"></a>

En el siguiente diagrama, se muestran los pasos del proceso de aprobación de solicitudes de firewall.

![\[Proceso para solicitar la aprobación del firewall por parte de un InfoSec equipo durante una migración de rehospedaje a la nube de AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cf9b58ad-ab6f-43d3-92da-968529c8d042/images/c672f7ce-6e9f-4dbc-bf2c-4272a6c4432b.png)


## Tools (Herramientas)
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-tools"></a>

Puede utilizar herramientas de escaneo como [Palo Alto Networks](https://www.paloaltonetworks.com/) o [SolarWinds](https://www.solarwinds.com/)analizar y validar los firewalls y las direcciones IP.

## Epics
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-epics"></a>

### Analizar la solicitud de firewall
<a name="analyze-the-firewall-request"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Analice los puertos y las direcciones IP. | El remitente de la solicitud de firewall realiza un análisis inicial para comprender los puertos y las direcciones IP de firewall necesarios. Una vez hecho esto, solicitan que tu InfoSec equipo abra los puertos necesarios y mapee las direcciones IP. | Ingeniero de nube de AWS, especialista en migración | 

### Validar la solicitud de firewall
<a name="validate-the-firewall-request"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la información de firewall. | El Nube de AWS ingeniero programa una reunión con su InfoSec equipo. Durante esta reunión, el ingeniero examina y valida la información de la solicitud de firewall.Por lo general, el remitente de la solicitud de firewall es la misma persona que el solicitante de firewall. Esta fase de validación puede pasar a ser iterativa en función de los comentarios que dé el responsable de la aprobación si se observa o recomienda algo. | Ingeniero de nube de AWS, especialista en migración | 
| Actualice el documento de solicitud de firewall. | Una vez que el InfoSec equipo comparte sus comentarios, el documento de solicitud de firewall se edita, se guarda y se vuelve a cargar. Este documento se actualiza después de cada iteración.Se recomienda almacenar este documento en una carpeta de almacenamiento con control de versiones. Esto significa que se realiza un seguimiento de todos los cambios y se aplican correctamente. | Ingeniero de nube de AWS, especialista en migración | 

### Enviar la solicitud de firewall
<a name="submit-the-firewall-request"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Envíe la solicitud de firewall. | Una vez que el aprobador de la solicitud de firewall haya aprobado la solicitud de aprobación general del firewall, el Nube de AWS ingeniero envía la solicitud de firewall. La solicitud especifica los puertos que deben estar abiertos y las direcciones IP que se requieren para asignar y actualizar la Cuenta de AWS.Puede hacer sugerencias o enviar comentarios una vez enviada la solicitud de firewall. Le recomendamos que automatice este proceso de comentarios y envíe cualquier modificación mediante un mecanismo de flujo de trabajo definido.  | Ingeniero de nube de AWS, especialista en migración | 

## Conexiones
<a name="attachments-cf9b58ad-ab6f-43d3-92da-968529c8d042"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/cf9b58ad-ab6f-43d3-92da-968529c8d042/attachments/attachment.zip)

# Incorpore y migre instancias de EC2 Windows a una cuenta de AWS Managed Services
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account"></a>

*Anil Kunapareddy y Venkatramana Chintha, Amazon Web Services*

## Resumen
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-summary"></a>

Este patrón explica el step-by-step proceso de migración e ingestión de instancias de Windows de Amazon Elastic Compute Cloud EC2 (Amazon) en una cuenta de Amazon Web Services (AWS) Managed Services (AMS). AMS puede ayudar a administrar la instancia de manera más eficiente y segura. AMS proporciona flexibilidad operativa, mejora la seguridad y el cumplimiento, y ayuda a optimizar la capacidad y reducir los costos.

Este patrón comienza con una instancia de EC2 Windows que ha migrado a una subred provisional de su cuenta de AMS. Hay varios servicios y herramientas de migración disponibles para realizar esta tarea, como AWS Application Migration Service.

Para realizar un cambio en su entorno administrado por AMS, debe crear y enviar una solicitud de cambio (RFC) para una operación o acción concreta. Con una RFC de incorporación de carga de trabajo de AMS (WIGS), se incorpora la instancia en la cuenta de AMS y se crea una imagen de máquina de Amazon (AMI) personalizada. A continuación, debe crear la EC2 instancia gestionada por AMS enviando otro RFC para crear una pila. EC2 Para obtener más información, consulte [AMS Workload Ingest](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html) (Incorporación de carga de trabajo de AMS) en la documentación de AMS.

## Requisitos previos y limitaciones
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa y administrada por AMS
+ Una zona de aterrizaje existente
+ Permisos para realizar cambios en la VPC administrada por AMS
+ Una instancia de Amazon EC2 Windows en una subred provisional de su cuenta AMS
+ Cumplimiento de los [requisitos previos generales](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-prereqs.html) para la migración de cargas de trabajo mediante AMS WIGS
+ Cumplimiento de los [requisitos previos de Windows](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-prereqs-win.html) para la migración de cargas de trabajo mediante AMS WIGS

**Limitaciones**
+ Este patrón es para las EC2 instancias que utilizan Windows Server. Este patrón no se aplica a las instancias que ejecutan otros sistemas operativos, como Linux.

## Arquitectura
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-architecture"></a>

**Pila de tecnología de origen**

Instancia de Amazon EC2 Windows en una subred provisional de su cuenta AMS

**Pila de tecnología de destino**

Instancia de Amazon EC2 Windows gestionada por AWS Managed Services (AMS)

**Arquitectura de destino**

![\[Proceso para migrar e incorporar instancias de Amazon EC2 Windows a una cuenta de AWS Managed Services.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/393c21cb-b6c6-4446-b597-b62e29fdb7f8/images/0b2fa855-7460-49f8-9e7f-3485e6ce1745.png)


## Tools (Herramientas)
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html) proporciona capacidad informática escalable en la nube de AWS. Puede utilizar Amazon EC2 para lanzar tantos o tan pocos servidores virtuales como necesite, y puede ampliarlos de forma horizontal o horizontal.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Managed Services (AMS)](https://docs.aws.amazon.com/managedservices/?id=docs_gateway) ayuda a operar de manera más eficiente y segura al proporcionar una administración continua de la infraestructura de AWS, que incluye supervisión, administración de incidentes, orientación de seguridad, soporte de parches y respaldo para las cargas de trabajo de AWS.

**Otros servicios**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)es un programa de administración de automatización y configuración de Microsoft que se ejecuta en Windows, Linux y macOS.

## Epics
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-epics"></a>

### Configurar los ajustes de la instancia
<a name="configure-settings-on-the-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie la configuración del cliente DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 
| Cambie la configuración de Windows Update (actualizaciones de Windows). | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 
| Habilitar un firewall. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 

### Preparación de la instancia para AMS WIGS
<a name="prepare-the-instance-for-ams-wigs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Limpie y prepare la instancia. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 
| Repare el archivo sppnp.dll. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 
| Ejecute el script de validación previa a WIG. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 
| Cree la AMI a prueba de fallos. | Una vez superada la validación previa a WIG, cree una AMI previa a la incorporación de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html)Para obtener más información, consulte [AMI \$1 Create](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) (AMI \$1 Crear) en la documentación de AMS. | Ingeniero de migraciones | 

### Incorporar y validar la instancia
<a name="ingest-and-validate-the-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Envíe la RFC para crear la pila de incorporación de carga de trabajo. | Envíe una solicitud de cambio (RFC) para iniciar AMS WIGS. Para obtener instrucciones, consulte [Workload Ingest Stack: Creating](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-workload-ingest-col.html) (Pila de incorporación de carga de trabajo: creación) en la documentación de AMS. Esto inicia la ingesta de carga de trabajo e instala todo el software requerido por AMS, incluidas las herramientas de respaldo, el software de EC2 administración de Amazon y el software antivirus. | Ingeniero de migraciones | 
| Valide que la migración sea correcta. | Una vez completada la incorporación de carga de trabajo, podrá ver la instancia administrada por AMS y la AMI incorporada por AMS.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 

### Lanzar la instancia en la cuenta AMS de destino
<a name="launch-the-instance-in-the-target-ams-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Envíe el RFC para crear una pila. EC2  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingeniero de migraciones | 

## Recursos relacionados
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-resources"></a>

**Recomendaciones de AWS**
+ [Automatización de las actividades previas a la ingesta de cargas de trabajo para AWS Managed Services en Windows](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automate-pre-workload-ingestion-activities-for-aws-managed-services-on-windows.html)
+ [Automatically create an RFC in AMS using Python](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html?did=pg_card&trk=pg_card) (Crear automáticamente una RFC en AMS mediante Python)

**Documentación de AMS**
+ [AMS Workload Ingest](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html) (Incorporar carga de trabajo de AMS)
+ [How Migration Changes Your Resource](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-changes.html) (Cómo la migración cambia el recurso)
+ [Migrating Workloads: Standard Process](https://docs.aws.amazon.com/managedservices/latest/appguide/mp-migrate-stack-process.html) (Migración de cargas de trabajo: proceso estándar)

**Recursos de marketing**
+ [AWS Managed Services](https://aws.amazon.com/managed-services/)
+ [AWS Managed Services FAQs](https://aws.amazon.com/managed-services/faqs/)
+ [Recursos de AWS Managed Services](https://aws.amazon.com/managed-services/resources/)
+ [Características de AWS Managed Services](https://aws.amazon.com/managed-services/features/)

# Migrar una base de datos de Couchbase Server a Amazon EC2
<a name="migrate-couchbase-server-ec2"></a>

*Subhani Shaik, Amazon Web Services*

## Resumen
<a name="migrate-couchbase-server-ec2-summary"></a>

Este patrón describe cómo puede migrar Couchbase Server de un entorno local a Amazon Elastic Compute Cloud (Amazon EC2) en adelante. AWS

Couchbase Server es una base de datos NoSQL (documento JSON) distribuida que proporciona capacidades de base de datos relacional. La migración de una base de datos de Couchbase Server AWS puede proporcionar mayor escalabilidad, mejor rendimiento, rentabilidad, seguridad mejorada, administración simplificada y alcance global, lo que puede beneficiar a las aplicaciones que requieren un acceso a los datos de alta disponibilidad y baja latencia. También puede acceder a funciones avanzadas a través de servicios gestionados. AWS 

Couchbase Server on AWS ofrece las siguientes funciones clave: 
+ Arquitectura que prioriza la memoria
+ Alta disponibilidad, recuperación ante desastres y equilibrio de carga
+ Implementación multimaestro y multirregional para un rendimiento óptimo

Para obtener más información sobre los principales beneficios, consulte la sección [Información adicional](#migrate-couchbase-server-ec2-additional) y el sitio web de [Couchbase](https://www.couchbase.com/partners/amazon/).

## Requisitos previos y limitaciones
<a name="migrate-couchbase-server-ec2-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS con una nube privada virtual (VPC), dos zonas de disponibilidad, subredes privadas y un grupo de seguridad. Para obtener instrucciones, consulte [Create a VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) en la documentación de Amazon Virtual Private Cloud (Amazon VPC).
+ Conectividad activada entre el entorno de origen y de destino. Para obtener información sobre los puertos TCX que utiliza Couchbase Server, consulte la [documentación de Couchbase](https://docs.couchbase.com/server/current/install/install-ports.html).

## Arquitectura
<a name="migrate-couchbase-server-ec2-architecture"></a>

El siguiente diagrama muestra la arquitectura de alto nivel para migrar Couchbase Server a. AWS

![\[Arquitectura de migración para volver a alojar Couchbase Server en AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4cedced2-3528-4f12-b19e-7d389e820cc1/images/ac22133a-895f-4999-b1e1-57f69e83a326.png)


Desde el clúster de Couchbase en las instalaciones, los datos se mueven a través de una puerta de enlace de cliente mediante [AWS Direct Connect](https://aws.amazon.com/directconnect/). Los datos pasan a través de un router y una Direct Connect ruta y llegan a la VPC a través de una puerta de enlace [AWS Virtual Private Network (Site-to-Site VPN).](https://aws.amazon.com/vpn/) La VPC contiene una EC2 instancia que ejecuta Couchbase Server. La AWS infraestructura también incluye [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) para el control de acceso, [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) para el cifrado de datos, [Amazon Elastic Block Store (Amazon EBS) para el almacenamiento en bloques y Amazon](https://aws.amazon.com/ebs/) [Simple Storage Service (Amazon S3) para el almacenamiento de datos.](https://aws.amazon.com/s3/)

## Tools (Herramientas)
<a name="migrate-couchbase-server-ec2-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)conecta su red interna a una Direct Connect ubicación a través de un cable de fibra óptica Ethernet estándar. Con esta conexión, puede crear interfaces virtuales directamente con las públicas y, al Servicios de AWS mismo tiempo, omitir a los proveedores de servicios de Internet en su ruta de red.

## Prácticas recomendadas
<a name="migrate-couchbase-server-ec2-best-practices"></a>
+ [Installing and configuring Couchbase](https://docs.couchbase.com/server/current/install/install-intro.html) en diferentes plataformas operativas
+ [Mejores prácticas](https://docs.couchbase.com/server/current/cloud/couchbase-cloud-deployment.html#aws-best-practices) para implementar Couchbase Server en AWS
+ [Creating a Couchbase cluster](https://docs.couchbase.com/server/current/manage/manage-nodes/create-cluster.html)
+ [Performance best practices](https://docs.couchbase.com/dotnet-sdk/current/project-docs/performance.html) para aplicaciones de Couchbase
+ [Security best practices](https://docs.couchbase.com/server/current/learn/security/security-overview.html) para Couchbase Server
+ [Storage best practices](https://www.couchbase.com/forums/t/what-is-the-best-document-storage-strategy-in-couchbase/1573) para bases de datos de Couchbase Server

## Epics
<a name="migrate-couchbase-server-ec2-epics"></a>

### Implemente una EC2 instancia de Amazon para Couchbase Server
<a name="deploy-an-ec2-instance-for-couchbase-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Abre la EC2 consola de Amazon. | Inicia sesión en la [ EC2 consola de Amazon [Consola de administración de AWS](https://console.aws.amazon.com/)](https://console.aws.amazon.com/ec2/)y ábrela. | DevOps ingeniero, administrador de Couchbase | 
| Implemente una EC2 instancia de Amazon. | Lance una EC2 instancia que coincida con las configuraciones del servidor Couchbase local. Para obtener más información sobre cómo implementar una EC2 instancia, consulta [Lanzar una EC2 instancia de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) en la EC2 documentación de Amazon. | DevOps ingeniero, administrador de Couchbase | 

### Instalar y configurar Couchbase Server en Amazon EC2
<a name="install-and-configure-couchbase-server-on-ec2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale un clúster de Couchbase. | Revisa las [pautas de despliegue de Couchbase Server](https://docs.couchbase.com/server/current/install/install-production-deployment.html) antes de instalar Couchbase Server en Amazon. EC2Para instalar Couchbase Server, consulte la [documentación de Couchbase Server](https://docs.couchbase.com/server/current/install/install-intro.html). | Administrador de Couchbase | 
| Configure el clúster. | Para configurar el clúster, consulte [Cluster Configuration Options](https://docs.couchbase.com/cloud/clusters/databases.html#cluster-configuration-options) en la documentación de Couchbase. | Administrador de Couchbase | 

### Adición de un nuevo nodo y reequilibrio del clúster de Couchbase
<a name="add-a-new-node-and-rebalance-the-couchbase-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Agrega un nodo para la instancia. EC2  | Agrega la EC2 instancia recién implementada que tiene Couchbase instalado al clúster local existente. Para obtener instrucciones, consulte [Add a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) en la documentación de Couchbase Server. | Administrador de Couchbase | 
| Reequilibre el clúster. | El proceso de reequilibrio convierte al nodo recién agregado con la EC2 instancia en un miembro activo del clúster de Couchbase. Para obtener instrucciones, consulte [Add a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) en la documentación de Couchbase Server. | Administrador de Couchbase | 

### Reconfiguración de las conexiones
<a name="reconfigure-connections"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine los nodos en las instalaciones y reequilibre. | Ahora puede eliminar los nodos en las instalaciones del clúster. Después de eliminar los nodos, siga el proceso de reequilibrio para redistribuir los datos, los índices, el procesamiento de eventos y el procesamiento de consultas entre los nodos disponibles en el clúster. Para obtener instrucciones, consulte [Remove a Node and Rebalance](https://docs.couchbase.com/server/current/manage/manage-nodes/remove-node-and-rebalance.html) en la documentación de Couchbase Server. | Administrador de Couchbase | 
| Actualice los parámetros de conexión. | Actualiza los parámetros de conexión de tu aplicación para usar la nueva dirección EC2 IP de Amazon, de modo que tu aplicación pueda conectarse al nuevo nodo. | Desarrollador de aplicaciones de Couchbase | 

## Recursos relacionados
<a name="migrate-couchbase-server-ec2-resources"></a>
+ [Couchbase Server Services](https://docs.couchbase.com/server/current/learn/services-and-indexes/services/services.html)
+ [Implemente Couchbase Server mediante AWS Marketplace](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html)
+ [Connect to Couchbase Server](https://docs.couchbase.com/server/current/guides/connect.html)
+ [Administre depósitos](https://docs.couchbase.com/server/current/manage/manage-buckets/bucket-management-overview.html)
+ [Cross Data Center Replication (XDCR)](https://docs.couchbase.com/server/current/learn/clusters-and-availability/xdcr-overview.html)
+ [Acuerdo de licencia de Couchbase Inc.](https://www.couchbase.com/LA20190115/)

## Información adicional
<a name="migrate-couchbase-server-ec2-additional"></a>

**Ventajas principales**

La migración de su base de datos de Couchbase a ella AWS ofrece las siguientes ventajas:

**Escalabilidad**. Puede ampliar o reducir el tamaño de su clúster de Couchbase en función de la demanda sin tener que gestionar el hardware físico, de forma que pueda adaptarse fácilmente a las fluctuaciones de los volúmenes de datos y al uso de las aplicaciones. AWS proporciona:
+ Opciones de escalado horizontal y vertical
+ Capacidades de [implementación global](https://aws.amazon.com/about-aws/global-infrastructure/)
+ Equilibrio de carga entre Regiones de AWS
+ [Soluciones de escalado de bases de datos](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)
+ Optimización de la [entrega de contenido](https://aws.amazon.com/solutions/content-delivery/)

**Optimización del rendimiento**. AWS proporciona una infraestructura de red de alto rendimiento y [tipos de instancias optimizados](https://aws.amazon.com/ec2/instance-types/) para garantizar un acceso rápido a los datos y una baja latencia para su base de datos de Couchbase.
+ Opciones de [computación de alto rendimiento (HPC)](https://aws.amazon.com/hpc/)
+ Entrega de contenido global a través de [Amazon CloudFront](https://aws.amazon.com/cloudfront/)
+ Múltiples [opciones de almacenamiento](https://aws.amazon.com/products/storage/)
+ [Servicios de bases de datos](https://aws.amazon.com/products/databases/) avanzados, como Amazon Relational Database Service (Amazon RDS) y Amazon DynamoDB
+ Conexiones de baja latencia con [Direct Connect](https://aws.amazon.com/directconnect/)

**Optimización de costos:** Seleccione el tipo de instancia y la configuración adecuados para equilibrar el rendimiento y el costo en función de su carga de trabajo. Pague solo por los recursos que utilice. Esto puede reducir potencialmente sus costos operativos al eliminar la necesidad de administrar el hardware local y aprovechar Nube de AWS las economías de escala.
+ Las [instancias reservadas](https://aws.amazon.com/ec2/pricing/reserved-instances/) pueden ayudarlo a planificar con antelación y reducir considerablemente sus costos cuando utiliza Couchbase en AWS.
+ El [escalado automático](https://aws.amazon.com/autoscaling/) evita el sobreaprovisionamiento y lo ayuda a optimizar el uso y la rentabilidad.

**Seguridad mejorada** Aproveche las sólidas funciones de seguridad incluidas AWS, como el cifrado de datos, los controles de acceso y los grupos de seguridad, para ayudar a proteger los datos confidenciales que almacena en Couchbase. Beneficios adicionales:
+ El [modelo de responsabilidad AWS compartida](https://aws.amazon.com/compliance/shared-responsibility-model/) diferencia claramente entre la seguridad *de* la nube (AWS responsabilidad) y la seguridad *en* la nube (responsabilidad del cliente).
+ [AWS el cumplimiento](https://aws.amazon.com/compliance/) respalda los principales estándares de seguridad.
+ AWS proporciona opciones [de cifrado](https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/welcome.html) avanzadas.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) le ayuda a gestionar el acceso seguro a sus recursos.

**Administración simplificada**. AWS proporciona servicios gestionados para Couchbase, de forma que pueda centrarse en el desarrollo de aplicaciones en lugar de en gestionar la infraestructura subyacente.

**Alcance global**. Puede implementar su clúster de Couchbase en varios clústeres Regiones de AWS para lograr una baja latencia para los usuarios de todo el mundo. Puede implementar las bases de datos completamente en la nube o en un entorno híbrido. Puede proteger los datos con una seguridad empresarial integrada y una sincronización bidireccional rápida y eficiente de los datos desde la periferia hasta la nube. Al mismo tiempo, puede simplificar el desarrollo con un modelo de programación coherente para crear aplicaciones web y móviles.

**Continuidad empresarial**:
+ **Copia de seguridad y recuperación**. Si hubiera algún problema, puede utilizar [AWS Backup](https://aws.amazon.com/backup/) para garantizar la resiliencia de los datos y una fácil recuperación. Para obtener las opciones de recuperación ante desastres, consulte la [documentación del Marco de AWS Well-Architected](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html).
+ **Despliegue multirregional de Couchbase**: para implementar una base de datos de Couchbase en un AWS entorno multirregional, puede suscribirse al servidor de Couchbase en, usar [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)plantillas para crear clústeres de Couchbase independientes en cada región y [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-zy5g2wqmqdyzw), a continuación, configurar la replicación entre regiones para sincronizar los datos entre las regiones. Esta configuración garantiza una alta disponibilidad y redundancia geográfica en varias regiones. Para obtener más información, consulte [Deploy Couchbase Server Using AWS Marketplace](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html) en la documentación de Couchbase.

**Agilidad de la infraestructura**:
+ Rápido [aprovisionamiento y desaprovisionamiento de recursos](https://aws.amazon.com/products/management-and-governance/use-cases/provisioning-and-orchestration/)
+ Alcance de [infraestructura global](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)
+ [Escalado automático](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) en función de la demanda
+ [Infraestructura como código (IaC)](https://aws.amazon.com/what-is/iac/) para implementaciones coherentes
+ Varios [tipos de instancias](https://aws.amazon.com/ec2/instance-types/) optimizados para diferentes cargas de trabajo

**Habilitación de la innovación**:
+ Acceso a la tecnología más reciente, como [IA y ML](https://aws.amazon.com/ai/generative-ai/), [IoT](https://aws.amazon.com/iot/) y [análisis](https://aws.amazon.com/big-data/datalakes-and-analytics/)
+ [Servicios administrados](https://aws.amazon.com/blogs/architecture/reduce-operational-load-using-aws-managed-services-for-your-data-solutions/), que reducen los gastos operativos
+ Prácticas de desarrollo de [aplicaciones modernas](https://aws.amazon.com/modern-apps/)
+ Opciones de computación [sin servidor](https://aws.amazon.com/serverless/)

**Excelencia operativa**:
+ [Supervisión y registro centralizados](https://docs.aws.amazon.com/prescriptive-guidance/latest/designing-control-tower-landing-zone/logging-monitoring.html)
+ [Administración automatizada de recursos](https://aws.amazon.com/systems-manager/)
+ Capacidades de [mantenimiento predictivo](https://aws.amazon.com/what-is/predictive-maintenance/)
+ [Visibilidad mejorada](https://aws.amazon.com/about-aws/whats-new/2024/12/amazon-cloudwatch-provides-centralized-visibility-telemetry-configurations/) del uso de los recursos
+ [Procesos de implementación simplificados](https://aws.amazon.com/blogs/mt/streamline-change-processes-and-improve-governance-with-aws-well-architected/)

**Oportunidades de modernización**:
+ Arquitectura de [microservicios](https://aws.amazon.com/microservices/)
+ [DevOps](https://aws.amazon.com/devops/)implementación de prácticas
+ Desarrollo de aplicaciones [nativas en la nube](https://aws.amazon.com/what-is/cloud-native/)
+ [Modernización de aplicaciones heredadas](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-modernizing-applications/welcome.html)

**Ventajas competitivas**:
+ [Tiempo de comercialización más rápido](https://aws.amazon.com/blogs/smb/accelerate-time-to-market-and-business-growth-with-an-automated-software-as-a-service-platform/)
+ [Experiencia del cliente](https://aws.amazon.com/blogs/publicsector/improving-customer-experience-for-the-public-sector-using-aws-services/) mejorada
+ Toma de decisiones [basada en datos](https://aws.amazon.com/data/data-driven-decision-making/)
+ [Inteligencia empresarial](https://aws.amazon.com/what-is/business-intelligence/) mejorada

# Migre Db2 for LUW a Amazon EC2 mediante el envío de registros para reducir el tiempo de interrupción
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time"></a>

*Feng Cai, Ambarish Satarkar y Saurabh Sharma, Amazon Web Services*

## Resumen
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-summary"></a>

Cuando los clientes migran sus cargas de trabajo de IBM Db2 for LUW (Linux, UNIX y Windows) a Amazon Web Services (AWS), la forma más rápida es utilizar Amazon Elastic Compute Cloud (Amazon EC2) con el modelo Bring Your Own License (BYOL). Sin embargo, la migración de grandes cantidades de datos de Db2 en las instalaciones a AWS puede ser un desafío, especialmente cuando el periodo de interrupción es corto. Muchos clientes intentan establecer el periodo de interrupción en menos de 30 minutos, lo que deja poco tiempo para la propia base de datos.

Este patrón explica cómo realizar una migración a Db2 con un breve periodo de interrupción mediante el envío del registro de transacciones. Este enfoque se aplica a Db2 en una plataforma Linux little endian.

## Requisitos previos y limitaciones
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una instancia de Db2 que se ejecuta en una instancia que coincide con los diseños del EC2 sistema de archivos local
+ Un bucket de Amazon Simple Storage Service (Amazon S3) al que pueda acceder la instancia EC2 
+ Un rol y una política de AWS Identity and Access Management (IAM) para hacer llamadas programáticas a Amazon S3
+ Relojes del sistema y zona horaria sincronizados en Amazon EC2 y el servidor local
+ La red local conectada a AWS a través de [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/) o [AWS Direct Connect](https://aws.amazon.com/directconnect/)

**Limitaciones**
+ La instancia local de Db2 y Amazon EC2 deben estar en la misma familia de [plataformas](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ Se debe registrar la carga de trabajo en las instalaciones de Db2. Establezca `blocknonlogged=yes` en la configuración de la base de datos para bloquear cualquier transacción no registrada.

**Versiones de producto**
+ Db2 para LUW, versión 11.5.9 y posteriores

## Arquitectura
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-architecture"></a>

**Pila de tecnología de origen**
+ Db2 en Linux** **x86\$164

**Pila de tecnología de destino**
+ Amazon EBS
+ Amazon EC2
+ AWS Identity y Access Management (IAM)
+ Amazon S3
+ AWS Site-to-Site VPN o Direct Connect

**Arquitectura de destino**

El siguiente diagrama muestra una instancia de Db2 que se ejecuta localmente con una conexión de red privada virtual (VPN) a Db2 en Amazon. EC2 Las líneas de puntos representan el túnel de VPN entre su centro de datos y la nube de AWS.

![\[Flujo de trabajo para llevar a cabo una migración a Db2 con un breve periodo de interrupción mediante el envío del registro de transacciones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7dec6e4a-a92e-4204-9e42-f89d7dcafbfa/images/a7e1c1d6-2ec1-4271-952d-a58260ad7c81.png)


## Tools (Herramientas)
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-tools"></a>

**Servicios de AWS**
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) vincula su red interna con una ubicación de Direct Connect a través de un cable estándar Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente en servicios públicos de AWS omitiendo a los proveedores de servicios de Internet en su ruta de acceso a la red.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) proporciona volúmenes de almacenamiento a nivel de bloques para utilizarlos con instancias de Amazon Elastic Compute Cloud (Amazon). EC2
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ La [ Site-to-SiteVPN de AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) le ayuda a transferir el tráfico entre las instancias que lanza en AWS y su propia red remota.

**Otras herramientas**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) es el comando CLI interactivo de Db2.

## Prácticas recomendadas
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-best-practices"></a>
+ En la base de datos de destino, utilice los [puntos de conexión de puerta de enlace de Amazon S3 para](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) acceder a la imagen de copia de seguridad y a los archivos de registro de la base de datos en Amazon S3.
+ En la base de datos de origen, utilice [AWS PrivateLink para Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para enviar la imagen de respaldo y los archivos de registro de la base de datos a Amazon S3.

## Epics
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-epics"></a>

### Configuración de las variables de entorno
<a name="set-environment-variables"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure las variables de entorno. | Este patrón utiliza los siguientes nombres:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Puede cambiarlos para adaptarlos a su entorno. | Administrador de base de datos | 

### Configure el servidor Db2 en las instalaciones
<a name="configure-the-on-premises-db2-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la CLI de AWS. | Utilice los siguientes comandos para descargar e instalar la versión más reciente de la AWS CLI:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrador de Linux | 
| Configure un destino en las instalaciones para los registros de archivos de Db2. | Para mantener la base de datos de destino de Amazon EC2 sincronizada con la base de datos de origen local, es necesario recuperar los registros de transacciones más recientes de la fuente.En esta configuración, `/db2logs` se establece como `LOGARCHMETH2` en la fuente como área de almacenamiento provisional. Los registros archivados en este directorio se sincronizarán con Amazon S3 y Db2 en Amazon podrá acceder a ellos. EC2 El patrón usa `LOGARCHMETH2` porque `LOGARCHMETH1` podría haberse configurado para usar una herramienta de un proveedor externo a la que el comando de la CLI de AWS no pudiera acceder. Para recuperar los registros, ejecute el siguiente comando: <pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | Administrador de base de datos | 
| Realice una copia de seguridad de la base de datos en línea. | Haga una copia de seguridad de la base de datos en línea y guárdela en el sistema de archivos de copia de seguridad local: <pre>db2 backup db sample online to /backup </pre> | Administrador de base de datos | 

### Configuración del bucket de S3 y de la política de IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un bucket de S3. | Cree un bucket de S3 para que el servidor en las instalaciones envíe los archivos de registro y las imágenes Db2 de copia de seguridad a AWS. Amazon también accederá al depósito EC2:<pre>aws s3api create-bucket --bucket logshipmig-db2 --region us-east-1 </pre> | Administrador de sistemas de AWS | 
|  Cree una política de IAM. | El archivo `db2bucket.json` contiene la política de IAM para acceder al bucket de Amazon S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::logshipmig-db2/*",<br />                "arn:aws:s3:::logshipmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Utilice el siguiente comando de la AWS CLI para crear la política:<pre>aws iam create-policy \<br />      --policy-name db2s3policy \<br />      --policy-document file://db2bucket.json </pre> El resultado de JSON muestra el nombre de recurso de Amazon (ARN) para la política, donde `aws_account_id` representa el ID de la cuenta:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3policy"</pre> | Administrador AWS, administrador de sistemas AWS | 
| Adjunta la política de IAM a la función de IAM utilizada por la EC2 instancia. | En la mayoría de los entornos de AWS, una EC2 instancia en ejecución tiene un rol de IAM establecido por el administrador del sistema. Si la función de IAM no está configurada, cree la función y elija **Modificar la función de IAM en la EC2 consola para asociar la función** a la EC2 instancia que aloja la base de datos de Db2. Adjunte la política de IAM al rol de IAM con el ARN de la política:<pre>aws iam attach-role-policy \<br />    --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3policy"  \<br />    --role-name db2s3role  </pre>Una vez asociada la política, cualquier EC2 instancia asociada a la función de IAM puede acceder al bucket de S3. | Administrador AWS, administrador de sistemas AWS | 

### Envíe los archivos de registro y la imagen de copia de seguridad de la base de datos de origen a Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la AWS CLI en el servidor de Db2 en las instalaciones. | Configure la AWS CLI con el `Access Key ID` y la `Secret Access Key` que generó en el paso anterior:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre>  | Administrador AWS, administrador de sistemas AWS | 
| Envíe la imagen de copia de seguridad a Amazon S3. | Anteriormente, se guardó una copia de seguridad de la base de datos en línea en el directorio `/backup` en las instalaciones. Para enviar la imagen de copia de seguridad al bucket de S3, ejecute el siguiente comando:<pre>aws s3 sync /backup s3://logshipmig-db2/SAMPLE_backup</pre> | Administrador de AWS, ingeniero de migraciones | 
| Envíe los registros de archivo Db2 a Amazon S3. | Sincronice los registros del archivo Db2 local con el depósito de S3 al que puede acceder la instancia de Db2 de destino en Amazon: EC2<pre>aws s3 sync /db2logs s3://logshipmig-db2/SAMPLE_LOG</pre>Ejecute este comando periódicamente mediante cron u otras herramientas de programación. La frecuencia depende de la periodicidad con la que la base de datos de origen archiva los archivos de registro de transacciones.  | Administrador de AWS, ingeniero de migraciones | 

### Conecte Db2 de Amazon EC2 a Amazon S3 e inicie la sincronización de la base de datos
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-database-sync"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un almacén de PKCS12 claves. | Db2 utiliza un almacén de claves de cifrado de estándares de criptografía de clave pública (PKCS) para mantener la seguridad de la clave de acceso de AWS. Cree un almacén de claves y configure la instancia de Db2 de origen para utilizarlo:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | Administrador de base de datos | 
| Cree el alias de acceso al almacenamiento de Db2. | Para crear el [alias de acceso al almacenamiento](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access), utilice la siguiente sintaxis de script:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Por ejemplo, el script podría tener el siguiente aspecto: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'logshipmig-db2'" ` | Administrador de base de datos | 
| Establece el área de almacenamiento provisional. | De forma predeterminada, Db2 usa `DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH` como área de montaje para cargar y descargar archivos desde y hacia Amazon S3. La ruta predeterminada es `sqllib/tmp/RemoteStorage.xxxx`, en el directorio principal de la instancia, y `xxxx` hace referencia al número de partición de Db2. Tenga en cuenta que el área de montaje debe tener capacidad suficiente para almacenar las imágenes de copia de seguridad y los archivos de registro. Puede usar el registro para apuntar el área de montaje a un directorio diferente.También recomendamos usar `DB2_ENABLE_COS_SDK=ON`, `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore` y el enlace a la biblioteca de `awssdk` para omitir el área de almacenamiento provisional de Amazon S3 a fin de hacer copias de seguridad de bases de datos y restaurarlas:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />Db2set DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore<br />db2stop<br />db2start</pre> | Administrador de base de datos | 
| Restaure la base de datos a partir de la imagen de copia de seguridad. | Restaure la base de datos de destino en Amazon EC2 a partir de la imagen de respaldo del bucket S3:<pre>db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup replace existing</pre> | Administrador de base de datos | 
| Restaure la base de datos. | Una vez completada la restauración, la base de datos de destino pasará al estado pendiente de recuperación. Configure `LOGARCHMETH1` y `LOGARCHMETH2` para que Db2 sepa dónde obtener los archivos de registro de transacciones:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/'<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 OFF</pre>Inicie la recuperación de la base de datos:<pre>db2 ROLLFORWARD DATABASE sample to END OF LOGS</pre>Este comando procesa todos los archivos de registro que se han transferido al bucket de S3. Ejecútelo periódicamente en función de la frecuencia del comando `s3 sync` en los servidores Db2 locales. Por ejemplo, si `s3 sync` se ejecuta cada hora y se tarda 10 minutos en sincronizar todos los archivos de registro, configure el comando para que se ejecute 10 minutos después de cada hora.  | Administrador de base de datos | 

### Ponga Db2 en Amazon en EC2 línea durante el período de transición
<a name="bring-db2-on-amazon-ec2-online-during-the-cutover-window"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ponga en línea la base de datos de destino. | Durante el periodo de transición, realice una de las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Una vez sincronizado el último registro de transacciones con Amazon S3, ejecute el comando `ROLLFORWARD` por última vez:<pre>db2 rollforward DB sample to END OF LOGS<br />db2 rollforward DB sample complete<br /><br />                                 Rollforward Status<br />....<br /> Rollforward status                     = not pending<br />....<br />DB20000I  The ROLLFORWARD command completed successfully.<br /><br />db2 activate db sample<br />DB20000I  The ACTIVATE DATABASE command completed successfully.</pre>Coloque la base de datos de destino en línea y dirija las conexiones de la aplicación a Db2 en Amazon EC2. | Administrador de base de datos | 

## Resolución de problemas
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Si varias bases de datos tienen el mismo nombre de instancia y nombre de base de datos en diferentes hosts (DEV, QA, PROD), las copias de seguridad y los registros pueden ir al mismo subdirectorio. | Utilice distintos buckets de S3 para DEV, QA y PROD y agregue el nombre de host como prefijo del subdirectorio para evitar confusiones. | 
| Si hay múltiples imágenes de copia de seguridad en la misma ubicación, aparecerá el siguiente error al restaurar:`SQL2522N More than one backup file matches the time stamp value provided for the backed up database image.` | En el comando `restore`, agregue la marca de tiempo de la copia de seguridad:`db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup taken at 20230628164042 replace existing` | 

## Recursos relacionados
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-resources"></a>
+ [Operaciones de copia de seguridad y restauración de Db2 entre diferentes sistemas operativos y plataformas de hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configure STORAGE ACCESS ALIAS y REMOTE de Db2 DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Comando Db2 ROLLFORWARD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database)
+ [Método de archivo de registro secundario de Db2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-logarchmeth2-secondary-log-archive-method)

# Migración de Db2 para LUW a Amazon EC2 con recuperación de desastres de alta disponibilidad
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy y Venkatesan Govindan, Amazon Web Services*

## Resumen
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Cuando los clientes migran su carga de trabajo de IBM Db2 de LUW (Linux, UNIX y Windows) a Amazon Web Services (AWS), utilizar Amazon Elastic Compute Cloud (Amazon EC2) con el modelo Traiga su propia licencia (BYOL) es la forma más rápida de hacerlo. Sin embargo, la migración de grandes cantidades de datos de Db2 en las instalaciones a AWS puede ser un desafío, especialmente cuando el periodo de interrupción es corto. Muchos clientes intentan establecer el periodo de interrupción en menos de 30 minutos, lo que deja poco tiempo para la propia base de datos.

Este patrón explica cómo realizar una migración a Db2 con un breve período de interrupción mediante la recuperación de desastres de alta disponibilidad (HADR) de Db2. Este enfoque se aplica a las bases de datos Db2 que se encuentran en la plataforma Linux Little-Endian y no utilizan la característica de particionamiento de datos (DPF).

## Requisitos previos y limitaciones
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa
+ Una instancia de Db2 que se ejecute en una instancia de Amazon EC2 que coincida con los diseños del sistema de archivos en las instalaciones
+ Un bucket de Amazon Simple Storage Service (Amazon S3) accesible para la instancia EC2
+ Un rol y una política de AWS Identity and Access Management (IAM) para hacer llamadas programáticas a Amazon S3
+ Relojes del sistema y zona horaria sincronizados en Amazon EC2 y el servidor en las instalaciones
+ La red local conectada a AWS a través de [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/) o [AWS Direct Connect](https://aws.amazon.com/directconnect/)
+ Comunicación entre el servidor en las instalaciones y Amazon EC2 en los puertos HADR

**Limitaciones **
+ La instancia en las instalaciones de Db2 y Amazon EC2 deben estar en la misma [familia de plataformas](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ El HADR no se admite en un entorno de base de datos particionado.
+ HADR no admite el uso de archivos sin procesar I/O (acceso directo al disco) para los archivos de registro de la base de datos.
+ HADR no admite registros infinitos.
+ `LOGINDEXBUILD` debe configurarse como `YES`, lo que aumentará el uso del registro para reconstruir el índice.
+ Se debe registrar la carga de trabajo en las instalaciones de Db2. Configure `blocknonlogged=yes` en la configuración de la base de datos para bloquear cualquier transacción no registrada.

**Versiones de producto**
+ Db2 para LUW, versión 11.5.9 y posteriores

## Arquitectura
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Pila de tecnología de origen**
+ Db2 en Linux** **x86\$164

**Pila de tecnología de destino**
+ Amazon EC2
+ AWS Identity y Access Management (IAM)
+ Amazon S3
+  Site-to-SiteVPN DE AWS

**Arquitectura de destino**

En el siguiente diagrama, Db2 en las instalaciones se ejecuta `db2-server1` como principal. Tiene dos objetivos HADR en espera. Hay un objetivo de reserva en las instalaciones y es opcional. El otro objetivo en espera, `db2-ec2`, está en Amazon EC2. Después de efectuar la transición de la base de datos a AWS, `db2-ec2` se convierte en la principal.

![\[Flujo de trabajo para migrar con un breve periodo de interrupción a Db2 en las instalaciones mediante el HADR de Db2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. Los registros se transmiten desde la base de datos en las instalaciones principal a la base de datos en las instalaciones en espera.

1. Con el HADR de Db2, los registros se transmiten desde la base de datos local principal a través de una Site-to-Site VPN a Db2 en Amazon EC2.

1. Los registros de copia de seguridad y archivo de Db2 se envían desde la base de datos en las instalaciones principal al bucket de S3 en AWS.

## Tools (Herramientas)
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-tools"></a>

**Servicios de AWS**
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) vincula su red interna con una ubicación de Direct Connect a través de un cable estándar Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente en servicios públicos de AWS omitiendo a los proveedores de servicios de Internet en su ruta de acceso a la red.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad de computación escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ La [ Site-to-SiteVPN de AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) le ayuda a transferir el tráfico entre las instancias que lanza en AWS y su propia red remota.

**Otras herramientas**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) es el comando CLI interactivo de Db2.

## Prácticas recomendadas
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ En la base de datos de destino, utilice los [puntos de conexión de puerta de enlace de Amazon S3 para](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) acceder a la imagen de copia de seguridad y a los archivos de registro de la base de datos en Amazon S3.
+ En la base de datos de origen, utilice [AWS PrivateLink para Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para enviar la imagen de respaldo y los archivos de registro de la base de datos a Amazon S3.

## Epics
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Configuración de las variables de entorno
<a name="set-environment-variables"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure las variables de entorno. | Este patrón utiliza los siguientes nombres y puertos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Puede cambiarlos para adaptarlos a su entorno. | Administrador de base de datos | 

### Configure el servidor Db2 en las instalaciones
<a name="configure-the-on-premises-db2-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS CLI. | Utilice los siguientes comandos para descargar e instalar la versión más reciente de la AWS CLI:<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrador de Linux | 
| Configure un destino en las instalaciones para los registros de archivos de Db2. | Condiciones como los trabajos por lotes de actualización intensiva y la ralentización de la red pueden provocar un retraso en el servidor HADR en espera. Para ponerse al día, el servidor en espera necesita los registros de transacciones del servidor principal. La secuencia de lugares de los registros de solicitud es la siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)En esta configuración, `/db2logs` se establece como `LOGARCHMETH2` en la fuente como área de almacenamiento provisional. Los registros archivados en este directorio se sincronizarán con Amazon S3 y Db2 accederá a ellos desde Amazon EC2. El patrón utiliza `LOGARCHMETH2` porque `LOGARCHMETH1` podría haberse configurado para usar una herramienta de un proveedor externo a la que el comando de la AWS CLI no pudiera acceder:<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | Administrador de base de datos | 
| Realice una copia de seguridad de la base de datos en línea. | Haga una copia de seguridad de la base de datos en línea y guárdela en el sistema de archivos de copia de seguridad local:<pre>db2 backup db sample online to /backup </pre> | Administrador de base de datos | 

### Configuración del bucket de S3 y de la política de IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un bucket de S3. | Cree un bucket de S3 para que el servidor en las instalaciones envíe los archivos de registro y las imágenes Db2 de copia de seguridad a AWS. Amazon EC2 accederá al bucket:<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | Administrador de AWS | 
| Cree una política de IAM. | El archivo `db2bucket.json` contiene la política de IAM para obtener acceso al bucket de S3:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Utilice el siguiente comando de la AWS CLI para crear la política:<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre>El resultado de JSON muestra el nombre de recurso de Amazon (ARN) para la política, donde `aws_account_id` representa el ID de la cuenta:<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | Administrador AWS, administrador de sistemas AWS | 
| Adjunte la política de IAM al rol de IAM. | Por lo general, la instancia de EC2 con Db2 en ejecución tendría un rol de IAM asignado por el administrador de sistemas. Si no se ha asignado ningún rol de IAM, puede elegir **Modificar rol de IAM** en la consola de Amazon EC2.Adjunte la política de IAM al rol de IAM asociado a la instancia de EC2. Después de adjuntar la política, la instancia de EC2 puede acceder al bucket de S3:<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Envíe los archivos de registro y la imagen de copia de seguridad de la base de datos de origen a Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS CLI en el servidor Db2 en las instalaciones. | Configure la AWS CLI con el `Access Key ID` y la `Secret Access Key` que generó anteriormente:<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | Administrador AWS, administrador de sistemas AWS | 
| Envíe la imagen de copia de seguridad a Amazon S3. | Anteriormente, se guardó una copia de seguridad de la base de datos en línea en el directorio `/backup` en las instalaciones. Para enviar la imagen de copia de seguridad al bucket de S3, ejecute el siguiente comando:<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | Administrador AWS, administrador de sistemas AWS | 
| Envíe los registros de archivo Db2 a Amazon S3. | Sincronice los registros del archivo de Db2 en las instalaciones con el bucket de Amazon S3 al que puede acceder la instancia de Db2 de destino en Amazon EC2:<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre>Ejecute este comando periódicamente mediante cron u otras herramientas de programación. La frecuencia depende de la periodicidad con la que la base de datos de origen archiva los archivos de registro de transacciones. |  | 

### Conecte Db2 de Amazon EC2 a Amazon S3 e inicie la sincronización inicial de la base de datos
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un PKCS12 almacén de claves. | Db2 utiliza un almacén de claves de cifrado de estándares de criptografía de clave pública (PKCS) para mantener la seguridad de la clave de acceso de AWS. Cree un almacén de claves y configure la Db2 de origen para que lo use:<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | Administrador de base de datos | 
| Cree el alias de acceso al almacenamiento de Db2. | Db2 usa un alias de acceso al almacenamiento para acceder a Amazon S3 directamente con los comandos `INGEST`, `LOAD`, `BACKUP DATABASE` o `RESTORE DATABASE`. Como ha asignado un rol de IAM a la instancia de EC2, `USER` y `PASSWORD` no son necesarios:`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Por ejemplo, el script podría tener el siguiente aspecto: `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | Administrador de base de datos | 
| Establece el área de almacenamiento provisional. | Recomendamos usar `DB2_ENABLE_COS_SDK=ON`, `DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore` y el enlace a la biblioteca de `awssdk` para omitir el área de almacenamiento provisional de Amazon S3 a fin de hacer copias de seguridad de bases de datos y restaurarlas:<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | Administrador de base de datos | 
| Restaure la base de datos a partir de la imagen de copia de seguridad. | Restaure la base de datos de destino en Amazon EC2 a partir de la imagen de copia de seguridad del bucket de S3:<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | Administrador de base de datos | 

### Configurar HADR sin HADR en las instalaciones
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el servidor Db2 en las instalaciones como el principal. | Actualice los ajustes de configuración de la base de datos para el HADR en `db2-server1` (la fuente en las instalaciones) como principal. Establezca `HADR_SYNCMODE` en el modo `SUPERASYNC`, que tiene el menor tiempo de respuesta a las transacciones:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`Se esperan algunos retrasos en la red entre el centro de datos en las instalaciones y AWS. (Puede establecer un valor `HADR_SYNCMODE` diferente en función de la fiabilidad de la red. Para obtener más información, consulte la sección de [Recursos relacionados](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources). | Administrador de base de datos | 
| Cambie el destino del archivo de registro de la base de datos de destino. | Cambie el destino del archivo de registros de la base de datos de destino para que coincida con el entorno de Amazon EC2:<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | Administrador de base de datos | 
| Configure HADR para Db2 en el servidor Amazon EC2. | Actualice la configuración de la base de datos para el HADR en `db2-ec2` como modo de espera:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | Administrador de base de datos | 
| Verifique la configuración de HADR. | Compruebe los parámetros del HADR en los servidores Db2 de origen y destino.Ejecute el siguiente comando para verificar la configuración en `db2-server1`:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre> Ejecute el siguiente comando para verificar la configuración en `db2-ec2`:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Los parámetros `HADR_LOCAL_HOST`, `HADR_LOCAL_SVC`, `HADR_REMOTE_HOST` y `HADR_REMOTE_SVC` indican una configuración de HADR principal y otra de reserva. | Administrador de base de datos | 
| Inicie la instancia HADR de Db2. | Inicie primero la instancia de HADR de Db2 en el servidor en espera `db2-ec2`:<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Inicie el HADR de Db2 en el servidor principal (de origen) `db2-server1`:<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>La conexión HADR entre Db2 en las instalaciones y Amazon EC2 ya se ha establecido correctamente. El servidor principal de Db2 `db2-server1` comienza a transmitir los registros de transacciones a `db2-ec2` en tiempo real. | Administrador de base de datos | 

### Configure HADR cuando HADR exista en las instalaciones
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Añada Db2 en Amazon EC2 como reserva auxiliar. | Si el HADR se ejecuta en la instancia de Db2 en las instalaciones, puede agregar Db2 en Amazon EC2 como auxiliar en espera con `HADR_TARGET_LIST` mediante la ejecución de los siguientes comandos en `db2-ec2`:`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | Administrador de base de datos | 
| Agregue la información auxiliar en espera a los servidores en las instalaciones. | Actualice `HADR_TARGET_LIST` en los dos servidores en las instalaciones (principal y en espera).En `db2-server1`, ejecute el siguiente código:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.`En `db2-server2`, ejecute el siguiente código:`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | Administrador de base de datos | 
| Verifique la configuración de HADR. | Compruebe los parámetros del HADR en los servidores Db2 de origen y destino.En `db2-server1`, ejecute el siguiente código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>En `db2-server2`, ejecute el siguiente código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>En `db2-ec2`, ejecute el siguiente código:<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Los parámetros `HADR_LOCAL_HOST`, `HADR_LOCAL_SVC`, `HADR_REMOTE_HOST`, `HADR_REMOTE_SVC` y `HADR_TARGET_LIST` indican una configuración de HADR principal y otra en espera. |  | 
| Detenga e inicie el Db2 HADR. | `HADR_TARGET_LIST` ya está configurado en los tres servidores. Cada servidor Db2 conoce los otros dos. Detenga y reinicie el HADR (interrupción breve) para aprovechar la nueva configuración.En `db2-server1`, ejecute los siguientes comandos:<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre>En `db2-server2`, ejecute los siguientes comandos:<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>En `db2-ec2`, ejecute los siguientes comandos:<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>En `db2-server1`, ejecute los siguientes comandos:<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre>La conexión HADR entre Db2 en las instalaciones y Amazon EC2 ya se ha establecido correctamente. El servidor principal de Db2 `db2-server1` comienza a transmitir los registros de transacciones a `db2-server2` y `db2-ec2` en tiempo real.  | Administrador de base de datos | 

### Haga que Db2 en Amazon EC2 sea principal durante la ventana de transición
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Asegúrese de que no haya ningún retraso HADR en el servidor en espera. | Compruebe el estado del HADR desde el servidor principal. `db2-server1` No se alarme cuando `HADR_STATE` esté en estado `REMOTE_CATCHUP`, lo cual es normal cuando `HADR_SYNCMODE` está configurado en `SUPERASYNC`. `PRIMARY_LOG_TIME` y `STANDBY_REPLAY_LOG_TIME` muestran que están sincronizados:<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | Administrador de base de datos | 
| Ejecute la adquisición HADR. | Para completar la migración, especifique `db2-ec2` como la base de datos principal ejecutando el comando de adquisición de HADR. Utilice el comando `db2pd` para verificar el valor `HADR_ROLE`:<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre>Para completar la migración a AWS, dirija las conexiones de la aplicación a Db2 en Amazon EC2. |  | 

## Resolución de problemas
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Si utiliza la NAT por motivos de seguridad y firewall, el host puede tener dos direcciones IP (una interna y otra externa), lo que puede provocar un error de comprobación de dirección IP del HADR. El comando `START HADR ON DATABASE` devolverá el siguiente mensaje:`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Para [admitir el HADR en un entorno NAT,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) puede configurar el `HADR_LOCAL_HOST` con la dirección interna y externa. Por ejemplo, si el servidor Db2 tiene el nombre interno `host1` y el nombre externo `host1E`, `HADR_LOCAL_HOST` puede ser. `HADR_LOCAL_HOST: "host1 \| host1E"` | 

## Recursos relacionados
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Operaciones de copia de seguridad y restauración de Db2 entre diferentes sistemas operativos y plataformas de hardware](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configure Db2 STORAGE ACCESS ALIAS y REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Recuperación de desastres de alta disponibilidad de Db2](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\$1syncmode: modo de sincronización HADR para escrituras de registros en un parámetro de configuración de estado del mismo nivel](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)

# Migre aplicaciones alojadas en IIS a Amazon EC2 mediante appcmd.exe
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Deepak Kumar, Amazon Web Services*

## Resumen
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-summary"></a>

Cuando migra aplicaciones alojadas en Internet Information Services (IIS) a instancias de Amazon Elastic Compute Cloud (Amazon EC2), debe abordar varios desafíos de autenticación. Estos desafíos incluyen volver a ingresar las credenciales de dominio para las identidades de los grupos de aplicaciones y, posiblemente, regenerar las claves de las máquinas para que el sitio web funcione correctamente. Puede utilizarlas AWS Directory Service para establecer relaciones de confianza con su Active Directory local o para crear un nuevo Active Directory administrado en. AWS Este patrón describe un enfoque de migración limpio que utiliza la funcionalidad de copia de seguridad y restauración de las EC2 instancias de IIS en Amazon. El enfoque utiliza appcmd.exe para desinstalar y volver a instalar IIS en las EC2 instancias de destino, lo que permite migrar correctamente los sitios web alojados en IIS, las identidades de los grupos de aplicaciones y las claves de las máquinas. 

## Requisitos previos y limitaciones
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS para el servidor de destino.
+ Un servidor de IIS de origen funcional con sitios web alojados en él.
+ Descripción de los principios de trabajo de IIS, como la administración y la configuración.
+ Acceso de administrador de sistemas tanto en el servidor de origen como en el de destino.
+ Se completó la migración del servidor IIS de origen al de destino Cuenta de AWS. Puede utilizar herramientas de migración AWS Application Migration Service, como un enfoque basado en instantáneas de Amazon Machine Image (AMI) u otras herramientas de migración.

**Limitaciones**
+ Algunas Servicios de AWS no están disponibles en todos. Regiones de AWS Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

**Versiones de producto**
+ IIS 8.5 o IIS 10.0

## Arquitectura
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-architecture"></a>

**Pila de tecnología de origen**
+ Windows Server con IIS 8.5 o IIS 10.0 instalado

**Pila de tecnología de destino**
+ Windows Server con IIS 8.5 o IIS 10.0 instalado
+ Application Migration Service

**Arquitectura de destino**

En el siguiente diagrama se muestran los componentes de la arquitectura y el flujo de trabajo de esta aplicación.

![\[Flujo de trabajo para migrar aplicaciones alojadas en IIS a Amazon. EC2\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


La solución incluye los siguientes pasos:

1. [Instale](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) y configure el agente de AWS replicación en el servidor IIS de origen de su centro de datos corporativo. Este agente inicia el proceso de replicación y administra la transferencia de datos a AWS.

1. El agente de AWS replicación establece una [conexión segura con](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured) el Servicio de migración de aplicaciones y comienza a replicar los datos del servidor de origen, incluidas las configuraciones de IIS, los sitios web y los archivos de aplicaciones.

1. El Servicio de migración de aplicaciones lanza EC2 instancias en la subred de aplicaciones con los datos replicados. La EC2 instancia de destino ejecuta IIS y contiene las aplicaciones migradas con sus volúmenes de Amazon Elastic Block Store (Amazon EBS) asociados. Tras la replicación inicial, Application Migration Service continúa sincronizando los cambios hasta que lo tenga [todo listo para la transición](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html#ready-for-cutover1) al nuevo entorno.

## Tools (Herramientas)
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-tools"></a>

**Servicios de AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)le ayuda a realojar (*levantar y trasladar*) las aplicaciones a una ubicación Nube de AWS sin cambios y con un tiempo de inactividad mínimo.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html)) proporciona volúmenes de almacenamiento a nivel de bloques para su uso con las instancias de Amazon. EC2 
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.

**Otras herramientas**
+ [Internet Information Services (IIS)](https://www.iis.net/overview) para Windows Server es un servidor web con una arquitectura abierta y escalable que permite alojar cualquier elemento de la Web. IIS proporciona un conjunto de herramientas de administración, que incluyen herramientas de administración y línea de comandos (por ejemplo, appcmd.exe), código y scripts APIs administrados y PowerShell soporte para Windows.

## Epics
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-epics"></a>

### Copia de seguridad de IIS en el origen antes de la migración
<a name="back-up-iis-at-source-prior-to-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree copias de seguridad de los sitios web alojados en IIS, la clave de configuración y la clave de `WAS`. | Para crear copias de seguridad de sitios web alojados en IIS, la clave de configuración (`iisConfigurationKey`) y la clave `WAS` (`iisWasKey`), utilice appcmd.exe en el servidor de origen. Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html)Para exportar la clave de configuración y la clave `WAS`, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador de IIS | 

### Desinstalación y reinstalación de IIS en el servidor de destino
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Desinstale IIS en el servidor de destino. | Para desinstalar IIS en el servidor de destino, siga estos pasos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador de IIS | 
| Instale IIS en el servidor de destino. | Para instalar IIS en el servidor de destino, siga estos pasos: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador de IIS | 

### Restauración de la configuración y los sitios web de IIS desde las copias de seguridad
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Restaure la configuración y los sitios web de IIS. | Para restaurar las copias de seguridad de IIS que creó desde el servidor de origen en el servidor de destino, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrador de IIS | 

## Recursos relacionados
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-resources"></a>

**AWS documentación**
+ [Instalación del agente de AWS replicación](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) (AWS Application Migration Service documentación)

**AWS Guía prescriptiva**
+ [Migre una máquina virtual local a Amazon EC2 mediante AWS Application Migration Service](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [Uso de AMIs instantáneas de Amazon EBS para copias de seguridad](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Recursos de Microsoft**
+ [Application pool identities](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/was-service-svchost-process-operation/understanding-identities#application-pool-identities)
+ [Documentación de IIS](https://learn.microsoft.com/en-us/iis/)
+ [Documentación de appcmd.exe de IIS 8](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635852(v=ws.11))
+ [Documentación de appcmd.exe de IIS 10](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10)
+ [Powerful Admin Tools](https://learn.microsoft.com/en-us/iis/overview/powerful-admin-tools)

# Migre una base de datos local de Microsoft SQL Server a Amazon EC2 mediante Application Migration Service
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumen
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-summary"></a>

Este patrón describe los pasos para migrar una base de datos de Microsoft SQL Server de un centro de datos local a una instancia de Amazon Elastic Compute Cloud EC2 (Amazon). Utiliza el AWS Application Migration Service (AWS MGN) para realojar la base de datos mediante una migración automática. lift-and-shift AWS MGN realiza una replicación a nivel de bloque del servidor de la base de datos de origen.

## Requisitos previos y limitaciones
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-prereqs"></a>

**Requisitos previos**
+ Un activo Cuenta de AWS
+ Una base de datos de origen Microsoft SQL Server en un centro de datos en las instalaciones

**Limitaciones**
+ El ancho de banda de la red debe estar limitado entre el centro de datos en las instalaciones y AWS.
+ AWS MGN se limita a las bases de datos alojadas en servidores independientes con almacenamiento dedicado. No admite la migración de sistemas de bases de datos en clústeres ni sistemas de bases de datos en los que la velocidad de cambio supera el rendimiento de una red.
+ Algunas Servicios de AWS no están disponibles en todos. Regiones de AWS Para conocer la disponibilidad de las regiones, consulte [Servicios de AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte la página [Service endpoints and quotas](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) y elija el enlace del servicio.

**Versiones de producto**
+ Todas las versiones de bases de datos de Microsoft SQL Server
+ Sistemas operativos Windows y Linux [compatibles con AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html)

## Arquitectura
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-architecture"></a>

**Pila de tecnología de origen**

Base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología de destino**

Una base de datos de Microsoft SQL Server en una EC2 instancia de Amazon

**Arquitectura de destino**

![\[Replique datos de un centro de datos corporativo en las instalaciones a AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a459eaef-c256-4691-a7ec-2304f634228c/images/d8d6cee7-f42c-4686-bf92-6e6d39adfb17.png)


Esta arquitectura utiliza AWS MGN para replicar datos desde un centro de datos corporativo local a. AWS El diagrama muestra el proceso de replicación de datos, las comunicaciones de la API y las fases de prueba y transición.

1. Replicación de los datos:
   + AWS MGN replica los datos del centro de datos corporativo local AWS e inicia la replicación continua de los cambios.
   + Los servidores de replicación de la subred provisional reciben y procesan los datos.

1. Comunicación de la API:
   + Los servidores de replicación se conectan a los puntos finales de la API de AWS MGN EC2, Amazon y Amazon Simple Storage Service (Amazon S3) a través del puerto TCP 443.
   + AWS MGN gestiona la migración.
   + Amazon EC2 gestiona las operaciones de las instancias.

1. Prueba y transición:
   + Las instancias de prueba se lanzan en la subred operativa mediante datos replicados.
   + Tras realizar las pruebas AWS satisfactoriamente, MGN crea instancias transitorias para la migración final.

## Tools (Herramientas)
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-tools"></a>
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) le ayuda a realojar (*levantar y trasladar) las aplicaciones a una ubicación Nube de AWS sin cambios y* con un tiempo de inactividad mínimo.
+ [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) vincula su red interna con una ubicación de Direct Connect a través de un cable estándar Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente con los AWS servicios públicos y, al mismo tiempo, omitir a los proveedores de servicios de Internet en su ruta de red.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

## Prácticas recomendadas
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-best-practices"></a>
+ Configure puntos de enlace regionales de API para AWS MGN EC2, Amazon y Amazon S3 en la nube privada virtual (VPC) para prohibir el acceso público desde Internet.
+ Configure los ajustes de lanzamiento de AWS MGN para lanzar los servidores de bases de datos de destino en una subred privada.
+ Permita solo los puertos necesarios en los grupos de seguridad de bases de datos.
+ Siga el principio de privilegio mínimo y conceda los permisos mínimos necesarios para llevar a cabo una tarea. Para obtener más información, consulte [Otorgar privilegio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) y [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la documentación de IAM.

## Epics
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-epics"></a>

### Configuración de AWS MGN
<a name="set-up-aws-mgn"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure MGN AWS . | Busque el AWS Application Migration Service en e inicie Consola de administración de AWS el proceso de configuración. Esto creará una plantilla de replicación y lo redirigirá a la página **Servidores de origen** de la consola de MGN. Al configurar el servicio de MGN, elija un rol de servicio de la lista generada. | Administrador de base de datos, ingeniero de migraciones | 
| Agregue el servidor de origen. | Agregue los detalles del servidor de base de datos de origen en las instalaciones y, a continuación, agregue el servidor. | Administrador de base de datos, ingeniero de migraciones | 
| Instale el agente de AWS MGN en el servidor de origen. | Descargue el instalador del agente AWS MGN a su sistema local y transfiéralo al servidor de base de datos de origen. Para validar el hash del instalador, consulte [Validating the downloaded AWS Replication Agent installer for Windows 2012](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html#installer-hash-table-2012). | Administrador de base de datos, ingeniero de migraciones | 

### Instalación del agente de AWS MGN en máquinas de origen
<a name="install-aws-mgn-agent-on-source-machines"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere las credenciales de IAM del cliente. | Antes de instalar el agente AWS MGN, genere AWS las credenciales creando un nuevo usuario de IAM con los permisos adecuados.Para obtener más información, consulte [Políticas administradas por AWS AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/security-iam-awsmanpol.html) y [Generación de las AWS credenciales requeridas](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | Administrador de base de datos, ingeniero de migraciones | 
| Instale el agente en el servidor de origen. | Instale el agente en la máquina de origen que aloja la base de datos de Microsoft SQL Server. Para obtener más información, consulte [Instalación del agente de AWS replicación en servidores Windows](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html).Proporcione las siguientes credenciales de AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Sus AWS credenciales únicas permiten al agente de AWS MGN autenticarse y realizar tareas de migración. | Propietario de la aplicación, administrador de bases de datos, ingeniero de migración | 
| Elija los discos que se replicarán. | Tras introducir sus AWS credenciales, el instalador comprueba que el servidor cumple los requisitos mínimos para la instalación del agente (por ejemplo, si el servidor tiene suficiente espacio en disco para instalar el agente AWS MGN). El instalador muestra las etiquetas de volumen y los detalles de almacenamiento.Para replicar la base de datos mediante el servicio AWS MGN, seleccione los discos correspondientes en el servidor de origen. Ingrese la ruta de cada disco, separadas por comas. Si desea replicar todos los discos, deje la ruta en blanco. Tras confirmar los discos seleccionados, la instalación continúa. | Administrador de base de datos, ingeniero de migraciones | 
| Supervise el progreso de la sincronización. | AWS El agente de replicación inicia el proceso de sincronización tomando primero una instantánea de los discos seleccionados y, a continuación, replicando los datos.Puede supervisar el progreso de la sincronización desde la página del **servidor de origen** de la consola AWS MGN. Para obtener más información, consulte [Monitor the server in the migration lifecycle](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | Administrador de base de datos, ingeniero de migraciones | 

### Replicación con AWS MGN
<a name="replication-using-aws-mgn"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Administre el progreso de la replicación. | Tras iniciar la sincronización inicial, el servidor de origen aparece en la consola AWS MGN, donde puede gestionar y supervisar la migración. La consola muestra un tiempo estimado para completar la replicación, que se basa en el tamaño total de los discos seleccionados y ancho de banda de la red disponible. | Administrador de base de datos, ingeniero de migraciones | 
| Verifique la sincronización. | Una vez que los discos del servidor de origen estén completamente sincronizados, compruebe que todos los discos seleccionados aparezcan como completamente sincronizados y que no se haya registrado ningún error en la consola.A continuación, la consola AWS MGN cambiará automáticamente el estado del ciclo de vida de la migración a **Listo para las pruebas**, lo que indica que el entorno replicado AWS está preparado para las pruebas de rendimiento y funcionalidad. | Propietario de la aplicación, administrador de bases de datos, ingeniero de migración | 

### Prueba y transición
<a name="test-and-cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure los ajustes de lanzamiento. | Elija el servidor de origen en la consola AWS MGN y actualice la configuración de inicio de la instancia de prueba de destino. En la página **Detalles del servidor** de origen, vaya a la pestaña **Configuración de lanzamiento** para configurar la instancia de prueba.Elija un tipo de instancia rentable y un tipo de volumen de Amazon Elastic Block Store (Amazon EBS) y, a continuación, configure los grupos de seguridad y los requisitos de red. Para obtener más información, consulte [Launch settings](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | Administrador de base de datos, ingeniero de migraciones | 
| Lance la instancia de prueba de destino. | Diríjase a la consola AWS MGN de su máquina fuente sincronizada y lance una instancia de prueba de destino seleccionando Probar **y cortar y, a continuación, **lanzar** instancias de prueba**.Esto crea un trabajo de lanzamiento que implementa la instancia de prueba con los ajustes configurados. La instancia se lanza en el entorno del servidor de base de datos de origen Nube de AWS y lo replica. Supervise el progreso del lanzamiento desde la página **Historial de lanzamiento**, donde puede hacer un seguimiento de la creación de la instancia y solucionar cualquier problema. | Administrador de base de datos, ingeniero de migraciones | 
| Valide la instancia de prueba de destino. | Valide el servidor de EC2 bases de datos de Amazon:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Lleve a cabo pruebas de validación para garantizar que la base de datos funcione según lo esperado. | Administrador de base de datos, ingeniero de migraciones | 
| Cambie el nombre del servidor. | AWS La migración a MGN implica una copia a nivel de almacenamiento del servidor de origen local. Su EC2 instancia de SQL Server contiene solo los detalles del servidor de origen original en sus archivos binarios, por lo que debe actualizar la información binaria para que refleje el nombre del nuevo servidor.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | Administrador de base de datos, ingeniero de migraciones | 
| Lance la instancia de transición. | En la consola AWS MGN, en la página **Servidores de origen**, confirme que el estado del ciclo de vida de la migración del servidor sea **Listo para** la transición. Configure los ajustes de lanzamiento de la instancia de transición y asegúrese de que la configuración refleje el entorno en las instalaciones.Antes de iniciar la transición, cierre la base de datos en las instalaciones, lo que garantiza lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Inicie la instancia de transición en la consola MGN. AWS Cuando la instancia de transición esté operativa, inicie sesión en la instancia y lleve a cabo las siguientes pruebas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | Propietario de aplicaciones, administrador de base de datos, ingeniero de migraciones, líder de migración | 

## Resolución de problemas
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| La sincronización inicial falla en el paso de autenticación. | Se trata de un problema de conectividad de red. El servidor de replicación no se puede conectar a AWS MGN. | 

## Recursos relacionados
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-resources"></a>

**Documentación de AWS**
+ [Empezando con AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/getting-started.html)
+ [Migre una base de datos local de Microsoft SQL Server a Amazon EC2](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.html)
+ [¿Qué es Microsoft SQL Server en Amazon EC2?](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-overview.html)

**Videos**
+ [Performing a Lift and Shift Migration with AWS Application Migration Service](https://www.youtube.com/watch?v=tB0sAR3aCb4) (video)

# Migre una carga de trabajo de F5 BIG-IP a F5 BIG-IP VE en Nube de AWS
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud"></a>

*Deepak Kumar, Amazon Web Services*

## Resumen
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-summary"></a>

Las organizaciones buscan migrar a la Nube de AWS para aumentar su agilidad y resiliencia. Tras migrar sus soluciones de seguridad y gestión del tráfico [BIG-IP de F5](https://www.f5.com/products/big-ip-services) a la Nube de AWS, podrá centrarse en la agilidad y la adopción de modelos operativos de alto valor en toda la arquitectura empresarial.

Este patrón describe cómo migrar una carga de trabajo de F5 BIG-IP a una carga de trabajo de [F5 BIG-IP Virtual Edition (VE)](https://www.f5.com/products/big-ip-services/virtual-editions) en la Nube de AWS. La carga de trabajo se migrará volviendo a alojar el entorno existente e implementando aspectos de redefinición de la plataforma, como la detección de servicios y las integraciones de la API. Las [plantillas de AWS CloudFormation](https://github.com/F5Networks/f5-aws-cloudformation) aceleran la migración de la carga de trabajo a la Nube de AWS.

Este patrón está dirigido a los equipos de ingeniería técnica y arquitectura que están migrando las soluciones de seguridad y gestión del tráfico de F5, y se incluye en la guía Migración de F5 BIG-IP a [F5 BIG-IP VE, que se encuentra en el sitio web de](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html) la Guía prescriptiva. Nube de AWS AWS 

## Requisitos previos y limitaciones
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-prereqs"></a>

**Requisitos previos **
+ Una carga de trabajo de F5 BIG-IP existente en las instalaciones.
+ Licencias de F5 existentes para las versiones de BIG-IP VE.
+ Un activo. Cuenta de AWS
+ Una nube privada virtual (VPC) existente configurada con una salida a través de una puerta de enlace NAT o una dirección IP elástica y configurada con acceso a los siguientes puntos de conexión: Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2) Compute Cloud (Amazon EC2), () y Amazon AWS Security Token Service .AWS STS CloudWatch También puede modificar el inicio rápido de [Arquitectura de VPC modular y escalable](https://aws.amazon.com/quickstart/architecture/vpc/) como base de sus implementaciones. 
+ Una o dos zonas de disponibilidad existentes, según sus necesidades. 
+ Tres subredes privadas existentes en cada zona de disponibilidad.
+ AWS CloudFormation plantillas, [disponibles en](https://github.com/F5Networks/f5-aws-cloudformation/blob/master/template-index.md) el repositorio de F5. GitHub  

Durante la migración, si lo necesita, puede que también deba usar:
+ Una [extensión de conmutación por error de F5 Cloud](https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/) para gestionar el mapeo elástico de direcciones IP, el mapeo de IP secundaria y los cambios en la tabla de enrutamiento. 
+ Si cuenta con varias zonas de disponibilidad, necesitará usar las extensiones de conmutación por error de F5 Cloud para gestionar la asignación de IP elástica a los servidores virtuales.
+ Debería considerar la posibilidad de utilizar [F5 Application Services 3 (AS3)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/), [F5 Application Services Templates (FAST)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/) u otro modelo de infraestructura como código (IaC) para gestionar las configuraciones. La preparación de las configuraciones en un modelo IaC y el uso de repositorios de código le ayudarán en la migración y en las labores de gestión continuada.

**Experiencia**
+ Este patrón requiere estar familiarizado con la forma en que se VPCs pueden conectar uno o más a los centros de datos existentes. Para obtener más información al respecto, consulte las [opciones de conectividad de la Network-to-Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) en la documentación de Amazon VPC. 
+ También es necesaria cierta familiaridad con los productos y módulos de F5, como [Traffic Management Operating System (TMOS)](https://www.f5.com/services/resources/white-papers/tmos-redefining-the-solution), [Local Traffic Manager (LTM)](https://www.f5.com/products/big-ip-services/local-traffic-manager), [Global Traffic Manager (GTM)](https://techdocs.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm-concepts-11-5-0/1.html#unique_9842886), [Access Policy Manager (APM)](https://www.f5.com/products/security/access-policy-manager), [Application Security Manager (ASM)](https://www.f5.com/pdf/products/big-ip-application-security-manager-overview.pdf), [Advanced Firewall Manager (AFM)](https://www.f5.com/products/security/advanced-firewall-manager) y [BIG-IQ](https://www.f5.com/products/automation-and-orchestration/big-iq).

**Versiones de producto**
+ Le recomendamos que use F5 BIG-IP [versión 13.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-ve-13-1-0.html) o posterior, aunque el patrón es compatible con F5 BIG-IP [versión 12.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-12-1-4.html) o posterior.

## Arquitectura
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-architecture"></a>

**Pila de tecnología de origen**
+ Carga de trabajo de F5 BIG-IP

**Pila de tecnología de destino**
+ Amazon CloudFront
+ CloudWatch
+ Amazon EC2
+ Amazon S3
+ Amazon VPC
+ AWS Global Accelerator
+ AWS STS
+ AWS Transit Gateway
+ F5 BIG-IP VE

**Arquitectura de destino**

![\[Arquitectura para migrar una carga de trabajo de F5 BIG-IP a una carga de trabajo de F5 BIG-IP VE.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/586fe806-fac1-48d3-9eb1-45a6c86430dc/images/16d7fc09-1ffe-4721-b503-d971db84cbae.png)


## Tools (Herramientas)
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-tools"></a>
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de su ciclo de vida en todo el país. Cuentas de AWS Regiones de AWS
+ [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) acelera la distribución de tu contenido web al distribuirlo a través de una red mundial de centros de datos, lo que reduce la latencia y mejora el rendimiento.   
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) le CloudWatch ayuda a supervisar las métricas de sus AWS recursos y las aplicaciones en las que se ejecuta AWS en tiempo real.
+ [Amazon Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/ec2/)) proporciona una capacidad informática escalable en Nube de AWS el Puede lanzar tantos servidores virtuales como necesite y escalarlos rápidamente hacia arriba o hacia abajo.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [AWS Security Token Service (AWS STS)](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) le ayuda a solicitar credenciales temporales con privilegios limitados para los usuarios.
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)es un centro central que conecta las nubes privadas virtuales (VPCs) y las redes locales.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

## Epics
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-epics"></a>

### Descubrimiento y evaluación
<a name="discovery-and-assessment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Evalúe el rendimiento de F5 BIG-IP. | Recopile y registre las métricas de rendimiento de las aplicaciones del servidor virtual, así como las métricas de los sistemas que se migrarán. Esto le ayudará a dimensionar correctamente la AWS infraestructura de destino para una mejor optimización de los costos. | Arquitecto de F5, ingeniero y arquitecto de redes, ingeniero | 
| Evalúe el sistema operativo y la configuración de F5 BIG-IP. | Evalúe qué objetos se migrarán y si es necesario mantener una estructura de red, por ejemplo VLANs. | Arquitecto de F5, ingeniero | 
| Evalúe las opciones de licencia de F5. | Evalúe qué licencia y modelo de consumo necesitará. Esta valoración debe basarse en su evaluación del sistema operativo y la configuración de F5 BIG-IP. | Arquitecto de F5, ingeniero | 
| Evalúe las aplicaciones públicas. | Determine qué aplicaciones requerirán direcciones IP públicas. Alinee dichas aplicaciones con las instancias y los clústeres necesarios para cumplir con sus necesidades de rendimiento y acuerdo de nivel de servicio (SLA). | Arquitecto de F5, arquitecto de la nube, arquitecto de redes, ingeniero, equipos de aplicación | 
| Evalúe las aplicaciones internas. | Evalúe qué aplicaciones necesitarán los usuarios internos. Asegúrese de saber dónde se encuentran esos usuarios internos en la organización y cómo se conectan esos entornos a la Nube de AWS. También debe garantizar que esas aplicaciones puedan usar el sistema de nombres de dominio (DNS) como parte del dominio predeterminado. | Arquitecto de F5, arquitecto de la nube, arquitecto de redes, ingeniero, equipos de aplicación | 
| Finalice la AMI. | No todas las versiones de F5 BIG-IP se crean como Amazon Machine Images (). AMIs Puede usar la herramienta generadora de imágenes de F5 BIG-IP si necesita versiones específicas de ingeniería de reparación rápida (QFE). Para obtener más información sobre esta herramienta, consulte la sección «Recursos relacionados». | Arquitecto de F5, arquitecto de la nube, ingeniero | 
| Finalice los tipos de instancia y la arquitectura. | Decida los tipos de instancias, la arquitectura de VPC y la arquitectura interconectada. | Arquitecto de F5, arquitecto de la nube, arquitecto de redes, ingeniero | 

### Complete las actividades de seguridad y cumplimiento
<a name="complete-security-and-compliance-related-activities"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Documente las políticas de seguridad de F5 existentes. | Recopile y documente las políticas de seguridad existentes de F5. Asegúrese de crear una copia de las mismas en un repositorio de código seguro. | Arquitecto de F5, ingeniero | 
| Cifre la AMI. | (Opcional) Es posible que su organización requiera el cifrado de los datos en reposo. Para obtener más información acerca de cómo crear una imagen personalizada de tipo traiga su propia licencia (BYOL), consulte la sección “Recursos relacionados”. | Arquitecto de F5, ingeniero y arquitecto de redes, ingeniero | 
| Refuerce los dispositivos. | Esto ayudará a protegerlos contra posibles vulnerabilidades. | Arquitecto de F5, ingeniero | 

### Configure su nuevo entorno AWS
<a name="configure-your-new-aws-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree cuentas periféricas y de seguridad. | Inicie sesión en Consola de administración de AWS y cree el Cuentas de AWS que proporcionará y operará los servicios perimetrales y de seguridad. Estas cuentas pueden ser diferentes de las cuentas que funcionan VPCs para aplicaciones y servicios compartidos. Este paso se puede completar como parte de una zona de aterrizaje. | Arquitecto de la nube, ingeniero | 
| Implemente la periferia y la seguridad VPCs. | Instale y configure lo VPCs necesario para ofrecer servicios perimetrales y de seguridad. | Arquitecto de la nube, ingeniero | 
| Conectar al centro de datos de origen. | Conéctese al centro de datos de origen que aloja su carga de trabajo de F5 BIG-IP. | Arquitecto de la nube, arquitecto de redes, ingeniero | 
| Implemente las conexiones de VPC. | Conecte el servicio perimetral y de seguridad VPCs a la aplicación VPCs. | Arquitecto de redes, ingeniero | 
| Implemente las instancias. | Implemente las instancias mediante las CloudFormation plantillas de la sección «Recursos relacionados». | Arquitecto de F5, ingeniero | 
| Pruebe y configure la conmutación por error de la instancia. | Asegúrese de que la plantilla AWS avanzada de alta disponibilidad para iApp o la extensión F5 Cloud Failover estén configuradas y funcionen correctamente. | Arquitecto de F5, ingeniero | 

### Configurar redes
<a name="configure-networking"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la topología de la VPC. | Abra la consola de Amazon VPC y asegúrese de que su VPC cuenta con todas las subredes y protecciones necesarias para la implementación de F5 BIG-IP VE. | Arquitecto de redes, arquitecto de F5, arquitecto de la nube, ingeniero | 
| Prepare sus puntos de conexión de VPC. | Prepare los puntos de enlace de la VPC para Amazon EC2, Amazon S3 AWS STS y si una carga de trabajo de BIG-IP de F5 no tiene acceso a una puerta de enlace NAT o a una dirección IP elástica en una interfaz TMM. | Arquitecto de la nube, ingeniero | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre la configuración. | Migre la configuración de F5 BIG-IP a F5 BIG-IP VE en la Nube de AWS. | Arquitecto de F5, ingeniero | 
| Asocie el secundario. IPs | Las direcciones IP de los servidores virtuales tienen relación con las direcciones IP secundarias asignadas a las instancias. Asigne direcciones IP secundarias y asegúrese de seleccionar la opción “Permitir remapeo/reasignación”. | Arquitecto de F5, ingeniero | 

### Probar la configuración
<a name="test-configurations"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las configuraciones del servidor virtual. | Pruebe los servidores virtuales. | Arquitecto de F5, equipos de aplicación | 

### Finalice las operaciones
<a name="finalize-operations"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la estrategia de copia de seguridad. | Los sistemas deben estar apagados para crear una instantánea completa. Para obtener más información, consulte “Actualizar una máquina virtual F5 BIG-IP” en la sección “Recursos relacionados”. | Arquitecto de F5, arquitecto de la nube, ingeniero | 
| Cree el manual de procedimientos de conmutación por error del clúster. | Asegúrese de que el proceso del manual de procedimientos de conmutación por error esté completo. | Arquitecto de F5, ingeniero | 
| Configure y valide el registro. | Configure la transmisión por telemetría de F5 para enviar los registros a los destinos requeridos. | Arquitecto de F5, ingeniero | 

### Complete la transición
<a name="complete-the-cutover"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Transicione a la nueva implementación. |  | Arquitecto de F5, arquitecto de nube, arquitecto de redes, ingeniero, AppTeams | 

## Recursos relacionados
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-resources"></a>

**Guía de migración**
+ [Migración de F5 BIG-IP a F5 BIG-IP VE en Nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html)

**Recursos de F5**
+ [CloudFormation plantillas en el GitHub repositorio de F5](https://github.com/F5Networks/f5-aws-cloudformation)
+ [F5 en AWS Marketplace](https://aws.amazon.com/marketplace/seller-profile?id=74d946f0-fa54-4d9f-99e8-ff3bd8eb2745)
+ [Descripción general de F5 BIG-IP VE](https://www.f5.com/products/big-ip-services/virtual-editions) 
+ [Ejemplo de inicio rápido: BIG-IP Virtual Edition con WAF (LTM \$1 ASM)](https://github.com/F5Networks/f5-aws-cloudformation-v2/tree/main/examples/quickstart)
+ [Información general sobre AWS los servicios de aplicaciones de F5 (vídeo)](https://www.youtube.com/watch?v=kutVjRHOAXo)
+ [Guía del usuario para la extensión Application Services 3 de F5](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/)
+ [Documentación de F5 Cloud](https://clouddocs.f5.com/training/community/public-cloud/html/intro.html)
+ [iControl REST de F5 wiki](https://clouddocs.f5.com/api/icontrol-rest/)
+ [Descripción general de los archivos de configuración individuales (11.x - 15.x) de F5](https://support.f5.com/csp/article/K13408)
+ [Documentos técnicos de F5](https://www.f5.com/services/resources/white-papers)
+ [Herramienta generadora de imágenes de F5 BIG-IP](https://clouddocs.f5.com/cloud/public/v1/ve-image-gen_index.html)
+ [Actualizar una máquina virtual F5 BIG-IP VE](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-vmware-esxi-11-5-0/3.html)
+ [Descripción general de la opción de «migración de plataforma» de UCS archive](https://support.f5.com/csp/article/K82540512)

# Migración de una aplicación web Go en las instalaciones a AWS Elastic Beanstalk mediante el método binario
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method"></a>

*Suhas Basavaraj y Shumaz Mukhtar Kazi, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-summary"></a>

En este patrón se describe cómo migrar una aplicación web Go en las instalaciones a AWS Elastic Beanstalk. Tras migrar la aplicación, Elastic Beanstalk crea el binario para el paquete de código fuente y lo despliega en una instancia de Amazon Elastic Compute Cloud (Amazon). EC2

Como estrategia de migración para volver a alojar, el enfoque de este patrón es rápido y no requiere cambios de código, lo que se traduce en menos tiempo de pruebas y migración. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una aplicación web Go en las instalaciones.
+ Un GitHub repositorio que contiene el código fuente de la aplicación Go. Si no lo usa GitHub, hay otras formas de [crear un paquete de código fuente de aplicación para Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html).

**Versiones de producto**
+ La versión de Go más reciente compatible con Elastic Beanstalk. Para obtener más información, consulte la [documentación de Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go).

## Arquitectura
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-architecture"></a>

**Pila de tecnología de origen**
+ Una aplicación web Go en las instalaciones 

**Pila de tecnología de destino**
+ AWS Elastic Beanstalk
+ Amazon CloudWatch

**Arquitectura de destino*** *

![\[Arquitectura para migrar una aplicación Go a Elastic Beanstalk\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cd8d660d-5621-4ea7-8f97-7a1e321c57d3/images/1df543d9-7073-43d8-abd3-f1f7e57278eb.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-tools"></a>
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html) permite implementar y administrar aplicaciones rápidamente en la nube de AWS sin tener que los usuarios tengan que preocuparse por la infraestructura que las ejecuta. Elastic Beanstalk reduce la complejidad de la administración sin restringir la libertad de elección ni el control.
+ [GitHub](https://github.com/)es un sistema de control de versiones distribuido de código abierto.

## Epics
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-epics"></a>

### Crear el archivo .zip de la agrupación de código fuente de la aplicación web Go
<a name="create-the-go-web-application-source-bundle-zip-file"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la agrupación de código fuente de la aplicación web Go.  | Abre el GitHub repositorio que contiene el código fuente de tu aplicación Go y prepara el paquete fuente. La agrupación de código fuente contiene un archivo `application.go` de origen en el directorio raíz, que aloja el paquete principal de la aplicación Go. Si no lo utilizas GitHub, consulta la sección de *requisitos previos* que aparece anteriormente en este patrón para ver otras formas de crear el paquete fuente de la aplicación. | Administrador del sistema, desarrollador de aplicaciones | 
| Cree un archivo de configuración. | Cree una carpeta `.ebextensions` en la agrupación de código fuente y, a continuación, cree un archivo `options.config` dentro de esta carpeta. Para obtener más información, consulte la [documentación de Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html). | Administrador del sistema, desarrollador de aplicaciones | 
|  Cree el archivo .zip de la agrupación de código fuente. | Ejecute el comando siguiente.<pre>git archive -o ../godemoapp.zip HEAD</pre>Esto crea el archivo .zip de la agrupación de código fuente. Descargue y guarde el archivo .zip como un archivo local. El archivo .zip no puede superar los 512 MB y no puede incluir una carpeta principal ni un directorio de nivel superior. | Administrador del sistema, desarrollador de aplicaciones | 

### Migración de la aplicación web Go a Elastic Beanstalk
<a name="migrate-the-go-web-application-to-elastic-beanstalk"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seleccione la aplicación de Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html)Para obtener instrucciones sobre cómo crear una aplicación de Elastic Beanstalk, consulte la [documentación de Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html). | Administrador del sistema, desarrollador de aplicaciones | 
| Inicie el entorno del servidor web de Elastic Beanstalk.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador del sistema, desarrollador de aplicaciones | 
| Cargue el archivo .zip de la agrupación de código fuente en Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrador del sistema, desarrollador de aplicaciones | 
| Pruebe la aplicación web Go implementada. | Se le redirigirá a la página de información general de la aplicación Elastic Beanstalk. En la parte superior de la descripción general, junto a **Environment ID**, seleccione la URL que termina en `elasticbeanstalk.com` para navegar hasta la aplicación. La aplicación debe usar este nombre en su archivo de configuración como variable de entorno y mostrarlo en la página web. | Administrador del sistema, desarrollador de aplicaciones | 

## Resolución de problemas
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No se puede acceder a la aplicación a través de un equilibrador de carga de aplicación. | Compruebe el grupo de destino que contiene su aplicación de Elastic Beanstalk. Si no está en buen estado, inicie sesión en la instancia de Elastic Beanstalk y compruebe la configuración del archivo `nginx.conf` para asegurar que se dirija a la URL de estado correcta. Es posible que tenga que cambiar la URL de la comprobación de estado del grupo objetivo. | 

## Recursos relacionados
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-resources"></a>
+ [Go platform versions supported by Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go) (Versiones de la plataforma Go compatibles con Elastic Beanstalk)
+ [Using configuration files with Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html) (Usar archivos de configuración con Elastic Beanstalk)
+ [Creating an example application in Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) (Crear una aplicación de ejemplo en Elastic Beanstalk) 

# Migre un servidor SFTP local para utilizar AWS AWS Transfer for SFTP
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp"></a>

*Akash Kumar, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-summary"></a>

Este patrón describe cómo migrar una solución de transferencia de archivos local que utiliza el Protocolo de transferencia de archivos (SFTP) de Secure Shell (SSH) a través del Nube de AWS servicio. AWS Transfer for SFTP Por lo general, los usuarios se conectan a un servidor SFTP a través de su nombre de dominio o mediante una IP fija. Este patrón cubre ambos casos.

AWS Transfer for SFTP es miembro de. AWS Transfer Family Es un servicio de transferencia segura que puede utilizar para transferir archivos dentro y fuera de los servicios de AWS almacenamiento a través de SFTP. Puede usarlo AWS Transfer for SFTP con Amazon Simple Storage Service (Amazon S3) o Amazon Elastic File System (Amazon EFS). Este patrón utiliza Amazon S3 para el almacenamiento.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS.
+ Un nombre de dominio SFTP existente o una IP SFTP fija.

**Limitaciones**
+ El objeto más grande que se puede transferir en una solicitud es de 5 GiB actualmente. Para archivos de más de 100 MiB, considere la posibilidad de utilizar la [carga multiparte de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html).

## Arquitectura
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-architecture"></a>

**Pila de tecnología de origen**
+ Archivos planos en las instalaciones o archivos de volcado de bases de datos.

**Pila de tecnología de destino**
+ AWS Transfer for SFTP
+ Amazon S3
+ Amazon Virtual Private Cloud (Amazon VPC)
+ AWS Identity and Access Management Funciones y políticas (IAM)
+ Direcciones IP elásticas
+ Grupos de seguridad
+ Amazon CloudWatch Logs (opcional)

**Arquitectura de destino**

![\[Utilice AWS Transfer para SFTP para migrar un servidor SFTP en las instalaciones a la nube de AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/ec0a905c-edef-48ba-9b5e-ea4a4040d320/images/f42aa711-bfe0-4ac6-9f66-5c18a1dd1c7a.png)


**Automatización y escala**

Para automatizar la arquitectura de destino de este patrón, utilice las CloudFormation plantillas adjuntas:
+ `amazon-vpc-subnets.yml` aprovisiona una nube privada virtual (VPC) con dos subredes públicas y dos privadas.
+ `amazon-sftp-server.yml` aprovisiona el servidor SFTP.
+ `amazon-sftp-customer.yml` añade usuarios.

## Tools (Herramientas)
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-tools"></a>

**Servicios de AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) le ayuda a centralizar los registros de todos sus sistemas y aplicaciones Servicios de AWS para que pueda supervisarlos y archivarlos de forma segura.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos. Este patrón utiliza Amazon S3 como sistema de almacenamiento para las transferencias de archivos.
+ [AWS Transfer for SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)le ayuda a transferir archivos dentro y fuera de los servicios de AWS almacenamiento a través del protocolo SFTP.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

## Epics
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-epics"></a>

### Creación de una VPC
<a name="create-a-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC con dos subredes. | Abra la [Consola de Amazon VPC](https://console.aws.amazon.com/vpc/). Cree una nube privada virtual (VPC) con dos subredes públicas. (La segunda subred proporciona alta disponibilidad).—o—Puede implementar la CloudFormation plantilla adjunta en la [CloudFormation consola](https://console.aws.amazon.com/cloudformation) para automatizar las tareas de esta epopeya. `amazon-vpc-subnets.yml` | Desarrollador, administrador de sistemas | 
| Añada una puerta de enlace de Internet. | Cree una puerta de enlace de Internet y vincúlela a la VPC. | Desarrollador, administrador de sistemas | 
| Migre una IP existente. | Adjunte una IP existente a la dirección IP elástica. Puede crear una dirección IP elástica a partir de su grupo de direcciones y utilizarla. | Desarrollador, administrador de sistemas | 

### Aprovisionar un servidor SFTP
<a name="provision-an-sftp-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un servidor SFTP. | Abra la [consola de AWS Transfer Family](https://console.aws.amazon.com/transfer/). Siga las instrucciones de la AWS Transfer Family documentación sobre cómo [crear un terminal con conexión a Internet para su servidor](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) a fin de crear un servidor SFTP con un punto final con conexión a Internet. En **Tipo de punto de enlace**, seleccione **Alojado en la VPC**. En **Acceso**, seleccione **Acceso a Internet**. En **VPC**, seleccione la VPC que acaba de crear en los pasos anteriores.—o—Puedes implementar la CloudFormation plantilla adjunta en la [CloudFormation consola](https://console.aws.amazon.com/cloudformation) para automatizar las tareas de esta epopeya. `amazon-sftp-server.yml` | Desarrollador, administrador de sistemas | 
| Migre el nombre del dominio. | Adjunte el nombre de dominio existente al nombre de host personalizado. Si utiliza un nombre de dominio nuevo, utilice el alias **DNS de Amazon Route 53**. Para un nombre de dominio existente, seleccione **Otros DNS**. Para obtener más información, consulte [Trabajar con nombres de host personalizados](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html) en la AWS Transfer Family documentación. | Desarrollador, administrador de sistemas | 
| Añada una función de CloudWatch registro. | (Opcional) Si quieres habilitar el CloudWatch registro, crea un `Transfer` rol con las operaciones de la API de CloudWatch registros `logs:CreateLogGroup``logs:CreateLogStream`,` logs:DescribeLogStreams`, y`logs:PutLogEvents`. Para obtener más información, consulte [Registrar la actividad CloudWatch](https://docs.aws.amazon.com/transfer/latest/userguide/monitoring.html#monitoring-enabling) en la AWS Transfer Family documentación. | Desarrollador, administrador de sistemas | 
| Guarde y envíe. | Seleccione **Save**. En **Acciones**, seleccione **Iniciar** y espere a que se cree el servidor SFTP con el estado **En línea**. | Desarrollador, administrador de sistemas | 

### Asignar direcciones IP elásticas al servidor SFTP
<a name="map-elastic-ip-addresses-to-the-sftp-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detenga el servidor para poder modificar la configuración. | En la [consola de AWS Transfer Family](https://console.aws.amazon.com/transfer/), elija **Servidores** y, a continuación, seleccione el servidor SFTP que creó. En **Acciones**, seleccione **Detener**. Cuando el servidor esté desconectado, seleccione **Editar** para modificar su configuración. | Desarrollador, administrador de sistemas | 
| Seleccione zonas de disponibilidad y subredes. | En la sección **Zonas de disponibilidad**, seleccione las zonas de disponibilidad y subredes para su VPC. | Desarrollador, administrador de sistemas | 
| Agregue direcciones IP elásticas. | En el **IPv4 caso de las direcciones**, elija una dirección IP elástica para cada subred y, a continuación, seleccione **Guardar**. | Desarrollador, administrador de sistemas | 

### Adición de usuarios
<a name="add-users"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un rol de IAM para que los usuarios accedan al bucket de S3. | Cree un rol de IAM para `Transfer`** **y añada ` s3:ListBucket`, ` s3:GetBucketLocation` y `s3:PutObject` con el nombre del bucket de S3 como recurso. Para obtener más información, consulte [Crear una función y una política de IAM](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html) en la AWS Transfer Family documentación.—o—Puedes implementar la CloudFormation plantilla adjunta en la [CloudFormation consola](https://console.aws.amazon.com/cloudformation) para automatizar las tareas de esta epopeya. `amazon-sftp-customer.yml` | Desarrollador, administrador de sistemas | 
| Cree un bucket de S3. | Cree un bucket de S3 para la aplicación. | Desarrollador, administrador de sistemas | 
| Cree una carpeta opcional. | (Opcional) Si desea almacenar los archivos de los usuarios por separado, en carpetas específicas de Amazon S3, añada carpetas según corresponda. | Desarrollador, administrador de sistemas | 
| Cree una clave pública SSH. | Para crear un par de claves SSH, consulta [Generar claves SSH](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#sshkeygen) en la AWS Transfer Family documentación. | Desarrollador, administrador de sistemas | 
| Agregue usuarios. | En la [consola de AWS Transfer Family](https://console.aws.amazon.com/transfer/), seleccione **Servidores**, seleccione el servidor SFTP que creó y, a continuación, **Agregar usuario**. En el **Directorio principal**, seleccione el bucket de S3 que creó. En **Clave pública SSH**, escriba el componente de clave pública del par de claves de SSH. Añada usuarios al servidor SFTP y, a continuación, seleccione **Añadir**. | Desarrollador, administrador de sistemas | 

### Probar el servidor SFTP
<a name="test-the-sftp-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualice el grupo de seguridad. | En la sección **Grupos de seguridad** de su servidor SFTP, añada la IP de su máquina de prueba para obtener acceso a SFTP. | Desarrollador | 
| Utilice una utilidad de cliente SFTP para probar el servidor. | Pruebe las transferencias de archivos mediante cualquier utilidad de cliente SFTP. Para obtener una lista de clientes e instrucciones, consulte [Transferencia de archivos mediante un cliente](https://docs.aws.amazon.com/transfer/latest/userguide/transfer-file.html) en la AWS Transfer Family documentación. | Desarrollador | 

## Recursos relacionados
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-resources"></a>
+ [AWS Transfer Family Guía del usuario](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [Guía del usuario de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [Direcciones IP elásticas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) en la EC2 documentación de Amazon

## Conexiones
<a name="attachments-ec0a905c-edef-48ba-9b5e-ea4a4040d320"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/ec0a905c-edef-48ba-9b5e-ea4a4040d320/attachments/attachment.zip)

# Migre una máquina virtual local a Amazon EC2 mediante AWS Application Migration Service
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service"></a>

*Thanh Nguyen, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-summary"></a>

En lo que respecta a la migración de aplicaciones, las organizaciones pueden adoptar diferentes enfoques para volver a alojar (migrar mediante lift-and-shift) los servidores de las aplicaciones del entorno local a la nube de Amazon Web Services (AWS). Una forma consiste en aprovisionar nuevas instancias de Amazon Elastic Compute Cloud (Amazon EC2) y, a continuación, instalar y configurar la aplicación desde cero. Otro enfoque consiste en utilizar servicios de migración nativos de AWS o de terceros para migrar varios servidores al mismo tiempo.

Este patrón describe los pasos para migrar una máquina virtual (VM) compatible a una EC2 instancia de Amazon en la nube de AWS mediante AWS Application Migration Service. Puede utilizar el enfoque de este patrón para migrar una o varias máquinas virtuales de forma manual, una por una o automáticamente mediante la creación de los scripts de automatización adecuados en función de los pasos descritos. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa en una de las regiones de AWS que admiten el Servicio de migración de aplicaciones
+ Conectividad de red entre el servidor de origen y el EC2 servidor de destino a través de una red privada mediante AWS Direct Connect o una red privada virtual (VPN), o a través de Internet

**Limitaciones**
+ Para obtener la lista más reciente de regiones admitidas, consulte las [regiones de AWS admitidas](https://docs.aws.amazon.com/mgn/latest/ug/supported-regions.html).
+ Para obtener una lista de los sistemas operativos compatibles, consulta la sección [Sistemas operativos compatibles](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html) y la sección *General* de [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

## Arquitectura
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-architecture"></a>

**Pila de tecnología de origen**
+ Un servidor físico, virtual o alojado en la nube que ejecute un sistema operativo compatible con Amazon EC2

**Pila de tecnología de destino**
+ Una EC2 instancia de Amazon que ejecute el mismo sistema operativo que la máquina virtual de origen
+ Amazon Elastic Block Store (Amazon EBS)

**Arquitectura de origen y destino**

El siguiente diagrama muestra la arquitectura de alto nivel y los componentes principales de la solución. En el centro de datos en las instalaciones, hay máquinas virtuales con discos locales. En AWS, hay un área de ensayo con servidores de replicación y un área de recursos migrados con EC2 instancias para realizar pruebas y transferencias. Ambas subredes contienen volúmenes de EBS.

![\[Componentes principales para migrar una máquina virtual compatible a una EC2 instancia de Amazon en la nube de AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/f8396fad-7ee9-4f75-800f-e819f509e151.png)


1. Inicie el Servicio de migración de aplicaciones de AWS.

1. Configure la configuración y los informes del servidor del área de ensayo, incluidos los recursos del área de ensayo.

1. Instale los agentes en los servidores de origen y utilice la replicación continua de datos a nivel de bloques (comprimidos y cifrados).

1. Automatice la orquestación y la conversión del sistema para acortar el período de transición.

**Arquitectura de redes**

El siguiente diagrama muestra la arquitectura de alto nivel y los componentes principales de la solución desde la perspectiva de las redes, incluidos los protocolos y puertos necesarios para la comunicación entre los componentes principales del centro de datos en las instalaciones y de AWS.

![\[Componentes de red, incluidos protocolos y puertos para la comunicación entre el centro de datos y AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/2f594daa-ddba-4841-8785-6067e8d83c2f.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-tools"></a>
+ [El Servicio de migración de aplicaciones de AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) le ayuda a volver a alojar (*migrar mediante lift-and-shift*) aplicaciones a la nube de AWS sin cambios y con un tiempo de inactividad mínimo.

## Prácticas recomendadas
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-best-practices"></a>
+ No desconecte el servidor de origen ni lo reinicie hasta que se complete la transición a la EC2 instancia de destino.
+ Ofrezca a los usuarios amplias oportunidades de realizar pruebas de aceptación del usuario (UAT) en el servidor de destino para identificar y resolver cualquier problema. Lo ideal es que estas pruebas comiencen al menos dos semanas antes de la transición.
+ Supervise con frecuencia el estado de replicación del servidor en la consola del Servicio de migración de aplicaciones para identificar los problemas desde el principio.
+ Utilice las credenciales de AWS Identity and Access Management (IAM) temporales para instalar el agente en lugar de las credenciales de usuario de IAM permanentes.

## Epics
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-epics"></a>

### Generar credenciales de AWS
<a name="generate-aws-credentials"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el rol de IAM de AWS Replication Agent. | Inicie sesión en la cuenta de AWS con permisos administrativos.Cree un rol de IAM en la [consola](https://console.aws.amazon.com/iam/) de AWS Identity and Access Management (IAM):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html) | Administrador de AWS, ingeniero de migraciones | 
| Genere credenciales de seguridad temporales. | En una máquina con la Interfaz de la línea de comandos de AWS (AWS CLI) instalada, inicie sesión con permisos de administrador. O bien (dentro de una región de AWS compatible), en la consola de administración de AWS, inicie sesión con permisos administrativos en la cuenta de AWS y abra AWS CloudShell.Genere credenciales temporales con el siguiente comando y sustitúyalas por `<account-id>` con el ID de la cuenta de AWS.`aws sts assume-role --role-arn arn:aws:iam::<account-id>:role/MGN_Agent_Installation_Role --role-session-name mgn_installation_session_role`En el resultado del comando, copie los valores de `AccessKeyId`, ** **`SecretAccessKey`, y ** **`SessionToken`.** **Guárdelos en un lugar seguro para usarlos más adelante.Estas credenciales temporales caducarán después de una hora. Si necesita las credenciales después de una hora, repita los pasos anteriores. | Administrador de AWS, ingeniero de migraciones | 

### Inicie el Servicio de migración de aplicaciones y cree la plantilla de configuración de replicación
<a name="initialize-application-migration-service-and-create-the-replication-settings-template"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie el servicio. | Inicie sesión en la consola con permisos administrativos para la cuenta de AWS.Elija **Application Migration Service (Servicio de migración de aplicaciones)** y, a continuación, elija **Get started (Introducción)**. | Administrador de AWS, ingeniero de migraciones | 
| Cree y configure la plantilla de ajustes de replicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)El Servicio de aplicación de migraciones creará automáticamente todos los roles de IAM necesarios para facilitar la replicación de datos y el lanzamiento de los servidores migrados. | Administrador de AWS, ingeniero de migraciones | 

### Instale los agentes de replicación de AWS en las máquinas de origen
<a name="install-aws-replication-agents-on-source-machines"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Tenga preparadas las credenciales de AWS necesarias. | Cuando ejecute el archivo de instalación en un servidor de origen, tendrá que introducir las credenciales temporales que generó anteriormente, incluidas `AccessKeyId`, `SecretAccessKey`, y `SessionToken`. | Ingeniero de migraciones; administrador de AWS | 
| Para los servidores de Linux, instale el agente. | Copie el comando del instalador, inicie sesión en los servidores de origen y ejecute el instalador. Para obtener instrucciones detalladas, consulte la [documentación de AWS](https://docs.aws.amazon.com/mgn/latest/ug/linux-agent.html). | Administrador de AWS, ingeniero de migraciones | 
| Para los servidores de Windows, instale el agente. | Descargue el archivo del instalador en cada servidor y, a continuación, ejecute el comando del instalador. Para obtener instrucciones detalladas, consulte la [documentación de AWS](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html). | Administrador de AWS, ingeniero de migraciones | 
| Espere a que se complete la replicación inicial de los datos. | Cuando se haya instalado el agente, el servidor de origen aparecerá en la consola del Servidor de migración de aplciaciones, en la sección **Servidores de origen**. Espere a que el servidor realice la replicación inicial de los datos. | Administrador de AWS, ingeniero de migraciones | 

### Configure los ajustes de lanzamiento
<a name="configure-launch-settings"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Especifique los detalles del servidor. | En la consola del Servicio de migración de aplicaciones, elija la sección **Servidores de origen** y, a continuación, elija un nombre de servidor de la lista para acceder a los detalles del servidor. | Administrador de AWS, ingeniero de migraciones | 
| Configure los ajustes de lanzamiento.  | Seleccione la pestaña **ajustes de lanzamiento**. Puede configurar una variedad de ajustes, incluidos los ajustes generales de lanzamiento y los ajustes de la plantilla de EC2 lanzamiento. Para obtener instrucciones detalladas, consulte la [documentación de AWS](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | Administrador de AWS, ingeniero de migraciones | 

### Realice una prueba
<a name="perform-a-test"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Pruebe los servidores de origen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Se lanzarán los servidores. | Administrador de AWS, ingeniero de migraciones | 
| Compruebe que la prueba se haya completado correctamente. | Una vez que el servidor de prueba se haya iniciado por completo, el estado de las **alertas** de la página mostrará **Lanzado** para cada servidor. | Administrador de AWS, ingeniero de migraciones | 
| Pruebe el servidor. | Realice pruebas con el servidor de prueba para asegurarse de que funciona según lo esperado. | Administrador de AWS, ingeniero de migraciones | 

### Programe y realice una transición
<a name="schedule-and-perform-a-cutover"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Programe una transición temporal. | Programe un período de transición adecuado con los equipos pertinentes. | Administrador de AWS, ingeniero de migraciones | 
| Lleve a cabo la transición. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)El **ciclo de vida de la migración** del servidor de origen pasará a **transición en curso**. | Administrador de AWS, ingeniero de migraciones | 
| Compruebe que la transición se haya completado correctamente. | Una vez que los servidores de transición se hayan iniciado por completo, el estado de las **Alertas** en los **Servidores de origen** de la página mostrarán **Lanzado** para cada servidor. | Administrador de AWS, ingeniero de migraciones | 
| Pruebe el servidor. | Realice pruebas con el servidor de transición para asegurarse de que funciona según lo esperado. | Administrador de AWS, ingeniero de migraciones | 
| Finalice la transición. | Elija **Test and Cutover (Prueba y transición)** y, a continuación, seleccione **Finalize cutover (Finalizar la transición)** para finalizar el proceso de migración. | Administrador de AWS, ingeniero de migraciones | 

## Recursos relacionados
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-resources"></a>
+ [AWS Application Migration Service](https://aws.amazon.com/application-migration-service/)
+ [Guía de usuario del servicio de migración de aplicaciones de AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)

# Migre pequeños conjuntos de datos del entorno local a Amazon S3 mediante AWS SFTP
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp"></a>

*Charles Gibson y Sergiy Shevchenko, Amazon Web Services*

## Resumen
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-summary"></a>

Este patrón describe cómo migrar pequeños conjuntos de datos (5 TB o menos) de centros de datos locales a Amazon Simple Storage Service (Amazon S3) mediante AWS Transfer for SFTP ().AWS SFTP Los datos pueden ser volcados de bases de datos o archivos planos.

## Requisitos previos y limitaciones
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ Un AWS Direct Connect enlace establecido entre su centro de datos y AWS

**Limitaciones**
+ Los archivos de datos deben tener menos de 5 TB. Para archivos de más de 5 TB, puede realizar una carga multiparte a Amazon S3 o elegir otro método de transferencia de datos. 

## Arquitectura
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-architecture"></a>

**Pila de tecnología de origen**
+ Archivos planos en las instalaciones o volcados de bases de datos locales

**Pila de tecnología de destino**
+ Amazon S3

**Arquitectura de origen y destino**

![\[Diagram showing data flow from on-premises servers to Nube de AWS services via Direct Connect and VPN.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a9c016ff-3e68-4714-ac51-46cb4727397a/images/5c5bb9ea-d552-44e8-8d0d-df341f84f55d.png)


## Tools (Herramientas)
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-tools"></a>
+ [AWS SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)— Permite la transferencia de archivos directamente desde y hacia Amazon S3 mediante el Protocolo seguro de transferencia de archivos (SFTP).
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)— Establece una conexión de red dedicada desde sus centros de datos locales a. AWS
+ [Puntos de enlace de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html): le permiten conectar de forma privada una VPC a servicios de punto final de VPC compatibles y alimentados por Servicios de AWS ellos AWS PrivateLink sin una puerta de enlace de Internet, un dispositivo de traducción de direcciones de red (NAT), una conexión VPN o una conexión. Direct Connect Las instancias en una VPC no necesitan direcciones IP públicas para comunicarse con los recursos del servicio.

## Epics
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Documente los requisitos actuales de SFTP. |  | Propietario de la aplicación, SA | 
| Identifique los requisitos de autenticación. | Los requisitos pueden incluir la autenticación basada en claves, el nombre de usuario o la contraseña o el proveedor de identidades (IdP). | Propietario de la aplicación, SA | 
| Identifique los requisitos de integración de la aplicación. |  | Propietario de la aplicación | 
| Identifique a los usuarios que requieren el servicio. |  | Propietario de la aplicación | 
| Determine el nombre DNS del punto de conexión del servidor SFTP. |  | Red | 
| Determinar la estrategia de copia de seguridad. |  | SA, Administrador de base de datos (si se transfieren datos)  | 
| Identifique la estrategia de migración o transición de la aplicación. |  | Propietario de la aplicación, SA, Administrador de base de datos | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una o más nubes privadas virtuales (VPCs) y subredes en su. Cuenta de AWS |  | Propietario de la aplicación, AMS | 
| Crear grupos de seguridad y listas de control de acceso a la red (ACL). |  | Seguridad, redes, AMS | 
| Cree el bucket de Amazon S3. |  | Propietario de la aplicación, AMS | 
| Cree el rol AWS Identity and Access Management (IAM). | Cree una política de IAM que incluya los permisos que le permitirán acceder AWS SFTP a su bucket de Amazon S3. Esta política de IAM determina el nivel de acceso que otorga a los usuarios de SFTP. Cree otra política de IAM con la que establecer una relación de confianza. AWS SFTP | Seguridad, AMS | 
| Asocia un dominio registrado (opcional). | Si tiene su propio dominio registrado, puede asociarlo al servidor SFTP. Puede enrutar el tráfico SFTP al punto de conexión de su servidor SFTP desde un dominio o desde un subdominio. | Redes, AMS | 
| Cree un servidor SFTP. | Especifique el tipo del proveedor de identidad que el servicio debe usar para autenticar a los usuarios. | Propietario de la aplicación, AMS | 
| Abrir un cliente SFTP. | Abra un cliente SFTP y configure la conexión para usar el host del punto final SFTP. AWS SFTP es compatible con cualquier cliente SFTP estándar. Los clientes SFTP más utilizados incluyen OpenSSH, WinSCP, Cyberduck y. FileZilla Puede obtener el nombre de host del servidor SFTP desde la consola. AWS SFTP  | Propietario de la aplicación, AMS | 

### Planificar y probar
<a name="plan-and-test"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Planifique la migración de la aplicación. | Planifique los cambios necesarios en la configuración de la aplicación, establezca la fecha de migración y determine el programa de pruebas. | Propietario de la aplicación, AMS | 
| Pruebe la infraestructura. | Realice pruebas en un entorno que no sea de producción. | Propietario de la aplicación, AMS | 

## Recursos relacionados
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-resources"></a>

**Referencias**
+ [AWS Transfer for SFTP Guía del usuario](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS Direct Connect resources](https://aws.amazon.com/directconnect/resources/) 
+ [Puntos de enlace de la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)

**Tutoriales y videos**
+ [AWS Transfer for SFTP (vídeo)](https://www.youtube.com/watch?v=wcnGez5PP1E)
+ [AWS Transfer for SFTP guía de usuario](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS SA Whiteboarding - Direct Connect (vídeo)](https://www.youtube.com/watch?v=uP68iqyuqTg)

# Migre una base de datos Oracle local a Oracle on Amazon EC2
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2"></a>

*Baji Shaik y Pankaj Choudhary, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-summary"></a>

Este patrón le guía por los pasos para migrar una base de datos Oracle local a Oracle en una instancia de Amazon Elastic Compute Cloud EC2 (Amazon). Describe dos opciones de migración: usar AWS Data Migration Service (AWS DMS) o usar herramientas nativas de Oracle, como RMAN, importación/exportación de Data Pump, espacios de tabla transportables y Oracle. GoldenGate 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Oracle en un centro de datos en las instalaciones

**Limitaciones**
+ El sistema operativo (SO) de destino debe ser compatible con Amazon EC2. Para obtener una lista completa de los sistemas compatibles, consulta [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

**Versiones de producto**
+ Versiones de Oracle 10.2 y posteriores (para las versiones 10.x), 11g y hasta 12.2 y 18c para las ediciones Enterprise, Standard, Standard One y Standard Two. Para ver la lista más reciente de versiones compatibles con AWS DMS, consulte «Bases de datos locales y de EC2 instancias de Amazon» en [Fuentes para la migración de datos en la documentación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) de AWS DMS.  

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos de Oracle en las instalaciones

**Pila de tecnología de destino**
+ Una instancia de base de datos Oracle en Amazon EC2

**Arquitectura de destino**

![\[Configuración de la replicación de una base de datos Oracle en Amazon EC2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/386d5b14-8633-4ecc-98fb-59872de99d41.png)


**Arquitectura de migración de datos**

*Uso de AWS DMS:*

![\[Migración de una base de datos Oracle local a Amazon con EC2 AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/14954066-d22b-486a-a432-265296752878.png)


*Uso de herramientas nativas de Oracle:*

![\[Migración de una base de datos Oracle local a Amazon EC2 con herramientas de Oracle.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/82ba5fcb-8640-45fa-b432-2702dedc0774.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-tools"></a>
+ **AWS DMS**: [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/index.html) admite varios tipos de bases de datos de origen y destino. Para obtener información sobre las versiones y ediciones de bases de datos compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características.  
+ **Herramientas nativas de Oracle:** RMAN, importación/exportación de Data Pump, tablespaces transportables, Oracle GoldenGate                                                         

## Epics
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
|  Identifique la versión del sistema operativo de destino. |  | DBA, SysAdmin | 
| Identifique los requisitos de hardware de la instancia del servidor de destino en función de la lista de compatibilidad de Oracle y los requisitos de capacidad. |  | DBA, SysAdmin | 
| Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Identifique los requisitos de la red, como la latencia y el ancho de banda. |  | DBA, SysAdmin | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de network/host acceso para las bases de datos de origen y destino. |  | DBA, SysAdmin | 
| Identifique una lista de los usuarios del sistema operativo necesarios para la instalación del software Oracle. |  | DBA, SysAdmin | 
| Descargue e instale la herramienta de conversión de esquemas de AWS (AWS SCT) |  | Administrador de base de datos | 
| Cree un proyecto de AWS SCT para la carga de trabajo y conéctese a la base de datos de origen. |  | Administrador de base de datos | 
| Genere archivos SQL para la creación de objetos (tablas, índices, secuencias, etc.). |  | Administrador de base de datos | 
| Determine una estrategia de copia de seguridad. |  | DBA, SysAdmin  | 
| Determine los requisitos de disponibilidad. |  | Administrador de base de datos | 
| Identifique la estrategia de migración/cambio de aplicaciones. |  | DBA, propietario de la SysAdmin aplicación | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC) y subredes en su cuenta de AWS. |  | SysAdmin | 
| Cree grupos de seguridad y listas de control de acceso a la red (ACLs). |  | SysAdmin | 
| Configure e inicie la EC2 instancia. |  | SysAdmin | 

### Instalación del software Oracle
<a name="install-the-oracle-software"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree los usuarios y grupos del sistema operativo necesarios para que funcione el software Oracle. |  | DBA, SysAdmin | 
| Descargue la versión requerida del software Oracle. |  |  | 
| Instale el software de Oracle en la EC2 instancia. |  | DBA, SysAdmin | 
| Cree objetos como tablas, claves principales, vistas y secuencias mediante los scripts generados por AWS SCT. |  | Administrador de base de datos | 

### Migración de datos: opción 1
<a name="migrate-data---option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice las herramientas nativas de Oracle o herramientas de terceros para migrar los objetos y datos de la base de datos. | Las herramientas de Oracle incluyen la importación/exportación de Data Pump, RMAN, espacios de tablas transportables y. GoldenGate | Administrador de base de datos | 

### Migración de datos: opción 2
<a name="migrate-data---option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Determine el método de migración. |  | Administrador de base de datos | 
| Cree una instancia de replicación con la consola de AWS DMS. |  | Administrador de base de datos | 
| Cree puntos de conexión de origen y destino. |  | Administrador de base de datos | 
| Cree una tarea de replicación. |  | Administrador de base de datos | 
| Habilite la captura de datos de cambios (CDC) para capturar los cambios para una replicación continua. |  | Administrador de base de datos | 
| Ejecute la tarea de replicación y supervise los registros. |  | Administrador de base de datos | 
| Cree objetos secundarios como índices y claves externas cuando se complete la carga. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. |  |  SysAdminDBA, propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga la estrategia de transición o cambio de la aplicación. |  | DBA, propietario de la SysAdmin aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos temporales de AWS Secrets Manager. |  | DBA, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | DBA, propietario de la SysAdmin aplicación | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de migraciones manuales en comparación con las realizadas con herramientas, el ahorro de costos, etc. |  | DBA, propietario de la SysAdmin aplicación | 
| Cerrar el proyecto y enviar comentarios. |  |  | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-resources"></a>

**Referencias**
+ [Estrategias para migrar bases de datos de Oracle a AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html) 
+ [Migración de bases de datos de Oracle a la nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/)
+ [ EC2 Sitio web de Amazon](https://aws.amazon.com/ec2/)
+ [Sitio web de AWS DMS](https://aws.amazon.com/dms/)
+ [Publicaciones del blog de AWS DMS](https://aws.amazon.com/blogs/database/category/dms/)
+ [ EC2 Precios de Amazon](https://aws.amazon.com/ec2/pricing/)
+ [Concesión de licencias de software de Oracle en el entorno de computación en la nube](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

**Tutoriales y videos**
+ [Cómo empezar con Amazon EC2](https://aws.amazon.com/ec2/getting-started/)
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon EC2 : Elastic Cloud Server & Hosting con AWS (vídeo)](https://www.youtube.com/watch?v=TsRBftzZsQo) 

# Migre una base de datos Oracle local a Amazon EC2 mediante Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump"></a>

*Navakanth Talluri, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-summary"></a>

Al migrar las bases de datos, debe tener en cuenta factores como los motores y las versiones de las bases de datos de origen y destino, las herramientas y servicios de migración y los períodos de inactividad aceptables. Si va a migrar una base de datos Oracle local a Amazon Elastic Compute Cloud EC2 (Amazon), puede utilizar herramientas de Oracle, como Oracle Data Pump y Oracle Recovery Manager (RMAN). Para obtener más información sobre estrategias, consulte la guía [Migración de bases de datos de Oracle a la nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html).

Oracle Data Pump le ayuda a extraer la copia de seguridad lógica y coherente de la base de datos y a restaurarla en la instancia de destino. EC2 Este patrón describe cómo migrar una base de datos Oracle local a una EC2 instancia mediante Oracle Data Pump y el `NETWORK_LINK` parámetro, con un tiempo de inactividad mínimo. El parámetro `NETWORK_LINK` inicia una importación a través de un enlace de base de datos. El cliente Oracle Data Pump Import (impdp) de la EC2 instancia de destino se conecta a la base de datos de origen, recupera los datos de la misma y los escribe directamente en la base de datos de la instancia de destino. En esta solución no se utilizan archivos de copia de seguridad ni de *volcado*.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una base de datos de Oracle en las instalaciones: 
  + No es una base de datos de Oracle Real Application Clusters (RAC)
  + No es una base de datos de Oracle Automatic Storage Management (Oracle ASM)
  + Está en modo de lectura-escritura.
+ Ha creado un enlace de AWS Direct Connect entre su centro de datos en las instalaciones y AWS. Para obtener más información, consulte [Crear una conexión](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html) (documentación de Direct Connect).

**Versiones de producto**
+ Oracle Database 10g versión 1 (10.1) y posteriores

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-architecture"></a>

**Pila de tecnología de origen**
+ Un servidor de base de datos de Oracle independiente (sin RAC ni ASM) en un centro de datos en las instalaciones

**Pila de tecnología de destino**
+ Una base de datos Oracle que se ejecuta en Amazon EC2

**Arquitectura de destino**

El [pilar de fiabilidad](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) del Marco de AWS Well-Architected recomienda crear copias de seguridad de datos para ayudar a proporcionar alta disponibilidad y resiliencia. Para obtener más información, consulte [Diseño de arquitectura para alta disponibilidad](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-high-availability.html#amazon-ec2) en *Prácticas recomendadas para ejecutar bases de datos de Oracle en AWS*. Este patrón configura las bases de datos principales y en espera en EC2 las instancias mediante Oracle Active Data Guard. Para una alta disponibilidad, las EC2 instancias deben estar en diferentes zonas de disponibilidad. Sin embargo, las zonas de disponibilidad pueden estar en la misma región de AWS o en regiones de AWS diferentes.

Active Data Guard proporciona acceso de solo lectura a una base de datos física en espera al tiempo que rehace los cambios de forma continua desde la base de datos principal. En función de su objetivo de punto de recuperación (RPO) y el objetivo de tiempo de recuperación (RTO), puede elegir entre las opciones de transporte de rehacer síncrono y asíncrono.

La siguiente imagen muestra la arquitectura de destino si las EC2 instancias principal y en espera se encuentran en distintas regiones de AWS.

![\[Aplicación que se conecta a la nueva base de datos en la EC2 instancia principal\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/37fcd4dc-5516-416b-a280-0c5f002880de.png)


**Arquitectura de migración de datos**

Una vez que haya terminado de configurar la arquitectura de destino, utilice Oracle Data Pump para migrar los datos y esquemas locales a la instancia principal EC2 . Durante la transición, las aplicaciones no pueden acceder a la base de datos en las instalaciones ni a la base de datos de destino. Cierre estas aplicaciones hasta que se puedan conectar a la nueva base de datos de destino de la instancia principal EC2 .

En la imagen siguiente, se muestra la arquitectura durante la migración de datos. En este ejemplo de arquitectura, las EC2 instancias principal y en espera se encuentran en distintas regiones de AWS.

![\[La base de datos de origen se conecta a la base de datos de destino. Las aplicaciones están desconectadas del origen y el destino DBs\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/c58b669b-b11f-4d78-8911-c07b81b7c6a0.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-tools"></a>

**Servicios de AWS**
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/) vincula su red interna con una ubicación de Direct Connect a través de un cable estándar Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente en servicios públicos de AWS omitiendo a los proveedores de servicios de Internet en su ruta de acceso a la red.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.

**Otras herramientas y servicios**
+ [Oracle Active Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-5E73667D-4A56-445E-911F-1E99092DD8D7) le ayuda a crear, mantener, gestionar y supervisar bases de datos en espera.
+ [Oracle Data Pump](https://www.oracle.com/technetwork/documentation/data-pump-overview-084963.html) le ayuda a trasladar datos y metadatos de una base de datos a otra a altas velocidades.

## Prácticas recomendadas
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-best-practices"></a>
+ [Best Practices for Running Oracle Database on AWS](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-security-and-performance.html)
+ [Importación de datos mediante NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-23E58D59-A477-4A87-BD0E-C82447581D0A.htm#SUTIL856)

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-epics"></a>

### Configure las EC2 instancias en AWS
<a name="set-up-the-ec2-instances-on-aws"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique la configuración de hardware de origen para el host en las instalaciones y los parámetros del núcleo. | Valide la configuración local, incluidos el tamaño del almacenamiento, input/output las operaciones por segundo (IOPS) y la CPU. Esto es importante para las licencias de Oracle, que se basan en los núcleos de la CPU. | DBA, SysAdmin | 
| Cree la infraestructura en AWS. | Cree las nubes privadas virtuales (VPCs), las subredes privadas, los grupos de seguridad, las listas de control de acceso a la red (ACLs), las tablas de enrutamiento y la puerta de enlace a Internet. Para obtener más información, consulte los siguientes temas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | Administrador de base de datos, administrador de sistemas | 
| Configure las EC2 instancias mediante Active Data Guard. | Configure las EC2 instancias de AWS mediante una configuración de Active Data Guard, tal y como se describe en el [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html). La versión de Oracle Database de la EC2 instancia puede ser diferente de la versión local porque este patrón utiliza copias de seguridad lógicas. Tenga en cuenta lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html)Para obtener más información, consulte lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | Administrador de base de datos, administrador de sistemas | 

### Migre la base de datos a Amazon EC2
<a name="migrate-the-database-to-amazon-ec2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un dblink a la base de datos local desde la instancia. EC2  | Cree un enlace de base de datos (dblink) entre la base de datos Oracle de la EC2 instancia y la base de datos Oracle local. Para obtener más información, consulte [Uso de la importación de enlaces de red para mover datos](https://docs.oracle.com/database/121/SUTIL/GUID-3E1D4B46-E856-4ABE-ACC5-977A898BB0F1.htm#SUTIL806) (documentación de Oracle). | Administrador de base de datos | 
| Compruebe la conexión entre la EC2 instancia y el host local. | Usa el dblink para confirmar que la conexión entre la EC2 instancia y la base de datos local funciona. Para obtener instrucciones, consulte [CREATE DATABASE LINK](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm) (documentación de Oracle). | Administrador de base de datos | 
| Detenga todas las aplicaciones conectadas a la base de datos en las instalaciones. | Una vez aprobado el tiempo de inactividad de la base de datos, cierre todas las aplicaciones y trabajos dependientes que se conecten a la base de datos en las instalaciones. Puede hacerlo directamente desde la aplicación o desde la base de datos mediante cron. Para obtener más información, consulte [Uso de la utilidad Crontab para programar tareas en Oracle Linux](https://docs.oracle.com/en/learn/oracle-linux-crontab/index.html). | Administrador de base de datos, desarrollador de aplicaciones | 
| Programe el trabajo de migración de datos.  | En el host de destino, utilice el comando `impdb` para programar la importación de Data Pump. Esto conecta la base de datos de destino con el host en las instalaciones e inicia la migración de datos. Para obtener más información, consulte [Importación de Data Pump](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300) y [NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-0871E56B-07EB-43B3-91DA-D1F457CF6182.htm#SUTIL919) (documentación de Oracle). | Administrador de base de datos | 
| Validar la migración de datos. | La validación de los datos es un paso crucial. Para la validación de datos, puede utilizar herramientas personalizadas o herramientas de Oracle, como una combinación de consultas dblink y SQL. | Administrador de base de datos | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Coloque la base de datos de origen en un modo de solo lectura. | Confirme que la aplicación esté cerrada y que no se estén realizando cambios en la base de datos de origen. Abra la base de datos de origen en modo de solo lectura. Esto le permite evitar cualquier transacción abierta. Para obtener más información, consulte `ALTER DATABASE` en [SQL Statements](https://docs.oracle.com/database/121/SQLRF/statements_1006.htm#i2135540) (documentación de Oracle). | Administrador de bases de datos, DevOps ingeniero y desarrollador de aplicaciones | 
| Valide el recuento de objetos y los datos. | Para validar los datos y objetos, puede utilizar herramientas personalizadas o herramientas de Oracle, como una combinación de consultas dblink y SQL. | Administrador de base de datos, desarrollador de aplicaciones | 
| Conecte las aplicaciones a la base de datos de la EC2 instancia principal. | Cambie el atributo de conexión de la aplicación para que apunte a la nueva base de datos que creó en la EC2 instancia principal. | Administrador de base de datos, desarrollador de aplicaciones | 
| Valide el rendimiento de la aplicación. | Inicie la aplicación. Valide la funcionalidad y el rendimiento de la aplicación mediante el [Repositorio automatizado de cargas de trabajo](https://docs.oracle.com/database/121/RACAD/GUID-C3CD2DCE-38BD-46BA-BC32-7A28CAC9A7FD.htm#RACAD951) (documentación de Oracle). | Desarrollador de aplicaciones, DevOps ingeniero y administrador de bases de datos | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-resources"></a>

**Referencias de AWS**
+ [Migración de bases de datos de Oracle a la Nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Amazon EC2 para Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html)
+ [Migración de bases de datos voluminosas de Oracle a AWS para entornos multiplataforma](https://docs.aws.amazon.com/prescriptive-guidance/latest/migrate-bulky-oracle-databases/welcome.html)
+ [VPCs y subredes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ [Tutorial: Creación de una VPC para utilizarla con una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html)

**Referencias de Oracle**
+ [Configuraciones de Oracle Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-AB9DF863-2C7E-4767-81F2-56AD0FA30B49)
+ [Importación de Data Pump](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300)

# Migración de los sistemas BYOL de RHEL a instancias con licencia incluida de AWS mediante AWS MGN
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn"></a>

*Mike Kuznetsov, Amazon Web Services*

## Resumen
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-summary"></a>

Al migrar sus cargas de trabajo a AWS mediante el AWS Application Migration Service (AWS MGN), es posible que tenga que migrar mediante lift-and-shift (volver a alojar) sus instancias de Red Hat Enterprise Linux (RHEL) y cambiar la licencia del modelo traiga su propia licencia (BYOL) predeterminado a un modelo AWS License Included (LI) durante la migración. AWS MGN admite un enfoque escalable que utiliza los Identificadores de imagen de máquina de Amazon (AMI). Este patrón describe cómo realizar el cambio de licencia en los servidores de RHEL durante la migración de volver a alojar a escala. También explica cómo cambiar la licencia de un sistema RHEL que ya se ejecuta en Amazon Elastic Compute Cloud (Amazon EC2).

## Requisitos previos y limitaciones
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-prereqs"></a>

**Requisitos previos **
+ Acceso a la cuenta de AWS de destino
+ AWS MGN se inicializó en la cuenta y región de AWS de destino para la migración (no es obligatorio si ya ha migrado de su sistema en las instalaciones a AWS)
+ Un servidor RHEL de origen con una licencia RHEL válida

## Arquitectura
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-architecture"></a>

Este patrón cubre dos escenarios:
+ Migración de un sistema en las instalaciones directamente a una instancia de AWS LI mediante AWS MGN. Para este escenario, siga las instrucciones de la primera epopeya (*Migración a una instancia de LI: opción 1*) y de la tercera epopeya.
+ Cambie el modelo de licencias de BYOL a LI para un sistema RHEL migrado anteriormente que ya se ejecuta en Amazon EC2. Para este escenario, siga las instrucciones de la segunda epopeya (*migrar a una instancia de LI*: *opción 2*) y de la tercera epopeya.

**nota**  
La tercera epopeya implica la reconfiguración de la nueva instancia de RHEL para utilizar los servidores de Red Hat Update Infrastructure (RHUI) proporcionados por AWS. Este proceso es el mismo en ambos escenarios.

## Tools (Herramientas)
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-tools"></a>

**Servicios de AWS**
+ El [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) le ayuda a volver a alojar (migrar mediante lift-and-shift) las aplicaciones a la nube de AWS sin cambios y con un tiempo de inactividad mínimo.

## Epics
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-epics"></a>

### Migración a una instancia LI: opción 1 (para un sistema RHEL en las instalaciones)
<a name="migrate-to-li-instance---option-1-for-an-on-premises-rhel-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Busque el Identificador de AMI de la instancia de RHEL AWS LI en la región de destino. | Visite [AWS Marketplace](https://aws.amazon.com/marketplace) o utilice la [consola Amazon EC2](https://console.aws.amazon.com/ec2/) para buscar el Identificador de AMI de RHEL que coincida con la versión del sistema fuente de RHEL (por ejemplo, RHEL-7.7) y anote el ID de AMI. En la consola Amazon EC2, puede filtrarlos AMIs mediante uno de los siguientes términos de búsqueda:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de la nube | 
| Configure los ajustes de lanzamiento de AWS MGN.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)AWS MGN utilizará ahora esta versión de la plantilla de lanzamiento para lanzar instancias de prueba o de transición. Para obtener más información, consulte la [documentación de AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/ec2-launch.html). | Administrador de la nube | 
| Valide la configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de la nube | 
| Lance la nueva instancia de LI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de la nube | 

### Migración a una instancia LI: opción 2 (para una instancia RHEL BYOL EC2)
<a name="migrate-to-li-instance---option-2-for-a-rhel-byol-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre una instancia de RHEL BYOL EC2 a una instancia de AWS LI. | Puede cambiar los sistemas RHEL que anteriormente migró a AWS como BYOL a instancias de AWS LI moviendo sus discos (volúmenes de Amazon Elastic Block Store) y adjuntándolos a una nueva instancia de LI. Para realizar este cambio, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de la nube | 

### Reconfigurar el sistema operativo RHEL para usar la RHUI proporcionada por AWS (ambas opciones)
<a name="reconfigure-rhel-os-to-use-aws-provided-rhui-ndash-both-options"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Anule el registro del sistema operativo de la suscripción y la licencia de Red Hat. | Tras la migración y la transición exitosa, es necesario eliminar el sistema RHEL de la suscripción a Red Hat para dejar de consumir la licencia de Red Hat y evitar la doble facturación.Para eliminar el sistema operativo RHEL de la suscripción a Red Hat, siga el proceso descrito en la [documentación sobre Red Hat Subscription Management (RHSM)](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/installation_guide/chap-subscription-management-unregistering). Utilice el comando CLI:  <pre>subscription-manager unregister</pre>También puede deshabilitar el complemento del administrador de suscripciones para dejar de comprobar el estado de la suscripción en cada llamada de **yum**. Para ello, edite el archivo de configuración `/etc/yum/pluginconf.d/subscription-manager.conf` y cambie el parámetro `enabled=1` a `enabled=0`. | Administrador de sistemas o Linux | 
| Sustituya la configuración de actualización anterior (RHUI, red Red Hat Satellite, repositorios yum) por la RHUI proporcionada por AWS. | Debe volver a configurar el sistema RHEL migrado para utilizar los servidores RHUI proporcionados por AWS. Esto le da acceso a los servidores RHUI dentro de las regiones de AWS sin necesidad de una infraestructura de actualización externa. El proceso consta de los pasos siguientes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)Estos son los pasos y comandos detallados:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrador de sistemas o Linux | 
| Valide la configuración. | En la instancia migrada de destino, compruebe que la nueva configuración es correcta:<pre>sudo yum clean all <br />sudo yum repolist </pre> | Administrador de sistemas o Linux | 

## Recursos relacionados
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-resources"></a>
+ [Guía del usuario de AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Obtenga soporte para un paquete de cliente RHUI de AWS IMDSv2 (artículo](https://access.redhat.com/solutions/5009491) de la base de conocimiento de Red Hat)
+ [Plantillas de lanzamiento de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) (documentación de Amazon EC2)

# Migre una base de datos local de Microsoft SQL Server a Amazon EC2
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2"></a>

*Senthil Ramasamy, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-summary"></a>

Este patrón describe cómo migrar una base de datos de Microsoft SQL Server local a Microsoft SQL Server en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). Incluye dos opciones de migración: usar AWS Database Migration Service (AWS DMS) o usar herramientas nativas de Microsoft SQL Server, como la copia de seguridad y la restauración, el asistente para copiar bases de datos o copiar y adjuntar bases de datos. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-prereqs"></a>

**Requisitos previos **
+ Una AWS cuenta activa
+ Un sistema operativo compatible con Amazon EC2 (para obtener una lista completa de las versiones de sistemas operativos compatibles, consulte [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/))
+ Una base de datos de origen de Microsoft SQL Server en un centro de datos en las instalaciones

**Versiones de producto**
+ Para las bases de datos locales y de EC2 instancias de Amazon, AWS DMS admite: 
  + Versiones de SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016, 2017 y 2019 
  + Ediciones Enterprise, Standard, Workgroup, Developer y Web
+ Para ver la lista actualizada de versiones compatibles, consulte [Using a Microsoft SQL Server Database as a Target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html).   

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología de destino**
+ Base de datos de Microsoft SQL Server en una EC2 instancia

**Arquitectura de destino**

![\[Instancias principales y en espera de Microsoft SQL Server en EC2 instancias de dos zonas de disponibilidad.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/53e2c27d-ceb4-4d88-a022-93dd0b343eaf.png)


**Arquitectura de migración de datos**
+ Usando AWS DMS

![\[Migración de datos de SQL Server locales a una EC2 instancia mediante AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/1cbe32ea-e285-4cac-9153-4428bad9b229.png)

+ Uso de herramientas nativas de SQL Server 

![\[Migración de datos de SQL Server locales a una EC2 instancia mediante herramientas nativas de SQL Server.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/ad2caf54-7399-4038-91a3-acba9fa7da29.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) le ayuda a migrar sus datos hacia y desde bases de datos comerciales y de código abierto muy utilizadas, como Oracle, SQL Server, MySQL y PostgreSQL. Puede utilizarlos AWS DMS para migrar sus datos a Nube de AWS, entre instancias locales (mediante una Nube de AWS configuración) o entre combinaciones de configuraciones locales y en la nube.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) admite migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayoría del código personalizado a un formato compatible con la base de datos de destino.
+ Las herramientas nativas de Microsoft SQL Server incluyen la copia de seguridad y restauración, el asistente para copiar bases de datos y la función de copiar y adjuntar bases de datos.

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
| Identificar la versión del sistema operativo de destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de hardware para la instancia del servidor de destino en función de la lista de compatibilidad de Microsoft SQL Server y los requisitos de capacidad. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar los requisitos de almacenamiento relativos al tipo y la capacidad. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar los requisitos de la red, como la latencia y el ancho de banda. |  | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de EC2 instancia en función de la capacidad, las características de almacenamiento y las características de la red. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar los requisitos de seguridad para acceder a la red y al host de las bases de datos de origen y destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar la lista de usuarios necesarios para la instalación del software Microsoft SQL Server. |  | Administrador de base de datos, administrador de sistemas | 
| Determinar la estrategia de copia de seguridad. |  | Administrador de base de datos | 
| Determinar los requisitos de disponibilidad. |  | Administrador de base de datos | 
| Identificar la estrategia de migración y transición de aplicaciones. |  | Administrador de base de datos, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC) y subredes. |  | Administrador de sistemas | 
| Cree grupos de seguridad y listas de control de acceso a la red (ACL). |  | Administrador de sistemas | 
| Configura e inicia una EC2 instancia. |  | Administrador de sistemas | 

### Instalar el software
<a name="install-the-software"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear los usuarios y grupos necesarios para el software Microsoft SQL Server. |  | Administrador de base de datos, administrador de sistemas | 
| Descargar el software Microsoft SQL Server. |  | Administrador de base de datos, administrador de sistemas | 
| Instale el software Microsoft SQL Server en la EC2 instancia y configure el servidor. |  | Administrador de base de datos, administrador de sistemas | 

### Migración de datos: opción 1
<a name="migrate-the-data---option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilizar herramientas nativas de MySQL Server o herramientas de terceros para migrar los objetos y datos de la base de datos. | Las herramientas incluyen la copia de seguridad y la restauración, el asistente para copiar bases de datos y la función de copiar y adjuntar bases de datos. Para obtener más información, consulte la guía [Migrating Microsoft SQL Server databases to the Nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/). | Administrador de base de datos | 

### Migración de datos: opción 2
<a name="migrate-the-data---option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los datos mediante AWS DMS. | Para obtener más información sobre su uso AWS DMS, consulte los enlaces de la sección [Recursos relacionados](#migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources). | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. | Utilice AWS Schema Conversion Tool (AWS SCT) para analizar y modificar el código SQL que está incrustado en el código fuente de la aplicación. | Administrador de base de datos, propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de cambio de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre todos los AWS recursos temporales. | Los recursos temporales incluyen la instancia de AWS DMS replicación y la EC2 instancia para AWS SCT. | Administrador de base de datos, administrador de sistemas | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de ahorro de costos manuales en comparación con los de herramientas, etc. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cerrar el proyecto y enviar comentarios. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources"></a>

**Referencias**
+ [Migración de bases de datos de Microsoft SQL Server a Nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [ EC2 Precios de Amazon](https://aws.amazon.com/ec2/pricing/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Productos de Microsoft en AWS](https://aws.amazon.com/windows/products/)
+ [Licencias de Microsoft en AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server en AWS](https://aws.amazon.com/windows/products/sql/)

**Tutoriales y videos**
+ [Cómo empezar con](https://aws.amazon.com/ec2/getting-started/) Amazon EC2
+ [Introducción a ](https://aws.amazon.com/dms/getting-started/)AWS Database Migration Service
+ [Unir una EC2 instancia de Amazon a su Active Directory de Simple AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/simple_ad_join_instance.html)
+ [Unir una EC2 instancia de Amazon a su AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html)
+ [AWS Database Migration Service ](https://www.youtube.com/watch?v=zb4GcjEdl8U)(video)
+ [Introducción a Amazon EC2 : Elastic Cloud Server & Hosting con AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vídeo)

# Vuelva a alojar las cargas de trabajo en las instalaciones en la nube de AWS: lista de verificación de migración
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Resumen
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-summary"></a>

Volver a alojar las cargas de trabajo en las instalaciones en la nube de Amazon Web Services (AWS) implica las siguientes fases de migración: planificación, predetección, detección, creación, prueba y transición. Este patrón describe las fases y sus tareas relacionadas. Las tareas se describen de forma detallada y soportan aproximadamente el 75 % de todas las cargas de trabajo de las aplicaciones. Puede implementar estas tareas en un plazo de dos o tres semanas en un ciclo de iteraciones ágil.

Debería revisar y examinar estas tareas con su equipo de migración y sus consultores. Tras la revisión, puede recopilar los datos, eliminar o volver a evaluar las tareas según sea necesario para cumplir con sus requisitos y modificar otras tareas para que admitan al menos el 75 % de las cargas de trabajo de las aplicaciones de su cartera. A continuación, puede utilizar una herramienta de gestión de proyectos ágil, como Atlassian Jira o Rally Software, para importar las tareas, asignarlas a los recursos y realizar un seguimiento de las actividades de migración. 

El patrón supone que utiliza [AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html) para volver a alojar sus cargas de trabajo, pero puede utilizar la herramienta de migración que prefiera.

Amazon Macie puede ser útil para identificar información confidencial en sus bases de conocimiento, que se almacenan como orígenes de datos, registros de invocación de modelos y almacenes de peticiones en buckets de Amazon Simple Storage Service (Amazon S3). Para obtener más información, consulte la [documentación de Macie](https://docs.aws.amazon.com/macie/latest/user/data-classification.html).

## Requisitos previos y limitaciones
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-prereqs"></a>

**Requisitos previos **
+ Herramienta de gestión de proyectos para realizar un seguimiento de las tareas de migración (por ejemplo, Atlassian Jira o Rally Software)
+ Herramienta de migración para volver a alojar sus cargas de trabajo en AWS (por ejemplo, [Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html))

## Arquitectura
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-architecture"></a>

**Plataforma de origen**
+ Pila de origen en las instalaciones (incluidas tecnologías, aplicaciones, bases de datos e infraestructura)  

**Plataforma de destino**
+ Pila de destino en la nube de AWS (incluidas tecnologías, aplicaciones, bases de datos e infraestructura) 

**Arquitectura**

En el siguiente diagrama, se muestra el realojamiento (detección y migración de servidores desde un entorno de origen en las instalaciones a AWS) mediante Cloud Migration Factory y AWS Application Migration Service.

![\[Realojamiento de servidores en AWS mediante Cloud Migration Factory y Application Migration Service\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/images/735ad65b-2646-4803-82c9-f7f93369b3a5.png)


## Tools (Herramientas)
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-tools"></a>
+ Puede utilizar la herramienta de migración y gestión de proyectos que elija.

## Epics
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-epics"></a>

### Fase de planificación
<a name="planning-phase"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare el volumen de trabajo pendiente previo a la detección. | Lleve a cabo la sesión de trabajo previa a la detección de los volúmenes de trabajo pendientes con los jefes de departamento y los propietarios de las aplicaciones.  | Director de proyectos, líder de Agile Scrum | 
|  Dirija la sesión de trabajo de planificación de la iteración. | Como ejercicio de análisis, distribuya las aplicaciones que desee migrar entre iteraciones y oleadas. | Director de proyectos, líder de Agile Scrum | 

### Fase previa a la detección
<a name="pre-discovery-phase"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Confirmar los conocimientos de la aplicación. | Confirme y documente al propietario de la aplicación y su conocimiento de la aplicación. Determinar si hay otra persona de contacto para las cuestiones técnicas. | Especialista en migración (entrevistador) | 
| Determine los requisitos de conformidad de las aplicaciones. | Confirme con el propietario de la aplicación que la aplicación no tiene por qué cumplir los requisitos del estándar de seguridad de datos del sector de las tarjetas de pago (PCI DSS), la Ley Sarbanes-Oxley (SOX), la información de identificación personal (PII) u otras normas. Si existen requisitos de conformidad, los equipos deben finalizar las comprobaciones de conformidad en los servidores que se van a migrar. | Especialista en migración (entrevistador) | 
| Confirme los requisitos de lanzamiento de producción.  | Confirme los requisitos para lanzar la aplicación migrada a producción (como la fecha de lanzamiento y la duración del tiempo de inactividad) con el propietario de la aplicación o el contacto técnico. | Especialista en migración (entrevistador) | 
| Obtener la lista de servidores. | Obtenga la lista de servidores asociados a la aplicación de destino. | Especialista en migración (entrevistador) | 
| Obtener el diagrama lógico que muestra el estado actual. | Obtenga el diagrama de estado actual de la aplicación del arquitecto empresarial o del propietario de la aplicación. | Especialista en migración (entrevistador) | 
| Crear un diagrama lógico que muestre el estado objetivo. | Cree un diagrama lógico de la aplicación que muestre la arquitectura de destino en AWS. Este diagrama debe ilustrar los servidores, la conectividad y los factores de asignación. | Arquitecto empresarial, propietario de una empresa | 
| Obtener información sobre el servidor. | Recopile información sobre los servidores asociados a la aplicación, incluidos sus detalles de configuración. | Especialista en migración (entrevistador) | 
| Añada la información del servidor a la plantilla de detección. | Añada información detallada del servidor a la plantilla de detección de aplicaciones (consulte `mobilize-application-questionnaire.xlsx` en el anexo de este patrón). Esta plantilla incluye todos los detalles de seguridad, infraestructura, sistema operativo y redes relacionados con las aplicaciones. | Especialista en migración (entrevistador) | 
| Publicar la plantilla de detección de aplicaciones. | Comparta la plantilla de detección de aplicaciones con el propietario de la aplicación y el equipo de migración para un acceso y un uso comunes. | Especialista en migración (entrevistador) | 

### Fase de detección
<a name="discovery-phase"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Confirmar la lista de servidores. | Confirme la lista de servidores y el propósito de cada servidor con el propietario de la aplicación o el responsable técnico. | Especialista de migración | 
| Identificar y añadir grupos de servidores. | Identifique grupos de servidores, como servidores web o servidores de aplicaciones, y añada esta información a la plantilla de detección de aplicaciones. Seleccione el nivel de la aplicación (web, aplicación, base de datos) al que debe pertenecer cada servidor. | Especialista de migración | 
| Publicar la plantilla de detección de aplicaciones. | Complete los detalles de la plantilla de detección de aplicaciones con la ayuda del equipo de migración, el equipo de aplicaciones y AWS. | Especialista de migración | 
| Añada los detalles del servidor que faltan (equipos de middleware y sistema operativo). | Pida a los equipos de middleware y sistema operativo (SO) que revisen la plantilla de detección de aplicaciones y añadan los detalles del servidor que falten, incluida la información de la base de datos. | Especialista de migración | 
| Obtenga las normas de inbound/outbound tráfico (equipo de red). | Pida al equipo de red que obtenga las reglas de inbound/outbound tráfico para los servidores de origen y destino. El equipo de red también debe añadir las reglas de firewall existentes, exportarlas a un formato de grupo de seguridad y añadir los equilibradores de carga existentes a la plantilla de detección de aplicaciones. | Especialista de migración | 
| Identificar el etiquetado necesario. | Determine los requisitos de etiquetado de la aplicación. | Especialista de migración | 
| Crear detalles de solicitud de firewall. | Capture y filtre las reglas de firewall necesarias para comunicarse con la aplicación.  | Especialista en migración, arquitecto de soluciones y líder de redes  | 
| Actualiza el tipo de EC2 instancia. | Actualice el tipo de instancia de Amazon Elastic Compute Cloud (Amazon EC2) para que se utilice en el entorno de destino, en función de los requisitos de infraestructura y servidor.  | Especialista en migración, arquitecto de soluciones y líder de redes | 
| Identifique el diagrama de estado actual. | Identifique o cree el diagrama que muestra el estado actual de la aplicación. Este diagrama se utilizará en la solicitud de seguridad de la información (InfoSec).  | Especialista en migración, arquitecto de soluciones | 
| Finalice el diagrama de estado futuro. | Finalice el diagrama que muestra el estado futuro (destino) de la aplicación. Este diagrama también se utilizará en la InfoSec solicitud.   | Especialista en migración, arquitecto de soluciones | 
| Cree solicitudes de servicio de firewall o grupo de seguridad. | Cree solicitudes de servicios de firewall o grupos de seguridad (para desarrollo, control de calidad, preproducción y producción). Si utiliza Cloud Migration Factory, incluya puertos específicos para la replicación si aún no están abiertos.  | Especialista en migración, arquitecto de soluciones y líder de redes | 
| Revise las solicitudes de firewall o grupos de seguridad (InfoSec equipo). | En este paso, el InfoSec equipo revisa y aprueba las solicitudes de firewall o grupo de seguridad que se crearon en el paso anterior.  | InfoSec ingeniero, especialista en migración | 
| Implemente las solicitudes de grupos de seguridad de firewall (equipo de red). | Una vez que el InfoSec equipo aprueba las solicitudes de firewall, el equipo de red implementa las reglas de inbound/outbound firewall requeridas.  | Especialista en migración, arquitecto de soluciones y líder de redes | 

### Fase de construcción (repita para los entornos de desarrollo/control de calidad, preproducción y producción)
<a name="build-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Importe los datos de la aplicación y del servidor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.html)Si no utiliza Cloud Migration Factory, siga las instrucciones para configurar su herramienta de migración. | Especialista en migración, administrador de la nube | 
| Compruebe los requisitos previos de los servidores de origen. | Conéctese con los servidores de origen incluidos en el ámbito para comprobar los requisitos previos, como el puerto TCP 1500, el puerto TCP 443, el espacio libre del volumen raíz, la versión de .NET Framework y otros parámetros. Estos son necesarios para la replicación. Para obtener información adicional, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#prerequisites-2). | Especialista en migración, administrador de la nube | 
| Cree una solicitud de servicio para instalar agentes de replicación.  | Cree una solicitud de servicio para instalar los agentes de replicación en los servidores incluidos para fines de desarrollo, control de calidad, preproducción o producción. | Especialista en migración, administrador de la nube | 
| Instale los agentes de replicación. | Instale los agentes de replicación en los servidores de origen incluidos en los equipos de desarrollo, control de calidad, preproducción o producción. Para obtener información adicional, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#install-the-replication-agents). | Especialista en migración, administrador de la nube | 
| Inserte los scripts posteriores al lanzamiento. | Application Migration Service admite scripts posteriores al lanzamiento para ayudarlo a automatizar las actividades a nivel del sistema operativo, como la instalación o desinstalación del software después de lanzar las instancias de destino. Este paso envía los scripts posteriores al lanzamiento a equipos Windows o Linux, en función de los servidores identificados para la migración. Para obtener instrucciones, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#push-the-post-launch-scripts). | Especialista en migración, administrador de la nube | 
| Verificar el estado de la replicación. | Confirme automáticamente el estado de la replicación de los servidores de origen incluidos en el ámbito de aplicación mediante el script proporcionado. El script se repite cada cinco minutos hasta que el estado de todos los servidores de origen de la oleada en cuestión cambie a **Correcto**. Para obtener instrucciones, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#verify-the-replication-status). | Especialista en migración, administrador de la nube | 
| Cree el usuario administrador. | Es posible que se necesite un administrador local o un usuario de sudo en los equipos de origen para solucionar cualquier problema tras la transición de la migración de los servidores de origen incluidos en el ámbito a AWS. El equipo de migración utiliza este usuario para iniciar sesión en el servidor de destino cuando no se puede acceder al servidor de autenticación (por ejemplo, el servidor DC o LDAP). Para obtener instrucciones para este paso, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/step4.html#add-a-user-to-the-admin-group). | Especialista en migración, administrador de la nube | 
| Valide la plantilla de lanzamiento. | Valide los metadatos del servidor para asegurarse de que funcionan correctamente y que no contienen datos no válidos. Este paso valida los metadatos de prueba y de transición. Para obtener instrucciones, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#validate-launch-template-1). | Especialista en migración, administrador de la nube | 

### Fase de prueba (repita para los entornos de desarrollo/control de calidad, preproducción y producción)
<a name="test-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una solicitud de servicio. | Cree una solicitud de servicio para que el equipo de infraestructura y otros equipos realicen la transición de las aplicaciones a las instancias de desarrollo, control de calidad, preproducción o producción.  | Especialista en migración, administrador de la nube | 
| Configure un equilibrador de carga (opcional). | Configure los equilibradores de carga necesarios, como un [Equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) o un [equilibrador de cargas F5](https://www.f5.com/resources/white-papers/load-balancing-101-nuts-and-bolts) con iRules. | Especialista en migración, administrador de la nube | 
| Inicie instancias para realizar pruebas. | Inicie todos los equipos de destino de una oleada determinada en Application Migration Service en modo de prueba. Para obtener información adicional, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-testing). | Especialista en migración, administrador de la nube | 
| Verifique el estado de la instancia de destino. | Verifique el estado de la instancia de destino comprobando el proceso de arranque de todos los servidores de origen incluidos en la misma oleada. Las instancias de destino pueden tardar hasta 30 minutos en iniciarse. Para comprobar el estado manualmente, inicia sesión en la EC2 consola de Amazon, busca el nombre del servidor de origen y revisa la columna **Comprobación de estado**. Las **dos comprobaciones de estado aprobadas** indican que la instancia está en buen estado desde el punto de vista de la infraestructura. | Especialista en migración, administrador de la nube | 
| Modifique las entradas de DNS. | Modifique las entradas del sistema de nombres de dominio (DNS). (Utilice `resolv.conf` o `host.conf` para un entorno Microsoft Windows). Configura cada EC2 instancia para que apunte a la nueva dirección IP de este host.Asegúrese de que no haya conflictos de DNS entre los servidores en las instalaciones y los de la nube de AWS. Este paso y los siguientes son opcionales, según el entorno en el que esté alojado el servidor. | Especialista en migración, administrador de la nube | 
| Pruebe la conectividad con los hosts de back-end desde EC2 las instancias. | Compruebe los inicios de sesión con las credenciales de dominio de los servidores migrados. | Especialista en migración, administrador de la nube | 
| Actualice el registro A de DNS. | Actualiza el registro A de DNS de cada host para que apunte a la nueva dirección IP EC2 privada de Amazon. | Especialista en migración, administrador de la nube | 
| Actualice el registro CNAME de DNS. | Actualice el registro CNAME del DNS virtual IPs (nombres de los balanceadores de carga) para que apunte al clúster de los servidores web y de aplicaciones. | Especialista en migración, administrador de la nube | 
| Pruebe la aplicación en los entornos aplicables. | Inicie sesión en la nueva EC2 instancia y pruebe la aplicación en los entornos de desarrollo, control de calidad, preproducción y producción. | Especialista en migración, administrador de la nube | 
| Marque como listo para la transición. | Cuando se hayan completado las pruebas, cambie el estado del servidor de origen para indicar que está listo para la transición, de modo que los usuarios puedan iniciar una instancia de transición. Para obtener instrucciones, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#mark-as-ready-for-cutover). | Especialista en migración, administrador de la nube | 

### Fase de transición
<a name="cutover-phase"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un plan de implementación de producción. | Cree un plan de implementación de producción (que incluya un plan de respaldo). | Especialista en migración, administrador de la nube | 
| Notifique al equipo de operaciones sobre el tiempo de inactividad. | Notifique al equipo de operaciones el programa de inactividad de los servidores. Es posible que algunos equipos necesiten un ticket de solicitud de cambio o de solicitud de servicio (CR/SR) para esta notificación. | Especialista en migración, administrador de la nube | 
| Replique los equipos de producción. | Replique los equipos de producción mediante Application Migration Service u otra herramienta de migración. | Especialista en migración, administrador de la nube | 
| Cierre los servidores de origen incluidos en el ámbito de aplicación. | Tras comprobar el estado de replicación de los servidores de origen, puede cerrar los servidores de origen para detener las transacciones de las aplicaciones cliente a los servidores. Puede cerrar los servidores de origen en la ventana de transición. Para obtener más información, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#shut-down-the-in-scope-source-servers). | Administrador de la nube | 
| Inicie instancias para la transición. | Inicie todos los equipos de destino de una oleada determinada en Application Migration Service en modo de transición. Para obtener más información, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-cutover). | Especialista en migración, administrador de la nube | 
| Recupere la instancia de destino. IPs | Recupera IPs las cuatro instancias de destino. Si la actualización del DNS es un proceso manual en su entorno, necesitará obtener las nuevas direcciones IP de todas las instancias de destino. Para obtener más información, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#retrieve-the-target-instance-ip). | Especialista en migración, administrador de la nube | 
| Verifique las conexiones del servidor de destino. | Tras actualizar los registros DNS, puede conectarse a las instancias de destino con el nombre de host para comprobar las conexiones. Para obtener más información, consulte la [Guía de implementación de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#verify-the-target-server-connections). | Especialista en migración, administrador de la nube | 

## Recursos relacionados
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-resources"></a>
+ [¿Cómo migrar?](https://aws.amazon.com/migrate-modernize-build/cloud-migration/how-to-migrate/)
+ [Guía de implementación de AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html)
+ [Automatizar las migraciones de servidores a gran escala con Cloud Migration Factory](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-factory-cloudendure/welcome.html)
+ [Guía de usuario del servicio de migración de aplicaciones de AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Programa de aceleración de la migración AWS](https://aws.amazon.com/migration-acceleration-program/)

## Conexiones
<a name="attachments-8e2d2d72-30cc-4e98-8abd-ac2ef95e599b"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/attachments/attachment.zip)

# Configure una infraestructura Multi-AZ para una FCI Always On de SQL Server mediante Amazon FSx
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, T.V.R.L. Phani Kumar Dadi, Nishad Mankar y RAJNEESH TYAGI, Amazon Web Services*

## Resumen
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Si necesita migrar rápidamente un gran número de instancias de clúster de conmutación por error Always On de Microsoft SQL Server (FCIs), este patrón puede ayudarle a minimizar el tiempo de aprovisionamiento. Al utilizar la automatización y Amazon FSx for Windows File Server, se reducen los esfuerzos manuales, los errores cometidos por el hombre y el tiempo necesario para implementar una gran cantidad de clústeres.

Este patrón configura la infraestructura de SQL Server FCIs en una implementación de zona de disponibilidad múltiple (Multi-AZ) en Amazon Web Services (AWS). El aprovisionamiento de los servicios de AWS necesarios para esta infraestructura se automatiza mediante CloudFormation plantillas de [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). La instalación de SQL Server y la creación de nodos de clúster en una instancia de [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) se realizan mediante PowerShell comandos.

Esta solución utiliza un sistema de archivos [Amazon FSx para Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) Multi-AZ de alta disponibilidad como testigo compartido para almacenar los archivos de la base de datos de SQL Server. El sistema de FSx archivos de Amazon y las instancias de EC2 Windows que alojan SQL Server se unen al mismo dominio de AWS Directory Service para Microsoft Active Directory (AWS Managed Microsoft AD).

## Requisitos previos y limitaciones
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Un usuario de AWS con permisos suficientes para aprovisionar recursos mediante CloudFormation plantillas de AWS
+ AWS Directory Service para Microsoft Active Directory
+ Credenciales en AWS Secrets Manager para autenticarse en AWS Managed Microsoft AD en un par clave-valor:
  + `ADDomainName`: <Nombre del dominio>
  + `ADDomainJoinUserName`: <Nombre-de-usuario>
  + `ADDomainJoinPassword`: <Domain User Password>
  + `TargetOU`: <Target OU Value>
**nota**  
Utilizará el mismo nombre clave en la automatización de AWS Systems Manager para la actividad de unión a AWS Managed Microsoft AD.
+ Archivos multimedia de SQL Server para la instalación de SQL Server y la creación de cuentas de servicio o dominio de Windows, que se utilizarán durante la creación del clúster
+ Una nube privada virtual (VPC), con dos subredes públicas en zonas de disponibilidad independientes, dos subredes privadas en las zonas de disponibilidad, una puerta de enlace de Internet, puertas de enlace NAT, asociaciones de tablas de enrutamiento y un servidor Jump

**Versiones de producto**
+ Microsoft Windows Server 2012 R2 y Microsoft SQL Server 2016

## Arquitectura
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Pila de tecnología de origen**
+ SQL Server local con el FCIs uso de una unidad compartida

**Pila de tecnología de destino**
+  EC2 Instancias de AWS
+ Servidor FSx de archivos Amazon para Windows
+ Manual de procedimiento de Automatización de AWS Systems Manager
+ Configuraciones de red (VPC, subredes, puerta de enlace de Internet, puertas de enlace NAT, servidor de salto, grupos de seguridad)
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ Amazon EventBridge
+ AWS Identity y Access Management (IAM)

**Arquitectura de destino**

El siguiente diagrama muestra una cuenta de AWS en una sola región de AWS, con una VPC que incluye dos zonas de disponibilidad, dos subredes públicas con puertas de enlace NAT, un servidor de salto en la primera subred pública, dos subredes privadas, cada una con una EC2 instancia para un nodo de SQL Server en un grupo de seguridad de nodos, y un sistema de FSx archivos de Amazon que se conecta a cada uno de los nodos de SQL Server. También se incluyen AWS Directory Service EventBridge, Amazon, AWS Secrets Manager y AWS Systems Manager.

![\[Arquitectura multi-AZ con recursos en subredes públicas y privadas, con grupos de seguridad de nodos.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automatización y escala**
+ Puede usar AWS Systems Manager para unirse a AWS Managed Microsoft AD y realizar la instalación de SQL Server.

## Tools (Herramientas)
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Servicios de AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) le CloudFormation ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en todas las cuentas y regiones de AWS.
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) ofrece varias formas de utilizar Microsoft Active Directory (AD) con otros servicios de AWS, como Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) para SQL Server y FSx Amazon para Windows File Server.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) es un servicio de bus de eventos sin servidor que le ayuda a conectar sus aplicaciones con datos en tiempo real de diversas fuentes. Por ejemplo, las funciones de AWS Lambda, los puntos de conexión de invocación HTTP que utilizan destinos de API o los buses de eventos de otras cuentas de AWS.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) le permite reemplazar las credenciales codificadas en el código, incluidas las contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) le permite administrar las aplicaciones y la infraestructura que se ejecutan en la nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo requerido para detectar y resolver problemas operativos y ayuda a utilizar y administrar los recursos de AWS a escala de manera segura.

**Otras herramientas**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)es un programa de administración de automatización y configuración de Microsoft que se ejecuta en Windows, Linux y macOS. Este patrón utiliza PowerShell scripts.

**Repositorio de código**

El código de este patrón está disponible en el repositorio GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Prácticas recomendadas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ Las funciones de IAM que se utilizan para implementar esta solución deben cumplir con el principio de privilegios mínimos. Para obtener más información, consulte [la documentación de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Siga las [prácticas CloudFormation recomendadas de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Epics
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Implementación de la infraestructura
<a name="deploy-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la CloudFormation pila Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingeniero | 
| Implemente la pila de infraestructuras. | Tras implementar correctamente la pila de Systems Manager, cree la `infra` pila, que incluye los nodos de EC2 instancia, los grupos de seguridad, el sistema de archivos Amazon FSx for Windows File Server y la función de IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingeniero | 

### Configure el Windows SQL Server Always On FCI
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale las herramientas de Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingeniero, administrador de bases de datos | 
| Preconfigure los objetos informáticos del clúster en los servicios de dominio de Active Directory. | Para preconfigurar el objeto de nombre de clúster (CNO) en los Servicios de dominio de Active Directory (AD DS) y preconfigurar un objeto de equipo virtual (VCO) para una función agrupada, siga las instrucciones de [Documentación de Windows Server.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Cree el WSFC. | Para crear el Clúster de Conmutación por error de Windows Server (WSFC), haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Instale el clúster de conmutación por error de SQL Server. | Una vez configurado el clúster de WSFC, instale el clúster de SQL Server en la instancia principal (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Agregue un nodo secundario al clúster. | Para añadir SQL Server al nodo secundario (nodo 2), ejecute el siguiente PowerShell comando.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Pruebe la FCI de SQL Server. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, ingeniero DevOps  | 

### Eliminar recursos
<a name="clean-up-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Eliminación de recursos. | Para limpiar los recursos, utilice el proceso de eliminación de CloudFormation pilas de AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Una vez que se haya completado la eliminación de la pila, la pila estará en el estado `DELETE_COMPLETE`. De forma predeterminada, las pilas en ese `DELETE_COMPLETE` estado no se muestran en la CloudFormation consola. Para mostrar las pilas eliminadas, debe cambiar el filtro de vista de pilas tal y como se describe en [Visualización de las pilas eliminadas en la consola de AWS CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html).Si la eliminación ha fallado, la pila tendrá el estado `DELETE_FAILED`. Para obtener información sobre las soluciones, consulte los errores al [eliminar una pila](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) en la CloudFormation documentación. | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 

## Resolución de problemas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Fallo en CloudFormation la plantilla de AWS | Si la CloudFormation plantilla falla durante la implementación, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Error de conexión de AWS Managed Microsoft AD | Para solucionar los problemas de unión, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Recursos relacionados
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Simplifique las implementaciones de alta disponibilidad de Microsoft SQL Server con Amazon FSx for Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Uso FSx para Windows File Server con Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)

# Utilice las consultas de BMC Discovery para extraer datos de migración para planificar la migración
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning"></a>

*Ben Tailor-Hamblin, Emma Baldry, Simon Cunningham y Shabnam Khan, Amazon Web Services*

## Resumen
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-summary"></a>

Esta guía proporciona ejemplos de consultas y pasos que le ayudarán a extraer datos de su infraestructura y aplicaciones en las instalaciones mediante BMC Discovery. El patrón le muestra cómo utilizar las consultas de BMC Discovery para analizar su infraestructura y extraer información sobre el software, los servicios y las dependencias. Los datos extraídos son necesarios para las fases de evaluación y movilización de una migración a gran escala a la nube de Amazon Web Services (AWS). Puede utilizar estos datos para tomar decisiones críticas sobre qué aplicaciones migrar juntas como parte de su plan de migración.

## Requisitos previos y limitaciones
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-prereqs"></a>

**Requisitos previos **
+ Una licencia para BMC Discovery (anteriormente BMC ADDM) o la versión de software como servicio (SaaS) de BMC Helix Discovery
+ La versión de BMC Discovery en las instalaciones o SaaS [instalada](https://docs.bmc.com/docs/discovery/221/installing-1050933835.html) 
**nota**  
En el caso de las versiones en las instalaciones de BMC Discovery, debe instalar la aplicación en una red cliente con acceso a todos los dispositivos de red y servidor que puedan migrarse a varios centros de datos. El acceso a la red del cliente debe proporcionarse de acuerdo con las instrucciones de instalación de la aplicación. Si es necesario escanear la información de Windows Server, debe configurar un dispositivo administrador de proxy de Windows en la red.
+ [Acceso a la red](https://docs.bmc.com/docs/discovery/221/network-ports-used-for-discovery-communications-1050933821.html) para permitir que la aplicación escanee dispositivos en todos los centros de datos, si utiliza BMC Helix Discovery

**Versiones de producto**
+ BMC Discovery 22.2 (12.5)
+ BMC Discovery 22.1 (12.4)
+ BMC Discovery 21.3 (12.3)
+ BMC Discovery 21.05 (12.2)
+ BMC Discovery 20.08 (12.1)
+ BMC Discovery 20.02 (12.0)
+ BMC Discovery 11.3
+ BMC Discovery 11.2
+ BMC Discovery 11.1
+ BMC Discovery 11.0
+ BMC Atrium Discovery 10.2
+ BMC Atrium Discovery 10.1
+ BMC Atrium Discovery 10.0

## Arquitectura
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-architecture"></a>

El siguiente diagrama muestra cómo los administradores de activos pueden utilizar las consultas de BMC Discovery para escanear aplicaciones modeladas por BMC en entornos SaaS y en las instalaciones.

![\[Arquitectura que utiliza BMC Discovery para extraer información sobre el software, los servicios y las dependencias.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5e549882-8deb-4459-8891-e39bbf80e320/images/0ebb3e68-5828-45aa-86f4-c741c7b6cd94.jpeg)


El diagrama muestra el siguiente flujo de trabajo: un administrador de activos utiliza BMC Discovery o BMC Helix Discovery para escanear las instancias de bases de datos y software que se ejecutan en servidores virtuales alojados en varios servidores físicos. La herramienta puede modelar aplicaciones con componentes que abarquen varios servidores físicos y virtuales.

**Pila de tecnología**
+ BMC Discovery
+ BMC Helix Discovery

## Tools (Herramientas)
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-tools"></a>
+ [BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) es una herramienta de detección de centros de datos que le ayuda a descubrir automáticamente su centro de datos.
+ [BMC Helix Discovery](https://www.bmc.com/it-solutions/bmc-helix-discovery.html) es un sistema de descubrimiento y modelado de dependencias basado en SaaS que le ayuda a modelar dinámicamente sus activos de datos y sus dependencias.

## Prácticas recomendadas
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-best-practices"></a>

Se recomienda mapear los datos de las aplicaciones, las dependencias y la infraestructura al migrar a la nube. El mapeo le ayuda a comprender la complejidad de su entorno actual y las dependencias entre los distintos componentes.

La información sobre los activos que proporcionan estas consultas es importante por varios motivos:

1. **Planificación**: comprender las dependencias entre los componentes le ayuda a planificar el proceso de migración de forma más eficaz. Por ejemplo, es posible que primero deba migrar algunos componentes para asegurarse de que otros se puedan migrar correctamente.

1. **Evaluación de riesgos**: mapear las dependencias entre los componentes puede ayudarle a identificar cualquier riesgo o problema potencial que pueda surgir durante el proceso de migración. Por ejemplo, es posible que descubra que algunos componentes se basan en tecnologías anticuadas o no compatibles, lo que podría provocar problemas en la nube.

1. **Arquitectura de nube**: mapear los datos de sus aplicaciones e infraestructura también puede ayudarlo a diseñar una arquitectura de nube adecuada que satisfaga las necesidades de su organización. Por ejemplo, es posible que necesite diseñar una arquitectura de varios niveles para cumplir con los requisitos de alta disponibilidad o escalabilidad.

En general, el mapeo de los datos de las aplicaciones, las dependencias y la infraestructura es un paso crucial en el proceso de migración a la nube. El ejercicio de mapeo puede ayudarlo a comprender mejor su entorno actual, identificar cualquier problema o riesgo potencial y diseñar una arquitectura de nube adecuada.

## Epics
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-epics"></a>

### Identifique y evalúe las herramientas de descubrimiento
<a name="identify-and-evaluate-discovery-tooling"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique a los propietarios de ITSM. | Identifique a los propietarios de la administración de servicios de TI (ITSM) (por lo general, contactando con los equipos de soporte operativo). | Líder de migración | 
| Visitar CMDB.  | Identifique la cantidad de bases de datos de administración de la configuración (CMDBs) que contienen información de activos y, a continuación, identifique las fuentes de esa información. | Líder de migración | 
| Identifique las herramientas de descubrimiento y compruebe el uso de BMC Discovery. | Si su organización utiliza BMC Discovery para enviar datos sobre su entorno a la herramienta CMDB, compruebe el alcance y la cobertura de sus escaneos. Por ejemplo, compruebe si BMC Discovery escanea todos los centros de datos y si los servidores de acceso están ubicados en zonas perimetrales. | Líder de migración | 
| Compruebe el nivel de modelado de la aplicación. | Compruebe si las aplicaciones están modeladas en BMC Discovery. Si no es así, recomiende utilizar la herramienta BMC Discovery para modelar qué instancias de software en ejecución proporcionan una aplicación y un servicio empresarial. | Ingeniero de migraciones, líder de migración | 

### Extracción de datos de infraestructura
<a name="extract-infrastructure-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Extraiga datos en servidores físicos y virtuales. | Para extraer datos de los servidores físicos y virtuales escaneados por BMC Discovery, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search Host show key as 'Serverid', virtual, name as 'HOSTNAME', os_type as 'osName', os_version as 'OS Version', num_logical_processors as 'Logical Processor Counts', cores_per_processor as 'Cores per Processor', logical_ram as 'Logical RAM', #Consumer:StorageUse:Provider:DiskDrive.size as 'Size'</pre>Puede utilizar los datos extraídos para determinar los tamaños de instancia adecuados para la migración. | Ingeniero de migraciones, líder de migración | 
| Extraiga datos de aplicaciones modeladas. | Si sus aplicaciones están modeladas en BMC Discovery, puede extraer datos sobre los servidores que ejecutan el software de la aplicación. Para obtener los nombres de los servidores, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search SoftwareInstance show key as 'ApplicationID', #RunningSoftware:HostedSoftware:Host:Host.key as 'ReferenceID', type, name</pre>Las aplicaciones se modelan en BMC Discovery mediante un conjunto de instancias de software en ejecución. La aplicación depende de todos los servidores que ejecutan el software de la aplicación. | Propietario de la aplicación BMC Discovery | 
| Extraiga datos de bases de datos. | Para obtener una lista de todas las bases de datos escaneadas y los servidores en los que se ejecutan estas bases de datos, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search Database show key as 'Key', name, type as 'Source Engine Type', #Detail:Detail:ElementWithDetail:SoftwareInstance.name as 'Software Instance', #Detail:Detail:ElementWithDetail:SoftwareInstance.product_version as 'Product Version', #Detail:Detail:ElementWithDetail:SoftwareInstance.edition as 'Edition', #Detail:Detail:ElementWithDetail:SoftwareInstance.#RunningSoftware:HostedSoftware:Host:Host.key as 'ServerID'</pre> | Propietario de la aplicación | 
| Extraiga datos de la comunicación con el servidor. | Para obtener información sobre todas las comunicaciones de red entre servidores recopilada por BMC Discovery a partir de los registros históricos de comunicaciones de red, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search Host<br /> TRAVERSE InferredElement:Inference:Associate:DiscoveryAccess<br /> TRAVERSE DiscoveryAccess:DiscoveryAccessResult:DiscoveryResult:NetworkConnectionList<br /> TRAVERSE List:List:Member:DiscoveredNetworkConnection<br /> PROCESS WITH networkConnectionInfo</pre> | Propietario de la aplicación BMC Discovery | 
| Extraiga datos sobre el descubrimiento de aplicaciones. | Para obtener información sobre las dependencias de las aplicaciones, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search SoftwareInstance show key as 'SRC App ID', #Dependant:Dependency:DependedUpon:SoftwareInstance.key as 'DEST App ID'</pre> | Propietario de la aplicación BMC Discovery | 
| Extraiga datos sobre servicios empresariales. | Para extraer datos sobre los servicios empresariales proporcionados por los hosts, utilice [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) para ejecutar la siguiente consulta:<pre>search Host show name, #Host:HostedSoftware:AggregateSoftware:BusinessService.name as 'Name'</pre> | Propietario de la aplicación BMC Discovery | 

## Resolución de problemas
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No se puede ejecutar una consulta o contiene columnas sin rellenar. | Revise los registros de activos de BMC Discovery y determine qué campos necesita. A continuación, sustituya estos campos en la consulta mediante [Generador de consultas](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html). | 
| Los detalles de un activo dependiente no se rellenan. | Es probable que esto se deba a los permisos de acceso o a la conectividad de la red. Es posible que la herramienta de detección no tenga los permisos necesarios para acceder a determinados activos, especialmente si se encuentran en redes o entornos diferentes.Le recomendamos que colabore estrechamente con expertos en la materia de descubrimiento para garantizar que se identifiquen todos los activos relevantes. | 

## Recursos relacionados
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-resources"></a>

**Referencias**
+ [Derechos de BMC Discovery Licensing](https://docs.bmc.com/docs/discovery/bmc-discovery-licensing-entitlement-531336348.html) (documentación de BMC)
+ [Características y componentes de BMC Discovery](https://docs.bmc.com/docs/discovery/221/bmc-discovery-features-and-components-1052418000.html) (documentación de BMC)
+ [Guía del usuario de BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) (documentación de BMC)
+ [Búsqueda de datos (en BMC Discovery)](https://docs.bmc.com/docs/discovery/120/searching-for-data-911457232.html) (documentación de BMC)
+ [Descubrimiento y análisis de carteras para la migración](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-portfolio-discovery/welcome.html) (Recomendaciones de AWS)

**Tutoriales y videos**
+ [BMC Discovery: seminario web sobre las mejores prácticas en materia de consultas de informes (primera parte) (YouTube)](https://www.youtube.com/watch?v=iwXy6x40kO8)

# Reubicar
<a name="migration-relocate-pattern-list"></a>

**Topics**
+ [Migre una base de datos de Amazon RDS for Oracle a Cuenta de AWS otra Región de AWS y AWS DMS utilícela para la replicación continua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migración de una instancia de base de datos de Amazon RDS a otra VPC o cuenta](migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.md)
+ [Migración de un clúster de Amazon Redshift a una región de AWS en China](migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china.md)
+ [Transportar bases de datos PostgreSQL entre dos instancias de base de datos de Amazon RDS utilizando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Migre una base de datos de Amazon RDS for Oracle a Cuenta de AWS otra Región de AWS y AWS DMS utilícela para la replicación continua
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication"></a>

*Durga Prasad Cheepuri y Eduardo Valentim, Amazon Web Services*

## Resumen
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-summary"></a>


| 
| 
| Advertencia: Los usuarios de IAM tienen credenciales de larga duración, lo que supone un riesgo de seguridad. Para ayudar a mitigar este riesgo, le recomendamos que brinde a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten. | 
| --- |

Este patrón le guía por los pasos para migrar una base de datos fuente de Amazon Relational Database Service (Amazon RDS) para Oracle a una y diferente. Cuenta de AWS Región de AWS El patrón utiliza una instantánea de base de datos para una carga completa de datos única y habilita AWS Database Migration Service (AWS DMS) para una replicación continua.

## Requisitos previos y limitaciones
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS que contiene la base de datos Amazon RDS for Oracle de origen, que se ha cifrado con una clave AWS Key Management Service distinta de la predeterminada AWS KMS()
+ Un activo Cuenta de AWS en una base de datos Región de AWS diferente a la de origen, para usarlo en la base de datos Amazon RDS for Oracle de destino
+ Emparejamiento de nube privada virtual (VPC) entre el origen y el destino VPCs
+ Familiaridad con el [uso de una base de datos Oracle como fuente de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Familiaridad con el [uso de una base de datos Oracle como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 

**Versiones de producto**
+ Versiones de Oracle 11g (versiones 11.2.0.3.v1 y posteriores) hasta 12.2, y 18c. Para ver la lista más reciente de versiones y ediciones compatibles, consulte la AWS documentación sobre el [uso de una base de datos Oracle como fuente AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) [y con el uso de una base de AWS DMS datos Oracle como destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html). Para ver las versiones de Oracle compatibles con Amazon RDS, consulte [Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html). 

## Arquitectura
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-architecture"></a>

**Pilas de tecnología de origen y destino**
+ Instancia de base de datos de Amazon RDS para Oracle

![\[Cuenta de AWS de origen que se conecta a la cuenta de AWS de destino que contiene las regiones de origen y destino\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/e17fa7fe-d924-4f35-9707-b93572fa1227.png)


**Arquitectura de replicación continua**

![\[Base de datos en una EC2 instancia que se conecta mediante el emparejamiento de VPC a una instancia de replicación y Amazon RDS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/b60b3500-5d29-487a-bbab-0ae9f3f386aa.png)


## Tools (Herramientas)
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-tools"></a>

**Herramientas utilizadas para la carga completa de datos de una sola vez**
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) crea una instantánea del volumen de almacenamiento de la instancia de base de datos; para ello, hace una copia de seguridad de toda la instancia de base de datos y no solo de las bases de datos individuales. Cuando se crea una instantánea de base de datos, se debe identificar la instancia de base de datos cuya copia de seguridad se va a realizar y, a continuación, se debe asignar un nombre a la instantánea de base de datos para poder restaurarla posteriormente. El tiempo que tarda en crearse una instantánea varía en función del tamaño de sus bases de datos. Debido a que la instantánea incluye todo el volumen de almacenamiento, el tamaño de los archivos (por ejemplo, archivos temporales) también afecta la cantidad de tiempo que tarda en crearse la instantánea. Para obtener más información acerca de la instantáneas de base de datos, consulte [crear una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) en la documentación de Amazon RDS. 
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) crea una**** clave para el**** cifrado de**** Amazon RDS. Al crear una instancia de base de datos cifrada, también puede proporcionar el identificador de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)clave de su clave de cifrado. Si no especifica un identificador de clave de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html), Amazon RDS utiliza la clave de cifrado predeterminada para la nueva instancia de base de datos. [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) crea la clave de cifrado predeterminada para su Cuenta de AWS. Cuenta de AWS Tiene una clave de cifrado predeterminada diferente para cada una de ellas Región de AWS. En este patrón, la instancia de base de datos de Amazon RDS debe cifrarse con la clave de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) no predeterminada. Para obtener más información sobre el uso de claves de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) para el cifrado de Amazon RDS, consulte [Cifrado de recursos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) en la documentación de Amazon RDS.

**Herramientas utilizadas para la replicación continua**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) se utiliza para replicar los cambios en curso y para mantener sincronizadas las bases de datos de origen y destino. Para obtener más información sobre AWS DMS su uso para la replicación continua, consulte [Trabajar con una instancia de AWS DMS replicación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) en la AWS DMS documentación. 

## Epics
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-epics"></a>

### Configure su fuente Cuenta de AWS
<a name="configure-your-source-aws-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la instancia de base de datos de origen. | Ejecute la instancia de base de datos Amazon RDS para Oracle en modo ARCHIVELOG y defina el período de retención. Para obtener más información, consulte [Trabajar con una base de datos Oracle AWS gestionada como fuente de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | Administrador de base de datos | 
| Configure el registro complementario para la instancia de base de datos de Oracle de origen. | Configure el registro complementario a nivel de base de datos y de tabla para la instancia de base de datos de Amazon RDS para Oracle. Para obtener más información, consulte [Trabajar con una base de datos Oracle AWS gestionada como fuente de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | Administrador de base de datos | 
| Actualice la política AWS KMS clave de la cuenta de origen. | Actualice la política de AWS KMS claves en el origen Cuenta de AWS para permitir que el destino Cuenta de AWS utilice la AWS KMS clave cifrada de Amazon RDS. Para obtener más información, consulte la [documentación de AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts). | SysAdmin | 
| Cree una instantánea manual de Amazon RDS de la instancia de base de datos de origen. |  | AWS IAM user | 
| Compartir la instantánea manual cifrada de Amazon RDS con la Cuenta de AWS de destino. | Para obtener más información, consulte [Uso compartido de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html). | Usuario de AWS IAM | 

### Configure su objetivo Cuenta de AWS
<a name="configure-your-target-aws-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Adjunte una política.  | En el destino Cuenta de AWS, adjunte una política AWS Identity and Access Management (IAM) al usuario raíz de IAM para que este pueda copiar una instantánea de base de datos cifrada con la clave compartida. AWS KMS  | SysAdmin | 
| Cambiar a la Región de AWS de origen. |  | Usuario de AWS IAM | 
| Copie la instantánea compartida. | En la consola de Amazon RDS, en el panel **Instantáneas**, elija **Compartido conmigo** y, a continuación, seleccione la instantánea compartida. Copie la instantánea en la Región de AWS misma base de datos de origen utilizando el Amazon Resource Name (ARN) como AWS KMS clave utilizada por la base de datos de origen. Para obtener más información, consulte [Copia de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html). | Usuario de AWS IAM | 
| Cambie al destino Región de AWS y cree una AWS KMS clave nueva. |  | Usuario de AWS IAM | 
| Copie la instantánea. | Cambiar a la Región de AWS de origen. En la consola de Amazon RDS, en el panel **Instantáneas**, elija **De mi propiedad** y, a continuación, seleccione la instantánea copiada. Copie la instantánea en el objetivo Región de AWS mediante la AWS KMS clave del nuevo objetivo Región de AWS. | Usuario de AWS IAM | 
| Restaurare la instantánea. | Cambia al objetivo Región de AWS. En la consola de Amazon RDS, en el panel **Instantáneas**, elija **De mi propiedad**. Seleccione la instantánea copiada y restáurela en una instancia de base de datos de Amazon RDS para Oracle. Para obtener más información, consulte [Restauración a una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Usuario de AWS IAM | 

### Prepare la base de datos de origen para la replicación continua
<a name="prepare-your-source-database-for-ongoing-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un usuario de Oracle con los permisos adecuados. | Crear un usuario de Oracle con los privilegios obligatorios para Oracle como origen para AWS DMS. Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | Administrador de base de datos | 
| Configure la base de datos de origen para Oracle LogMiner u Oracle Binary Reader. |  | Administrador de base de datos | 

### Prepare la base de datos de destino para la replicación continua
<a name="prepare-your-target-database-for-ongoing-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un usuario de Oracle con los permisos adecuados. | Cree un usuario de Oracle con los privilegios obligatorios para Oracle como destino de AWS DMS. Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Privileges). | Administrador de base de datos | 

### Cree AWS DMS componentes
<a name="create-dms-components"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación en el destino Región de AWS. | Cree una instancia de replicación en la VPC del destino. Región de AWS Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance). | Usuario de AWS IAM | 
| Cree puntos de conexión de origen y destino con el cifrado necesario y pruebe las conexiones. | Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints). | Administrador de base de datos | 
| Cree tareas de replicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.html)Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks). | Usuario de IAM | 
| Inicie las tareas y monitorícelas. | Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Usuario de AWS IAM | 
| Habilite la validación de la tarea si es necesario. | Tenga en cuenta que habilitar la validación afectará al rendimiento de la replicación. Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Usuario de AWS IAM | 

## Recursos relacionados
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-resources"></a>
+ [Cambiar una política clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)
+ [Crear una instantánea manual de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
+ [Crear una instantánea manual de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [Copia de una instantánea](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) 
+ [Restauración desde una instantánea de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) 
+ [Empezando con AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 
+ [Uso de una base de datos Oracle como fuente para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 
+ [Utilizar una base de datos Oracle como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 
+ [AWS DMS configuración mediante interconexión de VPC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) 
+ [¿Cómo comparto instantáneas de bases de datos manuales de Amazon RDS o instantáneas de clústeres de bases de datos con otra Cuenta de AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (Artículo del centro de conocimientos de AWS) 

# Migración de una instancia de base de datos de Amazon RDS a otra VPC o cuenta
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account"></a>

*Dhrubajyoti Mukherjee, Amazon Web Services*

## Resumen
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-summary"></a>

Este patrón proporciona una guía para migrar una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) de una nube privada virtual (VPC) a otra en la misma cuenta de AWS, o bien de una cuenta de AWS a otra cuenta de AWS.

Este patrón resulta útil si quiere migrar sus instancias de base de datos de Amazon RDS a otra VPC o cuenta por motivos de seguridad o de separación (por ejemplo, cuando quiere colocar la pila de aplicaciones y la base de datos en VPCs un lugar diferente). 

La migración de una instancia de base de datos a otra cuenta de AWS conlleva ciertos pasos, como tomar una instantánea manual, compartirla y restaurar la instantánea en la cuenta de destino. En función de los cambios en la base de datos y de las tasas de transacción, este proceso puede llevar mucho tiempo. También provoca un tiempo de inactividad en la base de datos, por lo que debe planificar la migración con antelación. Considere una estrategia de blue/green implementación para minimizar el tiempo de inactividad. Como alternativa, puede evaluar AWS Data Migration Service (AWS DMS) para minimizar el tiempo de inactividad provocado por el cambio. Sin embargo, este patrón no aborda dicha opción. Para obtener más información, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html).

## Requisitos previos y limitaciones
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Permisos de AWS Identity and Access Management (IAM) para la VPC, las subredes y la consola de Amazon RDS

**Limitaciones**
+ Los cambios en una VPC provocan el reinicio de la base de datos, lo que, a su vez, provoca interrupciones en las aplicaciones. Se recomienda que realice la migración durante las horas de menor actividad.
+ Limitaciones al migrar Amazon RDS a otra VPC:
  + La instancia de base de datos a migrar debe ser una instancia única y no estar en espera. No puede formar parte de un clúster.
  + Amazon RDS no debe estar en varias zonas de disponibilidad.
  + Amazon RDS no debe tener réplicas de lectura.
  + El grupo de subredes creado en la VPC de destino debe tener subredes en la zona de disponibilidad en la que se ejecuta la base de datos de origen.
+ Limitaciones al migrar Amazon RDS a otra cuenta de AWS:
  + Actualmente no es posible compartir instantáneas cifradas con la clave de servicio predeterminada de Amazon RDS.

## Arquitectura
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-architecture"></a>

**Migración a una VPC en la misma cuenta de AWS**

El siguiente diagrama muestra el flujo de trabajo para migrar una instancia de base de datos de Amazon RDS a una VPC diferente en la misma cuenta de AWS.

![\[Flujo de trabajo para migrar una instancia de base de datos de Amazon RDS a una VPC diferente en la misma cuenta de AWS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/73e16544-6276-4f03-9ae2-42b8c7c20315.png)


Los pasos son los siguientes. Consulte la sección [Epics](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) para obtener instrucciones detalladas.

1. Cree un grupo de subredes de base de datos en la VPC de destino. Un grupo de subredes de base de datos es una colección de subredes que se permiten especificar una VPC concreta al crear instancias de base de datos.

1. Configure la instancia de base de datos de Amazon RDS en la VPC de origen para usar el nuevo grupo de subredes de base de datos.

1. Aplique los cambios para migrar la base de datos de Amazon RDS a la VPC de destino.

**Migración a otra cuenta de AWS**

El siguiente diagrama muestra el flujo de trabajo para migrar una instancia de base de datos de Amazon RDS a una cuenta diferente de AWS.

![\[Flujo de trabajo para migrar una instancia de base de datos de Amazon RDS a una cuenta diferente de AWS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/5536e69e-3965-4ca2-8a0b-2573659b5f8f.png)


Los pasos son los siguientes. Consulte la sección [Epics](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) para obtener instrucciones detalladas.

1. Acceda a la instancia de base de datos de Amazon RDS en la cuenta de AWS de origen.

1. Cree una instantánea de Amazon RDS en la cuenta de AWS de origen.

1. Comparta la instantánea de Amazon RDS con la cuenta de AWS de destino.

1. Acceda a la instantánea de Amazon RDS en la cuenta de AWS de destino.

1. Cree una instancia de base de datos de Amazon RDS en la cuenta de AWS de destino.

## Tools (Herramientas)
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-tools"></a>

**Servicios de AWS**
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) le ayuda a configurar, utilizar y escalar una base de datos relacional en la nube de AWS.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le permite lanzar recursos de AWS en una red virtual que haya definido. Esta red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

## Prácticas recomendadas
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-best-practices"></a>
+ Si el tiempo de inactividad de la base de datos al migrar una instancia de base de datos de Amazon RDS a otra cuenta le resulta un problema, le recomendamos que use [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). La replicación de datos proporcionada por este servicio le permite reducir la interrupción a menos de cinco minutos.

## Epics
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics"></a>

### Migración a una VPC diferente en la misma cuenta de AWS
<a name="migrate-to-a-different-vpc-in-the-same-aws-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nueva VPC. | En la [consola de Amazon VPC](https://console.aws.amazon.com/vpc/), cree una nueva VPC y subredes con las propiedades y los rangos de direcciones IP deseados. Para obtener instrucciones detalladas, consulte la [documentación de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html). | Administrador | 
| Creación de un grupo de subredes de base de datos. | Abra la [consola de Amazon RDS](https://console.aws.amazon.com/rds/):[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Para obtener más información, consulte la [ documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.CreateDBSubnetGroup). | Administrador | 
| Modifique la instancia de base de datos de Amazon RDS para usar el nuevo grupo de subredes. | Abra la consola de Amazon RDS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Cuando se completa la migración a la VPC de destino, el grupo de seguridad predeterminado de la VPC de destino se asigna a la instancia de base de datos de Amazon RDS. Puede configurar un nuevo grupo de seguridad para esa VPC con las reglas de entrada y salida necesarias para su instancia de base de datos.También puede usar la interfaz de la línea de comandos de AWS (AWS CLI) para realizar la migración a la VPC de destino proporcionando explícitamente la ID del nuevo grupo de seguridad de la VPC. Por ejemplo:<pre>aws rds modify-db-instance \<br />    --db-instance-identifier testrds \<br />    --db-subnet-group-name new-vpc-subnet-group \<br />    --vpc-security-group-ids sg-idxxxx \<br />    --apply-immediately</pre> | Administrador | 

### Migración a una cuenta de AWS diferente
<a name="migrate-to-a-different-aws-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nueva VPC y un grupo de subredes en la cuenta de AWS de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrador | 
| Cree una instantánea manual de la base de datos y compártala con la cuenta de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrador | 
| Lance una nueva instancia de base de datos en Amazon RDS. | Lance una nueva instancia de base de datos de Amazon RDS a partir de la instantánea compartida en la cuenta de AWS de destino. Para obtener instrucciones, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html). | Administrador | 

## Recursos relacionados
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-resources"></a>
+ [Documentación de Amazon RDS](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
+ [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)
+ [¿Cómo cambio la VPC de una instancia de base de datos de Amazon RDS?](https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-rds-db-instance/) (artículo de AWS Re:post)
+ [¿Cómo transfiero la propiedad de los recursos de Amazon RDS a otra cuenta de AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-rds/) (artículo de AWS Re:post)
+ [¿Cómo comparto las instantáneas manuales de bases de datos de Amazon RDS o las instantáneas del clúster de base de datos Aurora con otra cuenta de AWS?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (artículo de AWS Re:post)
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)

# Migración de un clúster de Amazon Redshift a una región de AWS en China
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china"></a>

*Jing Yan, Amazon Web Services*

## Resumen
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-summary"></a>

Este patrón proporciona un step-by-step enfoque para migrar un clúster de Amazon Redshift a una región de AWS en China desde otra región de AWS.

Este patrón emplea comandos SQL para recrear todos los objetos de base de datos, y usa el comando UNLOAD para mover estos datos de Amazon Redshift a un bucket de Amazon Simple Storage Service (Amazon S3) en la región de origen. A continuación, los datos se migran a un bucket de S3 en la región de AWS en China. El comando COPY carga datos del bucket de S3 y los transfiere al clúster de Amazon Redshift de destino.

Actualmente, Amazon Redshift no admite características entre regiones, como la copia de instantáneas en regiones de AWS en China. Este patrón proporciona una forma de evitar esta limitación. También puede invertir los pasos de este patrón para migrar datos de una región de AWS en China a otra región de AWS.

## Requisitos previos y limitaciones
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-prereqs"></a>

*Requisitos previos *
+ Cuentas de AWS activas, tanto en una región de China como en una región de AWS fuera de China
+ Clústeres de Amazon Redshift existentes, tanto en una región de China como en una región de AWS fuera de China

*Limitaciones*
+ Esta es una migración sin conexión, por lo que el clúster de Amazon Redshift de origen no podrá realizar operaciones de escritura durante la migración.

## Arquitectura
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-architecture"></a>

**Pila de tecnología de origen**
+ Clúster de Amazon Redshift en una región de AWS fuera de China

**Pila de tecnología de destino**
+ Clúster de Amazon Redshift en una región de AWS en China

**Arquitectura de destino**

![\[Migración de los datos del clúster de Amazon Redshift de un bucket de S3 en una región de AWS a un bucket en una región de China.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f7d241d9-b700-406b-95a0-3e47e7f0fa60/images/b6016e3d-76db-4176-8f99-f804da94d3f2.png)


## Tools (Herramientas)
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-tools"></a>

**Herramientas**
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html): Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y resultados. Puede usar Amazon S3 para almacenar datos de Amazon Redshift y copiar datos de un bucket de S3 a Amazon Redshift.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html): Amazon Redshift es un servicio de almacenamiento de datos de varios petabytes totalmente administrado en la nube. 
+ [psql](https://www.postgresql.org/docs/8.4/app-psql.html): psql es un frontend de PostgreSQL basado en terminal. 

## Epics
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-epics"></a>

### Preparación para la migración en la región de origen
<a name="prepare-for-migration-in-the-source-region"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance y configure una EC2 instancia en la región de origen. | Inicie sesión en la consola de administración de AWS y abra la consola de Amazon Elastic Compute Cloud (Amazon EC2). En la barra de navegación de la parte superior de la pantalla, se muestra la región actual. Esta región no puede ser una región de AWS en China. En el panel de control de la EC2 consola de Amazon, selecciona «Lanzar instancia» y crea y configura una EC2 instancia. Importante: Asegúrese de que sus grupos de EC2 seguridad para las reglas de entrada permitan el acceso sin restricciones al puerto TCP 22 desde su máquina de origen. Para obtener instrucciones sobre cómo lanzar y configurar una EC2 instancia, consulta la sección «Recursos relacionados». | Administrador de base de datos, desarrollador | 
| Instale la herramienta psql. | Descargue e instale PostgreSQL. Amazon Redshift no proporciona la herramienta psql. Esta se instala con PostgreSQL. Para obtener más información sobre el uso de psql y la instalación de las herramientas de PostgreSQL, consulte la sección “Recursos relacionados”. | Administrador de base de datos | 
| Registre los detalles del clúster de Amazon Redshift.  | Abra la consola de Amazon Redshift y elija “Clústeres” en el panel de navegación. A continuación, seleccione el nombre del clúster de Amazon Redshift de la lista. En la pestaña “Propiedades”, en la sección “Configuraciones de la base de datos”, registre los valores de “Nombre de la base de datos” y “Puerto”. Abra la sección “Detalles de la conexión” y registre el valor de “Punto de conexión”, en el formato “endpoint:<puerto>/<nombrebasedatos>”. Importante: Asegúrese de que sus grupos de seguridad de Amazon Redshift para las reglas de entrada permitan el acceso sin restricciones al puerto TCP 5439 desde su instancia. EC2  | Administrador de base de datos | 
| Conecte psql al clúster de Amazon Redshift.  | En una línea de comandos, especifique la información de conexión ejecutando el comando “psql -h <puntoconexión> -U <idusuario> -d <nombrebasedatos> -p <puerto>”. Cuando se le solicite la contraseña de psql, ingrese la contraseña del usuario “<idusuario>”. Estará entonces conectado al clúster de Amazon Redshift y puede ingresar comandos de forma interactiva. | Administrador de base de datos | 
| Cree un bucket de S3.  | Abra la consola de Amazon S3 y cree un bucket de S3 que contenga los archivos exportados desde Amazon Redshift. Para obtener instrucciones sobre cómo crear un bucket de S3, consulte la sección “Recursos relacionados”. | Administrador de base de datos, AWS general | 
| Cree una política de IAM que permita descargar datos. | Abra la consola de AWS Identity and Access Management (IAM) y seleccione “Políticas”. Seleccione “Crear política” y, a continuación, la pestaña “JSON”. Copie y pegue la política de IAM para descargar datos de la sección “Información adicional”. Importante: Sustituya “s3\$1bucket\$1name” por el nombre de su bucket de S3. Seleccione “Revisar política” e ingrese un nombre y una descripción para la política. Seleccione “Crear política”. | Administrador de base de datos | 
| Cree un rol de IAM que permita la operación UNLOAD en Amazon Redshift. | Abra la consola de IAM y seleccione “Roles”. Seleccione “Crear rol” y elija “Servicio de AWS” en “Seleccionar el tipo de entidad de confianza”. Elija “Redshift” en el servicio, seleccione “Redshift - Personalizable” y, a continuación, elija “Siguiente”. Elija la política “Descargar” que creó anteriormente y seleccione “Siguiente”. Ingrese un valor en “Nombre del rol” y seleccione “Crear rol”. | Administrador de base de datos | 
| Asociar un rol de IAM al clúster de Amazon Redshift.  | Abra la consola de Amazon Redshift y elija “Administrar roles de IAM”. Elija “Roles disponibles” en el menú desplegable y seleccione el rol que creó anteriormente. Seleccione “Aplicar cambios”. Cuando el valor de “Estado” del rol de IAM en la sección “Administrar roles de IAM” aparezca como “Sincronizado”, podrá ejecutar el comando UNLOAD. | Administrador de base de datos | 
| Detenga las operaciones de escritura en el clúster de Amazon Redshift. | Recuerde detener todas las operaciones de escritura en el clúster de Amazon Redshift de origen hasta que se complete la migración. | Administrador de base de datos | 

### Preparación para la migración en la región de destino
<a name="prepare-for-migration-in-the-target-region"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance y configure una EC2 instancia en la región de destino. | Inicie sesión en la consola de administración de AWS de una región de China, ya sea Pekín o Ningxia. En la EC2 consola de Amazon, selecciona «Lanzar instancia» y crea y configura una EC2 instancia. Importante: Asegúrese de que sus grupos de EC2 seguridad de Amazon para las reglas de entrada permitan el acceso sin restricciones al puerto TCP 22 desde su máquina de origen. Para obtener más instrucciones sobre cómo lanzar y configurar una EC2 instancia, consulta la sección «Recursos relacionados». | Administrador de base de datos | 
| Registre los detalles del clúster de Amazon Redshift.  | Abra la consola de Amazon Redshift y elija “Clústeres” en el panel de navegación. A continuación, seleccione el nombre del clúster de Amazon Redshift de la lista. En la pestaña “Propiedades”, en la sección “Configuraciones de la base de datos”, registre los valores de “Nombre de la base de datos” y “Puerto”. Abra la sección “Detalles de la conexión” y registre el valor de “Punto de conexión”, en el formato “endpoint:<puerto>/<nombrebasedatos>”. Importante: Asegúrese de que sus grupos de seguridad de Amazon Redshift para las reglas de entrada permitan el acceso sin restricciones al puerto TCP 5439 desde su instancia. EC2  | Administrador de base de datos | 
| Conecte psql al clúster de Amazon Redshift.  | En una línea de comandos, especifique la información de conexión ejecutando el comando “psql -h <puntoconexión> -U <idusuario> -d <nombrebasedatos> -p <puerto>”. Cuando se le solicite la contraseña de psql, ingrese la contraseña del usuario “<idusuario>”. Estará entonces conectado al clúster de Amazon Redshift y puede ingresar comandos de forma interactiva. | Administrador de base de datos | 
| Cree un bucket de S3.  | Abra la consola de Amazon S3 y cree un bucket de S3 que contenga los archivos exportados desde Amazon Redshift. Para obtener ayuda con esta y otras historias, consulte la sección “Recursos relacionados”. | Administrador de base de datos | 
| Cree una política de IAM que permita copiar datos. | Abra la consola de IAM y seleccione “Políticas”. Seleccione “Crear política” y, a continuación, la pestaña “JSON”. Copie y pegue la política de IAM para copiar datos de la sección “Información adicional”. Importante: Sustituya “s3\$1bucket\$1name” por el nombre de su bucket de S3. Seleccione “Revisar política” e ingrese un nombre y una descripción para la política. Seleccione “Crear política”. | Administrador de base de datos | 
| Cree un rol de IAM que permita la operación COPIAR en Amazon Redshift. | Abra la consola de IAM y seleccione “Roles”. Seleccione “Crear rol” y elija “Servicio de AWS” en “Seleccionar el tipo de entidad de confianza”. Elija “Redshift” en el servicio, seleccione “Redshift - Personalizable” y, a continuación, elija “Siguiente”. Elija la política “Copiar” que creó anteriormente y seleccione “Siguiente”. Ingrese un valor en “Nombre del rol” y seleccione “Crear rol”. | Administrador de base de datos | 
| Asociar un rol de IAM al clúster de Amazon Redshift.  | Abra la consola de Amazon Redshift y elija “Administrar roles de IAM”. Elija “Roles disponibles” en el menú desplegable y seleccione el rol que creó anteriormente. Seleccione “Aplicar cambios”. Cuando el valor de “Estado” del rol de IAM en la sección “Administrar roles de IAM” aparezca como “Sincronizado”, podrá ejecutar el comando “COPY”. | Administrador de base de datos | 

### Compruebe los datos de origen y la información de objeto antes de iniciar la migración
<a name="verify-source-data-and-object-information-before-beginning-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compruebe las filas de las tablas de Amazon Redshift de origen. | Use los scripts de la sección “Información adicional” para verificar y registrar el número de filas de las tablas de Amazon Redshift de origen. Recuerde dividir los datos equitativamente para los scripts UNLOAD y COPY. Esto mejorará la eficiencia de la descarga y carga de datos, ya que la cantidad de datos incluida en cada script estará equilibrada. | Administrador de base de datos | 
| Compruebe el número de objetos de base de datos en el clúster de Amazon Redshift de origen. | Utilice los scripts de la sección «Información adicional» para verificar y registrar el número de bases de datos, usuarios, esquemas, tablas, vistas y funciones definidas por el usuario (UDFs) en su clúster de Amazon Redshift de origen. | Administrador de base de datos | 
| Compruebe los resultados de las instrucciones SQL antes de la migración. | Algunas instrucciones SQL de validación de datos deben clasificarse de acuerdo con las situaciones empresariales y de datos reales. Este paso verificará los datos importados y garantizará que sean coherentes y se muestren correctamente. | Administrador de base de datos | 

### Migración de datos y objetos a la región de destino
<a name="migrate-data-and-objects-to-the-target-region"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere scripts DDL de Amazon Redshift.  | Genere scripts de lenguaje de definición de datos (DDL) mediante los enlaces de la sección “Instrucciones de SQL para consultas en Amazon Redshift” en la sección “Información adicional”. Estos scripts de DDL deben incluir las consultas “crear usuario”, “crear esquema”, “privilegios del usuario sobre el esquema”, “crear tabla/vista”, “privilegios del usuario sobre los objetos” y “crear función”. | Administrador de base de datos | 
| Cree objetos en el clúster de Amazon Redshift para la región de destino. | Ejecute los scripts de DDL usando la Interfaz de la línea de comandos de AWS (AWS CLI) en la región de AWS en China. Estos guiones crean objetos en el clúster de Amazon Redshift para la región de destino. | Administrador de base de datos | 
| Descargue los datos de origen del clúster de Amazon Redshift en el bucket de S3. | Ejecute el comando UNLOAD para descargar los datos del clúster de Amazon Redshift de la región de origen al bucket de S3. | Administrador de base de datos, desarrollador  | 
| Transfiera los datos del bucket de la región S3 de origen al bucket de la región S3 de destino. | Transfiera los datos del bucket de la región S3 de origen al bucket de la región S3 de destino. Ya que no se puede usar el comando “\$1 aws s3 sync”, asegúrese de seguir el proceso descrito en el artículo “Transferir datos de Amazon S3 de regiones de AWS a regiones de AWS en China” de la sección “Recursos relacionados”. | Desarrollador | 
|  Cargue los datos en el clúster de Amazon Redshift de destino.  | En la herramienta psql de la región de destino, ejecute el comando COPY para cargar los datos del bucket de S3 al clúster de Amazon Redshift de destino. | Administrador de base de datos | 

### Verifique los datos en las regiones de origen y destino tras la migración
<a name="verify-the-data-in-the-source-and-target-regions-after-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Verifique y compare el número de filas en las tablas de origen y destino. | Verifique y compare el número de filas en las tablas de origen y destino de las regiones para asegurarse de que todas han migrado. | Administrador de base de datos | 
| Verifique y compare el número de objetos en las bases de datos de origen y destino. | Verifique y compare todos los objetos de la base de datos en las regiones de origen y destino para asegurarse de que todos se hayan migrado. | Administrador de base de datos | 
| Verifique y compare los resultados de los scripts SQL en las regiones de origen y destino. | Ejecute los scripts SQL preparados antes de la migración. Verifique y compare los datos para asegurarse de que los resultados de SQL sean correctos. | Administrador de base de datos | 
| Restablezca las contraseñas de todos los usuarios del clúster de Amazon Redshift de destino.  | Una vez finalizada la migración y verificados todos los datos, debe restablecer todas las contraseñas de usuario del clúster de Amazon Redshift en la región de AWS en China. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-resources"></a>
+ [Transferir datos de Amazon S3 de regiones de AWS a regiones de AWS en China](https://aws.amazon.com/cn/blogs/storage/transferring-amazon-s3-data-from-aws-regions-to-aws-regions-in-china/)
+ [Creating an S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) (Crear un bucket de S3)
+ [Restablecer una contraseña de usuario de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html)
+ [Documentación de psql](https://www.postgresql.org/docs/8.4/static/app-psql.html)

## Información adicional
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-additional"></a>

*Política de IAM para descargar datos*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Política de IAM para copiar datos*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Instrucciones de SQL para consultas en Amazon Redshift*

```
##Database

select * from pg_database where datdba>1;

##User

select * from pg_user where usesysid>1;

##Schema

SELECT n.nspname AS "Name",

  pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"

FROM pg_catalog.pg_namespace n

WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'

ORDER BY 1;

##Table

select count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema');

select schemaname,count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema') group by schemaname order by 1;

##View

SELECT 

    n.nspname AS schemaname,c.relname AS viewname,pg_catalog.pg_get_userbyid(c.relowner) as "Owner"

FROM 

    pg_catalog.pg_class AS c

INNER JOIN

    pg_catalog.pg_namespace AS n

    ON c.relnamespace = n.oid

WHERE relkind = 'v' and n.nspname not in ('information_schema','pg_catalog');

##UDF

SELECT 

   n.nspname AS schemaname,

   p.proname AS proname,

   pg_catalog.pg_get_userbyid(p.proowner) as "Owner"

FROM pg_proc p

LEFT JOIN pg_namespace n on n.oid = p.pronamespace

WHERE p.proowner != 1;
```

*Secuencias de comandos SQL para generar sentencias DDL*
+ [Script Get\$1schema\$1priv\$1by\$1user](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_get_schema_priv_by_user.sql)
+ [Script Generate\$1tbl\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_tbl_ddl.sql)
+ [Generate\$1view\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_view_ddl.sql)
+ [Generate\$1user\$1grant\$1revoke\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_user_grant_revoke_ddl.sql)
+ [Generate\$1udf\$1ddl](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_udf_ddl.sql)

# Transportar bases de datos PostgreSQL entre dos instancias de base de datos de Amazon RDS utilizando pg\$1transport
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport"></a>

*Raunak Rishabh y Jitender Kumar, Amazon Web Services*

## Resumen
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-summary"></a>

Este patrón describe los pasos para migrar bases de datos extremadamente grandes entre dos instancias de base de datos de Amazon Relational Database Service (Amazon RDS) para PostgreSQL mediante la extensión **pg\$1transport**. Esta extensión proporciona un mecanismo físico de transporte para trasladar cada base de datos. Al transmitir por streaming los archivos de base de datos con un procesamiento mínimo, proporciona un método extremadamente rápido para migrar bases de datos de gran tamaño entre instancias de base de datos con un tiempo de inactividad mínimo. Esta extensión utiliza un modelo de extracción donde la instancia de base de datos de destino importa la base de datos de la instancia de base de datos de origen.

## Requisitos previos y limitaciones
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-prereqs"></a>

**Requisitos previos **
+ Ambas instancias de base de datos deben ejecutar la misma versión principal de PostgreSQL.
+ La base de datos no debe existir en el destino. De lo contrario, el transporte devuelve un error.
+ No se debe habilitar ninguna extensión que no sea **pg\$1transport** en la base de datos de origen.
+ Todos los objetos de base de datos deben estar en el espacio de tablas predeterminado **pg\$1default**.
+ El grupo de seguridad de la instancia de base de datos de origen debe permitir el tráfico desde la instancia de base de datos de destino.
+ Instale un cliente de PostgreSQL, [como](https://www.postgresql.org/docs/11/app-psql.html) psql, [PgAdmin](https://www.pgadmin.org/)o para trabajar con la instancia de base de datos PostgreSQL de Amazon RDS. Puede instalar el cliente en su sistema local o utilizar una instancia de Amazon Elastic Compute Cloud (Amazon EC2). En este patrón, utilizamos psql en una EC2 instancia.

**Limitaciones**
+ No puede transportar bases de datos entre distintas versiones principales de Amazon RDS para PostgreSQL.
+ Los privilegios de acceso y la propiedad de la base de datos de origen no se transfieren a la base de datos de destino.
+ No puede transportar bases de datos en réplicas de lectura ni en instancias principales de réplicas de lectura.
+ No puede utilizar tipos de datos de **registro** en ninguna tabla de base de datos que planee transportar con este método.
+ Puede ejecutar hasta 32 transportes totales al mismo tiempo en una instancia de base de datos, (incluidas tanto importaciones como exportaciones).
+ No puedes cambiar el nombre de nuestras tablas. include/exclude Todo se migra tal cual.

**Precaución**
+ Realice copias de seguridad antes de eliminar la extensión, ya que al eliminar la extensión también se eliminan los objetos dependientes y algunos datos que son fundamentales para el funcionamiento de la base de datos.
+ Tenga en cuenta la clase de instancia y los procesos que se ejecutan en otras bases de datos de la instancia de origen al determinar la cantidad de trabajadores y los `work_mem` valores de **pg\$1transport**.
+ Cuando se inicia el transporte, finalizan todas las conexiones de la base de datos de origen y la base de datos pasa al modo de solo lectura.

**nota**  
Cuando el transporte se ejecuta en una base de datos, no afecta a las demás bases de datos del mismo servidor.** **

**Versiones de producto**
+ Amazon RDS para PostgreSQL 10.10 y posteriores y Amazon RDS para PostgreSQL 11.5 y posteriores. Para obtener información sobre la versión más reciente, consulte [Transporte de bases de datos PostgreSQL entre instancias](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) de base de datos en la documentación de Amazon RDS.

## Arquitectura
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-architecture"></a>

![\[Transporte de bases de datos de PostgreSQL entre instancias de base de datos de Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/d5fb7ea3-32b7-4602-b382-3cf5c075c7c9/images/aec4d8d2-37a8-4136-9042-f9667ac4aebb.png)


## Tools (Herramientas)
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-tools"></a>
+ **pg\$1transport** proporciona un mecanismo físico de transporte para trasladar cada base de datos. Al transmitir por streaming los archivos de la base de datos con un procesamiento mínimo, el transporte físico mueve los datos mucho más rápido que los procesos tradicionales de volcado y carga y requiere un tiempo de inactividad mínimo. Las bases de datos transportables de PostgreSQL utilizan un modelo de extracción donde la instancia de base de datos de destino importa la base de datos de la instancia de base de datos de origen. Esta extensión se instala en las instancias de base de datos al preparar los entornos de origen y destino, tal y como se explica en este patrón.
+ [psql](https://www.postgresql.org/docs/11/app-psql.html) le permite conectarse a sus instancias de base de datos de PostgreSQL y trabajar con ellas. Para instalar **psql** en su sistema, consulte la página de descargas de [PostgreSQL](https://www.postgresql.org/download/).

## Epics
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-epics"></a>

### Cree el grupo de parámetros de destino
<a name="create-the-target-parameter-group"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un grupo de parámetros para el sistema de destino. | Especifique un nombre de grupo que lo identifique como grupo de parámetros de destino; por ejemplo,v`pgtarget-param-group`. Para obtener instrucciones, consulte la [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | Administrador de base de datos | 
| Modifique los parámetros para el grupo de parámetros. | Establezca los siguientes parámetros:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Para obtener más información acerca de estos parámetros, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | Administrador de base de datos | 

### Crear el grupo de parámetros
<a name="create-the-source-parameter-group"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un grupo de parámetros para el sistema de origen. | Especifique un nombre de grupo que lo identifique como grupo de parámetros de origen; por ejemplo, `pgsource-param-group`. Para obtener instrucciones, consulte la [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating). | Administrador de base de datos | 
| Modifique los parámetros para el grupo de parámetros. | Establezca los siguientes parámetros:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Para obtener más información acerca de estos parámetros, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html). | Administrador de base de datos | 

### Prepare el entorno de destino
<a name="prepare-the-target-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nueva instancia de base de datos de Amazon RDS para PostgreSQL a la que transportar la base de datos de origen. | Determine la clase de instancia y la versión de PostgreSQL en función de los requisitos de su empresa. | Administrador de base de datos, administrador de sistemas, arquitecto de bases de datos | 
| Modifique el grupo de seguridad del destino para permitir las conexiones en el puerto de la instancia de base de datos desde la EC2 instancia. | De forma predeterminada, el puerto para la instancia de PostgreSQL es 5432. Si utiliza otro puerto, las conexiones a ese puerto deben estar abiertas para la EC2 instancia. | Administrador de base de datos, administrador de sistemas | 
| Modifique la instancia y asigne el nuevo grupo de parámetros de destino. | Por ejemplo, `pgtarget-param-group`. | Administrador de base de datos | 
| Reinicie la instancia de base de datos de Amazon RDS de destino.  | Los parámetros `shared_preload_libraries` y `max_worker_processes` son parámetros estáticos y requieren el reinicio de la instancia. | Administrador de base de datos, administrador de sistemas | 
| Conéctese a la base de datos desde la EC2 instancia mediante psql. | Utilice el comando: <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | Administrador de base de datos | 
| Cree la extensión pg\$1transport. | Ejecute la siguiente consulta como usuario con el rol `rds_superuser`:<pre>create extension pg_transport;</pre> | Administrador de base de datos | 

### Preparación del entorno de origen
<a name="prepare-the-source-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Modifique el grupo de seguridad de la fuente para permitir las conexiones en el puerto de la instancia de base de datos desde la instancia de Amazon y la EC2 instancia de base de datos de destino | De forma predeterminada, el puerto para la instancia de PostgreSQL es 5432. Si utiliza otro puerto, las conexiones a ese puerto deben estar abiertas para la EC2 instancia. | Administrador de base de datos, administrador de sistemas | 
| Modifique la instancia y asigne el nuevo grupo de parámetros de origen. | Por ejemplo, `pgsource-param-group`. | Administrador de base de datos | 
| Reinicie la instancia de base de datos de Amazon RDS de origen.  | Los parámetros `shared_preload_libraries` y `max_worker_processes` son parámetros estáticos y requieren el reinicio de la instancia. | Administrador de base de datos | 
| Conéctese a la base de datos desde la EC2 instancia mediante psql. | Utilice el comando: <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | Administrador de base de datos | 
| Cree la extensión pg\$1transport y elimine todas las demás extensiones de las bases de datos que se van a transportar. | El transporte fallará si hay alguna extensión que no sea **pg\$1transport** instalada en la base de datos de origen. Este comando debe ejecutarlo un usuario con el rol `rds_superuser`. | Administrador de base de datos | 

### Realice el transporte
<a name="perform-the-transport"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute una prueba. | Utilice la función `transport.import_from_server` para realizar primero un simulacro:<pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', 'true');</pre>El último parámetro de esta función (establecido en`true`) define el funcionamiento en seco. Esta función muestra los errores que aparecen al ejecutar el transporte principal. Resuelva los errores antes de ejecutar el transporte principal.  | Administrador de base de datos | 
| Si el simulacro se realiza correctamente, inicie el transporte de la base de datos. | Ejecute la función `transport.import_from_server` para realizar el transporte. Se conecta a la fuente e importa los datos. <pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);</pre>El último parámetro de esta función (establecido en`false`) indica que no se trata de un simulacro. | Administrador de base de datos | 
| Realice los pasos posteriores al transporte. | Una vez finalizado el transporte de la base de datos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html) | Administrador de base de datos | 

## Recursos relacionados
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-resources"></a>
+ [Documentación de Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [Documentación de pg\$1transport](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB.Setup)
+ [Migración de bases de datos mediante bases de datos transportables PostgreSQL de RDS (entrada del blog](https://aws.amazon.com/blogs/database/migrating-databases-using-rds-postgresql-transportable-databases/))
+ [Descargas de PostgreSQL](https://www.postgresql.org/download/linux/redhat/)
+ [utilidad psql](https://www.postgresql.org/docs/11/app-psql.html)
+ [Creación de un grupo de parámetros de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Creating)
+ [Cómo modificar parámetros en un grupo de parámetros de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Modifying)
+ [Descargas de PostgreSQL](https://www.postgresql.org/download/)

# Redefinir la plataforma
<a name="migration-replatform-pattern-list"></a>

**Topics**
+ [Exportación de una base de datos de Microsoft SQL Server a Amazon S3 mediante AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Migración de valores CLOB de Oracle a filas individuales en PostgreSQL en AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migre Oracle PeopleSoft a Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migración de la funcionalidad ROWIdentificador de Oracle a PostgreSQL en AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migración de códigos de error de Oracle Database a una base de datos Amazon Aurora compatible con PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migre SAP ASE de Amazon EC2 a Amazon Aurora compatible con PostgreSQL mediante AWS SCT y AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)
+ [Migración de los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Migración de una cola de mensajes de Microsoft Azure Service Bus a Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migre una EnterpriseOne base de datos de Oracle JD Edwards a AWS mediante Oracle Data Pump y AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migre una PeopleSoft base de datos de Oracle a AWS mediante AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migración de una base de datos MySQL en las instalaciones a Amazon RDS para MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migración de datos de Microsoft Azure Blob a Amazon S3 mediante Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migración de Couchbase Server a Couchbase Capella en AWS](migrate-from-couchbase-server-to-couchbase-capella-on-aws.md)
+ [Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)
+ [Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2 con Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migración de una aplicación .NET de Microsoft Azure App Service a AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migre de Oracle WebLogic a Apache Tomcat (ToMEE) en Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migre una base de datos Oracle de Amazon EC2 a Amazon RDS for Oracle mediante AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migre una base de datos Oracle local a Amazon OpenSearch Service mediante Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migre de PostgreSQL en EC2 Amazon a Amazon RDS para PostgreSQL mediante pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migración de una base de datos PostgreSQL en las instalaciones a Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migre una base de datos local de Microsoft SQL Server a Microsoft SQL Server en Amazon EC2 con Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migración de bases de datos en las instalaciones de Microsoft SQL Server a Amazon RDS para SQL Server mediante servidores vinculados](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server mediante métodos nativos de copia de seguridad y restauración](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migración de una base de datos de Microsoft SQL Server a Aurora MySQL mediante AWS DMS y AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de MariaDB en las instalaciones hasta Amazon RDS para MariaDB mediante herramientas nativas](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migración de una base de datos de MySQL en las instalaciones a Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migre bases de datos MySQL locales a Aurora MySQL mediante Percona, XtraBackup Amazon EFS y Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migración de aplicaciones Java locales en las instalaciones a AWS mediante AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migre sistemas de archivos compartidos en una migración AWS grande](migrate-shared-file-systems-in-an-aws-large-migration.md)
+ [Migre una base de datos Oracle a Amazon RDS for Oracle mediante adaptadores de archivos planos de GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Cambie las aplicaciones de Python y Perl para que admitan la migración de bases de datos de Microsoft SQL Server a una edición compatible con PostgreSQL de Amazon Aurora](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)

# Exportación de una base de datos de Microsoft SQL Server a Amazon S3 mediante AWS DMS
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms"></a>

*Sweta Krishna, Amazon Web Services*

## Resumen
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-summary"></a>

Con frecuencia, las organizaciones necesitan copiar bases de datos a Amazon Simple Storage Service (Amazon S3) para la migración de bases de datos, la copia de seguridad y la restauración, el archivado y el análisis de datos. Este patrón describe cómo puede exportar una base de datos de Microsoft SQL Server a Amazon S3. La base de datos de origen se puede alojar localmente o en Amazon Elastic Compute Cloud (Amazon EC2) o Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server en la nube de Amazon Web Services (AWS).

Los datos se exportan mediante AWS Database Migration Service (AWS DMS). De forma predeterminada, AWS DMS escribe los datos de captura de datos de carga completa y cambios (CDC) en formato de valores separados por comas (.csv). Para un almacenamiento más compacto y opciones de consulta más rápidas, este patrón utiliza la opción de formato Apache Parquet (.parquet).

## Requisitos previos y limitaciones
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Un rol de AWS Identity and Access Management (IAM) para la cuenta con acceso de escritura, eliminación y etiquetado al bucket de S3 de destino, y se ha agregado AWS DMS (`dms.amazonaws.com`) como entidad de confianza a este rol de IAM
+ Una base de datos Microsoft SQL Server local (o Microsoft SQL Server en una EC2 instancia o una base de datos Amazon RDS for SQL Server)
+ Conectividad de red entre la nube privada virtual (VPC) de AWS y la red en las instalaciones proporcionada por AWS Direct Connect o una red privada virtual (VPN)

**Limitaciones**
+ Actualmente, las versiones de AWS DMS anteriores a la 3.4.7 no admiten un bucket de S3 habilitado para VPC (VPC de puerta de enlace).
+ No se admiten cambios en la estructura de la tabla de origen durante la carga completa.
+ No se admite el modo de objetos binarios grandes (LOB) completo de AWS DMS.

**Versiones de producto**
+ Versiones de Microsoft SQL Server 2005 o posterior, para las ediciones Enterprise, Standard, Workgroup y Developer.
+ La compatibilidad con Microsoft SQL Server versión 2019 como origen está disponible en las versiones 3.3.2 y posteriores de AWS DMS.

## Arquitectura
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos Microsoft SQL Server local (o Microsoft SQL Server en una EC2 instancia o una base de datos Amazon RDS for SQL Server)**** 

**Pila de tecnología de destino**
+ AWS Direct Connect
+ AWS DMS
+ Amazon S3

**Arquitectura de destino**

![\[Los datos se migran desde la base de datos de SQL Server a través de Direct Connect a AWS DMS y, después, al bucket de S3.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/75b8b20f-a1a8-4633-9816-1b370cc7e92c/images/85bd433c-4a0a-4825-8661-e53f53265191.png)


## Tools (Herramientas)
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) vincula su red interna con una ubicación de Direct Connect a través de un cable estándar Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente en servicios públicos de AWS omitiendo a los proveedores de servicios de Internet en su ruta de acceso a la red.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

## Epics
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión de la base de datos. | Valide la versión de la base de datos de origen y asegúrese de que es compatible con AWS DMS. Para obtener información sobre las versiones de bases de datos de SQL Server compatibles, consulte [Uso de una base de datos de Microsoft SQL Server como fuente de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). | Administrador de base de datos | 
| Crear una VPC y un grupo de seguridad. | En su cuenta de AWS, cree una VPC y un grupo de seguridad. Para obtener más información, consulte la [documentación de Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). | Administrador de sistemas | 
| Cree un usuario para la tarea de AWS DMS. | Cree un usuario de AWS DMS en la base de datos de origen y concédale permisos de LECTURA. AWS DMS utilizará este usuario. | Administrador de base de datos | 
| Pruebe la conectividad de la base de datos. | Pruebe la conectividad con la instancia de base de datos SQL Server desde el usuario de AWS DMS. | Administrador de base de datos | 
| Cree un bucket de S3. | Crear el bucket de S3 objetivo. Este bucket contendrá los datos de la tabla migrados. | Administrador de sistemas | 
| Crear una política y un rol de IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.html) | Administrador de sistemas | 

### Migración de datos mediante AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación de AWS DMS. | Inicie sesión en la Consola de administración de AWS y abra la consola de AWS DMS. En el panel de navegación, seleccione **Instancias de replicación** y **Crear instancia de replicación**. Para obtener instrucciones, consulte el [paso 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.ReplicationInstance) de la documentación de AWS DMS. | Administrador de base de datos | 
| Cree puntos de conexión de origen y destino. | Cree puntos de conexión de origen y destino. Pruebe la tarea desde la instancia de replicación a los puntos de conexión de origen y destino. Para obtener instrucciones, consulte el [paso 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Endpoints) de la documentación de AWS DMS. | Administrador de base de datos | 
| Cree una tarea de replicación. | Cree una tarea de replicación y seleccione carga completa o carga completa con captura de datos de cambios (CDC) para migrar los datos de SQL Server al bucket de S3. Para obtener instrucciones, consulte el [paso 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks) de la documentación de AWS DMS. | Administrador de base de datos | 
| Iniciar la tarea de replicación. | Inicie la tarea de replicación y supervise los registros para detectar cualquier error. | Administrador de base de datos | 

### Valide los datos
<a name="validate-the-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide los datos migrados. | En la consola de Amazon S3, acceda a su bucket. Abra la subcarpeta que tiene el mismo nombre que la base de datos de origen. Confirme que la carpeta contiene todas las tablas que se migraron de la base de datos de origen. | Administrador de base de datos | 

### Eliminar recursos
<a name="clean-up-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre y elimine los recursos temporales de AWS. | Cierre los recursos temporales de AWS que haya creado para la migración de datos, como la instancia de replicación de AWS DMS, y elimínelos después de validar la exportación. | Administrador de base de datos | 

## Recursos relacionados
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-resources"></a>
+ [Guía de usuario del servicio de migración de bases de datos de AWS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Uso de una base de datos de Microsoft SQL Server como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Uso de Amazon S3 como destino para el servicio de migración de bases de datos de AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html)
+ [Uso de un bucket de S3 como destino de AWS DMS](https://repost.aws/knowledge-center/s3-bucket-dms-target) (AWS re:POST)

## Información adicional
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-additional"></a>

Utilice el siguiente código para añadir una política de IAM con permisos de bucket de S3 para la función DMS de AWS. Reemplace `bucketname` con el nombre de su bucket.

```
{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject",
                 "s3:DeleteObject"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         },
         {
             "Effect": "Allow",
             "Action": [
                 "s3:ListBucket"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         }
     ]
 }
```

# Migración de valores CLOB de Oracle a filas individuales en PostgreSQL en AWS
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws"></a>

*Sai Krishna Namburu y Sindhusha Paturu, Amazon Web Services*

## Resumen
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-summary"></a>

Este patrón describe cómo dividir valores de objetos grandes (CLOB) de Oracle en filas individuales en Amazon Aurora compatible con PostgreSQL y Amazon Relational Database Service (Amazon RDS) para PostgreSQL. PostgreSQL no admite el tipo de datos CLOB. 

Las tablas con particiones de intervalos se identifican en la base de datos de Oracle de origen, y el nombre de la tabla, el tipo de partición, el intervalo de partición y otros metadatos se registran y cargan en la base de datos de destino. Puede cargar datos CLOB de tamaño inferior a 1 GB en tablas de destino como texto mediante AWS Database Migration Service (AWS DMS), o bien puede exportar los datos en formato CSV, cargarlos en un bucket de Amazon Simple Storage Service (Amazon S3) y migrarlos a su base de datos PostgreSQL de destino.

Tras la migración, puede usar el código de PostgreSQL personalizado proporcionado con este patrón para dividir los datos CLOB en filas individuales en función del nuevo identificador de caracteres de línea (`CHR(10)`) y rellenar la tabla** **de destino. 

## Requisitos previos y limitaciones
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-prereqs"></a>

**Requisitos previos **
+ Una tabla de base de datos de Oracle con particiones de intervalos y registros con tipo de datos CLOB.
+ Una base de datos de Aurora compatible con PostgreSQL o Amazon RDS para PostgreSQL con una estructura de tabla similar a la tabla de origen (las mismas columnas y tipos de datos).

**Limitaciones**
+ El valor de CLOB no puede superar 1 GB.
+ Cada fila de la tabla de destino debe tener un nuevo identificador de caracteres de línea.

**Versiones de producto**
+ Oracle 12c
+ Aurora PostgreSQL 11.6

## Arquitectura
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-architecture"></a>

El siguiente diagrama muestra una tabla de origen de Oracle con datos CLOB, y la tabla PostgreSQL equivalente en Aurora compatible con PostgreSQL versión 11.6.

![\[Tabla CLOB de origen y tabla PostgreSQL de destino equivalente.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/55806ee7-6a9f-4058-9a47-a07de68223ca/images/79b9d4b9-6f20-4db5-8ca8-2a599769a498.png)


## Tools (Herramientas)
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-tools"></a>

**Servicios de AWS**
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la nube de AWS.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Otras herramientas**

Puede usar las siguientes herramientas de cliente para conectarse, acceder y gestionar sus bases de datos de Aurora compatible con PostgreSQL y Amazon RDS para PostgreSQL. (Estas herramientas no se usan en este patrón).
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de gestión de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.
+ [DBeaver](https://dbeaver.io/)es una herramienta de base de datos de código abierto para desarrolladores y administradores de bases de datos. Esta herramienta le permite manipular, supervisar, analizar, administrar y migrar sus datos.

## Prácticas recomendadas
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-best-practices"></a>

Para conocer las prácticas recomendadas para migrar su base de datos de Oracle a PostgreSQL, consulte la publicación del blog de AWS [Prácticas recomendadas para migrar una base de datos de Oracle a Amazon RDS PostgreSQL o Amazon Aurora PostgreSQL: consideraciones sobre el proceso de migración y la infraestructura](https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/).

Para obtener información sobre las prácticas recomendadas para configurar la tarea de AWS DMS para migrar objetos binarios grandes, consulte [Migración de objetos binarios grandes (LOBs) en la documentación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.LOBS) de AWS DMS.

## Epics
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-epics"></a>

### Identifique los datos de CLOB
<a name="identify-the-clob-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Analice los datos de CLOB. | En la base de datos de Oracle de origen, analice los datos de CLOB para comprobar si contienen encabezados de columna y así poder determinar el método de carga de los datos en la tabla de destino. Para analizar los datos de entrada, ejecute la siguiente consulta.`SELECT * FROM clobdata_or;  ` | Desarrollador | 
| Cargue los datos de CLOB en la base de datos de destino. | Migre la tabla que contiene datos de CLOB a una tabla provisional (transitoria) en la base de datos de destino de Aurora o Amazon RDS. Puede usar AWS DMS o cargar los datos en formato de archivo CSV a un bucket de Amazon S3.Para obtener más información sobre el uso de AWS DMS para esta tarea, consulte [Uso de una base de datos de Oracle como fuente](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y [Uso de una base de datos PostgreSQL como destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) en la documentación de AWS DMS.Para obtener más información sobre el uso de Amazon S3 para esta tarea, consulte [Uso de Amazon S3 como destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html) en la documentación de AWS DMS. | Ingeniero de migraciones, administrador de bases de datos | 
| Valide la tabla PostgreSQL de destino. | Valide los datos de destino, incluidos los encabezados, comparándolos con los datos de origen. Para ello, ejecute las siguientes consultas en la base de datos de destino.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre>Compare los resultados con los resultados de las consultas a la base de datos de origen (desde el primer paso). | Desarrollador | 
| Divida los datos de CLOB en filas independientes. | Ejecute el código PostgreSQL personalizado que se proporciona en la sección [Información adicional](#migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional) para dividir los datos CLOB e insertarlos en filas independientes en la tabla PostgreSQL de destino. | Desarrollador | 

### Valide los datos.
<a name="validate-the-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide los datos en la tabla de destino. | Valide los datos insertados en la tabla de destino ejecutando las siguientes consultas.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre> | Desarrollador | 

## Recursos relacionados
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-resources"></a>
+ [Tipo de datos CLOB](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF0021) (documentación de Oracle)
+ [Tipos de datos](https://www.postgresql.org/docs/11/datatype.html) (documentación de PostgreSQL)

## Información adicional
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional"></a>

**Función de PostgreSQL para dividir datos CLOB**

```
do
$$
declare
totalstr varchar;
str1 varchar;
str2 varchar;
pos1 integer := 1;
pos2 integer ;
len integer;


begin
        select rawdata||chr(10) into totalstr from clobdata_pg;
        len :=  length(totalstr) ;
        raise notice 'Total length : %',len;
        raise notice 'totalstr : %',totalstr;
        raise notice 'Before while loop';


        while pos1 < len  loop


                  select position (chr(10) in totalstr) into pos2;
                 raise notice '1st position of new line : %',pos2;


                str1 := substring (totalstr,pos1,pos2-1);
                raise notice 'str1 : %',str1;


                   insert into clobdatatarget(data) values (str1);
                   totalstr := substring(totalstr,pos2+1,len);
                   raise notice 'new totalstr :%',totalstr;
                len :=  length(totalstr) ;


        end loop;
end
$$
LANGUAGE 'plpgsql' ;
```

**Ejemplos de entrada y salida**

Puede usar los siguientes ejemplos para probar el código PostgreSQL antes de migrar los datos.

Cree una base de datos de Oracle con tres líneas de entrada.

```
CREATE TABLE clobdata_or (
id INTEGER GENERATED ALWAYS AS IDENTITY,
rawdata clob  );


insert into clobdata_or(rawdata) values (to_clob('test line 1') || chr(10) || to_clob('test line 2') || chr(10) || to_clob('test line 3') || chr(10));
COMMIT;


SELECT * FROM clobdata_or;
```

Se mostrarán los siguientes valores.


|  |  | 
| --- |--- |
| id | rawdata | 
| 1 | test line 1 test line 2 test line 3 | 

Cargue los datos de origen en una tabla transitoria de PostgreSQL (`clobdata_pg`) para su procesamiento.

```
SELECT * FROM clobdata_pg;

CREATE TEMP TABLE clobdatatarget (id1 SERIAL,data VARCHAR );

<Run the code in the additional information section.>

SELECT * FROM clobdatatarget;
```

Se mostrarán los siguientes valores.


|  |  | 
| --- |--- |
| id1 | datos | 
| 1 | Línea de prueba 1 | 
| 2 | Línea de prueba 2 | 
| 3 | Línea de prueba 3 | 

# Migre Oracle PeopleSoft a Amazon RDS Custom
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom"></a>

*Gaurav Gupta, Amazon Web Services*

## Resumen
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) es una solución de planificación de recursos empresariales (ERP) para procesos de toda la empresa. PeopleSoft tiene una arquitectura de tres niveles: cliente, aplicación y base de datos. PeopleSoft se puede ejecutar en [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Ahora, también puede ejecutar PeopleSoft en [Amazon RDS Custom](https://aws.amazon.com/rds/custom/), que proporciona acceso al sistema operativo subyacente.

[Amazon RDS Custom para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) es un servicio de base de datos administrado para aplicaciones heredadas, personalizadas y empaquetadas que requieren acceso al sistema operativo y al entorno de base de datos subyacentes. Al migrar la base de datos de Oracle a Amazon RDS Custom, Amazon Web Services (AWS) puede gestionar las tareas de backup y la alta disponibilidad, al tiempo que usted puede centrarse en el mantenimiento de la PeopleSoft aplicación y la funcionalidad. Para conocer los factores clave a tener en cuenta durante la planificación de una migración, consulte [Estrategias de migración de bases de datos de Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) en Recomendaciones de AWS.

Este patrón se centra en los pasos para migrar una PeopleSoft base de datos de Amazon Elastic Compute Cloud (Amazon EC2) a Amazon RDS Custom mediante una copia de seguridad de Oracle Recovery Manager (RMAN). Utiliza un sistema de archivos compartido [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) entre la instancia EC2 y Amazon RDS Custom, aunque también puede utilizar Amazon FSx o cualquier unidad compartida. El patrón utiliza una copia de seguridad completa en RMAN (a veces denominada copia de seguridad de nivel 0). 

## Requisitos previos y limitaciones
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-prereqs"></a>

**Requisitos previos **
+ Base de datos de origen de Oracle versión 19C que se ejecuta en Amazon EC2 con Oracle Linux 7, Oracle Linux 8, Red Hat Enterprise Linux (RHEL) 7 o RHEL 8. En los ejemplos de este patrón, el nombre de la base de datos de origen es `FSDMO92`, pero no es obligatorio.
**nota**  
También puede utilizar este patrón con las bases de datos de origen de Oracle en las instalaciones. Debe tener la conectividad de red adecuada entre la red en las instalaciones y una nube privada virtual (VPC).
+ Una instancia de demostración de PeopleSoft 9.2.
+ Un único nivel PeopleSoft de aplicación. Sin embargo, puede adaptar este patrón para que funcione con varios niveles de aplicación.
+ Amazon RDS Custom está configurado con al menos 8 GB de espacio de intercambio.

**Limitaciones**

Este patrón no admite las siguientes configuraciones:
+ Cómo establecer el parámetro `ARCHIVE_LAG_TARGET` de la base de datos en un valor fuera del rango de 60 a 7200
+ Cómo inhabilitar el modo de registro de la instancia de base de datos (`NOARCHIVELOG`)
+ Cómo desactivar el atributo optimizado Amazon Elastic Block Store (Amazon EBS) de la instancia EC2
+ Cómo modificar los volúmenes de EBS originales adjuntos a la instancia EC2
+ Cómo añadir nuevos volúmenes de EBS o cambiar el tipo de volumen de gp2 a gp3
+ Cómo cambiar el formato de extensión del parámetro `LOG_ARCHIVE_FORMAT` (requiere `*.arc`)
+ Multiplexar o cambiar la ubicación y el nombre del archivo de control (tiene que ser `/rdsdbdata/db/*DBNAME*/controlfile/control-01.ctl`)

Para obtener información adicional sobre estas y otras configuraciones no compatibles, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-troubleshooting.html#custom-troubleshooting.fix-unsupported).

**Versiones de producto**

Para ver las versiones de Oracle Database y clases de instancia compatibles con Amazon RDS Custom, consulte [Requisitos y limitaciones de Amazon RDS Custom para Oracle](https://docs.amazonaws.cn/en_us/AmazonRDS/latest/UserGuide/custom-reqs-limits.html).

## Arquitectura
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-architecture"></a>

**Pila de tecnología de destino**
+ Equilibrador de carga de aplicación
+ Amazon EFS
+ Amazon RDS Custom para Oracle
+ AWS Secrets Manager
+ Amazon Simple Storage Service (Amazon S3)

**Arquitectura de destino**

El siguiente diagrama de arquitectura representa un PeopleSoft sistema que se ejecuta en una única [zona de disponibilidad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) en AWS. Se accede al nivel de aplicación a través de un [Equilibrador de carga de aplicación](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/). Tanto la aplicación como las bases de datos se encuentran en subredes privadas, y las instancias de base de datos Amazon RDS Custom y Amazon EC2 utilizan un sistema de archivos compartidos Amazon EFS para almacenar y acceder a los archivos de copia de seguridad de RMAN. Amazon S3 se utiliza para crear el motor RDS Oracle personalizado y para almacenar los metadatos de redo logs.

![\[Servidores web, servidores de aplicaciones, Amazon RDS Custom, una instancia de base de datos de EC2 y Amazon EFS en subredes privadas.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bd423dfe-f3c8-42d9-ac84-bf3d093c52bc/images/0e9a6431-e6c7-4047-ae6c-85311938041f.jpeg)


## Tools (Herramientas)
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-tools"></a>

**Herramientas**

*Servicios de AWS*
+ [Amazon RDS Custom para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) es un servicio de base de datos administrado para aplicaciones heredadas, personalizadas y empaquetadas que requieren acceso al sistema operativo y al entorno de base de datos subyacentes. Automatiza las tareas de administración de bases de datos, como las copias de seguridad y la alta disponibilidad. 
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) le ayuda a crear y configurar sistemas de archivos compartidos en la nube de AWS. Este patrón emplea un sistema de archivos compartidos de Amazon EFS para almacenar y acceder a los archivos de copia de seguridad de RMAN.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) le permite reemplazar las credenciales codificadas en el código, incluidas las contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación. En este patrón, se recuperan las contraseñas de usuario de la base de datos de Secrets Manager para crear los usuarios `RDSADMIN` y `ADMIN` y cambiar las contraseñas `sys` y `system`.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribuye el tráfico entrante de aplicaciones o redes entre varios destinos. Así, por ejemplo, puede distribuir el tráfico a través de instancias de Amazon Elastic Compute Cloud (Amazon EC2), contenedores y direcciones IP de una o varias zonas de disponibilidad. Este patrón utiliza un equilibrador de carga de aplicación.

*Otras herramientas*
+ Oracle Recovery Manager (RMAN) proporciona soporte de copia de seguridad y recuperación para bases de datos de Oracle. Este patrón utiliza RMAN para realizar una copia de seguridad activa de la base de datos de Oracle de origen en Amazon EC2 que se restaura en Amazon RDS Custom.

## Prácticas recomendadas
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-best-practices"></a>
+ Para los parámetros de inicialización de la base de datos, personalice el perfil estándar que proporciona la instancia de base de datos personalizada de Amazon RDS PeopleSoft en lugar de utilizar el archivo spfile de la base de datos de origen de Oracle. El motivo de esto es que los espacios en blanco y los comentarios causan problemas al crear réplicas de lectura en Amazon RDS Custom. Para obtener más información sobre los parámetros de inicialización de la base de datos, consulte la nota de soporte de Oracle 1100831.1 (requiere una cuenta de [Oracle Support](https://support.oracle.com/portal/)).
+ Amazon RDS Custom utiliza la administración automática de memoria de Oracle de forma predeterminada. Si desea utilizar el núcleo de Hugemem, puede configurar Amazon RDS Custom para que utilice en su lugar la gestión automática de la memoria compartida.
+ Mantenga el parámetro `memory_max_target` habilitado de forma predeterminada. El marco lo utiliza en segundo plano para crear réplicas de lectura.
+ Habilite la base de datos de Oracle Flashback. Esta característica resulta útil para restablecer el modo de espera en escenarios de pruebas de conmutación por error (no de transición).

## Epics
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-epics"></a>

### Configure la instancia de base de datos y el sistema de archivos
<a name="set-up-the-db-instance-and-file-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear la instancia de base de datos. | En la consola de Amazon RDS, cree una instancia de base de datos Amazon RDS Custom for Oracle con un nombre de base de datos denominado FSDMO92 (o el nombre de la base de datos de origen).Para obtener más instrucciones, consulte [Trabajo con Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html) en la documentación de AWS, y la publicación del blog [Amazon RDS Custom for Oracle – New Control Capabilities in Database Environment](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/). Este paso garantiza que la base de datos tenga el mismo nombre que la base de datos de origen. (Si se deja en blanco, la instancia de EC2 y el nombre de la base de datos se definirán como `ORCL`). | Administrador de base de datos | 

### Realice una copia de seguridad completa de RMAN de la base de datos de Amazon EC2 de origen
<a name="perform-an-rman-full-backup-of-the-source-amazon-ec2-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un script de copia de seguridad. | Cree un script de copia de seguridad de RMAN para hacer una copia de seguridad de la base de datos en el sistema de archivos Amazon EFS que montó (`/efs` en el siguiente ejemplo). Puede usar el código de ejemplo o ejecutar uno de sus scripts de RMAN existentes.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/u01/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />SQL "ALTER SYSTEM SWITCH LOGFILE";<br />SQL "ALTER SESSION SET NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"";<br />RUN<br />{<br />  ALLOCATE CHANNEL ch11 TYPE DISK MAXPIECESIZE 5G;<br />  ALLOCATE CHANNEL ch12 TYPE DISK MAXPIECESIZE 5G;<br />  BACKUP AS COMPRESSED BACKUPSET FULL DATABASE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_FULL' ;<br />  SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";<br />  BACKUP FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_ARCHIVE' ARCHIVELOG ALL DELETE ALL INPUT ;<br />  BACKUP CURRENT CONTROLFILE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_CONTROL';<br />}<br />EXIT;<br />EOF<br />  </pre> | Administrador de base de datos | 
| Ejecute el script de copia de seguridad. | Para ejecutar el script de copia de seguridad de RMAN, inicie sesión como Oracle Home User y ejecute el script.<pre>$  chmod a+x rman_backup.sh<br />$ ./rman_backup.sh &</pre> | Administrador de base de datos | 
| Compruebe que no haya errores y anote el nombre del archivo de copia de seguridad. | Compruebe si hay errores en el archivo de registro RMAN. Si todo parece correcto, publique la copia de seguridad del archivo de control ejecutando el siguiente comando.<pre>RMAN> list backup of controlfile;<br /><br />using target database control file instead of recovery catalog<br /></pre>Anote el nombre del archivo de salida.<pre>List of Backup Sets<br />===================<br /><br />BS Key  Type LV Size       Device Type Elapsed Time Completion Time<br />------- ---- -- ---------- ----------- ------------ ---------------<br />12      Full    21.58M     DISK        00:00:01     13-JUL-22<br />        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20220713T150155<br />        Piece Name: /efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL<br /> Control File Included: Ckp SCN: 16559159985898   Ckp time: 13-JUL-22<br /></pre>Utilizará el archivo de control de la copia de seguridad `/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL` cuando restaure la base de datos en Amazon RDS Custom. | Administrador de base de datos | 

### Apague el nivel de aplicación de origen
<a name="shut-down-the-source-application-tier"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre la aplicación.  | Para cerrar el nivel de la aplicación de origen, utilice la utilidad `psadmin` o la utilidad de línea de comandos `psadmin`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA, administrador PeopleSoft  | 

### Configure la base de datos Amazon RDS Custom de destino
<a name="configure-the-target-amazon-rds-custom-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale el paquete nfs-utils rpm. | Para instalar el paquete `nfs-utils rpm`, ejecute el comando siguiente.<pre>$ yum install -y nfs-utils<br /></pre> | Administrador de base de datos | 
| Monte el almacenamiento EFS. | Obtenga el comando de montaje de Amazon EFS en la página de la consola de Amazon EFS. Monte el sistema de archivos EFS en la instancia de Amazon RDS mediante un cliente de Network File System (NFS).<pre>sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs<br />sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs</pre> | Administrador de base de datos | 

### Elimine la base de datos inicial y cree los directorios para almacenar los archivos de la base de datos
<a name="drop-the-starter-database-and-create-the-directories-to-store-the-database-files"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Pause el modo de automatización. | Debe pausar el [modo de automatización](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-managing.html#custom-managing.pausing) en su instancia de base de datos de Amazon RDS Custom antes de continuar con los siguientes pasos, para asegurarse de que la automatización no interfiera con la actividad de restauración de RMAN.Puede pausar la automatización mediante la consola de AWS o el comando Interfaz de la línea de comandos de AWS (AWS CLI) (asegúrese de haber [configurado AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) primero).<pre>aws rds modify-db-instance \<br />--db-instance-identifier peoplesoft-fscm-92 \<br />--automation-mode all-paused \<br />--resume-full-automation-mode-minute 360 \<br />--region eu-west-1<br /></pre>Cuando especifique la duración de la pausa, asegúrese de dejar tiempo suficiente para la restauración de RMAN. Este tiempo dependerá del tamaño de la base de datos de origen, por lo que deberá modificar el valor 360 en consecuencia.Además, asegúrese de que el tiempo total de la automatización pausada no se superponga con la ventana de copia de seguridad o mantenimiento de la base de datos. | Administrador de base de datos | 
| Cree y modifique el archivo de parámetros para PeopleSoft | Para crear y modificar el perfil PeopleSoft, utilice el perfil estándar creado con la instancia de base de datos personalizada de Amazon RDS. Añada los parámetros que necesite. PeopleSoft[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 
| Elimine la base de datos inicial. | Para eliminar la base de datos Amazon RDS Custom existente, utilice el siguiente código.<pre>$ sqlplus / as sysdba<br />SQL> shutdown immediate;<br />SQL> startup mount exclusive restrict;<br />SQL> drop database;<br />SQL> exit</pre> |  | 
| Restaure la base de datos Amazon RDS Custom a partir de la copia de seguridad. | Restaure la base de datos mediante el siguiente script. El script restaurará primero el archivo de control y, a continuación, restaurará toda la base de datos a partir de las piezas de respaldo almacenadas en el soporte EFS.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/rdsdbdata/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />restore controlfile from "/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL";<br />alter database mount;<br />run<br />{<br />set newname for database to '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />SET NEWNAME FOR TEMPFILE 1 TO '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />RESTORE DATABASE;<br />SWITCH DATAFILE ALL;<br />SWITCH TEMPFILE ALL;<br />RECOVER DATABASE;<br />}<br />EOF<br />sqlplus / as sysdba >> $LOGPATH/rman-${ORACLE_SID}-$Dt<<-EOF<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo01.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo01.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo02.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo02.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo03.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo03.log';<br />alter database clear unarchived logfile group 1;<br />alter database clear unarchived logfile group 2;<br />alter database clear unarchived logfile group 3;<br />alter database open resetlogs;<br />EXIT<br />EOF<br /></pre> | Administrador de base de datos | 

### Recupere contraseñas de Secrets Manager, cree usuarios y cambie contraseñas
<a name="retrieve-passwords-from-secrets-manager-create-users-and-change-passwords"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Recupere la contraseña de Secrets Manager. | Puede ejecutar este paso mediante la consola de AWS o la AWS CLI. Los siguientes pasos muestran instrucciones para la consola.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 
| Cree el usuario RDSADMIN. | `RDSADMIN` es el usuario de la base de datos para monitorear y orquestar la instancia de base de datos de Amazon RDS Custom. Ya que la base de datos inicial se ha eliminado y la base de datos de destino se ha restaurado desde el origen mediante RMAN, deberá volver a crear este usuario tras la operación de restauración para asegurarse de que la supervisión de Amazon RDS Custom funciona según lo previsto. También debe crear un perfil y un espacio de tabla independientes para el usuario de `RDSADMIN`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 
| Cree el usuario maestro. | Ya que la base de datos inicial se ha eliminado y la base de datos de destino se ha restaurado desde el origen mediante RMAN, deberá volver a crear el usuario principal. En este ejemplo, el nombre del usuario principal es `admin`.<pre>SQL> create user admin identified by <password>;<br />SQL> grant dba to admin</pre> | Administrador de base de datos | 
| Cambie las contraseñas del sistema. | Cambie las contraseñas del sistema usando la contraseña que obtuvo de Secrets Manager.<pre>SQL> alter user sys identified by xxxxxxxxxxx;<br />SQL> alter user system identified by xxxxxxxxxx;</pre>Si no cambia estas contraseñas, Amazon RDS Custom mostrará el mensaje de error “El usuario o las credenciales de usuario que supervisa la base de datos han cambiado”. | Administrador de base de datos | 

### Configure las entradas de TNS para Amazon RDS Custom y PeopleSoft
<a name="configure-the-tns-entries-for-amazon-rds-custom-and-peoplesoft"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el archivo tnsnames. | Para conectarse a la base de datos desde el nivel de aplicación, configure el archivo `tnsnames.ora` de forma que pueda conectarse a la base de datos desde el nivel de aplicación. En el siguiente ejemplo, puede ver que hay un enlace temporal al archivo `tnsnames.ora`, pero el archivo está vacío de forma predeterminada. <pre>$ cd /rdsdbbin/oracle/network/admin<br />$ ls -ltr<br />-rw-r--r-- 1 rdsdb database 1536 Feb 14  2018 shrept.lst<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 listener.ora -> /rdsdbdata/config/listener.ora<br />lrwxrwxrwx 1 rdsdb database   28 Apr  5 13:19 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora</pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 

### Cree el enlace temporal de spfile
<a name="create-the-spfile-softlink"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el enlace temporal de spfile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 

### Realice los pasos posteriores a la migración
<a name="perform-post-migration-steps"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide el esquema, las conexiones y las tareas de mantenimiento. | Para finalizar la migración, realice las siguientes tareas.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-resources"></a>
+ [Trabajar con Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html)
+ [Amazon RDS Custom for Oracle – New Control Capabilities in Database Environment](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/) (entrada del blog)
+ [Integrate Amazon RDS Custom for Oracle with Amazon EFS](https://aws.amazon.com/blogs/database/integrate-amazon-rds-custom-for-oracle-with-amazon-efs/) (entrada del blog)
+ [Configuración de Amazon RDS como una PeopleSoft base de datos de Oracle](https://d1.awsstatic.com/whitepapers/configuring-amazon-rds-as-peoplesoft-database.pdf) (documento técnico de AWS)

# Migración de la funcionalidad ROWIdentificador de Oracle a PostgreSQL en AWS
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws"></a>

*Rakesh Raghav y Ramesh Pathuri, Amazon Web Services*

## Resumen
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-summary"></a>

Este patrón describe las opciones para migrar la funcionalidad de `ROWID` pseudocolumnas de Oracle Database a una base de datos PostgreSQL en Amazon Relational Database Service (Amazon RDS) para PostgreSQL, Amazon Aurora PostgreSQL Compatible Edition o Amazon Elastic Compute Cloud (Amazon). EC2

En una base de datos de Oracle, la pseudocolumna `ROWID` es la dirección física de una fila de una tabla. Esta pseudocolumna se utiliza para identificar de forma exclusiva una fila, incluso si la clave principal no está presente en la tabla. PostgreSQL tiene una pseudocolumna similar llamada `ctid`, pero no se puede usar como `ROWID`. Como se explica en la [documentación de PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html), `ctid` puede cambiar si se actualiza o después de cada proceso `VACUUM`.

Hay tres maneras de crear la funcionalidad de pseudocolumnas `ROWID` en PostgreSQL:
+ Utilice una columna de clave principal en lugar de `ROWID` para identificar una fila de una tabla.
+ Utilice una primary/unique clave lógica (que puede ser una clave compuesta) en la tabla. 
+ Agregue una columna con valores generados automáticamente y conviértala en una primary/unique clave para imitar`ROWID`.

Este patrón le guía por las tres implementaciones y describe las ventajas y desventajas de cada opción.

## Requisitos previos y limitaciones
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Experiencia en codificación procedimental Language/PostgreSQL (PL/pgSQL)
+ Base de datos de origen de Oracle
+ Un clúster de Amazon RDS for PostgreSQL o Aurora compatible con PostgreSQL, o una instancia para alojar la base de datos de PostgreSQL EC2 

**Limitaciones**
+ Este patrón proporciona soluciones alternativas para la funcionalidad de `ROWID`. PostgreSQL no proporciona un equivalente a `ROWID` en Oracle Database.

**Versiones de producto**
+ PostgreSQL 11.9 o posterior

## Arquitectura
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Oracle

**Pila de tecnología de destino**
+ Aurora compatible con PostgreSQL, Amazon RDS for PostgreSQL o una instancia con una base de datos PostgreSQL EC2 

![\[Conversión de una base de datos de Oracle a PostgreSQL en AWS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/9a2ce994-4f68-4975-aab2-796cc20a3c82/images/6e7c2ef6-f440-476a-9003-f1f166718e15.png)


**Opciones de implementación**

Existen tres opciones para solucionar la falta de compatibilidad de `ROWID` con PostgreSQL, en función de si la tabla tiene una clave principal o un índice único, una clave principal lógica o un atributo de identidad. La elección depende de los plazos del proyecto, de la fase de migración actual y de las dependencias del código de la aplicación y de la base de datos.


| 
| 
| Opción | Description (Descripción) | Ventajas | Desventajas | 
| --- |--- |--- |--- |
| **Clave principal o índice único** | Si la tabla de Oracle tiene una clave principal, puede utilizar los atributos de esta clave para identificar de forma exclusiva una fila.  | No depende de las funciones de la base de datos patentada.El impacto en el rendimiento es mínimo, ya que los campos de clave principal están indexados. | Requiere cambios en el código de la aplicación y la base de datos en el que se basa en `ROWID` para cambiar a los campos de clave principal.  | 
| ** primary/unique Clave lógica** | Si la tabla de Oracle tiene una clave principal lógica, puede utilizar los atributos de esta clave para identificar de forma exclusiva una fila. Una clave principal lógica consta de un atributo o un conjunto de atributos que pueden identificar de forma única una fila, pero no se aplica a la base de datos mediante una restricción. | No depende de las funciones de la base de datos patentada. | Requiere cambios en el código de la aplicación y la base de datos en el que se basa en `ROWID` para cambiar a los campos de clave principal.Si los atributos de la clave principal lógica no están indexados, se produce un impacto significativo en el rendimiento. No obstante, puede añadir un índice único para evitar problemas de rendimiento. | 
| **Atributo de identidad** | si la tabla de Oracle no tiene una clave principal, puede crear un campo adicional como `GENERATED ALWAYS AS IDENTITY`. Este atributo genera un valor único cada vez que se insertan datos en la tabla, por lo que se puede utilizar para identificar de forma única una fila para las operaciones del lenguaje de manipulación de datos (DML). | No depende de las funciones de la base de datos patentada.La base de datos PostgreSQL rellena el atributo y mantiene su exclusividad. | Requiere cambios en el código de la aplicación y la base de datos en el que se basa en `ROWID` para cambiar el atributo de identidad.Si el campo adicional no está indexado, tiene un impacto significativo en el rendimiento. No obstante, puede añadir un índice para evitar problemas de rendimiento. | 

## Tools (Herramientas)
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-tools"></a>
+ [Amazon Relational Database Service (Amazon RDS) para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de PostgreSQL en la nube de AWS.
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos. En este patrón, puede usar la AWS CLI para ejecutar comandos SQL a través de **pgAdmin.**
+ [pgAdmin](https://www.pgadmin.org/) es una herramienta de gestión de código abierto para PostgreSQL. Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.
+ La [Herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) simplifica las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado, lo que incluye las vistas, los procedimientos almacenados y las funciones, a un formato compatible con la base de datos de destino.

## Epics
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-epics"></a>

### Identificar las tablas de origen
<a name="identify-the-source-tables"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique las tablas de Oracle que utilizan el atributo `ROWID`. | Utilice la herramienta de conversión de esquemas de AWS (AWS SCT) para identificar las tablas de Oracle que tienen funcionalidad de `ROWID`. Para obtener más información, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html#CHAP_Source.Oracle.ToPostgreSQL.ConvertRowID).—o—En Oracle, utilice la vista de `DBA_TAB_COLUMNS` para identificar las tablas que tienen un atributo `ROWID`. Estos campos se pueden utilizar para almacenar caracteres alfanuméricos de 10 bytes. Determine el uso y conviértalos en un campo `VARCHAR`, si procede. | Administrador de base de datos o desarrollador | 
| Identifique el código que hace referencia a estas tablas. | Utilice AWS SCT para generar un informe de evaluación de la migración a fin de identificar los procedimientos afectados por `ROWID`. Para obtener más información, consulte la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.html).—o—En la base de datos de Oracle de origen, utilice el campo de texto de la tabla `dba_source` para identificar los objetos que utilizan la funcionalidad de `ROWID`. | Administrador de base de datos o desarrollador | 

### Determine el uso de clave principal
<a name="determine-primary-key-usage"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifica las tablas que no tienen claves principales. | En la base de datos de Oracle de origen, utilice `DBA_CONSTRAINTS` para identificar las tablas que no tienen claves principales. Esta información le ayudará a determinar la estrategia de cada tabla. Por ejemplo:<pre>select dt.*<br />from dba_tables dt<br />where not exists (select 1<br />                  from all_constraints ct<br />                  where ct.owner = Dt.owner<br />                    and ct.table_name = Dt.table_name<br />                    and ct.constraint_type = 'P'<br />                  )<br />and dt.owner = '{schema}'</pre> | Administrador de base de datos o desarrollador | 

### Identifique y aplique la solución
<a name="identify-and-apply-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Aplique cambios a las tablas que tengan una clave principal lógica o definida.  | Realice los cambios en el código de la aplicación y la base de datos que se muestran en la sección [Información adicional](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional) para utilizar una clave principal única o una clave principal lógica para identificar una fila de la tabla. | Administrador de base de datos o desarrollador | 
| Agregue un campo adicional a las tablas que no tengan una clave principal lógica o definida. | Añada un atributo de tipo `GENERATED ALWAYS AS IDENTITY`. Realice los cambios en el código de la aplicación y la base de datos que se muestran en la sección [Información adicional](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional). | Administrador de base de datos o desarrollador | 
| Añada un índice si es necesario. | Agregue un índice al campo adicional o a la clave principal lógica para mejorar el rendimiento de SQL. | Administrador de base de datos o desarrollador | 

## Recursos relacionados
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-resources"></a>
+ [CTID de PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html) (documentación de PostgreSQL)
+ [Columnas generadas](https://www.postgresql.org/docs/current/ddl-generated-columns.html) (documentación de PostgreSQL)
+ [Pseudocolumna ROWID](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html#GUID-F6E0FBD2-983C-495D-9856-5E113A17FAF1) (documentación de Oracle)

## Información adicional
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional"></a>

En las siguientes secciones se proporcionan ejemplos de código de Oracle y PostgreSQL para ilustrar los tres enfoques.

**Escenario 1: Uso de una clave única principal**

En los siguientes ejemplos, se crea la tabla `testrowid_s1` con `emp_id` la clave principal.

*Código de Oracle:*

```
create table testrowid_s1 (emp_id integer, name varchar2(10), CONSTRAINT testrowid_pk PRIMARY KEY (emp_id));
INSERT INTO testrowid_s1(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s1(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s1(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s1(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 empname2
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4

UPDATE testrowid_s1 SET name = 'Ramesh' WHERE rowid = 'AAAF3pAAAAAAAMOAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 Ramesh
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s1
(
    emp_id integer,
    name character varying,
    primary key (emp_id)
);

insert into public.testrowid_s1 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s1 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Escenario 2: uso de una clave principal lógica**

En los ejemplos siguientes, se crea la tabla `testrowid_s2` con `emp_id` la clave principal lógica.

*Código de Oracle:*

```
create table testrowid_s2 (emp_id integer, name varchar2(10) );
INSERT INTO testrowid_s2(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s2(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s2(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s2(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 empname2
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4

UPDATE testrowid_s2 SET name = 'Ramesh' WHERE rowid = 'AAAF3rAAAAAAAMeAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 Ramesh
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s2
(
    emp_id integer,
    name character varying
);

insert into public.testrowid_s2 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s2 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Escenario 3: Uso de un atributo de identidad**

En los ejemplos siguientes, se crea la tabla `testrowid_s3` sin clave principal y mediante un atributo de identidad.

*Código de Oracle:*

```
create table testrowid_s3 (name varchar2(10));
INSERT INTO testrowid_s3(name) values ('empname1');
INSERT INTO testrowid_s3(name) values ('empname2');
INSERT INTO testrowid_s3(name) values ('empname3');
INSERT INTO testrowid_s3(name) values ('empname4');
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB empname2
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4

UPDATE testrowid_s3 SET name = 'Ramesh' WHERE rowid = 'AAAF3sAAAAAAAMmAAB' ;
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB Ramesh
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4
```

*Código PostgreSQL:*

```
CREATE TABLE public.testrowid_s3
(
    rowid_seq bigint generated always as identity,
    name character varying
);

insert into public.testrowid_s3 (name) values 
('empname1'),('empname2'),('empname3'),('empname4');

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         2 | empname2
         3 | empname3
         4 | empname4

update testrowid_s3 set name = 'Ramesh' where rowid_seq = 2 ;

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         3 | empname3
         4 | empname4
         2 | Ramesh
```

# Migración de códigos de error de Oracle Database a una base de datos Amazon Aurora compatible con PostgreSQL
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database"></a>

*Sai Parthasaradhi y Veeranjaneyulu Grandhi, Amazon Web Services*

## Resumen
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-summary"></a>

Este patrón muestra cómo migrar los códigos de error de Oracle Database a una base de datos de [Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) mediante una tabla de metadatos predefinida.

Los códigos de error de Oracle Database no siempre tienen un código de error de PostgreSQL correspondiente. Esta diferencia en los códigos de error puede dificultar la configuración de la lógica de procesamiento de los procedimientos o funciones en la arquitectura PostgreSQL de destino.

Puede simplificar el proceso almacenando los códigos de error de la base de datos de origen y destino que son significativos para el PL/pgSQL programa en una tabla de metadatos. Configure la tabla para marcar los códigos de error válidos de Oracle Database y asignarlos a sus equivalentes de PostgreSQL antes de continuar con el resto de la lógica del proceso. Si el código de error de Oracle Database no está en la tabla de metadatos, el proceso finaliza con una excepción. Podrá revisar manualmente los detalles del error y añadir el nuevo código de error a la tabla si su programa lo requiere.

Al usar esta configuración, su base de datos Amazon Aurora compatible con PostgreSQL puede gestionar los errores de la misma manera que lo hace su base de datos de Oracle de origen.

**nota**  
La configuración de una base de datos PostgreSQL para gestionar correctamente los códigos de error de Oracle Database suele requerir cambios en el código de la base de datos y de la aplicación.

## Requisitos previos y limitaciones
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de Oracle de origen con servicios de instancia y oyente en ejecución
+ Un clúster de Amazon Aurora compatible con PostgreSQL en ejecución
+ Familiaridad con Oracle Database
+ Familiaridad con bases de datos PostgreSQL

## Arquitectura
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-architecture"></a>

El siguiente diagrama muestra un ejemplo de flujo de trabajo de base de datos Amazon Aurora compatible con PostgreSQL para la validación y gestión de códigos de error de datos:

![\[Validación y gestión de códigos de error de datos para una base de datos de Aurora compatible con PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/82751f40-2fd9-4ce7-ab61-0874552d857b/images/b7ab627e-8f34-4635-8660-93c5c80ce38d.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. La tabla contiene los códigos de error y clasificaciones de Oracle Database, así como los códigos de error y clasificaciones de PostgreSQL equivalentes. La tabla incluye una columna **valid\$1error** que clasifica si los códigos de error específicos y predefinidos son válidos o no.

1. **Cuando una PL/pgSQL función (**func\$1processdata**) genera una excepción, invoca una segunda PL/pgSQL función (error\$1validation).**

1. La función **error\$1validation** acepta el código de error de la base de datos de Oracle como argumento de entrada. A continuación, la función compara el código de error entrante con la tabla para comprobar si el error está incluido en la tabla.

1. Si el código de error de la base de datos de Oracle está incluido en la tabla, la función **error\$1validation** devuelve un valor **TRUE** y la lógica del proceso continúa. Si el código de error no está incluido en la tabla, la función devuelve un valor **FALSE** y la lógica del proceso se cierra con una excepción.

1. Cuando la función devuelve un valor **FALSE**, el responsable funcional de la aplicación revisa manualmente los detalles del error para determinar su validez.

1. A continuación, el nuevo código de error se añade manualmente a la tabla o no. Si el código de error es válido y se añade a la tabla, la función **error\$1validation** devolverá un valor **TRUE** la próxima vez que se produzca la excepción. Si el código de error no es válido y el proceso debe fallar cuando se produzca la excepción, el código de error no se agregará a la tabla.

**Pila de tecnología **
+ PostgreSQL de Amazon Aurora
+ pgAdmin
+ Oracle SQL Developer

## Tools (Herramientas)
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-tools"></a>
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ [pgAdmin](https://www.pgadmin.org/) es una plataforma de administración y desarrollo de código abierto para PostgreSQL. Proporciona una interfaz gráfica que ayuda a crear, mantener y usar objetos de base de datos.
+ [Oracle SQL Developer](https://www.oracle.com/in/database/technologies/appdev/sqldeveloper-landing.html) es un entorno de desarrollo integrado que simplifica el desarrollo y la administración de bases de datos de Oracle, tanto en implementaciones tradicionales como en implementaciones basadas en la nube.

## Epics
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-epics"></a>

### Migración de códigos de error de Oracle Database a una base de datos Amazon Aurora compatible con PostgreSQL
<a name="migrate-oracle-database-error-codes-to-your-amazon-aurora-postgresql-compatible-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una tabla en la base de datos de Amazon Aurora compatible con PostgreSQL. | Ejecute el comando de PostgreSQL [CREATE TABLE](https://www.postgresql.org/docs/current/sql-createtable.html):<pre>(<br /><br />    source_error_code numeric NOT NULL,<br /><br />    target_error_code character varying NOT NULL,<br /><br />    valid_error character varying(1) NOT NULL<br /><br />); </pre> | Desarrollador de PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Añada los códigos de error de PostgreSQL y sus correspondientes códigos de error de Oracle Database a la tabla. | Ejecute el comando de PostgreSQL [INSERT](https://www.postgresql.org/docs/current/sql-insert.html) para añadir los valores de código de error necesarios a la tabla **error\$1codes**.Los códigos de error de PostgreSQL deben usar un tipo de datos que varíe en caracteres (valor **SQLSTATE**). Los códigos de error de Oracle deben usar un tipo de datos numéricos (valor **SQLCODE**).**Ejemplo de instrucciones de inserción:**<pre>insert into error_codes values (-1817,'22007','Y');<br />insert into error_codes values (-1816,'22007','Y');<br />insert into error_codes values (-3114,'08006','N');</pre>Si detecta excepciones de conectividad de bases de datos Java (JDBC) específicas de Oracle, debe sustituirlas por excepciones genéricas entre bases de datos o cambiar a excepciones específicas de PostgreSQL. | Desarrollador de PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Cree una PL/pgSQL función para validar los códigos de error. | Cree una PL/pgSQL función ejecutando el comando CREATE FUNCTION de [PostgreSQL](https://www.postgresql.org/docs/current/sql-createfunction.html). Asegúrese de que la función haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.html) | Desarrollador de PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 
| Revise manualmente los nuevos códigos de error a medida que los vaya registrando la función. PL/pgSQL  | Revise manualmente los nuevos códigos de error.Si un nuevo código de error es válido para su caso de uso, agréguelo a la tabla **error\$1codes** ejecutando el comando de PostgreSQL **INSERT**.-o bien-Si un código de error nuevo no es válido para su caso de uso, no lo añada a la tabla. La lógica del proceso seguirá fallando y se cerrará con una excepción cuando se produzca el error. | Desarrollador de PostgreSQL, Oracle, para PostgreSQL RDS/Aurora  | 

## Recursos relacionados
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-resources"></a>

[Apéndice A. Códigos de error de PostgreSQL](https://www.postgresql.org/docs/11/errcodes-appendix.html) (documentación de PostgreSQL)

[Mensajes de error de base de datos](https://docs.oracle.com/cd/E11882_01/server.112/e17766/toc.htm) (documentación de Oracle Database)

# Migre SAP ASE de Amazon EC2 a Amazon Aurora compatible con PostgreSQL mediante AWS SCT y AWS DMS
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms"></a>

*Amit Kumar y Ankit Gupta, Amazon Web Services*

## Resumen
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-summary"></a>

Este patrón describe cómo migrar una base de datos de SAP Adaptive Server Enterprise (SAP ASE) alojada en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) a una edición compatible con PostgreSQL de Amazon Aurora mediante la herramienta de conversión de esquemas de AWS (AWS SCT) y el Servicio de migración de bases de datos de AWS (AWS DMS). El patrón se centra tanto en la conversión del lenguaje de definición de datos (DDL) para los objetos almacenados como en la migración de datos.

Compatible con Aurora PostgreSQL, admite las cargas de trabajo de procesamiento de transacciones online (OLTP). Este servicio gestionado proporciona configuraciones que se escalan automáticamente según la demanda. Puede iniciar, cerrar, ampliar o reducir automáticamente la base de datos en función de las necesidades de la aplicación. Puede ejecutar su base de datos en la nube sin administrar ninguna instancia de base de datos. Compatible con Aurora PostgreSQL ofrece una opción rentable para las cargas de trabajo poco frecuentes, intermitentes o impredecibles.

El proceso de migración consta de dos fases principales:
+ Conversión de esquemas de bases de datos con AWS SCT
+ Migración de los datos mediante AWS DMS

En la sección *Epics* se proporcionan instrucciones detalladas para ambas fases. Para obtener información sobre la solución de problemas específicos del uso de AWS DMS con bases de datos de SAP ASE, consulte [Solución de problemas con SAP ASE](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.SAP) en la documentación de AWS DMS.

## Requisitos previos y limitaciones
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos SAP ASE de origen en una EC2 instancia con servicios de servidor, base de datos y escucha en funcionamiento
+ Una base de datos de destino Aurora compatible con PostgreSQL 

**Limitaciones**
+ El número de puerto para las conexiones puede ser 5432.
+ La función [huge\$1pages](https://www.postgresql.org/docs/9.6/static/runtime-config-resource.html) está activada de forma predeterminada, pero se puede modificar.
+ Point-in-time La granularidad de la recuperación (PITR) es de 5 minutos.
+ La replicación entre regiones no está disponible actualmente.
+ El tamaño máximo de almacenamiento para una base de datos Aurora es de 128 TiB.
+ Puede crear un máximo de 15 réplicas de lectura.
+ El límite de tamaño de la tabla está limitado únicamente por el tamaño del volumen del clúster de Aurora, por lo que el tamaño máximo de la tabla para un clúster de base de datos compatible con Aurora PostgreSQL es de 32 TiB. Le recomendamos que siga estas prácticas recomendadas de diseño de tabla, como la partición de tablas grandes.

**Versiones de producto**
+ Base de datos de origen: AWS DMS actualmente es compatible con SAP ASE 15, 15.5, 15.7 y 16.x. Consulte la [Guía del usuario de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html) para obtener la información más reciente sobre el soporte de versiones de SAP ASE.
+ Base de datos de destino: PostgreSQL 9.4 y versiones posteriores (para la versión 9.x), 10.x, 11.x, 12.x, 13.x y 14.x. Consulte la [Guía del usuario de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) para ver las últimas versiones compatibles de PostgreSQL.
+ Amazon Aurora 1.x o posterior. Para obtener la información más reciente, consulte las [versiones compatibles con Aurora PostgreSQL y las versiones del motor](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) en la documentación de Aurora.

## Arquitectura
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos SAP ASE que se ejecuta en Amazon EC2

**Pila de tecnología de destino**
+ Base de datos Aurora compatible con PostgreSQL

**Arquitectura de migración **

![\[Migración de una base de datos de ASE de SAP a la edición de Aurora compatible con PostgreSQL mediante AWS SCT y AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/07fbdea1-0242-40ae-8e5f-2ce4a620a047/images/a3b018f3-2e7b-4c37-a218-870c56132acb.png)


## Tools (Herramientas)
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-tools"></a>
+ La [edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de base de datos relacional compatible con ACID, completamente administrado que le permite configurar, utilizar y escalar implementaciones de PostgreSQL.
+ La [herramienta de conversión de esquemas de AWS (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) admite migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino.
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) admite varias bases de datos de origen y destino diferentes. Para obtener más información, consulte [Fuentes de migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) y [Objetivos de migración de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) en la documentación de AWS DMS. Para obtener el soporte más completo de versiones y funciones, recomendamos que utilice la última versión de AWS DMS. 

## Epics
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-epics"></a>

### Configuración del entorno
<a name="set-up-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el acceso a la red en la EC2 instancia de origen. | Configure grupos de seguridad en la EC2 instancia que aloja la base de datos SAP ASE de origen.Para obtener instrucciones, consulta [los grupos EC2 de seguridad de Amazon para instancias de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html?icmpid=docs_ec2_console) en la EC2 documentación de Amazon. | Administrador de sistemas | 
| Cree su clúster de base de datos Aurora compatible con PostgreSQL de destino. | Instale, configure y lance un clúster compatible con Aurora PostgreSQL para la base de datos de destino.Para obtener más información, consulte [ Creación de un clúster de base de datos de Amazon Aurora, en la documentación de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html). | Administrador de base de datos | 
| Configure la autorización para el clúster de base de datos de destino. | Configure grupos de seguridad y firewalls para la base de datos de destino.Para obtener instrucciones, consulte [Creación de un clúster de base de datos de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) en la documentación de Aurora. | Administrador de base de datos, administrador de sistemas | 

### Convierta el esquema de su base de datos con AWS SCT
<a name="convert-your-database-schema-with-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Iniciar AWS SCT. | Para iniciar AWS SCT, siga las instrucciones de la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html).AWS SCT proporciona una interfaz de usuario basada en el proyecto para convertir automáticamente el esquema de la base de datos de su base de datos SAP ASE de origen en un formato compatible con su instancia de base de datos de Aurora compatible con PostgreSQL de destino. | Administrador de base de datos | 
| Cree puntos de enlace SCT de AWS. | Cree puntos de conexión para las bases de datos de origen SAP ASE, y las bases de datos de desino PostgreSQL.Para obtener instrucciones, consulte [la documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers). | Administrador de base de datos | 
| Generar un informe de evaluación. | Cree un informe de evaluación de la migración de la base de datos para evaluar la migración y detectar cualquier objeto o función incompatible.Para obtener instrucciones, consulte [la documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport). | Administrador de base de datos | 
| Convierta el esquema.  | Convierta el esquema de la base de datos siguiendo las instrucciones de la [documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html). | Administrador de base de datos | 
| Valide los objetos de la base de datos. | Si AWS SCT no puede convertir un objeto de base de datos, identificará su nombre y otros detalles. Debe convertir estos objetos manualmente.Para identificar estas discrepancias, siga las instrucciones de la entrada del blog de AWS sobre cómo [Validar los objetos de la base de datos después de migrar de SAP ASE a Amazon RDS para PostgreSQL o Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/validate-database-objects-after-migrating-from-sap-ase-to-amazon-rds-for-postgresql-or-amazon-aurora-postgresql/). | Administrador de base de datos | 

### Analice la migración a AWS DMS
<a name="analyze-the-aws-dms-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. | Compruebe la compatibilidad de las versiones de las bases de datos SAP ASE con AWS DMS. Para obtener más información, consulte [Origens de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html#CHAP_Introduction.Sources.title) y [Objetivos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Identifique los requisitos para el tipo y la capacidad de almacenamiento. | Elija la capacidad de almacenamiento adecuada para la base de datos de destino en función del tamaño de la base de datos de origen. | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de instancia, la capacidad y otras características de la instancia de replicación. | Elija el tipo de instancia, la capacidad, las funciones de almacenamiento y las funciones de red que mejor se adapten a sus necesidades.Para obtener orientación, consulte [Elegir la instancia de replicación de AWS DMS correcta para la migración](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) en la documentación de AWS DMS. | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de seguridad de acceso a la red. | Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino.Siga las instrucciones de [Configuración de una red para una instancia de replicación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html) en la documentación de AWS DMS. | Administrador de base de datos, administrador de sistemas | 

### Migración de datos
<a name="migrate-the-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los datos mediante la creación de una tarea de migración en AWS DMS. | Para migrar datos, cree una tarea y siga las instrucciones en [la documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. | Administrador de base de datos | 
| Valide los datos. | Para validar que los datos se migraron con precisión de la base de datos de origen a la base de datos de destino, siga las [pautas de validación de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) que se proporcionan en la documentación de AWS DMS. | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identificar la estrategia de migración de aplicaciones. | Elija una de las [siete estrategias (7R)](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/planning-phase.html) para migrar aplicaciones a la nube. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Seguir la estrategia de migración de aplicaciones. | Complete las tareas de la base de datos identificadas por el equipo de la aplicación, incluida la actualización de los detalles de la conexión DNS de la base de datos de destino y la actualización de las consultas dinámicas.  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. | Cambie la conexión de la base de datos de origen a la base de datos de destino. Para obtener más información, consulte la sección de [Transición](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/cut-over.html) de la *Estrategia de migración para bases de datos relacionales*. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. | Finalice todas las tareas de migración, las instancias de replicación, los puntos de enlace y otros recursos de AWS SCT y AWS DMS. Para obtener más información, consulte [la documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Deleting). | Administrador de base de datos, administrador de sistemas | 
| Revise y valide los documentos del proyecto. | Valide todos los pasos de la documentación del proyecto para asegurarse de que todas las tareas se hayan completado correctamente. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cierre el proyecto. | Cierre el proyecto de migración y envíe sus comentarios. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-resources"></a>

**Referencias**
+ [Habilite las conexiones cifradas para las instancias de base de datos de PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds.html) (Recomendaciones de AWS)
+ [Transporte bases de datos PostgreSQL entre dos instancias de base de datos de Amazon RDS mediante pg\$1transport](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg_transport.html) (Recomendaciones de AWS)
+ [Precios de Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Prácticas recomendadas con Edición compatible con Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.BestPractices.html) (documentación de Amazon Aurora)
+ [Documentación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Uso de una base de datos SAP ASE como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)

**Tutoriales y videos**
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/getting-started/)
+ [AWS Database Migration Service (AWS DMS)](https://www.youtube.com/watch?v=zb4GcjEdl8U) (video)

# Migración de los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm"></a>

*Chandra Sekhar Yaratha e Igor Kovalchuk, Amazon Web Services*

## Resumen
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-summary"></a>

El patrón proporciona orientación sobre el uso de AWS Certificate Manager (ACM) para migrar los certificados Secure Sockets Layer (SSL) existentes de sitios web alojados en servidores locales o instancias de Amazon Elastic Compute Cloud (Amazon EC2) en Microsoft Internet Information Services (IIS). Después, los certificados SSL se pueden usar con Elastic Load Balancing en AWS. 

SSL protege sus datos, afirma su identidad, proporciona una mejor clasificación en los motores de búsqueda, ayuda a cumplir los requisitos de la norma de seguridad de datos del sector de las tarjetas de pago (PCI DSS) y mejora la confianza de los clientes. Los desarrolladores y los equipos de TI que administran estas cargas de trabajo desean que sus aplicaciones e infraestructuras web, incluidos el servidor IIS y Windows Server, sigan cumpliendo con sus políticas básicas.

Este patrón incluye la exportación manual de los certificados SSL existentes desde Microsoft IIS, su conversión del formato de intercambio de información personal (PFX) al formato de correo privado mejorado (PEM) compatible con ACM y, a continuación, su importación a ACM en la cuenta de AWS. También se describe cómo crear un equilibrador de carga de aplicación para la aplicación y cómo configurar el equilibrador de carga de aplicación para que utilice los certificados importados. A continuación, las conexiones HTTPS finalizan en el equilibrador de carga de aplicación y no se necesita más sobrecarga de configuración en el servidor web. Para obtener más información, consulte [Create an HTTPS listener for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) (Crear un oyente HTTPS para el equilibrador de carga de aplicación).

Los servidores Windows utilizan archivos .pfx o .p12 para contener el archivo de clave pública (certificado SSL) y el archivo de clave privada exclusivo. La autoridad de certificación (CA) le proporciona su archivo de clave pública. El servidor se utiliza para generar el archivo de clave privada asociado en el que se creó la solicitud de firma de certificados (CSR).

## Requisitos previos y limitaciones
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una nube privada virtual (VPC) en AWS con al menos una subred privada y una pública en cada zona de disponibilidad utilizada por los destinos
+ La versión 8.0 o posterior de IIS se ejecuta en Windows Server 2012 o posterior
+ Una aplicación web que se ejecute en IIS
+ Acceso de administrador al servidor IIS

## Arquitectura
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-architecture"></a>

**Pila de tecnología de origen**
+ Implementación de un servidor web IIS con SSL para garantizar que los datos se transmitan de forma segura en una conexión cifrada (HTTPS) 

**Arquitectura de origen**

![\[Arquitectura de origen para migrar los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/e63efb6f-205b-4e20-a043-6bc954470191.png)


**Pila de tecnología de destino**
+ Certificados ACM en su cuenta de AWS
+ Un equilibrador de carga de aplicación configurado para usar certificados importados
+ Instancias de Windows Server en las subredes privadas

**Arquitectura de destino**

![\[Arquitectura de destino para migrar los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/45ac7fba-fbad-4c74-9b1f-80ca212dae08.png)


 

## Tools (Herramientas)
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-tools"></a>
+ [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) le ayuda a crear, almacenar y renovar claves y certificados SSL/TLS X.509 públicos y privados que protegen sus sitios web y aplicaciones de AWS.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) distribuye el tráfico entrante de aplicaciones o redes entre varios destinos. Por ejemplo, puede distribuir el tráfico entre EC2 instancias, contenedores y direcciones IP en una o más zonas de disponibilidad.

## Prácticas recomendadas
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-best-practices"></a>
+ Imponga redireccionamientos de tráfico de HTTP a HTTPS.
+ Configure correctamente los grupos de seguridad para su equilibrador de carga de aplicación para permitir el tráfico entrante solo a puertos específicos.
+ Lance sus EC2 instancias en diferentes zonas de disponibilidad para garantizar una alta disponibilidad.
+ Configure el dominio de la aplicación para que apunte al nombre DNS del equilibrador de carga de aplicación en lugar de a su dirección IP.
+ Asegúrese de que el equilibrador de carga de aplicación tenga configuradas las [comprobaciones de estado](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) de la capa de aplicación.
+ Configure el umbral para las comprobaciones de estado.
+ Usa [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para monitorear el Application Load Balancer.

## Epics
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-epics"></a>

### Exportar un archivo .pfx
<a name="export-a-pfx-file"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Exporte el archivo .pfx desde Windows Server. | Para exportar el certificado SSL como un archivo .pfx desde el administrador de IIS en las instalaciones de Windows Server:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)El archivo .pfx ahora debería guardarse en la ubicación y la ruta que especificó. | Administrador de sistemas | 

### Convertir el certificado codificado en PFX al formato PEM
<a name="convert-the-pfx-encoded-certificate-to-pem-format"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue e instale el kit de herramientas de OpenSSL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrador de sistemas | 
| Convertir el certificado codificado en PFX al formato PEM. | Los pasos siguientes convierten el archivo de certificado firmado y codificado en PFX en tres archivos en formato PEM:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Para convertir el certificado codificado en PFX:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrador de sistemas | 

### Importar un certificado a ACM
<a name="import-a-certificate-into-acm"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepárese para importar el certificado. | En la [consola ACM](https://console.aws.amazon.com/acm/home), seleccione **Import a certificate** (Importar un certificado). | Administrador de la nube | 
| Proporcione el cuerpo del certificado. | En el **Certificate body**, pegue el certificado codificado en PEM para importar. Para obtener más información sobre los comandos y los pasos descritos en esta y otras tareas de esta Epic, consulte [Import a certificate](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) (Importar un certificado) en la documentación de ACM. | Administrador de la nube | 
| Proporcione la clave privada del certificado. | En **Certificate private key**, pegue la clave privada codificada en PEM y sin cifrar que coincida con la clave pública del certificado. | Administrador de la nube | 
| Proporcione la cadena del certificado. | En **Certificate chain** (Cadena del certificado), pegue la cadena del certificado codificada en PEM, que se almacena en el archivo `CertificateChain.pem`. | Administrador de la nube | 
| Importe el certificado. | Seleccione **Review and import**. Confirme que la información sobre su certificado es correcta y, a continuación, seleccione **Import**. | Administrador de la nube | 

### Creación de un equilibrador de carga de aplicación
<a name="create-an-application-load-balancer"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree y configure el equilibrador de carga y los oyentes. | Siga las instrucciones de la [documentación de Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) para configurar un grupo objetivo, registrar los objetivos y crear un equilibrador de carga de aplicación y un oyente. Agregue un segundo oyente (HTTPS) para el puerto 443. | Administrador de la nube | 

## Resolución de problemas
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Windows PowerShell no reconoce el comando OpenSSL incluso después de agregarlo a la ruta del sistema. | Compruebe que `$env:path` incluya la ubicación de los binarios de OpenSSL.Si no es así, ejecute el siguiente comando en: PowerShell<pre>$env:path = $env:path + ";C:\OpenSSL-Win64\bin"</pre> | 

## Recursos relacionados
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-resources"></a>

**Importing a certificate into ACM** (Importar un certificado a ACM)
+ [Consola de ACM](https://console.aws.amazon.com/acm/home)
+ [Certificate and key format for importing](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-format.html) (Formato de certificado y de clave para importación)
+ [Importing a certificate](https://aws.amazon.com/blogs/security/how-to-import-pfx-formatted-certificates-into-aws-certificate-manager-using-openssl/) (Importar un certificado)
+ [AWS Certificate Manager User Guide](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) (Guía del usuario de AWS Certificate Manager)

**Creating an Application Load Balancer** (Crear un equilibrador de carga de aplicación)
+ [Creación de un equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)
+ [Application Load Balancer User Guide](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) (Guía del usuario del equilibrador de carga de aplicación)

# Migración de una cola de mensajes de Microsoft Azure Service Bus a Amazon SQS
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs"></a>

*Nisha Gambhir, Amazon Web Services*

## Resumen
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-summary"></a>

Este patrón describe cómo migrar una aplicación web o de consola .NET Framework o .NET Core desde la plataforma de mensajería en cola Service Bus de Microsoft Azure a Amazon Simple Queue Service (Amazon SQS).

Las aplicaciones utilizan los servicios de mensajería para enviar y recibir datos de otras aplicaciones. Estos servicios ayudan a compilar microservicios disociados y altamente escalables, sistemas distribuidos y aplicaciones sin servidor en la nube.

Las colas de Azure Service Bus forman parte de una infraestructura de mensajería de Azure más amplia que admite las colas y publish/subscribe la mensajería. 

Amazon SQS es un servicio de colas de mensajes completamente administrado que permite el desacople y el escalado de microservicios, sistemas distribuidos y aplicaciones sin servidor. Amazon SQS elimina la complejidad y la sobrecarga asociadas a la administración y el funcionamiento del middleware orientado a mensajes y permite a los desarrolladores centrarse en diferenciar el trabajo. Con Amazon SQS, puede enviar, almacenar y recibir mensajes entre componentes de software a cualquier volumen, sin perder mensajes ni requerir la disponibilidad de otros servicios.

## Requisitos previos y limitaciones
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Una aplicación web o de consola .NET Framework o .NET Core que utiliza colas de Azure Service Bus (se adjunta un código de muestra)

**Versiones de producto**
+ .NET Framework 3.5 o posterior, o .NET Core 1.0.1, 2.0.0 o posterior

## Arquitectura
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-architecture"></a>

**Pila de tecnología de origen**
+ Una aplicación web o de consola .NET (Core o Framework) que utiliza una cola de Azure Service Bus para enviar mensajes

 

**Pila de tecnología de destino**
+ Amazon SQS

## Tools (Herramientas)
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-tools"></a>

**Herramientas**
+ Microsoft Visual Studio

**Código**

Para crear una política de AWS Identity and Access Management (IAM) para Amazon SQS:

1. Inicie sesión en la consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

2. En el panel de navegación de la izquierda, elija **Políticas** y, a continuación, elija **Crear política**.

3. Elija la pestaña **JSON** y pegue el siguiente código:

```
{
   "Version": "2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:ChangeMessageVisibility",
            "sqs:SendMessageBatch",
            "sqs:ReceiveMessage",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueueTags",
            "sqs:ListDeadLetterSourceQueues",
            "sqs:DeleteMessageBatch",
            "sqs:PurgeQueue",
            "sqs:DeleteQueue",
            "sqs:CreateQueue",
            "sqs:ChangeMessageVisibilityBatch",
            "sqs:SetQueueAttributes"
         ],
         "Resource": "arn:aws:sqs:*:<AccountId>:*"
      },
      {
         "Sid": "VisualEditor1",
         "Effect": "Allow",
         "Action": "sqs:ListQueues",
         "Resource": "*"
      }
   ]
}
```

4. Elija **Revisar política**, escriba un nombre y seleccione **Crear política**.

5. Adjunte la política recién creada a su rol de IAM existente o cree un rol nuevo.

## Epics
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-epics"></a>

### Configuración de Amazon SQS en AWS
<a name="set-up-amazon-sqs-in-aws"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una política de IAM para Amazon SQS. | Cree la política de IAM que proporcionará acceso a Amazon SQS. Consulte la sección Código para ver una muestra de política. | Ingeniero de sistemas | 
| Crear un perfil de AWS. | Cree un perfil nuevo ejecutando las herramientas de AWS para PowerShell el comando Set-AWSCredential. Este comando almacena la clave de acceso y la clave secreta en el archivo de credenciales predeterminado bajo el nombre de perfil que especifique. Vincule la política de Amazon SQS que creó anteriormente con esta cuenta. Conserve el ID de clave de acceso y la clave de acceso secreta de AWS. Estos serán necesarios en los pasos siguientes. | Ingeniero de sistemas | 
| Crear una cola de SQS. | Puede crear una cola estándar o una cola con el primero en entrar, primero en salir (FIFO). Para obtener instrucciones, consulte el enlace de la sección Referencias. | Ingeniero de sistemas | 

### Revisar el código de su aplicación .NET
<a name="revise-your-net-application-code"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instalar AWS Toolkit for Visual Studio  | Este kit de herramientas es una extensión para Microsoft Visual Studio y facilita la creación e implementación de aplicaciones .NET en AWS. Para obtener instrucciones de instalación y uso, consulte el enlace de la sección Referencias. | Desarrollador de aplicaciones | 
| Instale el paquete AWSSDK .SQS. NuGet  | Puede instalar AWSSDK .SQS seleccionando «Administrar NuGet paquete» en Visual Studio o ejecutando el comando « AWSSDKInstall-Package .SQS». | Desarrollador de aplicaciones | 
| Cree un objeto en su AWSCredentials aplicación.NET. | La aplicación de ejemplo del archivo adjunto muestra cómo crear un AWSCredentials objeto básico, que hereda de AWSCredentials. Puede utilizar el identificador de clave de acceso y la clave de acceso secreta de antes, o dejar que el objeto los elija de la carpeta .aws como parte del perfil de usuario en tiempo de ejecución. | Desarrollador de aplicaciones | 
| Cree un objeto de cliente de SQS. | Cree un objeto cliente SQS (AmazonSQSClient) para .NET Framework. Esto forma parte del espacio de nombres Amazon.SQS. Este objeto es obligatorio en lugar del IQueue Cliente, que forma parte de Microsoft.Azure. ServiceBus espacio de nombres. | Desarrollador de aplicaciones | 
| Llame al SendMessageAsync método para enviar mensajes a la cola de SQS. | Cambie el código que envía el mensaje a la cola para usar el. amazonSqsClient SendMessageAsync método. Para obtener más información, consulte el código de muestra adjunto. | Desarrollador de aplicaciones | 
| Llame al ReceiveMessageAsync método para recibir mensajes de la cola de SQS. | Cambie el código que recibe el mensaje para usar el. amazonSqsClient ReceiveMessageAsync método. Para obtener más información, consulte el código de muestra adjunto. | Desarrollador de aplicaciones | 
| Llame al DeleteMessageAsync método para eliminar los mensajes de la cola de SQS. | Para eliminar mensajes, cambie el código del QueueClient. CompleteAsync método para. amazonSqsClient DeleteMessageAsync método. Para obtener más información, consulte el código de muestra adjunto. | Desarrollador de aplicaciones | 

## Recursos relacionados
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-related-resources"></a>
+ [Guía para desarrolladores de AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html)
+ [Mensajería mediante Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sqs-apis-intro.html)
+ [Creación y uso de una cola de Amazon SQS con AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/how-to-sqs.html)
+ [Enviar un mensaje de Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/SendMessage.html)
+ [Recibir un mensaje de una cola de Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/ReceiveMessage.html)
+ [Eliminar un mensaje de una cola de Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/DeleteMessage.html)
+ [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html)

## Información adicional
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-additional-information"></a>

Este patrón incluye dos aplicaciones de muestra (consulte la sección de adjuntos):
+ **AzureSbTestApp**incluye código que usa la cola del bus de servicio de Azure.
+ **AmazonSqsTestApp**utiliza Amazon SQS. Se trata de una aplicación de consola que utiliza .NET Core 2.2 e incluye ejemplos para enviar y recibir mensajes.

Notas:
+ QueueClient es un objeto de IQueue Client, que forma parte de Microsoft.Azure. ServiceBus espacio de nombres (incluido en Microsoft.Azure). ServiceBus NuGet paquete).
+ amazonSqsClient es un objeto de AmazonSQSClient, que forma parte del espacio de nombres Amazon.sqs (incluido en el paquete .SQS). AWSSDK NuGet 
+ Según dónde se ejecute el código, por ejemplo, si se está ejecutando, el rol debe tener permiso para escribir en EC2 la cola de SQS.

## Conexiones
<a name="attachments-25334709-7000-4f60-87ed-ea41acb41a99"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/25334709-7000-4f60-87ed-ea41acb41a99/attachments/attachment.zip)

# Migre una EnterpriseOne base de datos de Oracle JD Edwards a AWS mediante Oracle Data Pump y AWS DMS
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms"></a>

*Thanigaivel Thirumalai, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-summary"></a>

Puede migrar y ejecutar la EnterpriseOne base de datos de JD Edwards en [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Al migrar la base de datos a Amazon RDS, AWS puede encargarse de las tareas de backup y de la configuración de alta disponibilidad, para que pueda concentrarse en el mantenimiento de EnterpriseOne la aplicación y su funcionalidad. Para obtener una lista completa de los factores clave a tener en cuenta durante el proceso de migración, consulte [Estrategias de migración de bases de datos de Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) en Recomendaciones de AWS.

Existen varias formas de migrar una EnterpriseOne base de datos, entre las que se incluyen las siguientes:
+ Uso de Oracle Universal Batch Engine (UBE) R98403 para la creación de esquemas y tablas, y uso de AWS Database Migration Service (AWS DMS) para la migración
+ Uso de herramientas nativas de bases de datos para la creación de esquemas y tablas y uso de AWS DMS para la migración
+ Uso de herramientas nativas de bases de datos para la migración de datos existentes (carga completa) y uso de AWS DMS para tareas de captura de datos de cambios (CDC)

Este patrón cubre la tercera opción. En él se explica cómo migrar las EnterpriseOne bases de datos locales a Amazon RDS for Oracle mediante Oracle Data Pump con [AWS](https://aws.amazon.com/dms) DMS y su función CDC.

[Oracle JD Edwards EnterpriseOne](https://www.oracle.com/applications/jd-edwards-enterpriseone/) es una solución de planificación de recursos empresariales (ERP) para organizaciones que fabrican, construyen, distribuyen, dan servicio o gestionan productos o activos físicos. JD Edwards EnterpriseOne es compatible con varios hardware, sistemas operativos y plataformas de bases de datos.

Al migrar aplicaciones ERP fundamentales, como JD Edwards EnterpriseOne, es fundamental minimizar el tiempo de inactividad. AWS DMS minimiza el tiempo de inactividad gracias a su replicación, tanto continua como de carga completa, desde la base de datos de origen a la base de datos de destino. AWS DMS también proporciona supervisión y registro de la migración en tiempo real, lo que le ayudará a identificar y resolver cualquier problema que pueda provocar un tiempo de inactividad.

Cuando replique cambios con AWS DMS, debe especificar una hora o un número de cambio del sistema (SCN) como punto de partida para leer los cambios de los registros de la base de datos. Es crucial mantener estos registros accesibles en el servidor durante un periodo de tiempo determinado (recomendamos 15 días) para garantizar que AWS DMS tenga acceso a estos cambios.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-prereqs"></a>

**Requisitos previos **
+ Una base de datos de Amazon RDS para Oracle aprovisionada en su entorno de la nube de AWS como base de datos de destino. Para obtener instrucciones, consulte la [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html).
+ Una EnterpriseOne base de datos que se ejecuta localmente o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en AWS.
**nota**  
Este patrón está diseñado para migrar de las instalaciones a AWS, pero se probó con una EnterpriseOne base de datos en una instancia de EC2. Si planea migrar desde su entorno en las instalaciones, debe configurar la conectividad de red adecuada.
+ Detalles del esquema. Identifique el esquema de base de datos de Oracle (por ejemplo DV920) para el que planea migrar. EnterpriseOne Antes de iniciar el proceso de migración, recopile los siguientes detalles sobre el esquema:
  + Tamaño del esquema
  + La cantidad de objetos por tipo de objeto
  + La cantidad de objetos no válidos

**Limitaciones**
+ Debe crear los esquemas que desee en la base de datos de Amazon RDS para Oracle de destino; AWS DMS no los crea por usted. (La sección [Epics](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics) describe cómo usar Data Pump para exportar e importar esquemas). El nombre del esquema debe existir ya para la base de datos de Oracle de destino. Las tablas del esquema de origen se importan al usuario o al esquema, y AWS DMS utiliza la cuenta del administrador o del sistema para conectarse a la instancia de destino. Para migrar varios esquemas, puede crear varias tareas de replicación. También puede migrar datos a diferentes esquemas en una instancia de destino. Para ello, utilice las reglas de transformación de esquemas en las asignaciones de tablas de AWS DMS.
+ Este patrón se probó con un conjunto de datos de demostración. Le recomendamos que valide la compatibilidad y la personalización de su conjunto de datos.
+ Este patrón usa una EnterpriseOne base de datos que se ejecuta en Microsoft Windows. Sin embargo, puede utilizar el mismo proceso con otros sistemas operativos compatibles con AWS DMS.

## Arquitectura
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-architecture"></a>

El siguiente diagrama muestra un sistema que se ejecuta EnterpriseOne en una base de datos Oracle como base de datos de origen y una base de datos Amazon RDS for Oracle como base de datos de destino. Los datos se exportan desde la base de datos de Oracle de origen y se importan a la base de datos Amazon RDS para Oracle de destino mediante Oracle Data Pump, y se replican para las actualizaciones de CDC mediante AWS DMS.

![\[Diagram showing data replication from on-premises Oracle to Amazon RDS using AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. Oracle Data Pump extrae los datos de la base de datos de origen y los envía al destino de la base de datos de Amazon RDS para Oracle.

1. Los datos de CDC se envían desde la base de datos de origen a un punto de conexión de origen en AWS DMS.

1. Desde el punto de conexión de origen, los datos se envían a la instancia de replicación de AWS DMS, donde se realiza la tarea de replicación.

1. Una vez completada la tarea de replicación, los datos se envían al punto de conexión de destino en AWS DMS.

1. Desde el punto de conexión de destino, los datos se envían a la instancia de base de datos Amazon RDS para Oracle.

## Tools (Herramientas)
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-tools"></a>

**Servicios de AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la nube de AWS.

**Otros servicios**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) le ayuda a trasladar datos y metadatos entre una base de datos y otra a alta velocidad.

## Prácticas recomendadas
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-best-practices"></a>

**Migrating LOBs**

Si la base de datos de origen contiene objetos binarios de gran tamaño (LOBs) que deben migrarse a la base de datos de destino, AWS DMS ofrece las siguientes opciones:
+ **Modo LOB completo**: AWS DMS migra todas las bases de datos LOBs de origen a la de destino, independientemente de su tamaño. Aunque la migración es más lenta que en los otros modos, la ventaja es que los datos no se truncan. Para mejorar el rendimiento, puede crear una tarea independiente en la nueva instancia de replicación para migrar las tablas LOBs que tengan un tamaño superior a unos pocos megabytes.
+ **Modo LOB limitado**: usted especifica el tamaño máximo de los datos de la columna LOB, lo que permite a AWS DMS preasignar los recursos y aplicarlos de forma masiva. LOBs Si el tamaño de las columnas LOB supera el tamaño especificado en la tarea, AWS DMS trunca los datos y envía advertencias al archivo de registro de AWS DMS. Puede mejorar el rendimiento usando el modo LOB limitado si el tamaño de los datos de LOB se encuentra dentro del tamaño de LOB limitado.
+ **Modo LOB en línea**: puede migrar LOBs sin truncar los datos ni ralentizar el rendimiento de la tarea al replicar tanto los datos pequeños como los grandes. LOBs En primer lugar, especifique un valor para el parámetro `InlineLobMaxSize`, que sólo está disponible cuando el modo LOB completo está establecido en `true`. La tarea de AWS DMS transfiere lo pequeño LOBs en línea, lo que es más eficiente. A continuación, AWS DMS migra el tamaño grande LOBs realizando una búsqueda en la tabla de origen. Sin embargo, el modo LOB en línea funciona únicamente en la fase de carga completa.

**Generación de valores de secuencia**

Durante el proceso de AWS DMS CDC, los números de secuencia incrementales no se replican desde la base de datos de origen. Para evitar discrepancias en los valores de secuencia, debe generar el valor de secuencia más reciente del origen para todas las secuencias y aplicarlo a la base de datos Amazon RDS para Oracle de destino.

**AWS Secrets Manager**

Para ayudarle a gestionar sus credenciales, le recomendamos que siga las instrucciones de la entrada del blog [Gestionar sus credenciales de punto de conexión de AWS DMS con AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/).

**Rendimiento**
+ **Instancias de replicación**: para obtener orientación sobre cómo elegir el mejor tamaño de instancia, consulte [Selección del mejor tamaño para una instancia de replicación](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html) en la documentación de AWS DMS.
+ **Opciones de conectividad**: para evitar problemas de latencia, le recomendamos que elija la opción de conectividad adecuada. AWS Direct Connect proporciona el camino más corto a los recursos de AWS, ya que es una conexión dedicada entre los centros de datos corporativos y AWS. Mientras se encuentra en tránsito, el tráfico de red permanece en la red global de AWS y nunca pasa por Internet. Esto reduce la posibilidad de que se produzcan cuellos de botella o aumentos inesperados de la latencia en comparación con el uso de una VPN o de la Internet pública.
+ **Ancho de banda de la red**: para optimizar el rendimiento, compruebe que el rendimiento de la red sea rápido. Si utiliza un túnel VPN entre la base de datos de origen en las instalaciones y AWS DMS, asegúrese de que el ancho de banda sea suficiente para su carga de trabajo.
+ **Paralelismo de tareas**: puede acelerar la replicación de datos cargando varias tablas en paralelo durante la carga completa. Este patrón utiliza puntos de conexión del RDBMS, por lo que esta opción solo se aplica al proceso de carga completa. El paralelismo de las tareas se controla mediante el parámetro `MaxFullLoadSubTasks`, que determina cuántas subtareas a plena carga se ejecutan en paralelo. De forma predeterminada, este parámetro está establecido en 8, lo que significa que ocho tablas (si se seleccionan en el mapeo de tablas) se cargan juntas durante el modo completo. Puede ajustar este parámetro en la sección de configuración de tareas de carga completa del script JSON de la tarea.
+ **Paralelismo de tablas**: AWS DMS también le permite cargar una sola tabla grande mediante varios subprocesos paralelos. Esto resulta especialmente útil para las tablas fuente de Oracle que tienen miles de millones de registros, así como varias particiones y subparticiones. Si la tabla de origen no está particionada, puede usar límites de columna para cargas paralelas.
+ **Dividir las cargas**: al dividir las cargas en varias tareas o instancias de AWS DMS, recuerde los límites de las transacciones al capturar los cambios.

## Epics
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics"></a>

### Utilice Oracle Data Pump para exportar el esquema EnterpriseOne
<a name="use-oracle-data-pump-to-export-the-enterpriseone-schema"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere el SCN. | Cuando la base de datos de origen esté activa y la EnterpriseOne aplicación la utilice, inicie la exportación de datos con Oracle Data Pump. En primer lugar, debe generar un número de cambio del sistema (SCN) a partir de la base de datos de origen, tanto para la coherencia de datos durante la exportación con Oracle Data Pump como punto de partida para el CDC en AWS DMS.Para generar el SCN actual a partir de su base de datos de origen, utilice la siguiente instrucción SQL:<pre>SQL> select current_scn from v$database;<br /><br />CURRENT_SCN<br />-----------<br />   30009727</pre>Guarde el SCN generado. Utilizará el SCN cuando exporte los datos y para crear la tarea de replicación de AWS DMS. | Administrador de base de datos | 
| Cree el archivo de parámetros. | Para crear un archivo de parámetros para exportar el esquema, puede usar el siguiente código.<pre>directory=DMS_DATA_PUMP_DIR<br />logfile=export_dms.log<br />dumpfile=export_dms_data.dmp<br />schemas=<schema name><br />flashback_scn=<SCN from previous command></pre>También puede definir su propio `DATA_PUMP_DIR` mediante los siguientes comandos, en función de sus necesidades.<pre>SQL> CREATE OR REPLACE DIRECTORY DMS_DATA_PUMP_DIR AS '<Directory for dump>';<br />Directory created.<br /><br />SQL> GRANT READ, WRITE ON DIRECTORY DMS_DATA_PUMP_DIR TO SYSTEM;<br />Grant succeeded.</pre> | Administrador de base de datos | 
| Exporte el esquema. | Para realizar la exportación, utilice la utilidad `expdp` como se indica a continuación:<pre>C:\Users\Administrator>expdp system/********@<DB Name> PARFILE='<Path to PAR file create above>'<br /><br />Export: Release 19.0.0.0.0 - Production on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.<br /><br />Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production<br />Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02":  system/********@<DB Name>PARFILE='E:\exp_dms_datapump.par'<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS<br />Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS<br />Processing object type SCHEMA_EXPORT/STATISTICS/MARKER<br />Processing object type SCHEMA_EXPORT/USER<br />Processing object type SCHEMA_EXPORT/ROLE_GRANT<br />Processing object type SCHEMA_EXPORT/DEFAULT_ROLE<br />Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA<br />Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE<br />Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX<br />Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT<br />. . exported "<Schema Name>"."<Table Name>"                            228.9 MB  496397 rows</pre><pre>Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded<br />******************************************************************************<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is:<br />  E:\DMSDUMP\EXPORT_DMS_DATA.DMP<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at *** *** ** **:**:** **** elapsed 0 00:01:57</pre> | Administrador de base de datos | 

### Utilice Oracle Data Pump para importar el EnterpriseOne esquema
<a name="use-oracle-data-pump-to-import-the-enterpriseone-schema"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Transfiera el archivo de volcado a la instancia de destino. | Para transferir sus archivos mediante la utilidad `DBMS_FILE_TRANSFER`, necesita crear un enlace de base de datos desde la base de datos de origen a la instancia de Amazon RDS para Oracle. Una vez establecido el enlace, la utilidad le permitirá transferir los archivos de Data Pump directamente a la instancia de Amazon RDS.Como alternativa, puede transferir los archivos de Data Pump a [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) y, a continuación, importarlos a la instancia de Amazon RDS para Oracle. Para más información sobre esta opción, consulte la sección [Información adicional](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional).Para crear un enlace de base de datos `ORARDSDB` que conecte con el usuario principal de Amazon RDS en la instancia de base de datos de destino, ejecute los siguientes comandos en la base de datos de origen:<pre>sqlplus / as sysdba<br /><br />SQL*Plus: Release 19.0.0.0.0 on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle.  All rights reserved.<br /><br />Connected to:<br />Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0<br />Version 19.3.0.0.0<br /><br />SQL> create database link orardsdb connect to admin identified by "******" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.******.us-east-1.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br /><br />Database link created.<br /><br />SQL></pre> | Administrador de base de datos | 
| Pruebe el enlace de la base de datos. | Pruebe el enlace a la base de datos para asegurarse de que puede conectarse a la base de datos de destino de Amazon RDS para Oracle usando `sqlplus`.<pre>SQL> select name from v$database@orardsdb;<br /><br />NAME<br />---------<br />ORCL<br /></pre> | Administrador de base de datos | 
| Transfiera el archivo de volcado a la base de datos de destino. | Para copiar el archivo de volcado en la base de datos de Amazon RDS para Oracle, puede utilizar el directorio `DATA_PUMP_DIR` predeterminado o crear su propio directorio mediante el código siguiente, que debe ejecutarse en la instancia de Amazon RDS de destino:<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'DMS_TARGET_PUMP_DIR');<br /><br />PL/SQL procedure successfully completed.</pre>El siguiente script copia un archivo de volcado denominado `EXPORT_DMS_DATA.DMP` desde la instancia de origen a una base de datos de Amazon RDS para Oracle usando el enlace de la base de datos denominado `orardsdb`. Debe ejecutar el script en la instancia de la base de datos de origen.<pre>BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DMS_DATA_PUMP_DIR',<br />source_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_directory_object => 'DMS_TARGET_PUMP_DIR',<br />destination_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_database => 'orardsdb');<br />END;<br /><br />PL/SQL procedure successfully completed.</pre> | Administrador de base de datos | 
| Incluya el archivo de volcado en la base de datos de destino. | Una vez finalizado el PL/SQL procedimiento, puede incluir el archivo de volcado de datos en la base de datos Amazon RDS for Oracle mediante el siguiente código:<pre>select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DMS_TARGET_PUMP_DIR'));</pre> | Administrador de base de datos | 
| Cree usuarios específicos de JDE en la instancia de destino. | Cree un perfil y un rol de JD Edwards mediante estos comandos en la instancia de destino:<pre>SQL> CREATE PROFILE "JDEPROFILE" LIMIT IDLE_TIME 15;<br />Profile created.<br /><br />SQL> CREATE ROLE "JDE_ROLE";<br />Role created.<br /><br />SQL> CREATE ROLE "JDEADMIN";<br />CREATE ROLE "JDEUSER";<br />Role created.<br />Role created.</pre>Conceda los permisos necesarios al rol:<pre>SQL> GRANT CREATE ANY SEQUENCE TO JDE_ROLE;<br /> GRANT DROP ANY SEQUENCE TO JDE_ROLE;<br /> GRANT CREATE ANY TRIGGER TO JDE_ROLE;<br /> GRANT DROP ANY TRIGGER TO JDE_ROLE;<br /></pre> | Administrador de base de datos, JDE CNC | 
| Cree espacios de tabla en la instancia de destino. | Cree los espacios de tabla necesarios en la instancia de destino mediante los siguientes comandos para los esquemas que intervienen en esta migración:<pre>SQL> CREATE TABLESPACE <Tablespace Name for Tables>;<br />Tablespace created.<br /><br />SQL> CREATE TABLESPACE <Tablespace Name for Indexes>;<br />Tablespace created.</pre> | Administrador de base de datos, JDE CNC | 
| Inicie la importación en la base de datos de destino. | Antes de iniciar el proceso de importación, configure los roles, esquemas y espacios de tabla en la base de datos de destino Amazon RDS para Oracle mediante el archivo de volcado de datos.Para realizar la importación, acceda a la base de datos de destino con la cuenta de usuario principal de Amazon RDS y use el nombre de la cadena de conexión del archivo `tnsnames.ora`, que incluye el `tns-entry` de la base de datos Amazon RDS para Oracle. Si es necesario, puede incluir una opción de reasignación para importar el archivo de volcado de datos a un espacio de tabla diferente o con un nombre de esquema diferente.Para iniciar la importación, utilice el siguiente código:<pre>impdp admin@orardsdb directory=DMS_TARGET_PUMP_DIR logfile=import.log dumpfile=EXPORT_DMS_DATA.DMP</pre>Para garantizar una importación correcta, compruebe la ausencia de errores en el archivo de registro de importación y revise detalles como el número de objetos, el número de filas y los objetos no válidos. Si hay algún objeto no válido, repita la compilación. Compare también los objetos de la base de datos de origen y destino para confirmar que coinciden. | Administrador de base de datos | 

### Aprovisione una instancia de replicación de AWS DMS con los puntos de conexión de origen y destino
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue la plantilla de . | Descargue la plantilla AWS CloudFormation [DMS\$1Instance.yaml para aprovisionar la instancia](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) de replicación de AWS DMS y sus puntos de enlace de origen y destino. | Administrador de la nube, Administrador de bases de datos | 
| Inicie la creación de la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de la nube, Administrador de bases de datos | 
| Especifique los parámetros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de la nube, Administrador de bases de datos | 
| Cree la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)El aprovisionamiento debería completarse en un plazo aproximado de 5 a 10 minutos. Se completa cuando la página de AWS CloudFormation Stacks muestra **CREATE\$1COMPLETE**. | Administrador de la nube, Administrador de bases de datos | 
| Configure los puntos de conexión. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrador de la nube, Administrador de bases de datos | 
| Probar la conectividad. | Cuando los puntos de conexión de origen y destino muestren el estado **Activo**, pruebe la conectividad. Seleccione **Ejecutar prueba** en cada punto de conexión (origen y destino) para asegurarse de que el estado sea correcto. | Administrador de la nube, Administrador de bases de datos | 

### Crear una tarea de replicación de AWS DMS para la replicación en vivo
<a name="create-an-aws-dms-replication-task-for-live-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una tarea de replicación. | Cree la tarea de replicación de AWS DMS siguiendo estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Tras crear la tarea, AWS DMS migra los cambios en curso a la instancia de base de datos de Amazon RDS para Oracle desde el SCN que proporcionó en el modo de inicio de CDC. También puede verificar la migración revisando los CloudWatch registros. | Administrador de la nube, Administrador de bases de datos | 
| Repita la tarea de replicación. | Repita los pasos anteriores para crear tareas de replicación para otros esquemas de JD Edwards que formen parte de la migración. | Administrador de la nube, Administrador de bases de datos, administrador de JDE CNC | 

### Valide el esquema de la base de datos de Amazon RDS para Oracle
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la transferencia de datos. | Una vez iniciada la tarea de AWS DMS, puede consultar la pestaña **Estadísticas de tabla** en la página **Tareas** para ver los cambios realizados en los datos.Puede supervisar el estado de la replicación en curso desde la consola, en la página **Tareas de migración de bases de datos**.Para más información, consulte [Validación de datos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) | Administrador de la nube, Administrador de bases de datos | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detención de la replicación. | Interrumpa el procedimiento de replicación y detenga los servicios de la aplicación de origen. | Administrador de la nube, Administrador de bases de datos | 
| Inicie la aplicación JD Edwards. | Inicie la aplicación de nivel lógico y de presentación JD Edwards de destino en AWS y diríjala a la base de datos Amazon RDS para Oracle.Cuando acceda a la aplicación, verá que todas las conexiones se establecen ahora con la base de datos Amazon RDS para Oracle. | Administrador de base de datos, administrador de JDE CNC | 
| Desactive la base de datos de origen. | Después de confirmar que no hay más conexiones, puede desactivar la base de datos de origen. | Administrador de base de datos | 

## Resolución de problemas
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Recibe un mensaje de advertencia para habilitar el [registro adicional](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) en la base de datos de origen para una replicación continua | Introduzca estos comandos para habilitar el registro suplementario:<pre>SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;</pre> | 
| AWS DMS tiene desactivado el registro suplementario. | El registro suplementario se encuentra desactivado de forma predeterminada en AWS DMS. Para activarlo en un punto de conexión de Oracle de origen:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| El registro suplementario no está habilitado en el nivel de CDB. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| Aparece el siguiente mensaje de error: «Falló el punto final de prueba: estado de la aplicación: 1020912, mensaje de la aplicación: no es compatible con el entorno PDB de Oracle, no LogMiner se pudo inicializar el punto final». | Si aparece este mensaje de error, puede utilizar Binary Reader en lugar de. LogMinerEn **Configuración de puntos de conexión**, añada esta línea a los atributos de conexión adicionales de la base de datos de origen:<pre>useLogMinerReader=N;useBfile=Y;</pre> | 

## Recursos relacionados
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-resources"></a>
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Buenas prácticas de AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migración de bases de datos de Oracle a la nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Referencia de tipo de recurso de AWS Database Migration Service para AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DMS.html)
+ [Administre sus credenciales de punto de conexión de AWS DMS con AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/)
+ [Solución de problemas de las tareas de migración en AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle.RecordsMissing)
+ [Buenas prácticas de AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)

## Información adicional
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional"></a>

**Cómo transferir archivos con Amazon S3**

Para transferir los archivos a Amazon S3, puede utilizar la CLI de AWS o la consola de Amazon S3. Tras transferir los archivos a Amazon S3, puede usar la instancia de Amazon RDS para Oracle para importar los archivos de Data Pump desde Amazon S3.

Si prefiere transferir el archivo de volcado usando la integración de Amazon S3 como método alternativo, siga estos pasos:

1. Cree un bucket de S3.

1. Exporte los datos de la base de datos de origen utilizando Oracle Data Pump.

1. Suba los archivos de Data Pump al bucket de S3.

1. Descargue los archivos de Data Pump desde el bucket de S3 en la base de datos de destino Amazon RDS para Oracle.

1. Realice la importación con los archivos de Data Pump.

**nota**  
Para transferir archivos de datos de gran tamaño entre instancias de RDS y S3, le recomendamos que utilice la característica [Aceleración de transferencias de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html).

# Migre una PeopleSoft base de datos de Oracle a AWS mediante AWS DMS
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms"></a>

*Sampath Kathirvel, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) es una solución de planificación de recursos empresariales (ERP) para procesos de toda la empresa. PeopleSoft tiene una arquitectura de tres niveles: cliente, aplicación y base de datos. PeopleSoft se puede ejecutar en [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)).

Si migra su base de datos de Oracle a Amazon RDS, Amazon Web Services (AWS) podrá encargarse de las tareas de backup y de la alta disponibilidad, lo que le permitirá concentrarse en el mantenimiento de PeopleSoft la aplicación y su funcionalidad. Para obtener una lista completa de los factores clave a tener en cuenta durante el proceso de migración, consulte [Estrategias de migración de bases de datos de Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) en Recomendaciones de AWS.

Este patrón proporciona una solución para migrar sus bases de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante Oracle Data Pump con [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms) y su característica de captura de datos de cambios (CDC).

Al migrar aplicaciones ERP críticas, como Oracle PeopleSoft, es fundamental minimizar el tiempo de inactividad. AWS DMS minimiza el tiempo de inactividad gracias a su replicación, tanto continua como de carga completa, desde la base de datos de origen a la base de datos de destino. AWS DMS también proporciona supervisión y registro de la migración en tiempo real, lo que le ayudará a identificar y resolver cualquier problema que pueda provocar un tiempo de inactividad.

Al replicar los cambios con AWS DMS, debe especificar una hora o número de cambio de sistema (SCN) como punto de partida para que AWS DMS lea los cambios de los registros de la base de datos. Es fundamental mantener estos registros accesibles en el servidor durante un determinado período de tiempo para asegurar que AWS DMS tenga acceso a estos cambios.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-prereqs"></a>

**Requisitos previos **
+ Base de datos Amazon RDS para Oracle aprovisionada en su entorno de nube de AWS como base de datos de destino.
+ Una PeopleSoft base de datos de Oracle que se ejecuta en las instalaciones o en Amazon Elastic Compute Cloud (Amazon EC2) en la nube de AWS.
**nota**  
Este patrón está diseñado para migrar de las instalaciones a AWS, pero se probó con Oracle Database en una EC2 instancia de Amazon. Para migrar desde una ubicación en las instalaciones, necesitará configurar la conectividad de red adecuada.
+ Detalles del esquema. Al migrar una PeopleSoft aplicación de Oracle a Amazon RDS for Oracle, es necesario identificar qué esquema de base de datos de Oracle (por ejemplo`SYSADM`) se va a migrar. Antes de iniciar el proceso de migración, recopile los siguientes detalles sobre el esquema:
  + Tamaño
  + La cantidad de objetos por tipo de objeto
  + La cantidad de objetos no válidos.

  Esta información ayudará en el proceso de migración.

**Limitaciones**
+ Este escenario se ha probado únicamente con la base de datos PeopleSoft DEMO. No se ha probado con un conjunto de datos grande.

## Arquitectura
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-architecture"></a>

El siguiente diagrama muestra una instancia que ejecuta una base de datos de Oracle como base de datos de origen y una base de datos Amazon RDS para Oracle como base de datos de destino. Los datos se exportan e importan de la base de datos de Oracle de origen a la base de datos Amazon RDS para Oracle de destino mediante Oracle Data Pump, y los cambios de CDC se replican mediante AWS DMS.

![\[Proceso de cinco pasos de una instancia de base de datos en las instalaciones a Amazon RDS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. El paso inicial consiste en extraer los datos de la base de datos de origen mediante Oracle Data Pump y, a continuación, enviarlos a la base de datos de destino Amazon RDS para Oracle.

1. Los datos se envían desde la base de datos de origen a un punto de conexión de origen en AWS DMS.

1. Desde el punto de conexión de origen, los datos se envían a la instancia de replicación de AWS DMS, donde se realiza la tarea de replicación.

1. Una vez completada la tarea de replicación, los datos se envían al punto de conexión de destino en AWS DMS.

1. Desde el punto de conexión de destino, los datos se envían a la instancia de base de datos Amazon RDS para Oracle.

## Tools (Herramientas)
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-tools"></a>

**Servicios de AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la nube de AWS.

**Otros servicios**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) le ayuda a trasladar datos y metadatos de una base de datos a otra a altas velocidades.

## Prácticas recomendadas
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-best-practices"></a>

**Migrating LOBs**

Si la base de datos de origen contiene objetos binarios de gran tamaño (LOBs) que deben migrarse a la base de datos de destino, AWS DMS ofrece las siguientes opciones:
+ **Modo LOB completo**: AWS DMS migra todas las bases de datos LOBs de origen a la de destino, independientemente de su tamaño. Aunque la migración es más lenta, la ventaja es que los datos no se truncan. Para obtener un mejor rendimiento, puede crear una tarea independiente en la nueva instancia de replicación para migrar las tablas que tengan LOBs más de unos pocos megabytes.
+ **Modo LOB limitado**: usted especifica el tamaño máximo de los datos de la columna LOB, lo que permite a AWS DMS preasignar los recursos y aplicarlos de forma masiva. LOBs Si el tamaño de las columnas LOB supera el tamaño especificado en la tarea, AWS DMS trunca los datos y envía advertencias al archivo de registro de AWS DMS. Puede mejorar el rendimiento usando el modo LOB limitado si el tamaño de los datos de LOB se encuentra dentro del tamaño de LOB limitado.
+ **Modo LOB en línea**: puede migrar LOBs sin truncar los datos ni ralentizar el rendimiento de la tarea al replicar tanto los datos pequeños como los grandes. LOBs En primer lugar, especifique un valor para el InlineLobMaxSize parámetro, que solo estará disponible cuando el modo LOB completo esté establecido en true. La tarea de AWS DMS transfiere lo pequeño LOBs en línea, lo que es más eficiente. A continuación, AWS DMS migra el tamaño grande LOBs realizando una búsqueda en la tabla de origen. Sin embargo, el modo LOB en línea funciona únicamente en la fase de carga completa.

**Generación de valores de secuencia**

Tenga en cuenta que, durante el proceso de captura de datos de cambios con AWS DMS, los números de secuencia progresivos no se replican desde la base de datos de origen. Para evitar discrepancias en los valores de secuencia, debe generar el valor de secuencia más reciente del origen para todas las secuencias y aplicarlo a la base de datos Amazon RDS para Oracle de destino.

**Administración de credenciales**

Para ayudar a proteger sus recursos de AWS, le recomendamos seguir las [prácticas recomendadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) de AWS Identity and Access Management (IAM).

## Epics
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-epics"></a>

### Aprovisione una instancia de replicación de AWS DMS con los puntos de conexión de origen y destino
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue la plantilla de . | Descargue la CloudFormation plantilla de AWS [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) para aprovisionar la instancia de replicación de AWS DMS y sus puntos de enlace de origen y destino. | Administrador de la nube, Administrador de bases de datos | 
| Inicie la creación de la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de la nube, Administrador de bases de datos | 
| Especifique los parámetros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de la nube, Administrador de bases de datos | 
| Cree la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)El aprovisionamiento debería completarse en un plazo aproximado de 5 a 10 minutos. Se completa cuando la página de AWS CloudFormation Stacks muestra **CREATE\$1COMPLETE**. | Administrador de la nube, Administrador de bases de datos | 
| Configure los puntos de conexión. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrador de la nube, administrador de bases de datos | 
| Probar la conectividad. | Cuando los puntos de conexión de origen y destino muestren el estado Activo, pruebe la conectividad. Seleccione **Ejecutar prueba** en cada punto de conexión (origen y destino) para asegurarse de que el estado sea correcto. | Administrador de la nube, Administrador de bases de datos | 

### Exporte el PeopleSoft esquema de la base de datos Oracle local mediante Oracle Data Pump
<a name="export-the-peoplesoft-schema-from-the-on-premises-oracle-database-by-using-oracle-data-pump"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere el SCN. | Cuando la base de datos de origen esté activa y la aplicación la utilice, inicie la exportación de datos con Oracle Data Pump. En primer lugar, debe generar un número de cambio del sistema (SCN) de la base de datos de origen para garantizar la coherencia de datos durante la exportación con Oracle Data Pump. También servirá como punto de partida para la captura de datos de cambios en AWS DMS.Para generar el SCN actual de la base de datos de origen, introduzca la siguiente instrucción SQL.<pre>SQL> select name from v$database;<br />SQL> select name from v$database;<br />NAME<br />---------<br />PSFTDMO<br />SQL> SELECT current_scn FROM v$database;<br />CURRENT_SCN<br />-----------<br />23792008</pre>Guarde el SCN generado. Lo usará para exportar los datos y crear la tarea de replicación de AWS DMS. | Administrador de base de datos | 
| Cree el archivo de parámetros. | Para crear un archivo de parámetros para exportar el esquema, puede usar el siguiente código.<pre>$ cat exp_datapmp.par<br />userid=system/*******<br />directory=DATA_PUMP_DIR<br />logfile=export_dms_sample_user.log<br />dumpfile=export_dms_sample_data_%U.dmp<br />schemas=SYSADM<br />flashback_scn=23792008</pre>También puede definir su propio `DATA_PUMP_DIR` mediante los siguientes comandos, en función de sus necesidades.<pre>SQL> CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/product/19c/dbhome_1/dmsdump/';<br />Directory created.<br />SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;<br />Grant succeeded.<br />SQL><br />SQL> SELECT owner, directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR';<br />OWNER DIRECTORY_NAME DIRECTORY_PATH<br />------------------------------------------------------------------------------------------------------------------<br />SYS DATA_PUMP_DIR /opt/oracle/product/19c/dbhome_1/dmsdump/</pre> | Administrador de base de datos | 
| Exporte el esquema. | Realice la exportación con la utilidad `expdp`.<pre>$ expdp parfile=exp_datapmp.par<br />.......................<br />Transferring the dump file with DBMS_FILE_TRANSFER to Target:<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNK" 6.328 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATDEF_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATITM_LNG" 7.171 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNCNTL" 7.601 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNPARM" 7.210 KB 0 rows<br />. . exported "SYSADM"."PS_YE_AMOUNTS" 9.351 KB 0 rows<br />. . exported "SYSADM"."PS_YE_DATA" 16.58 KB 0 rows<br />. . exported "SYSADM"."PS_YE_EE" 6.75 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_AMOUNTS" 9.414 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_DATA" 20.94 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_AMOUNTS" 10.27 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_DATA" 20.95 KB 0 rows<br />. . exported "SYSADM"."PS_ZBD_JOBCODE_TBL" 14.60 KB 0 rows<br />. . exported "SYSADM"."PTGRANTTBL" 5.468 KB 0 rows<br />Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded<br />**<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:<br />/opt/oracle/product/19c/dbhome_1/dmsdump/export_dms_sample_data_01.dmp<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Dec 19 20:13:57 2022 elapsed 0 00:38:22</pre> | Administrador de base de datos | 

### Importe el PeopleSoft esquema a la base de datos Amazon RDS for Oracle mediante Oracle Data Pump
<a name="import-the-peoplesoft-schema-into-the-amazon-rds-for-oracle-database-by-using-oracle-data-pump"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Transfiera el archivo de volcado a la instancia de destino. | Para transferir sus archivos mediante `DBMS_FILE_TRANSFER`, debe crear un enlace de base de datos desde la base de datos de origen a la instancia de Amazon RDS para Oracle. Una vez establecido el enlace, la utilidad le permitirá transferir los archivos de Data Pump directamente a la instancia de RDS.Como alternativa, puede transferir los archivos de Data Pump a [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) y, a continuación, importarlos a la instancia de Amazon RDS para Oracle. Para más información sobre esta opción, consulte la sección Información adicional.Para crear un enlace de base de datos `ORARDSDB` que conecte con el usuario principal de Amazon RDS en la instancia de base de datos de destino, ejecute los siguientes comandos en la base de datos de origen.<pre>$sqlplus / as sysdba<br />$ SQL> create database link orardsdb connect to admin identified by "*****" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testpsft.*******.us-west-2.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br />Database link created.</pre> | Administrador de base de datos | 
| Pruebe el enlace de la base de datos. | Pruebe el enlace de la base de datos para asegurarse de que puede conectarse mediante sqlplus a la base de datos de destino de Amazon RDS para Oracle.<pre>SQL><br />SQL> select name from v$database@orardsdb;<br />NAME<br />---------<br />ORCL<br />SQL></pre> | Administrador de base de datos | 
| Transfiera el archivo de volcado a la base de datos de destino. | Para copiar el archivo de volcado a la base de datos de Amazon RDS para Oracle, puede usar el directorio predeterminado `DATA_PUMP_DIR` o bien crear su propio directorio con el siguiente código.<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => ‘TARGET_PUMP_DIR’);</pre>El siguiente script copia un archivo de volcado denominado `export_dms_sample_data_01.dmp` desde la instancia de origen a una base de datos de Amazon RDS para Oracle usando el enlace de la base de datos denominado `orardsdb`.<pre>$ sqlplus / as sysdba<br />SQL><br />BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DATA_PUMP_DIR',<br />source_file_name => 'export_dms_sample_data_01.dmp',<br />destination_directory_object => 'TARGET_PUMP_DIR’',<br />destination_file_name => 'export_dms_sample_data_01.dmp',<br />destination_database => 'orardsdb'<br />);<br />END;<br />/<br />PL/SQL procedure successfully completed.</pre> | Administrador de base de datos | 
| Incluya el archivo de volcado en la base de datos de destino. | Una vez finalizado el PL/SQL procedimiento, puede incluir el archivo de volcado de datos en la base de datos Amazon RDS for Oracle mediante el siguiente código.<pre>SQL> select * from table (rdsadmin.rds_file_util.listdir(p_directory => ‘TARGET_PUMP_DIR’));</pre> | Administrador de base de datos | 
| Inicie la importación en la base de datos de destino. | Antes de iniciar el proceso de importación, configure los roles, esquemas y espacios de tabla en la base de datos de destino Amazon RDS para Oracle mediante el archivo de volcado de datos.Para realizar la importación, acceda a la base de datos de destino con la cuenta de usuario maestra de Amazon RDS y use el nombre de la cadena de conexión del archivo `tnsnames.ora`, que incluye el `tns-entry` de la base de datos Amazon RDS para Oracle. Si es necesario, puede incluir una opción de reasignación para importar el archivo de volcado de datos a un espacio de tabla diferente o con un nombre de esquema diferente.Para iniciar la importación, utilice el siguiente código.<pre>impdp admin@orardsdb directory=TARGET_PUMP_DIR logfile=import.log dumpfile=export_dms_sample_data_01.dmp</pre>Para garantizar una importación correcta, compruebe la ausencia de errores en el archivo de registro de importación y revise detalles como el número de objetos, el número de filas y los objetos no válidos. Si hay algún objeto no válido, repita la compilación. Compare también los objetos de la base de datos de origen y destino para confirmar que coinciden. | Administrador de base de datos | 

### Cree una tarea de replicación de AWS DMS usando CDC para realizar la replicación en vivo
<a name="create-an-aws-dms-replication-task-using-cdc-to-perform-live-replication"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una tarea de replicación. | Cree la tarea de replicación de AWS DMS siguiendo estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Tras crear la tarea, se migra el CDC a la instancia de base de datos Amazon RDS para Oracle desde el SCN que proporcionó en el modo de inicio de CDC. También puede verificarlos revisando los CloudWatch registros. | Administrador de la nube, Administrador de bases de datos | 

### Valide el esquema de la base de datos de Amazon RDS para Oracle
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la transferencia de datos. | Una vez iniciada la tarea de AWS DMS, puede consultar la pestaña **Estadísticas de tabla** en la página **Tareas** para ver los cambios realizados en los datos.Puede supervisar el estado de la replicación en curso desde la consola, en la página **Tareas de migración de bases de datos**.Para más información, consulte [Validación de datos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) | Administrador de la nube, Administrador de bases de datos | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detención de la replicación. | Interrumpa el procedimiento de replicación y detenga los servicios de la aplicación de origen. | Administrador de la nube, Administrador de bases de datos | 
| Lanza el nivel PeopleSoft medio. | Lance la aplicación de nivel PeopleSoft medio de destino en AWS y diríjala a la base de datos Amazon RDS for Oracle migrada recientemente.Cuando acceda a la aplicación, verá que todas las conexiones de la aplicación se establecen ahora con la base de datos Amazon RDS para Oracle. | DBA, administrador PeopleSoft  | 
| Desactive la base de datos de origen. | Tras haber confirmado que no hay más conexiones a la base de datos de origen, puede desactivarla. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-resources"></a>
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Buenas prácticas de AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migración de bases de datos de Oracle a la nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Información adicional
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-additional"></a>

**Cómo transferir archivos con Amazon S3**

Para transferir los archivos a Amazon S3, puede utilizar la CLI de AWS o la consola de Amazon S3. Tras transferir los archivos a Amazon S3, puede usar la instancia de Amazon RDS para Oracle para importar los archivos de Data Pump desde Amazon S3.

Si prefiere transferir el archivo de volcado usando la integración de Amazon S3 como método alternativo, siga estos pasos:

1. Cree un bucket de S3.

1. Exporte los datos de la base de datos de origen utilizando Oracle Data Pump.

1. Suba los archivos de Data Pump al bucket de S3.

1. Descargue los archivos de Data Pump desde el bucket de S3 en la base de datos de destino Amazon RDS para Oracle.

1. Realice la importación con los archivos de Data Pump.

**nota**  
Para transferir archivos de datos de gran tamaño entre instancias de RDS y S3, se recomienda usar la característica Aceleración de transferencias de Amazon S3.

**Active el registro adicional**

Si recibe un mensaje de advertencia solicitando habilitar el [registro adicional](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) en la base de datos de origen para la replicación continua, siga estos pasos.

```
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
```

# Migración de una base de datos MySQL en las instalaciones a Amazon RDS para MySQL
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql"></a>

*Lorenzo Mota, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-summary"></a>

Este patrón proporciona una guía para migrar una base de datos MySQL en las instalaciones a Amazon Relational Database Service (Amazon RDS) para MySQL. El patrón analiza el uso de AWS Database Migration Service (AWS DMS) o herramientas nativas de MySQL, como **mysqldump**, para una migración completa de bases de datos. Este patrón es principalmente para DBAs arquitectos de soluciones. Se puede usar en proyectos pequeños o grandes como un procedimiento de prueba (recomendamos al menos un ciclo de prueba) o como procedimiento de migración definitiva. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-prereqs"></a>

**Requisitos previos **
+ Una AWS cuenta activa
+ Una base de datos MySQL de origen en un centro de datos en las instalaciones

**Limitaciones**
+ Límite de tamaño de la base de datos: [64 TB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Versiones de producto**
+ Versiones de MySQL 5.5, 5.6, 5.7, 8.0. Para ver la lista más reciente de versiones compatibles, consulte [MySQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) en la AWS documentación. Si está utilizando AWS DMS, consulte también Uso de [una base de datos compatible con MySQL como destino para](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) las versiones de AWS DMS MySQL compatibles actualmente con. AWS DMS

## Arquitectura
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos MySQL en las instalaciones

**Pila de tecnología de destino**
+ Una instancia de base de datos de Amazon RDS que ejecute MySQL

**Arquitectura de destino**

En el diagrama siguiente se muestra la implementación de Amazon RDS para MySQL en el destino tras la migración.

![\[Implementación de Amazon RDS para MySQL de destino tras la transición.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/2e10114e-e389-4d24-9b6a-fa56beee5369.png)


**AWS arquitectura de migración de datos**

**Uso de AWS DMS:**

El siguiente diagrama muestra la arquitectura de migración de datos cuando se utiliza AWS DMS para enviar cambios completos e incrementales hasta la transición. La conexión de red local a otra AWS depende de sus requisitos y está fuera del alcance de este patrón.

![\[Arquitectura de migración de datos a AWS cuando se utiliza AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/ecc9b282-1897-4971-99ed-83223b17000d.png)


**Uso de herramientas MySQL nativas:**

El diagrama siguiente muestra la arquitectura de migración de datos cuando se utilizan herramientas nativas de MySQL. Los archivos volcados de exportación se copian a Amazon Simple Storage Service (Amazon S3) y se importan a la base de datos Amazon RDS for MySQL antes de la transición. AWS La conexión de red local a otra AWS depende de sus requisitos y está fuera del alcance de este patrón.

 

![\[Arquitectura de migración de datos a AWS cuando se utilizan herramientas de MySQL nativas.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/3bbec989-c3eb-473e-ba4a-032d6a4271c5.png)


**Notas:**
+ Según los requisitos de tiempo de inactividad y el tamaño de la base de datos, el uso de una herramienta de captura de datos modificados (CDC) AWS DMS o una herramienta de captura de datos modificados (CDC) minimiza el tiempo de transición. AWS DMS puede ayudar a reducir al mínimo el tiempo de transición al nuevo objetivo (normalmente en minutos). Una estrategia offline con **mysqldump** puede ser suficiente si el tamaño de la base de datos y la latencia de la red permiten un período corto. (Recomendamos efectuar pruebas para obtener un tiempo aproximado).
+ Por lo general, una estrategia de los CDC AWS DMS requiere más supervisión y complejidad que las opciones fuera de línea. 

## Tools (Herramientas)
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-tools"></a>
+ **Servicios de AWS**: [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le ayuda a migrar los almacenes de datos a una combinación de configuraciones en la nube y locales Nube de AWS o entre ellas. Para obtener información sobre las bases de datos de origen y destino de MySQL compatibles con AWS DMS, consulte [Migración de bases de datos compatibles con MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) a. AWS Si su base de datos de origen no es compatible con AWS DMS, debe elegir otro método para migrar los datos.
+ **Herramientas de MySQL nativas**: [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)
+ **Herramientas de terceros**: [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup)

## Epics
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos. | Valide las versiones de las bases de datos de origen y de destino. | Administrador de base de datos | 
| Identifique los requisitos de hardware. | Identifique los requisitos de hardware del servidor de destino. | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de almacenamiento. | Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento) de la base de datos de destino. | Administrador de base de datos, administrador de sistemas | 
| Seleccione el tipo de instancia. | Seleccione el tipo de instancia de destino en función de la capacidad, las características de almacenamiento y las características de red. | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de acceso a la red. | Identifique requisitos de seguridad para acceder a la red de las bases de datos de origen y destino.  | Administrador de base de datos, administrador de sistemas | 
| Identifique los objetos no compatibles. | Identifique los objetos no compatibles (si los hay) y determine el esfuerzo de migración. | Administrador de base de datos | 
| Identifique las dependencias. | Identifique cualquier dependencia en las bases de datos remotas. | Administrador de base de datos | 
| Determine la estrategia de migración de la aplicación.  | Determine la estrategia para migrar las aplicaciones cliente.  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). | Configure las tablas de enrutamiento, las puertas de enlace de Internet, las puertas de enlace NAT y las subredes. Para obtener más información, consulte [VPCs Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) en la documentación de Amazon RDS. | Administrador de sistemas | 
| Cree grupos de seguridad. | Configure puertos y rangos de CIDR o específicos en IPs función de sus requisitos. El puerto predeterminado para MySQL es el 3306. Para obtener más información, consulte [Controlling access with security groups (Control de acceso con grupos de seguridad)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html) en la documentación de Amazon RDS. | Administrador de sistemas | 
| Configure e inicie una instancia de base de datos de Amazon RDS para MySQL. | Para obtener más información, consulte [Creación de una instancia de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateInstance.html) en la documentación de Amazon RDS. Compruebe si hay versiones compatibles. | Administrador de sistemas | 

### Migración de datos: opción 1 (con herramientas nativas)
<a name="migrate-data-option-1-using-native-tools"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice las herramientas nativas de MySQL o herramientas de terceros para migrar los objetos y datos de la base de datos. | Para obtener instrucciones, consulte la documentación de las herramientas de MySQL, como [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) y [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup) (para la migración física). Para obtener más información sobre las opciones, consulte la entrada del blog [Opciones de migración de MySQL a Amazon RDS para MySQL o Amazon Aurora MySQL](https://aws.amazon.com/blogs/database/migration-options-for-mysql-to-amazon-rds-for-mysql-or-amazon-aurora-mysql/). | Administrador de base de datos | 

### Migrar datos: opción 2 (usar) AWS DMS
<a name="migrate-data-option-2-using-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre datos con AWS DMS. | Para obtener instrucciones, consulte la [documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). | Administrador de base de datos | 

### Llevar a cabo las tareas preliminares antes de la transición
<a name="perform-preliminary-tasks-before-cutover"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Corrija cualquier discrepancia en el recuento de objetos. | Recopile los recuentos de objetos de la base de datos de origen y de la nueva base de datos de destino. Corrija cualquier discrepancia en la base de datos objetivo. | Administrador de base de datos | 
| Compruebe las dependencias. | Compruebe si las dependencias (los enlaces) con destino y origen en otras bases de datos son válidas y funcionan según lo previsto. | Administrador de base de datos | 
| Efectúe pruebas. | Si se trata de un ciclo de pruebas, lleve a cabo pruebas de consulta, recopile métricas y solucione los problemas. | Administrador de base de datos | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie a la base de datos de destino. | Cambie las aplicaciones cliente a la nueva infraestructura. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Proporcione soporte para las pruebas. | Proporcione soporte para las pruebas de aplicaciones funcionales.  | Administrador de base de datos | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos. | Cierre los AWS recursos temporales que creó para la migración.  | Administrador de base de datos, administrador de sistemas | 
| Valide los documentos del proyecto.  | Revise y valide los documentos del proyecto.  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas. | Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado, el ahorro de costos, etc. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cerrar el proyecto.  | Cerrar el proyecto y enviar comentarios.  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Reitre de servicio la base de datos de origen. | Una vez completadas todas las tareas de migración y transición, retire la base de datos en las instalaciones. | Administrador de base de datos, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-resources"></a>

**Referencias**
+ [Estrategia de migración para bases de datos relacionales](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/welcome.html)
+ [AWS DMS sitio web](https://aws.amazon.com/dms/)
+ [AWS DMS documentación](https://docs.aws.amazon.com/dms/)
+ [Documentación de Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Amazon VPC y Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implementaciones de Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/)
+ [Migre bases de datos MySQL locales a Aurora MySQL mediante Percona, XtraBackup Amazon EFS y Amazon S3](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.html)
+ [Almacenamiento de instancias de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Tutoriales**
+ [Cómo empezar con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server"></a>

*Henrique Lobao, Jonathan Pereira Cruz y Vishal Singh, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-summary"></a>

Este patrón proporciona una guía para migrar una base de datos de Microsoft SQL Server en las instalaciones a Amazon Relational Database Service (Amazon RDS) para SQL Server. Describe dos opciones de migración: utilizar AWS Data Migration Service (AWS DMS) o utilizar herramientas nativas de Microsoft SQL Server como Copy Database Wizard.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen Microsoft SQL Server en un centro de datos en las instalaciones

**Limitaciones**
+ Límite de tamaño de la base de datos: 16 TB

**Versiones de producto**
+ Para ver la lista actualizada de versiones y características compatibles, consulte [Microsoft SQL Server en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) en la documentación de AWS. Si utiliza AWS DMS, consulte también [Uso de una base de datos de Microsoft SQL Server como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html) para conocer las versiones de SQL Server compatibles con AWS DMS. 

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología de destino**
+ Instancia de base de datos de Amazon RDS para SQL Server 

**Arquitectura de origen y destino**

*Uso de AWS DMS*:

![\[Arquitectura para migrar SQL Server en las instalaciones a Amazon RDS mediante AWS DMS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/69b9877c-2d56-4d64-8475-a3dae789c5de.png)


*Uso de herramientas nativas de SQL Server:*

![\[Arquitectura para migrar SQL Server en las instalaciones a Amazon RDS mediante herramientas de SQL Server\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/45ee14e4-3c7e-4b35-a2c9-3e8e3c7e6cee.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) admite varios tipos de bases de datos de origen y destino. Para obtener más información, consulte los [ Step-by-Steptutoriales de AWS DMS.](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) Si AWS DMS no es compatible con la base de datos de origen, seleccione otro método para migrar los datos. 
+ Las Herramientas nativas de Microsoft SQL Server incluyen copia de seguridad y restauración, Copy Database Wizard y la función de copiar y adjuntar bases de datos.

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión y el motor de la base de datos de origen y de destino. |  | Administrador de base de datos | 
| Identifique los requisitos de hardware de la instancia del servidor de destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de almacenamiento (el tipo y la capacidad de almacenamiento). |  | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar los requisitos de seguridad del acceso a la red para las bases de datos de origen y destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar la estrategia de migración de aplicaciones. |  | Administrador de base de datos, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). |  | Administrador de sistemas | 
| Cree grupos de seguridad. |  | Administrador de sistemas | 
| Configure e inicie una instancia de base de datos de Amazon RDS. |  | Administrador de base de datos, administrador de sistemas | 

### Migración de datos: opción 1
<a name="migrate-data---option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice las herramientas nativas de SQL Server o herramientas de terceros para migrar los objetos y datos de la base de datos. |  | Administrador de base de datos | 

### Migración de datos: opción 2
<a name="migrate-data---option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre datos con AWS DMS. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | Administrador de base de datos, administrador de sistemas | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado y el ahorro de costos. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cerrar el proyecto y enviar comentarios. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-resources"></a>

**Referencias**
+ [Implementación de Microsoft SQL Server en Amazon Web Services](https://d1.awsstatic.com/whitepapers/RDS/Deploying_SQLServer_on_AWS.pdf) 
+ [Sitio web de AWS DMS](https://aws.amazon.com/dms/)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Productos de Microsoft en AWS](https://aws.amazon.com/windows/products/)
+ [Licencias de Microsoft en AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server en AWS](https://aws.amazon.com/windows/products/sql/)
+ [Uso de la autenticación de Windows con una instancia de base de datos de Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
+ [Implementaciones Multi-AZ de Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)

**Tutoriales y videos**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [AWS DMS (video)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (video)](https://www.youtube.com/watch?v=igRfulrrYCo)  

# Migración de datos de Microsoft Azure Blob a Amazon S3 mediante Rclone
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone"></a>

*Suhas Basavaraj, Aidan Keane y Corey Lane, Amazon Web Services*

## Resumen
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-summary"></a>

Este patrón describe cómo usar [Rclone](https://rclone.org/) para migrar datos del almacenamiento de objetos Blob de Microsoft Azure a un bucket de Amazon Simple Storage Service (Amazon S3). Puede usar este patrón para realizar una migración única o una sincronización continua de los datos. Rclone es un programa de línea de comandos escrito en Go. Se usa para mover datos a través de diversas tecnologías de almacenamiento de los proveedores de la nube.

## Requisitos previos y limitaciones
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Datos almacenados en el servicio de contenedor Blob de Azure

## Arquitectura
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-architecture"></a>

**Pila de tecnología de origen**
+ Contenedor de almacenamiento Blob de Azure

**Pila de tecnología de destino**
+ Bucket de Amazon S3
+ Instancia Linux de Amazon Elastic Compute Cloud (Amazon EC2)

**Arquitectura**

![\[Migración de datos de Microsoft Azure a Amazon S3\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)


## Tools (Herramientas)
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-tools"></a>
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [Rclone](https://rclone.org/) es un programa de línea de comandos de código abierto inspirado en **rsync**. Se usa para administrar archivos en numerosas plataformas de almacenamiento en la nube.

## Prácticas recomendadas
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-best-practices"></a>

Al migrar datos de Azure a Amazon S3, tenga en cuenta estas consideraciones para evitar costos innecesarios o lentitud en la velocidad de transferencia:
+ Cree su infraestructura de AWS en la misma región geográfica que la cuenta de almacenamiento de Azure y el contenedor Blob, por ejemplo, en la región de AWS `us-east-1` (Virginia del Norte) y la región de Azure `East US`.
+ Evite usar puerta de enlace NAT si es posible, ya que genera tarifas de transferencia de datos tanto para el ancho de banda de entrada como para el de salida.
+ Use un [punto de conexión de puerta de enlace VPC para Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) a fin de aumentar el rendimiento.
+ Considere la posibilidad de utilizar una EC2 instancia basada en el procesador AWS Graviton2 (ARM) para reducir el coste y aumentar el rendimiento en comparación con las instancias x86 de Intel. Rclone presenta compilación cruzada y proporciona un binario ARM precompilado.

## Epics
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-epics"></a>

### Prepare los recursos en la nube de AWS y Azure
<a name="prepare-aws-and-azure-cloud-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare un bucket de S3 de destino. | [Cree un nuevo bucket de S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la región de AWS correspondiente, o bien elija un bucket existente como destino de los datos que desee migrar. | Administrador de AWS | 
| Crea un rol de instancia de IAM para Amazon EC2. | [Cree un nuevo rol de AWS Identity and Access Management (IAM) para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#working-with-iam-roles). Esta función le da a la EC2 instancia acceso de escritura al bucket S3 de destino. | Administrador de AWS | 
| Adjunte una política al rol de la instancia de IAM. | Utilice la consola de IAM o la interfaz de línea de comandos de AWS (AWS CLI) para crear una política en línea para EC2 el rol de instancia que permita permisos de acceso de escritura al bucket de S3 de destino. Para un ejemplo de política, consulte la sección [Información adicional](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). | Administrador de AWS | 
| Lance una instancia EC2 . | Lance una EC2 instancia de Amazon Linux configurada para usar el rol de servicio de IAM recién creado. Esta instancia también necesitará acceder a los puntos de conexión de la API pública de Azure a través de Internet. Considere usar [ EC2 instancias basadas en AWS Graviton](https://docs.aws.amazon.com/compute-optimizer/latest/ug/graviton-recommendations.html) para reducir los costos. Rclone proporciona binarios compilados en ARM. | Administrador de AWS | 
| Cree una entidad principal de servicio de Azure AD. | Use la CLI de Azure para crear una entidad principal de servicio de Azure Active Directory (Azure AD) con acceso de solo lectura al contenedor de almacenamiento Blob de Azure de origen. Para obtener instrucciones, consulte la sección [Información adicional](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). Guarde estas credenciales en la EC2 instancia en la ubicación. `~/azure-principal.json` | Administrador de la nube, Azure | 

### Instalar y configurar Rclone
<a name="install-and-configure-rclone"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargar e instalar Rclone.  | Descargue e instale el programa de línea de comandos Rclone. Para instrucciones sobre la instalación, consulte la [documentación de instalación de Rclone](https://rclone.org/install/). | AWS general, administrador de la nube | 
| Configure Rclone. | Copie el siguiente archivo de ejemplo `rclone.conf`. Sustituya `AZStorageAccount` por el nombre de su cuenta de Azure Storage y `us-east-1` por la región de AWS en la que se encuentra su bucket de S3. Guarda este archivo en la ubicación `~/.config/rclone/rclone.conf` de la EC2 instancia.<pre>[AZStorageAccount]<br />type = azureblob<br />account = AZStorageAccount<br />service_principal_file = azure-principal.json<br /><br />[s3]<br />type = s3<br />provider = AWS<br />env_auth = true<br />region = us-east-1</pre> | AWS general, administrador de la nube | 
| Verifique la configuración de Rclone. | Para confirmar que Rclone está configurado y que los permisos funcionan correctamente, compruebe que Rclone puede analizar el archivo de configuración y que los objetos del contenedor Blob de Azure y del bucket de S3 sean accesibles. Consulte a continuación algunos ejemplos de comandos de validación.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.html) | AWS general, administrador de la nube | 

### Migración de datos con Rclone
<a name="migrate-data-using-rclone"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los datos de sus contenedores. | Ejecute los comandos de Rclone [copy](https://rclone.org/commands/rclone_copy/) o [sync](https://rclone.org/commands/rclone_sync/).  **Ejemplo: copy**Este comando copia datos del contenedor Blob de Azure de origen al bucket de S3 de destino.<pre>rclone copy AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>**Ejemplo: sync**Este comando sincroniza los datos entre el contenedor Blob de Azure de origen y el bucket de S3 de destino. ****<pre>rclone sync AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>Al usar el comando **sync**, los datos que no estén en el contenedor de origen se eliminarán del bucket de S3 de destino. | AWS general, administrador de la nube | 
| Sincronice sus contenedores.  | Una vez completada la copia inicial, ejecute el comando de Rclone **sync** para continuar con la migración. Solo se copiarán los archivos nuevos que no estén ya en el bucket de S3 de destino. | AWS general, administrador de la nube | 
| Compruebe que los datos se hayan migrado correctamente.  | Para comprobar que los datos se han copiado correctamente en el bucket de S3 de destino, ejecute los comandos [lsd](https://rclone.org/commands/rclone_lsd/) y [ls](https://rclone.org/commands/rclone_ls/) de Rclone. | AWS general, administrador de la nube | 

## Recursos relacionados
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-resources"></a>
+ [Guía del usuario de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) (documentación de AWS)
+ [Funciones de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) (documentación de AWS)
+ [Creación de un contenedor Blob de Microsoft Azure](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal) (documentación de Microsoft Azure)
+ [Comandos de Rclone](https://rclone.org/commands/) (documentación de Rclone)

## Información adicional
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional"></a>

**Ejemplo de política de roles para instancias EC2 **

Esta política otorga a tu EC2 instancia acceso de lectura y escritura a un segmento específico de tu cuenta. Si este bucket usa una clave administrada por el cliente para realizar el cifrado en el servidor, es posible que la política necesite obtener acceso adicional a AWS Key Management Service (AWS KMS).

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        }    
    ]
}
```

**Crear una entidad principal de servicio de Azure AD de solo lectura**

Una entidad principal de servicio de Azure es una identidad de seguridad que usan las aplicaciones, los servicios y las herramientas de automatización de los clientes para acceder a recursos específicos de Azure. Considérelo como una identidad de usuario (nombre de usuario y contraseña o certificado) con un rol específico, y con permisos estrictamente controlados para acceder a sus recursos. Para crear una entidad principal de servicio de solo lectura, con permisos de privilegio mínimo, y proteger los datos de Azure ante eliminaciones accidentales, siga estos pasos: 

1. Inicia sesión en el portal de tu cuenta en la nube de Microsoft Azure e inicia Cloud Shell PowerShell o usa la interfaz de línea de comandos (CLI) de Azure en tu estación de trabajo.

1. Cree una entidad principal de servicio y configúrela con acceso de [solo lectura](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader) a su cuenta de almacenamiento Blob de Azure. Guarde la salida JSON de este comando en un archivo local llamado `azure-principal.json`. El archivo se cargará en tu instancia. EC2 Sustituya las variables de marcador de posición que aparecen entre corchetes (`{` y `}`) por el identificador de suscripción de Azure, el nombre del grupo de recursos y el nombre de la cuenta de almacenamiento.

   ```
   az ad sp create-for-rbac `
   --name AWS-Rclone-Reader `
   --role "Storage Blob Data Reader" `
   --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}
   ```

# Migración de Couchbase Server a Couchbase Capella en AWS
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws"></a>

*Battulga Purevragchaa y Saurabh Shanbhag, Amazon Web Services*

*Mark Gamble, ninguno*

## Resumen
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-summary"></a>

Couchbase Capella es una base de datos NoSQL como servicio (DBaaS) totalmente gestionada para aplicaciones de misión crítica (por ejemplo, perfiles de usuario o catálogos en línea y gestión de inventario). Couchbase Capella gestiona su carga de trabajo DBaa S en una cuenta de Amazon Web Services (AWS) gestionada por Couchbase. Capella facilita la ejecución y la administración de la replicación de múltiples clústeres, múltiples regiones de AWS, multinube y nube híbrida dentro de una sola interfaz.

Couchbase Capella le ayuda a escalar al instante sus aplicaciones de Couchbase Server, lo que le permite crear clústeres de varios nodos en cuestión de minutos. Couchbase Capella es compatible con todas las características de Couchbase Server, incluidas [SQL\$1\$1](https://www.couchbase.com/products/n1ql), [Full Text Search](https://www.couchbase.com/products/full-text-search), [Eventing Service](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) y [Analytics Service](https://www.couchbase.com/products/analytics). También elimina la necesidad de gestionar las instalaciones, las actualizaciones, las copias de seguridad y el mantenimiento general de las bases de datos. 

Este patrón describe los pasos y las prácticas recomendadas para migrar un entorno de [Couchbase Server](https://www.couchbase.com/products/server) autogestionado a la nube de AWS. El patrón proporciona un proceso repetible para migrar datos e índices desde los clústeres de Couchbase Server, que se ejecutan en las instalaciones o en la nube, a Couchbase Capella. El uso de estos pasos le ayuda a evitar problemas durante la migración y acelera el proceso general de migración.

Este patrón proporciona las dos opciones de migración siguientes:
+ La **opción 1** es adecuada si tiene que migrar menos de 50 índices. 
+ La **opción 2** es adecuada si tiene que migrar más de 50 índices. 

También puede [configurar datos de muestra](https://docs.couchbase.com/server/current/manage/manage-settings/install-sample-buckets.html) en su Couchbase Server autogestionado para seguir la guía de migración.

Si elije la **opción de migración 2**, o si utiliza ámbitos o colecciones distintos del valor predeterminado, debe utilizar el archivo de configuración de ejemplo, que se encuentra en la sección *Información adicional*.

## Requisitos previos y limitaciones
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-prereqs"></a>

**Requisitos previos **
+ Una cuenta de pago de Couchbase Capella existente. También puede crear una [cuenta de Couchbase Capella en AWS](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) y utilizar la prueba gratuita de Couchbase Capella y, a continuación, actualizar a una cuenta de pago para configurar el clúster para la migración. Para empezar con la versión de prueba, siga las instrucciones de [Introducción a Couchbase Capella](https://docs.couchbase.com/cloud/get-started/create-account.html).
+ Un entorno de Couchbase Server autogestionado existente, ya sea en las instalaciones o implementado en un proveedor de servicios en la nube. 
+ Para la opción de migración 2, Couchbase Shell y un archivo de configuración. Para crear el archivo de configuración, puede usar el archivo de ejemplo que se encuentra en la sección de *Información adicional*.
+ Familiaridad con la administración de Couchbase Server y Couchbase Capella.
+ Familiaridad con la apertura de puertos TCP y la ejecución de comandos en una interfaz de la línea de comandos (CLI).

El proceso de migración también requiere los roles y la experiencia que se describen en la siguiente tabla.


| 
| 
| Rol | Experiencia | Responsabilidades | 
| --- |--- |--- |
| Administrador de Couchbase | Familiaridad con Couchbase Server y Couchbase CapellaEl conocimiento básico de la línea de comandos es útil pero no obligatorio | Couchbase Server y Capella: tareas específicas | 
| Administrador de sistemas; administrador de TI | Familiaridad con el entorno y la administración del sistema Couchbase Server autogestionado | Abrir puertos y determinar las direcciones IP en los nodos de clústeres de Couchbase Server autogestionados | 

 

**Limitaciones**
+ Este patrón se utiliza para migrar datos, índices e índices de [búsqueda de texto completo de Couchbase](https://docs.couchbase.com/server/current/fts/full-text-intro.html) desde Couchbase Server a Couchbase Capella en AWS. El patrón no se aplica a la migración de [Couchbase Eventing Service](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) ni a [Couchbase Analytics](https://docs.couchbase.com/server/current/analytics/introduction.html).
+ Couchbase Capella se encuentra disponible en varias regiones de AWS. Para up-to-date obtener información sobre las regiones compatibles con Capella, consulte [Amazon Web Services](https://docs.couchbase.com/cloud/reference/aws.html) en la documentación de Couchbase.

**Versiones de producto**
+ [Couchbase Server (Community o Enterprise) Edition, versión 5.x o posterior](https://docs.couchbase.com/server/current/release-notes/relnotes.html)

## Arquitectura
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-architecture"></a>

**Pila de tecnología de origen**
+ Couchbase Server

**Pila de tecnología de destino**
+ Couchbase Capella

**Arquitectura de destino**

![\[Migración de Couchbase Capella a un clúster de Couchbase en el plano de datos de Capella en AWS en cuatro pasos.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/14ac5a81-eade-4708-9335-f5602fa07824/images/95cd7f33-742e-4d10-8e2c-37c7b4d9df45.png)


1. Para acceder a Couchbase Capella, utilice el **plano de control de Capella**. Puede utilizar el plano de control de Capella para hacer lo siguiente:
   + Controlar y supervisar su cuenta.
   + Gestionar clústeres y datos, índices, usuarios y grupos, permisos de acceso, supervisión y eventos.

1. Se han creado clústeres.

1. El **plano de datos de Capella** se encuentra en la cuenta de AWS gestionada por Couchbase. Tras crear un clúster nuevo, Couchbase Capella lo implementa en varias zonas de disponibilidad de la región de AWS seleccionada.

1. Puede desarrollar e implementar aplicaciones de Couchbase en una VPC de su cuenta de AWS. Normalmente, esta VPC accede al plano de datos de Capella a través del [emparejamiento de VPC](https://docs.couchbase.com/cloud/clouds/private-network.html).

## Tools (Herramientas)
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-tools"></a>
+ La [replicación cruzada de centros de datos (XDCR) de Couchbase](https://docs.couchbase.com/cloud/current/clusters/xdcr/xdcr.html) ayuda a replicar los datos en clústeres ubicados en diferentes proveedores de nube y diferentes centros de datos. Se utiliza para migrar datos a Couchbase Capella desde clústeres de servidores Couchbase autogestionados.
**nota**  
XDCR no se puede usar con Couchbase Server Community Edition para migrar a Couchbase Capella. En su lugar, puede utilizar [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html). Para obtener más información, consulte la épica sobre cómo *migrar datos de Community Edition*.
+ [Couchbase Shell](https://couchbase.sh/docs/) es un intérprete de comandos de línea para que Couchbase Server y Couchbase Capella accedan a clústeres de Couchbase locales y remotos. En este patrón, Couchbase Shell se usa para migrar índices.
+ [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html) es una utilidad de Couchbase para exportar datos del clúster de Couchbase. Incluido en las [herramientas CLI de Couchbase Server](https://docs.couchbase.com/server/current/cli/cli-intro.html).

## Epics
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-epics"></a>

### Preparativos para la migración
<a name="prepare-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Evaluar el tamaño del clúster de Couchbase Server autogestionado. | Inicie sesión en la [consola web de Couchbase](https://docs.couchbase.com/server/current/manage/manage-ui/manage-ui.html) para Couchbase Server y evalúe los nodos y los buckets de su clúster autogestionado. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Utilizará las configuraciones de clúster de Couchbase Server autogestionadas como guía general para dimensionar y configurar el clúster de destino en Couchbase Capella.Si necesita ayuda con un ejercicio de dimensionamiento más detallado del Couchbase Capella, [póngase en contacto con Couchbase](https://www.couchbase.com/contact). | Administrador de Couchbase | 
| Registre la distribución del servicio Couchbase en el clúster de Couchbase Server autogestionado.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 
| Registre las direcciones IP de los nodos del clúster de Couchbase Server autogestionados. | (Ignore este paso si utiliza Community Edition). Registre la dirección IP de cada nodo del clúster. Se añadirán a la lista de permitidos de su clúster de Couchbase Capella más adelante. | Administrador de Couchbase, administrador de sistemas | 

### Implemente y configure los recursos en Couchbase Capella
<a name="deploy-and-configure-resources-on-couchbase-capella"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elija una plantilla. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 
| Elija y configure los nodos. | Elija y configure los nodos para que se adapten a su entorno de clústeres de Couchbase Server autogestionado, incluida la cantidad de nodos, la distribución, el procesamiento o la RAM de los servicios y el almacenamiento.Couchbase Capella utiliza las prácticas recomendadas de [escalado multidimensional](https://docs.couchbase.com/cloud/clusters/scale-cluster.html#scale-a-cluster). Los servicios y los nodos solo se pueden elegir de acuerdo con las prácticas recomendadas de implementación. Esto puede significar que no puede igualar exactamente las configuraciones de su clúster de Couchbase Server autogestionado. | Administrador de Couchbase | 
| Implementación del clúster. | El conocimiento básico de la línea de comandos es útil pero no obligatorio Para obtener instrucciones y pasos detallados, consulte [Create a cluster (Crear un clúster)](https://docs.couchbase.com/cloud/clusters/create-cluster.html) en la documentación de Couchbase.Si utiliza la versión de prueba gratuita de Couchbase Capella, debe convertirla en una cuenta de pago antes de comenzar la migración. Para convertir su cuenta, abra la sección **Billing (Facturación)** del plano de control de Couchbase Capella y, a continuación, seleccione **Add Activation ID (Añadir un ID de activación)**. El ID de activación se envía a su dirección de correo electrónico de contacto de facturación después de completar un acuerdo de compra con Couchbase Sales o después de realizar una compra a través de [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26). | Administrador de Couchbase | 
| Crear un usuario con credenciales de base de datos.  | Un usuario con credenciales de base de datos es específico de un clúster y consta de un nombre de usuario, una contraseña y un conjunto de privilegios de bucket. Este usuario es necesario para crear buckets y acceder a los datos del bucket. En el plano de control de Couchbase Capella, cree una credencial de base de datos para el nuevo clúster siguiendo las instrucciones de [Configure database credentials (Configurar las credenciales de la base de datos)](https://docs.couchbase.com/cloud/clusters/manage-database-users.html) de la documentación de Couchbase Capella.Un usuario de la organización necesita que se le asignen credenciales de rol organizativo si quiere acceder a los datos del bucket en un clúster concreto, ya sea de forma remota o a través de la interfaz de usuario de Couchbase Capella. Esto es independiente de las credenciales de la base de datos, que suelen utilizar las aplicaciones y las integraciones. La creación del usuario organizacional le permite crear y administrar los buckets de destino en su clúster de Couchbase Capella. | Administrador de Couchbase | 
| Si utiliza la opción de migración 2, instale Couchbase Shell. | Puede instalar Couchbase Shell en cualquier sistema que tenga acceso de red tanto a su Couchbase Server autogestionado como a los clústeres de Couchbase Capella. Para obtener más información, consulte [Instalar la versión 1.0.0-beta.5 de Couchbase Shell](https://couchbase.sh/docs/#_installation) en la documentación de Couchbase Shell.Confirme que Couchbase Shell esté instalado [probando una conexión a su clúster autogestionado](https://couchbase.sh/docs/#_connecting_to_a_cluster) en un terminal de línea de comandos. | Administrador de Couchbase, administrador de sistemas | 
| Permitir direcciones IP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Para obtener más información sobre las direcciones IP permitidas, consulte [Configurar las direcciones IP permitidas](https://docs.couchbase.com/cloud/get-started/configure-cluster-access.html#allow-ip-address) en la documentación de Couchbase. | Administrador de Couchbase, administrador de sistemas | 
| Configuración de los certificados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase, administrador de sistemas | 
| Crear el archivo de configuración para Couchbase Shell. | Cree un archivo dotfile de configuración en el directorio principal de la instalación de Couchbase Shell (por ejemplo, `/<HOME_DIRECTORY>/.cbsh/config`). Para obtener más información, consulte [Dotfiles de configuración](https://couchbase.sh/docs/#_the_config_dotfiles) en la documentación de Couchbase.Añada las propiedades de conexión de los clústeres de origen y destino al archivo de configuración. Puede usar el archivo de ejemplo de configuración que se encuentra en la sección de *Información adicional* y editar los ajustes de los clústeres. Guarde el archivo de configuración con los ajustes actualizados en la carpeta `.cbsh` (por ejemplo, `/<HOME_DIRECTORY>/.cbsh/config`). | Administrador de Couchbase, administrador de sistemas | 
| Cree buckets de destino. | Para cada bucket de origen, cree un bucket de destino en su clúster de Couchbase Capella siguiendo las instrucciones de la documentación de Couchbase para [crear un bucket](https://docs.couchbase.com/cloud/clusters/data-service/manage-buckets.html#add-bucket).Las configuraciones de los buckets de destino deben coincidir con los nombres de los buckets, los ajustes de memoria y los ajustes de resolución de conflictos de los buckets de su clúster de Couchbase Server autogestionado. | Administrador de Couchbase | 
| Crear ámbitos y colecciones. | Cada bucket contiene un ámbito y una colección predeterminados con el espacio de claves `_default._default`. Si utiliza otros espacios de clave para el ámbito y la colección, debe crear espacios de clave idénticos en el clúster de Capella de destino.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)<pre>scopes --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope | where scope != "_default" | each { |it| scopes create $it.scope --clusters "Capella-Cluster" }<br />collections --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope collection | where $it.scope != "_default" | where $it.collection != "_default" | each { |it| collections create $it.collection --clusters "Capella-Cluster" --bucket <BUCKET_NAME> --scope $it.scope }</pre> | Administrador de Couchbase | 

### Migración de los datos de Enterprise Edition
<a name="migrate-the-data-from-enterprise-edition"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Abrir los puertos TCP en los nodos del clúster autogestionado de Couchbase Server. | Asegúrese de que los puertos adecuados estén abiertos para la comunicación XDCR en los nodos del clúster de Couchbase Server autogestionado. Para obtener más información, consulte la [documentación sobre puertos de Couchbase Server](https://docs.couchbase.com/server/current/install/install-ports.html#ports-listed-by-communication-path). | Administrador de Couchbase, administrador de sistemas | 
| Si utiliza Couchbase Server Enterprise Edition, configure Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 
| Iniciar Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 

### Migración de los índices mediante la opción 1
<a name="migrate-the-indexes-by-using-option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migración de los índices de clústeres autogestionados a Couchbase Capella. | Recomendamos este proceso si tiene que migrar menos de 50 índices. Si tiene que migrar más de 50 índices, le recomendamos que utilice la opción de migración 2.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase, administrador de sistemas | 

### Migración de los índices mediante la opción 2
<a name="migrate-the-indexes-by-using-option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre las definiciones del índice.  | Recomendamos este proceso si tiene que migrar más de 50 índices. Si tiene que migrar menos de 50 índices, le recomendamos que utilice la opción de migración 1.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase, administrador de sistemas | 
| Crear las definiciones del índice.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase, administrador de sistemas | 

### Migración de índices de búsqueda de texto completo
<a name="migrate-full-text-search-indexes"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre los índices de búsqueda de texto completo de clústeres autogestionados a Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 

### Migración de los datos de Couchbase Community Edition
<a name="migrate-data-from-couchbase-community-edition"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Exportar datos desde Couchbase Server Community Edition autogestionada. | El XDCR cifrado no está disponible en Couchbase Community Edition. Puede exportar los datos de Couchbase Community Edition y luego importarlos manualmente a Couchbase Capella.Para exportar datos del bucket de origen, utilice `cbexport` en la línea de comandos.Puede ver un ejemplo en el siguiente comando:<pre>cbexport json \<br />--cluster localhost \<br />--bucket <SOURCE BUCKET NAME> \<br />--format lines \<br />--username <USERNAME> \<br />--password <PASSWORD> \<br />--include-key cbkey \<br />--scope-field cbscope \<br />--collection-field cbcoll \<br />--output cbexported_data.json</pre>Tenga en cuenta que `cbkey`, `cbscope`, `cbcoll` y `cbexported_data.json` son etiquetas arbitrarias. Se hará referencia a ellas más adelante en el proceso, así que si decide asignarles un nombre diferente, anótelo. | Administrador de Couchbase | 
| Importar datos a Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Para archivos grandes, Couchbase Capella admite la importación por línea de comandos mediante cURL. Puede explorar las opciones de importación con más detalle en [Import data (Importar datos)](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html) en la documentación de Couchbase Capella. | Administrador de Couchbase | 

### Probar y verificar la migración
<a name="test-and-verify-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Comprobación de la migración de datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 
| Verificar la migración del índice.  | En el plano de control de Couchbase Capella, en la lista desplegable **Tools (Herramientas)** del clúster de destino, seleccione **Indexes (Índices)**. Compruebe que los índices se hayan migrado y creado. | Administrador de Couchbase | 
| Verificar los resultados de consulta.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 
| Verificar los resultados de la búsqueda de texto completo (aplicable si migró los índices FTS). | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrador de Couchbase | 

## Recursos relacionados
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-resources"></a>

**Preparativos para la migración**
+ [Comience con la prueba gratuita de Couchbase Capella](https://cloud.couchbase.com/sign-up)
+ [Requisitos de proveedor de servicios en la nube para Couchbase Capella](https://docs.couchbase.com/cloud/reference/aws.html)
+ [Pautas de tamaños de Couchbase Capella](https://docs.couchbase.com/cloud/clusters/sizing.html)

**Migración de datos e índices**
+ [Couchbase XDCR](https://docs.couchbase.com/cloud/clusters/xdcr/xdcr.html)
+ [Documentación de Couchbase Shell](https://couchbase.sh/docs/)

**Couchbase, Capella y su soporte SLAs **
+ Acuerdos de nivel de servicio de [Couchbase Capella](https://www.couchbase.com/capellasla) () SLAs
+ [Política de soporte del servicio Couchbase Capella](https://www.couchbase.com/support-policy/cloud)

## Información adicional
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-additional"></a>

El siguiente código es un ejemplo de [archivo de configuración para Couchbase Shelll](https://couchbase.sh/docs/#_the_config_dotfiles). 

```
Version = 1
 
[[clusters]]
identifier = "On-Prem-Cluster"
hostnames = ["<SELF_MANAGED_COUCHBASE_CLUSTER>"]
default-bucket = "travel-sample"
username = "<SELF_MANAGED_ADMIN>"
password = "<SELF_MANAGED_ADMIN_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
 
[[clusters]]
identifier = "Capella-Cluster"
hostnames = ["<COUCHBASE_CAPELLA_ENDPOINT>"]
default-bucket = "travel-sample"
username = "<CAPELLA_DATABASE_USER>"
password = "<CAPELLA_DATABASE_USER_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_COUCHBASE_CAPELLA_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
```

Antes de guardar el archivo de configuración, utilice la siguiente tabla para asegurarse de haber agregado su propia información de clúster de origen y destino.

 


|  |  | 
| --- |--- |
| <SELF\$1MANAGED\$1COUCHBASE\$1CLUSTER> | Use las direcciones IP para su clúster de Couchbase Server autogestionado. | 
| <SELF\$1MANAGED\$1ADMIN> | Use el usuario administrador para su clúster de Couchbase Server autogestionado. | 
| <ABSOLUTE\$1PATH\$1TO\$1SELF\$1MANAGED\$1ROOT\$1CERT> | Use la ruta absoluta al archivo de certificado raíz guardado para su clúster de Couchbase Server autogestionado. | 
| <COUCHBASE\$1CAPELLA\$1ENDPOINT> | Use el punto de conexión de su clúster de Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER> | Use el usuario de la base de datos para su clúster de Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER\$1PWD> | Use la contraseña de usuario de la base de datos para su clúster de Couchbase Capella. | 
| <ABSOLUTE\$1PATH\$1TO\$1COUCHBASE\$1CAPELLA\$1ROOT\$1CERT> | Use la ruta absoluta al archivo de certificado raíz guardado para su clúster de Couchbase Capella. | 

# Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2"></a>

*Neal Ardeljan y Afroz Khan, Amazon Web Services*

## Resumen
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-summary"></a>

Este patrón le guía por los pasos para migrar de un sistema Red Hat Enterprise Linux (RHEL) 6.9 o posterior local que ejecute IBM WebSphere Application Server (WAS) a RHEL 8 con Apache Tomcat en una instancia de Amazon Elastic Compute Cloud (Amazon). EC2 

Este patrón se puede aplicar a las siguientes versiones de origen y destino: 
+ WebSphere Application Server 7.x a Apache Tomcat 8 (con Java 7 o posterior) 
+ WebSphere Del servidor de aplicaciones 8.x a Apache Tomcat 8 (con Java 7 o posterior) 
+ WebSphere Del servidor de aplicaciones 8.5.5.x a Apache Tomcat 9 (con Java 8 o posterior) 
+ WebSphere Del servidor de aplicaciones 8.5.5.x a Apache Tomcat 10 (con Java 8 o posterior) 

## Requisitos previos y limitaciones
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-prereqs"></a>

**Requisitos previos**** **
+ Una cuenta de AWS activa 
+ Código fuente de Java, con las siguientes suposiciones:
  + Emplea la versión de Java Development Kit (JDK) de Java 7 o posterior 
  + Emplea el marco Spring o Apache Struts 
  + No utiliza el framework Enterprise Java Beans (EJB) ni ninguna otra funcionalidad de WebSphere servidor que no esté fácilmente disponible para Tomcat
  + Utiliza principalmente servlets o Java Server Pages () JSPs 
  + Emplea conectores de Java Database Connectivity (JDBC) para conectar a las bases de datos  
+ Fuente: IBM WebSphere Application Server versión 7.x o superior 
+ Destino: Apache Tomcat, versión 8.5 o superior  

## Arquitectura
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-architecture"></a>

**Pila de tecnología de origen**** **
+ Una aplicación web creada con el marco Apache Struts Model-View-Controller (MVC) 
+ Una aplicación web que se ejecuta en las versiones 7.x u 8.x de IBM WebSphere Application Server
+ Una aplicación web que emplea un conector Lightweight Directory Access Protocol (LDAP) para conectar a un directorio LDAP (iPlanet/eTrust) 
+ Una aplicación que emplea la conectividad de IBM Tivoli Access Manager (TAM) para actualizar la contraseña del usuario de TAM (en la presente implementación, las aplicaciones usan PD.jar)

** ****Bases de datos en las instalaciones**
+ Oracle Database 21c (21.0.0.0)
+ Oracle Database 19c (19.0.0.0)
+ Oracle Database 12c Versión 2 (12.2.0.1)
+ Oracle Database 12c Release 1 (12.1.0.2)

**Pila de tecnología de destino**
+ Apache Tomcat versión 8 (o posterior) que se ejecuta en RHEL en una instancia EC2 
+ Amazon Relational Database Service (Amazon RDS) para Oracle

Para obtener más información sobre las versiones de Oracle compatibles con Amazon RDS, consulte el sitio web de [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/). 

**Arquitectura de destino**

![\[Arquitectura para migrar de IBM WebSphere a Apache Tomcat en Amazon EC2\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/96f91201-e0a6-4d3f-a94e-7bd68a59cc4e/images/11afe7c0-b400-423b-9dfe-02a915fe47ff.png)


## Tools (Herramientas)
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-tools"></a>
+ Nivel de aplicación: reconstrucción de una aplicación Java en un archivo WAR.
+ Nivel de base de datos: copia de seguridad y restauración nativas de Oracle.
+ Herramienta de migración de Apache Tomcat para Jakarta EE. Esta herramienta toma una aplicación web escrita para Java EE 8 y ejecutada en Apache Tomcat 9 y la convierte automáticamente para ejecutarla en Apache Tomcat 10, que implementa Jakarta EE 9.

## Epics
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Complete el descubrimiento de las aplicaciones, el estado actual y la línea base de rendimiento. |  | BA, líder de migración | 
| Valide las versiones de las bases de datos de origen y de destino. |  | Administrador de base de datos | 
| Identifique los requisitos de hardware para la instancia del servidor EC2 de destino. |  | DBA, SysAdmin | 
| Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). |  | DBA, SysAdmin | 
| Elija el tipo de EC2 instancia adecuado en función de la capacidad, las características de almacenamiento y las características de la red. |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. |  | DBA, SysAdmin | 
| Identifique la estrategia y las herramientas de migración de aplicaciones. |  | Administrador de base de datos, líder de migración | 
| Complete el diseño de la migración y la guía de migración de la aplicación. |  | Responsable de compilación, líder de migración | 
| Complete el manual de procedimientos de migración de aplicaciones. |  | Responsable de compilación, líder de transición, líder de pruebas, líder de migración | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). |  | SysAdmin | 
| Creación de grupos de seguridad. |  | SysAdmin | 
| Configure e inicie Amazon RDS para Oracle. |  | DBA, SysAdmin | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree o acceda a los puntos de conexión para recuperar los archivos de copia de seguridad de la base de datos. |  | Administrador de base de datos | 
| Utilice el motor de base de datos nativo o una herramienta de terceros para migrar los objetos y datos de la base de datos. | Para obtener más información, consulte “Migración de objetos y datos de bases de datos” en la sección de *Información adicional*. | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Presente la solicitud de cambio (CR) para la migración. |  | Líder de transición | 
| Obtenga la aprobación de la CR para la migración. |  | Líder de transición | 
| Siga la estrategia de migración de aplicaciones según el manual de procedimientos de migración de aplicaciones. | Para obtener más información, consulte “Configurar el nivel de aplicación” en la sección de *Información adicional*. | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Actualice la aplicación (si es necesario). |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Complete las pruebas funcionales y no funcionales, de validación de datos, de acuerdo de nivel de servicio y de rendimiento. |  | Líder de pruebas, propietario de la aplicación, usuarios de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Obtenga la aprobación del propietario de la aplicación o del propietario de la empresa. |  | Líder de transición | 
| Cambie los clientes de aplicaciones a la nueva infraestructura. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | DBA, ingeniero de migración, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | Líder de migración | 
| Recopile métricas como el tiempo de migración, el porcentaje de esfuerzo manual en comparación con el automatizado y el ahorro de costos. |  | Líder de migración | 
| Cerrar el proyecto y enviar comentarios. |  | Líder de migración, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-resources"></a>

**Referencias**
+ [Documentación de Apache Tomcat 10.0](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
+ [Documentación de Apache Tomcat 9.0](https://tomcat.apache.org/tomcat-9.0-doc/index.html)
+ [Documentación de Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc)
+ [Guía de instalación de Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc/setup.html)
+ [Documentación de JNDI de Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)
+ [Sitio web de Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle y Amazon Web Services](https://aws.amazon.com/oracle/) 
+ [Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implementaciones de Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/) 

**Tutoriales y videos**
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

## Información adicional
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-additional"></a>

**Migración de objetos y datos de bases de datos**

Por ejemplo, si utiliza backup/restore utilidades nativas de Oracle:

1. Cree la copia de seguridad de Amazon Simple Storage Service (Amazon S3) para los archivos de copia de seguridad de la base de datos (opcional).

1. Haga una copia de seguridad de los datos de la base de datos de Oracle en la carpeta compartida de la red.

1. Inicie sesión en el servidor transitorio de migración para mapear la carpeta compartida de la red.

1. Copie los datos de la carpeta de recursos compartidos de la red al bucket de S3.

1. Solicite una implementación de Amazon RDS Multi-AZ para Oracle.

1. Restaure la copia de seguridad de la base de datos en las instalaciones en Amazon RDS para Oracle.

**Configurar el nivel de aplicación**

1. Instale Tomcat 8 (o 9/10) desde el sitio web de Apache Tomcat.

1. Empaquete la aplicación y las bibliotecas compartidas en un archivo WAR.

1. Implemente el archivo WAR en Tomcat.

1. Supervise el registro de inicio para `Linux cat` ver si hay alguna biblioteca compartida que falte WebSphere.

1. Observe el registro de inicio de `Linux cat` cualquier WebSphere extensión descriptora de despliegue específica.

1. Recopile del servidor las bibliotecas Java dependientes que falten. WebSphere 

1. Modifique los elementos descriptores de despliegue WebSphere específicos con equivalentes compatibles con Tomcat.

1. Reconstruya el archivo WAR con las bibliotecas Java dependientes y los descriptores de implementación actualizados.

1. Actualice la configuración de LDAP y la configuración de la base de datos y pruebe las conexiones (consulte las [instrucciones de configuración de Realm](https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html) y las [instrucciones de JNDI Datasource](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html) en la documentación de Apache Tomcat).

1. Pruebe la aplicación instalada con la base de datos de Amazon RDS para Oracle restaurada.

1. Cree una Amazon Machine Image (AMI) para Linux a partir de la EC2 instancia.

1. Inicie la arquitectura completa con el equilibrador de carga de aplicación y el grupo de escalado automático.

1. Actualice URLs (mediante la unión WebSeal) para que apunte al Application Load Balancer.

1. Actualice la base de datos de administración de configuración (CMDB). 

# Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2 con Auto Scaling
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling"></a>

*Kevin Yung y Afroz Khan, Amazon Web Services*

## Resumen
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-summary"></a>

Este patrón proporciona orientación para migrar una aplicación Java de IBM WebSphere Application Server a Apache Tomcat en una instancia de Amazon Elastic Compute Cloud EC2 (Amazon) con Amazon EC2 Auto Scaling activado. 

Con el uso de este patrón, puede lograr lo siguiente:
+ Una reducción de los costos de licencias de IBM
+ Alta disponibilidad mediante la Implementación multi-AZ
+ Resiliencia de aplicaciones mejorada con Amazon EC2 Auto Scaling

## Requisitos previos y limitaciones
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Las aplicaciones Java (versión 7.*x* o 8.*x*) deben desarrollarse en pilas LAMP.
+ El estado de destino es alojar aplicaciones Java en hosts Linux. Este patrón se ha implementado con éxito en un entorno de Red Hat Enterprise Linux (RHEL) 7. Otras distribuciones de Linux pueden seguir este patrón, pero consultando siempre la configuración de la distribución de Apache Tomcat.
+ Debe comprender las dependencias de la aplicación Java.
+ Debe tener acceso al código fuente de la aplicación Java para poder realizar cambios. 

**Limitaciones y redefiniciones de plataforma**
+ Debe comprender los componentes del archivo empresarial (EAR) y comprobar que todas las bibliotecas estén empaquetadas en archivos WAR de componentes web. Debe configurar el [complemento WAR de Apache Maven](https://maven.apache.org/plugins/maven-war-plugin/) y producir artefactos en los archivos WAR.
+ Al usar Apache Tomcat 8, existe un conflicto conocido entre servlet-api.jar y los archivos jar integrados en el paquete de la aplicación. Para resolver este problema, elimine servlet-api.jar del paquete de la aplicación.
+ Debe configurar WEB-INF/Resources, ubicado en *classpath* de la [Configuración de Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html). De forma predeterminada, las bibliotecas JAR no se cargan en el directorio. *Como alternativa, puede implementar todos los recursos que se indican a continuación. src/main/resources*
+ Compruebe si hay alguna raíz de contexto con codificación rígida en la aplicación Java y actualice la nueva [raíz de contexto de Apache Tomcat.](https://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context)
+ Para configurar las opciones de tiempo de ejecución de JVM, puede crear el archivo de configuración setenv.sh en la carpeta bin de Apache Tomcat; por ejemplo, JAVA\$1OPTS, JAVA\$1HOME**,** etc.  
+ La autenticación se configura a nivel de contenedor, como un dominio en las configuraciones de Apache Tomcat. La autenticación se establece para cualquiera de los tres dominios siguientes: 
  + [JDBC Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm) busca los usuarios en una base de datos relacional a la que se accede mediante el controlador JDBC.
  + [DataSource Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm) busca usuarios en una base de datos a la que accede JNDI. 
  + [JNDI Directory Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm) busca a los usuarios en el directorio de Lightweight Directory Access Protocol (LDAP) al que accede el proveedor de JNDI. Las búsquedas requieren: 
    + Detalles de la conexión LDAP: base de búsqueda de usuarios, filtro de búsqueda, base de roles, filtro de roles 
    + Dominio clave del directorio JNDI: se conecta a LDAP, autentica a los usuarios y recupera todos los grupos de los que un usuario es miembro
+ Autorización: en el caso de un contenedor con una autorización basada en roles que compruebe las restricciones de autorización en web.xml, los recursos web deben definirse y compararse con los roles indicados en las restricciones. Si LDAP no tiene un mapeo de roles de grupo, debe establecer el atributo < security-role-ref > en web.xml para lograr el mapeo de roles de grupo. Para ver un ejemplo de un documento de configuración, consulte la [documentación de Oracle](https://docs.oracle.com/cd/E19226-01/820-7627/bncav/index.html). 
+ Conexión de base de datos: cree una definición de recurso en Apache Tomcat con una URL y detalles de conexión de un punto de conexión Amazon Relational Database Service (Amazon RDS). Actualice el código de la aplicación para que haga referencia a mediante la búsqueda JNDI. DataSource Una conexión de base de datos existente definida en no WebSphere funcionaría, ya que utiliza sus nombres WebSphere JNDI. Puede añadir una <resource-ref>entrada en el archivo web.xml con el nombre y la definición del DataSource tipo del JNDI. Para ver un ejemplo de documento de configuración, consulte la [documentación de Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#JDBC_Data_Sources).
+ Registro: de forma predeterminada, Apache Tomcat inicia sesión en la consola o en un archivo de registro. Puede habilitar el rastreo a nivel de dominio actualizando *logging.properties* (consulte [Registros en Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/logging.html)). Si usa Apache Log4j para añadir registros a un archivo, debe descargar tomcat-juli y añadirlo al *classpath*.
+ Gestión de sesiones: si va a usar IBM WebSeal como equilibrador de carga de aplicación y gestión de sesiones, no es necesario realizar ningún cambio. [Si utiliza un Application Load Balancer o Network Load Balancer en AWS para reemplazar el componente IBM WebSeal, debe configurar la administración de sesiones mediante una instancia de ElastiCache Amazon con un clúster de Memcached y configurar Apache Tomcat para que utilice la administración de sesiones de código abierto.](https://github.com/magro/memcached-session-manager) 
+ Si usa el proxy de reenvío WebSeal de IBM, debe configurar un nuevo equilibrador de carga de red en AWS. Utilice lo que IPs proporciona el Network Load Balancer para las configuraciones de empalmes WebSeal.
+ Configuración SSL: le recomendamos que utilice Secure Sockets Layer (SSL) para end-to-end las comunicaciones. Para configurar un servidor SSL en Apache Tomcat, siga las instrucciones de la [documentación de Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html). 

## Arquitectura
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-architecture"></a>

**Pila de tecnología de origen**
+ Servidor WebSphere de aplicaciones IBM

 

**Pila de tecnología de destino**
+ La arquitectura usa [Elastic Load Balancing (versión 2](https://docs.aws.amazon.com/elasticloadbalancing/)). Si usa IBM WebSeal para la gestión de identidades y el equilibrio de carga, puede seleccionar un equilibrador de carga de red en AWS para integrarlo con el proxy inverso IBM WebSeal.
+ Las aplicaciones Java se implementan en un servidor de aplicaciones Apache Tomcat, que se ejecuta en una EC2 instancia de un [grupo de Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html). Puedes configurar una [política de escalado](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) basada en CloudWatch las métricas de Amazon, como el uso de la CPU. 
+ Si va a dejar de utilizar IBM WebSeal para el equilibrio de carga, puede utilizar [Amazon for Memcached ElastiCache para](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) la gestión de sesiones.
+ En la base de datos de backend, puede implementar [alta disponibilidad (Multi-AZ) para Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) y seleccionar un tipo de motor de base de datos.

 

**Arquitectura de destino**

![\[Nube de AWS architecture with VPC, two availability zones, load balancer, and database components.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/52b91dab-7b3b-4751-abe2-25e7c7cd8d89/images/25125023-9a81-452a-9ada-184e2416cc02.png)


## Tools (Herramientas)
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [Interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)
+ Apache Tomcat (versión 7.*x* o 8.*x*)
+ RHEL 7 o Centos 7
+ [Implementación de Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache para Memcached (opcional](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html))

## Epics
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-epics"></a>

### Configure el VPC
<a name="set-up-the-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). |  |  | 
| Cree subredes. |  |  | 
| Cree tablas de enrutamiento si es necesario. |  |  | 
| Cree listas de control de acceso a la red (). ACLs |  |  | 
| Configure AWS Direct Connect o una conexión VPN corporativa. |  |  | 

### Redefina la plataforma de la aplicación
<a name="replatform-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Refactorice la configuración de Maven en compilación de la aplicación para generar los artefactos de WAR. |  |  | 
| Refactorice los orígenes de datos de dependencia de las aplicaciones en Apache Tomcat. |  |  | 
| Refactorice los códigos fuente de las aplicaciones para que usen nombres JNDI en Apache Tomcat. |  |  | 
| Implemente los artefactos WAR en Apache Tomcat. |  |  | 
| Complete las validaciones y pruebas de las aplicaciones. |  |  | 

### Configurar la red
<a name="configure-the-network"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el firewall corporativo para permitir la conexión a los servicios de dependencia. |  |  | 
| Configure el firewall corporativo para permitir el acceso de los usuarios finales a Elastic Load Balancing en AWS. |  |  | 

### Cree la infraestructura de aplicaciones
<a name="create-the-application-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree e implemente la aplicación en una EC2 instancia. |  |  | 
| Cree un clúster de Amazon ElastiCache for Memcached para la administración de sesiones. |  |  | 
| Cree una instancia de Amazon RDS Multi-AZ para la base de datos de backend. |  |  | 
| Cree certificados SSL e impórtelos a AWS Certificate Manager (ACM). |  |  | 
| Instale certificados SSL en los equilibradores de carga. |  |  | 
| Instale certificados SSL para los servidores Apache Tomcat. |  |  | 
| Complete las validaciones y pruebas de las aplicaciones. |  |  | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Desactive la infraestructura existente. |  |  | 
| Restaure la base de datos de producción a Amazon RDS. |  |  | 
| Realice cambios en el DNS para interrumpir la aplicación. |  |  | 

## Recursos relacionados
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-related-resources"></a>

**Referencias**
+ [Documentación de Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html)
+ [Guía de instalación de Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html)
+ [Documentación de JNDI de Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html)
+ [Implementaciones Multi-AZ de Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache para Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html)

**Tutoriales y videos**
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migración de una aplicación .NET de Microsoft Azure App Service a AWS Elastic Beanstalk
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk"></a>

*Raghavender Madamshitti, Amazon Web Services*

## Resumen
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-summary"></a>

Este patrón describe cómo migrar una aplicación web .NET alojada en Microsoft Azure App Service a AWS Elastic Beanstalk. Hay dos formas de migrar aplicaciones a Elastic Beanstalk:
+ Mediante AWS Toolkit para Visual Studio: este complemento para el IDE de Microsoft Visual Studio proporciona la forma más fácil y sencilla de implementar aplicaciones .NET personalizadas en AWS. Puede utilizar este enfoque para implementar código .NET directamente en AWS y crear recursos de apoyo, como Amazon Relational Database Service (Amazon RDS) para bases de datos de SQL Server, directamente desde Visual Studio.
+ Mediante carga e implementación en Elastic Beanstalk: cada Azure App Service incluye un servicio en segundo plano llamado Kudu que resulta útil para capturar los volcados de memoria y los registros de implementación, ver los parámetros de configuración y acceder a los paquetes de implementación. Puede usar la consola Kudu para acceder al contenido de Azure App Service, extraer el paquete de implementación y, a continuación, cargar el paquete en Elastic Beanstalk mediante la opción de carga e implementación de la consola de Elastic Beanstalk.

Este patrón describe el segundo enfoque (cargar la aplicación en Elastic Beanstalk a través de Kudu). El patrón también utiliza los siguientes servicios de AWS: AWS Elastic Beanstalk, Amazon Virtual Private Cloud (Amazon VPC), Amazon, Amazon Elastic Compute Cloud (Amazon) Auto Scaling, CloudWatch Amazon Simple Storage Service (Amazon S3 EC2) Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) y Amazon Route 53. 

La aplicación web.NET se implementa en AWS Elastic Beanstalk, que se ejecuta en un grupo de Amazon EC2 Auto Scaling. Puedes configurar una política de escalado basada en CloudWatch las métricas de Amazon, como el uso de la CPU. Para una base de datos, puede utilizar Amazon RDS en un entorno Multi-AZ o Amazon DynamoDB, según los requisitos empresariales y de la aplicación. 

## Requisitos previos y limitaciones
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una aplicación web .NET que se ejecute en Azure App Service
+ Permiso para usar la consola Kudu de Azure App Service

**Versiones de producto**
+ .NET Core (x64) 1.0.1, 2.0.0 o posterior, o .NET Framework 4.x, 3.5 (consulte [el historial de la plataforma .NET en Windows Server](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html))
+ Internet Information Services (IIS) versión 8.0 o posterior que se ejecute en Windows Server 2012 o posterior
+ .NET 2.0 o 4.0 Runtime.

## Arquitectura
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-architecture"></a>

**Pila de tecnología de origen**
+  Aplicación desarrollada con .NET Framework 3.5 o posterior, o .NET Core 1.0.1, 2.0.0 o posterior, y alojada en Azure App Service (aplicación web o aplicación API)

**Pila de tecnología de destino**
+ AWS Elastic Beanstalk ejecutándose en un grupo de Amazon EC2 Auto Scaling

**Arquitectura de migración**

![\[Kudu accede al contenido de Azure App Service, obtiene el paquete de implementación y lo carga en Elastic Beanstalk.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/dd15f97b-9cf2-4bcc-af45-44df1c4ca4a5.png)


 

**Flujo de trabajo de una implementación**

![\[Flujo de trabajo de implementación para crear una aplicación, publicarla en el entorno de lanzamiento y, a continuación, administrarlo.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/accec77d-c753-4166-8f27-bd4932b3d884.png)


## Tools (Herramientas)
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-tools"></a>

**Herramientas**
+ .NET Core o .NET Framework
+ C\$1
+ IIS
+ Consola Kudu

**Servicios y características de AWS**
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html): Elastic Beanstalk es un servicio para implementar y easy-to-use escalar aplicaciones web.NET. Elastic Beanstalk administra automáticamente el aprovisionamiento de capacidad, el equilibrio de carga y el escalado automático.
+ [Grupo Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html): Elastic Beanstalk incluye un grupo de Auto Scaling que administra las instancias de Amazon en EC2 el entorno. En un entorno de una sola instancia, el grupo de escalado automático garantiza que siempre haya una instancia en ejecución. En un entorno con equilibrio de carga, puede configurar el grupo con un rango de instancias para su ejecución, y Amazon EC2 Auto Scaling añade o elimina instancias según sea necesario, en función de la carga.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html): cuando habilita el equilibrio de carga en AWS Elastic Beanstalk, se crea un balanceador de carga que distribuye el tráfico entre las instancias del entorno. EC2 
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): Elastic Beanstalk CloudWatch utiliza Amazon automáticamente para proporcionar información sobre los recursos de su aplicación y entorno. Amazon CloudWatch admite métricas estándar, métricas personalizadas y alarmas.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html): Amazon Route 53 es un servicio web de sistema de nombres de dominio (DNS) escalable y de alta disponibilidad. Puede usar los registros de alias de Route 53 para asignar nombres de dominio personalizados a los entornos de AWS Elastic Beanstalk.

## Epics
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-epics"></a>

### Configurar una VPC
<a name="set-up-a-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure una nube privada virtual (VPC). | En su cuenta de AWS, cree una VPC con la información requerida. | Administrador de sistemas | 
| Cree subredes. | Cree dos o más subredes en la VPC. | Administrador de sistemas | 
| Cree una tabla de enrutamiento. | Cree una tabla de enrutamiento según sus necesidades. | Administrador de sistemas | 

### Configurar Elastic Beanstalk
<a name="set-up-elastic-beanstalk"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Acceda a la consola Kudu de Azure App Service. | Para acceder a Kudu a través del portal de Azure, diríjase al panel de control de App Service y, a continuación, seleccione **Advanced Tools** (Herramientas avanzadas) y **Go** (Ir). O bien, puede modificar la URL del servicio de aplicaciones de Azure de la siguiente manera: `https://<appservicename>.scm.azurewebsites.net`. | Desarrollador de aplicaciones, administrador de sistemas | 
| Descargue el paquete de implementación de Kudu. | Navegue a Windows PowerShell seleccionando la **DebugConsole**opción. De esta forma se abrirá la consola Kudo. Vaya a la carpeta `wwwroot` y descárguela. Se descargará el paquete de implementación de Azure App Service como un archivo zip. Para ver un ejemplo, consulte el archivo adjunto. | Desarrollador de aplicaciones, administrador de sistemas | 
| Cree un paquete para Elastic Beanstalk. | Descomprima el paquete de implementación que descargó de Azure App Service. Cree un archivo JSON llamado `aws-windows-deployment-manifest.json` (este archivo solo es necesario para las aplicaciones .NET Core). Cree un archivo zip que incluya el archivo `aws-windows-deployment-manifest.json` del paquete de implementación de Azure App Service. Para ver un ejemplo, consulte el archivo adjunto. | Desarrollador de aplicaciones, administrador de sistemas | 
| Cree una nueva aplicación de Elastic Beanstalk. | Abra la consola de Elastic Beanstalk. Seleccione una aplicación existente o cree una nueva. | Desarrollador de aplicaciones, administrador de sistemas | 
| Cree el entorno. | En el menú **Actions** (Acciones) de la consola de Elastic Beanstalk, seleccione **Create environment** (Crear entorno). Seleccione el entorno del servidor web y la plataforma .NET/IIS. En código de aplicación, seleccione **Cargar**. Cargue el archivo zip que preparó para Elastic Beanstalk y, a continuación, seleccione **Create Environment** (Crear entorno). | Desarrollador de aplicaciones, administrador de sistemas | 
| Configura Amazon CloudWatch. | De forma predeterminada, la CloudWatch supervisión básica está habilitada. Si desea cambiar la configuración, en el asistente de Elastic Beanstalk, seleccione la aplicación publicada y, a continuación, **Monitoring** (Supervisión). | Administrador de sistemas | 
| Compruebe que el paquete de implementación se encuentre en Amazon S3.  | Una vez creado el entorno de la aplicación, encontrará el paquete de implementación en el bucket de S3. | Desarrollador de aplicaciones, administrador de sistemas | 
| Probar la aplicación. | Una vez creado el entorno, utilice la URL proporcionada en la consola de Elastic Beanstalk para probar la aplicación. | Administrador de sistemas | 

## Recursos relacionados
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-resources"></a>
+ [Conceptos AWS Elastic Beanstack](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.html) (documentación de Elastic Beanstalk)
+ [Getting Started with .NET on Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-getstarted.html) (Introducción a .NET en Elastic Beanstalk (documentación de Elastic Beanstalk)
+ [Consola Kudu](https://github.com/projectkudu/kudu/wiki/Kudu-console) () GitHub
+ [Using "Kudu" to Manage Azure Web Apps](https://www.gslab.com/blogs/kudu-azure-web-app/) (artículo de GS Lab)
+ [Custom ASP.NET Core Elastic Beanstalk Deployments](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html) (Guía del usuario del Kit de herramientas de AWS para Visual Studio)
+ [Documentación de Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [AWS Elastic Beanstalk Supported Platforms](https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/platforms/platforms-supported.html) (Plataformas compatibles con AWS Elastic Beanstalk (documentación de Elastic Beanstalk)
+ [Deploy a Web Application to AWS](https://www.c-sharpcorner.com/article/deploying-a-web-application-to-aws/) (Implementación de una aplicación web en AWS) (artículo de C\$1 Corner)
+ [Cómo escalar el tamaño de su grupo de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) ( EC2 documentación de Amazon)
+ [High Availability (Multi-AZ) for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) (Alta disponibilidad (Multi-AZ) para Amazon RDS) (documentación de Amazon RDS)

## Información adicional
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-additional"></a>

**Notas**
+ Si va a migrar una base de datos en las instalaciones o de Azure SQL Server a Amazon RDS, también debe actualizar los detalles de conexión a la base de datos. 
+ Para realizar las pruebas, se adjunta un ejemplo de aplicación de demostración.

## Conexiones
<a name="attachments-df606a2d-b0a8-4035-b377-0a760e7300c9"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/df606a2d-b0a8-4035-b377-0a760e7300c9/attachments/attachment.zip)

# Migre de Oracle WebLogic a Apache Tomcat (ToMEE) en Amazon ECS
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs"></a>

*Anya Epishcheva y Harshad Gohil, Amazon Web Services*

## Resumen
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-summary"></a>

Este patrón describe los pasos para migrar un sistema Oracle Solaris SPARC local que ejecuta Oracle WebLogic a una instalación basada en contenedores Docker que ejecuta [Apache ToMEE (Apache Tomcat](http://tomee.apache.org/) con soporte adicional para contenedores) con Amazon Elastic Container Service (Amazon ECS). 

Para obtener información sobre la migración de las bases de datos asociadas a las aplicaciones que va a migrar de Oracle a Tomcat, consulte los patrones de migración de bases de datos de este WebLogic catálogo. 

**Prácticas recomendadas**

Los pasos para migrar las aplicaciones web de Java y Java Enterprise Edition (Java EE) varían según la cantidad de recursos específicos del contenedor que utilice la aplicación. Las aplicaciones basadas en Spring suelen ser más fáciles de migrar, ya que tienen un número reducido de dependencias en el contenedor de implementación. Por el contrario, las aplicaciones Java EE que utilizan recursos empresariales JavaBeans (EJBs) y de contenedores gestionados, como los grupos de subprocesos, el Servicio de autenticación y autorización de Java (JAAS) y la persistencia gestionada por contenedores (CMP), requieren más esfuerzo. 

Las aplicaciones desarrolladas para Oracle Application Server utilizan con frecuencia la suite Oracle Identity Management. Los clientes que migran a servidores de aplicaciones de código abierto suelen optar por volver a implementar la gestión de identidades y accesos mediante una federación basada en SAML. Otros utilizan Oracle HTTP Server Webgate en casos en los que la migración desde la suite Oracle Identity Management no es una opción. 

Las aplicaciones web Java y Java EE son excelentes candidatas para su implementación en los servicios de AWS basados en Docker, como AWS Fargate y Amazon ECS. Los clientes suelen elegir una imagen de Docker con la última versión del servidor de aplicaciones de destino (como ToMEE) y el kit de desarrollo de Java (JDK) preinstalados. Instalan sus aplicaciones sobre la imagen de Docker base, la publican en su registro Amazon Elastic Container Registry (Amazon ECR) y la utilizan para la implementación escalable de sus aplicaciones en AWS Fargate o Amazon ECS. 

Lo ideal es que la implementación de aplicaciones sea elástico, es decir, que el número de instancias de aplicaciones se amplíe o disminuya en función del tráfico o la carga de trabajo. Esto significa que las instancias de aplicaciones deben estar en línea o cancelarse para ajustar la capacidad a la demanda. 

Cuando traslade una aplicación Java a AWS, considere convertirla en apátrida. Este es un principio arquitectónico clave del Marco de AWS Well-Architected que permitirá el escalado horizontal mediante el almacenaje en contenedores. Por ejemplo, la mayoría de las aplicaciones web basadas en Java almacenan la información de las sesiones de los usuarios de forma en las instalaciones. Para sobrevivir a la finalización de la instancia de la aplicación debido al escalado automático en Amazon Elastic Compute Cloud (Amazon EC2) o por otros motivos, la información de las sesiones de los usuarios debe almacenarse de forma global para que los usuarios de aplicaciones web puedan seguir trabajando sin problemas y de forma transparente sin tener que volver a conectarse a una aplicación web ni volver a iniciar sesión en ella. Existen varias opciones de arquitectura para este enfoque, como Amazon ElastiCache for Redis o el almacenamiento del estado de la sesión en una base de datos global. Los servidores de aplicaciones, como ToMEE, tienen complementos que permiten almacenar y administrar las sesiones a través de Redis, bases de datos y otros almacenes de datos globales.

Utilice una herramienta común y centralizada de registro y depuración que se integre fácilmente con Amazon CloudWatch y AWS X-Ray. La migración brinda la oportunidad de mejorar las capacidades del ciclo de vida de las aplicaciones. Por ejemplo, es posible que desee automatizar el proceso de creación para que los cambios se puedan realizar fácilmente mediante una canalización de integración y entrega continuas (CI/CD). Esto puede requerir cambios en la aplicación para que pueda implementarse sin tiempo de inactividad. 

## Requisitos previos y limitaciones
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Una cuenta de AWS activa 
+ Código fuente de Java y JDK 
+ Aplicación de origen creada con Oracle WebLogic
+ Solución definida para Identity and Access Management (SAML u Oracle Webgate)
+ Solución definida para la gestión de las sesiones de la aplicación ( like-for-liketrasladarla o con Amazon ElastiCache, o hacer que la aplicación quede sin estado si es necesario)
+ Sepa si el equipo necesita refactorizar las bibliotecas específicas de J2EE para poder transferirlas a Apache ToMEE (consulte el [estado de implementación de Java EE 7](http://tomee.apache.org/javaee7-status.html) en el sitio web de Apache) 
+ Imagen reforzada de ToMEE en función de sus requisitos de seguridad
+ Imagen de contenedor con el objetivo ToMee preinstalado 
+ Se acuerda e implementa la corrección de la aplicación si es necesaria (por ejemplo, registro, depuración, compilación o autenticación)

**Versiones de producto**
+ Oracle WebLogic OC4 J, 9i, 10 g 
+ Tomcat 7 (con Java 1.6 o versiones posteriores) 

## Arquitectura
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-architecture"></a>

 **Pila de tecnología de origen**
+ Aplicación web creada con Oracle WebLogic
+ Aplicación web que utiliza la autenticación Oracle Webgate o SAML
+ Aplicaciones web conectadas a la versión 10g y posteriores de Oracle Database 

**Pila de tecnología de destino**
+ ToMEE (Apache Tomcat con soporte adicional para contenedores) que se ejecuta en Amazon ECS (consulte también [Implementación de aplicaciones web Java](https://aws.amazon.com/answers/web-applications/aws-web-app-deployment-java/) y [microservicios Java en Amazon ECS](https://aws.amazon.com/blogs/compute/deploying-java-microservices-on-amazon-ec2-container-service/)) 
+ Amazon Relational Database Service (Amazon RDS) para Oracle; para ver las versiones de Oracle compatibles con Amazon RDS, consulte [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/)** **

**Arquitectura de destino**

![\[Nube de AWS architecture diagram showing VPC, application subnets, and shared services account components.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/d5e7b3fa-062f-4559-af56-aa6058f96755/images/762193cf-aa68-4195-b3c7-6541caee61c9.png)


 

## Tools (Herramientas)
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-tools"></a>

Para funcionar en ToMEE, una aplicación Java debe reconstruirse en un archivo.war. En algunos casos, es posible que sea necesario realizar cambios en la aplicación para que funcione en ToMee; debe comprobar que las opciones de configuración y las propiedades del entorno necesarias estén definidas correctamente.  

Además, las búsquedas de la interfaz de nombres y directorios de Java (JNDI) y los espacios de nombres de JavaServer páginas (JSP) deben definirse correctamente. Considere la posibilidad de comprobar los nombres de los archivos utilizados por la aplicación para evitar colisiones de nombres con las bibliotecas T integradas. Por ejemplo, persistence.xml es un nombre de archivo utilizado por el marco Apache OpenJPA (que se incluye con OpenEJB en ToMEE) con fines de configuración. El archivo persistence.xml de PUI contiene las declaraciones Bean de Spring Framework.  

La versión 7.0.3 y posteriores de ToMee (Tomcat 8.5.7 y posteriores) devuelve una respuesta HTTP 400 (solicitud incorrecta) en formato RAW (sin codificar) con caracteres especiales. URLs La respuesta del servidor aparece como una página en blanco para el usuario final. [Las versiones anteriores de ToMee y Tomcat permitían el uso de ciertos caracteres especiales no codificados URLs; sin embargo, se considera inseguro, como se indica en el sitio web CVE-2016-6816.](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6816) Para resolver el problema de codificación de las URL, las que URLs se pasen directamente al navegador a través de ellas JavaScript deben codificarse con el método **encodeURI ()** en lugar de utilizarse como cadenas sin procesar. 

Tras implementar el archivo.war en ToMEE, supervise el *registro de inicio* de *Linux cat* para ver si faltan bibliotecas compartidas y extensiones específicas de Oracle para añadir los componentes que falten de las bibliotecas de Tomcat. 

 

**Procedimiento general**
+ Configure la aplicación en ToMee.
+ Identifique y reconfigure los archivos y recursos de configuración específicos del servidor de aplicaciones desde el formato de origen al formato de destino.
+ Identifique y reconfigure los recursos de JNDI.
+ Ajuste el espacio de nombres y las búsquedas de EJB al formato requerido por el servidor de aplicaciones de destino (si corresponde).
+ Reconfigure las funciones de seguridad y las asignaciones principales específicas del contenedor de aplicaciones de JAAS (si corresponde).
+ Empaquete la aplicación y las bibliotecas compartidas en un archivo.war.
+ Implemente el archivo.war en ToMEE mediante el contenedor de Docker proporcionado.
+ Supervise el *registro de inicio* para identificar cualquier biblioteca compartida o extensión descriptora de implementación que falte. Si encuentra alguna, vuelva a la primera tarea. 
+ Pruebe la aplicación instalada con la base de datos de Amazon RDS restaurada.
+ Inicie la arquitectura completa con un equilibrador de carga y un clúster de Amazon ECS siguiendo las instrucciones de [Implementación de contenedores de Docker](https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/).
+ Actualiza el punto URLs para que apunte al balanceador de cargas. 
+ Actualice la base de datos de administración de configuración (CMDB). 

## Epics
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Realice el descubrimiento de aplicaciones (estado actual del entorno y punto de referencia de rendimiento). |  | BA, líder de migración | 
| Validar versiones y motores de las bases de datos de origen y destino. |  | Administrador de base de datos | 
| Valide el diseño de la aplicación de origen y destino (gestión de identidades y sesiones). |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Identifique los requisitos de hardware y almacenamiento para la instancia del servidor de destino. |  | DBA, SysAdmin | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | DBA, SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red de las bases de datos de origen y destino. |  | DBA, SysAdmin | 
| Identifique la estrategia y las herramientas de migración de aplicaciones. |  | Administrador de base de datos, líder de migración | 
| Complete el diseño de la migración y la guía de migración de la aplicación. |  | Responsable de compilación, líder de migración | 
| Complete el manual de procedimientos de migración de aplicaciones. |  | Responsable de compilación, líder de transición, líder de pruebas, líder de migración | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). |  | SysAdmin | 
| Cree grupos de seguridad. |  | SysAdmin | 
| Configure e inicie la instancia de base de datos de Amazon RDS. |  | DBA, SysAdmin | 
| Configure la implementación de Amazon ECS. |  | SysAdmin | 
| Empaquete su aplicación como una imagen de Docker. |  | SysAdmin | 
| Inserte la imagen en el registro de Amazon ECR (u omita este paso y envíela al clúster de Amazon ECS). |  | SysAdmin | 
| Configure la definición de tareas para la aplicación y las opciones de servicio de Amazon ECS. |  | SysAdmin | 
| Configure su clúster, revise los ajustes de seguridad y establezca los roles de AWS Identity and Access Management (IAM). |  | SysAdmin | 
| Inicie la configuración y ejecute las pruebas de acuerdo con el manual de procedimientos de migración de aplicaciones. |  | SysAdmin | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Obtenga el permiso de su equipo de control de seguridad para trasladar los datos de producción a AWS. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Cree puntos de conexión y obtenga acceso a ellos para recuperar los archivos de copia de seguridad de la base de datos. |  | Administrador de base de datos | 
| Utilice el motor de base de datos nativo o herramientas de terceros para migrar los objetos y datos de la base de datos. |  | Administrador de base de datos | 
| Ejecute las pruebas necesarias del manual de procedimientos de migración de aplicaciones para confirmar que la migración de datos se realizó correctamente. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una solicitud de cambio (CR) para la migración. |  | Líder de transición | 
| Obtenga la aprobación de CR para la migración. |  | Líder de transición | 
| Siga la estrategia de migración de aplicaciones del manual de procedimientos de migración de aplicaciones. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Actualice la aplicación (si es necesario). |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Realice pruebas funcionales y no funcionales, de validación de datos, de acuerdo de nivel de servicio y de rendimiento. |  | Líder de pruebas, propietario de la aplicación, usuarios de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Obtenga la aprobación del propietario de la aplicación o de la empresa. |  | Líder de transición | 
| Realiza un ejercicio sobre un tema de mesa para repasar todos los pasos del manual de procedimientos de transición. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 
| Cambie los clientes de aplicaciones a la nueva infraestructura. |  | Administrador de base de datos, ingeniero de migraciones, propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | DBA, ingeniero de migración, SysAdmin | 
| Revise y valide los documentos del proyecto. |  | Líder de migración | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de migraciones manuales en comparación con las realizadas con herramientas, el ahorro de costos, etc. |  | Líder de migración | 
| Cerrar el proyecto y enviar comentarios. |  | Líder de migración, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-related-resources"></a>

**Referencias**
+ [Documentación de Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html) 
+ [Guía de instalación de Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html) 
+ [Documentación de JNDI de Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html) 
+ [Documentación de Apache ToMee](http://tomee.apache.org/) 
+ [Amazon RDS para Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle y AWS](https://aws.amazon.com/oracle/) 
+ [Documentación de Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Implementaciones de Amazon RDS Multi-AZ](https://aws.amazon.com/rds/details/multi-az/) 
+ [Introducción a Amazon ECS](https://aws.amazon.com/ecs/getting-started/)
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

**Tutoriales y videos**
+ [Prácticas recomendadas para ejecutar las bases de datos de Oracle en Amazon RDS](https://www.youtube.com/watch?v=j2wqT0EPDbw) (re:Invent 2018 presentation) 

# Migre una base de datos Oracle de Amazon EC2 a Amazon RDS for Oracle mediante AWS DMS
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms"></a>

*Chethan Gangadharaiah y Brian Motzer, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-summary"></a>

Este patrón describe los pasos para migrar una base de datos Oracle en Amazon Elastic Compute Cloud (Amazon EC2) a Amazon Relational Database Service (Amazon RDS) para Oracle mediante AWS Database Migration Service (AWS DMS). El patrón también utiliza Oracle SQL Developer o SQL \$1Plus para conectarse a la instancia de base de datos de Oracle e incluye una CloudFormation plantilla de AWS que automatiza algunas de las tareas.

La migración a Amazon RDS para Oracle le permite centrarse en su empresa y en sus aplicaciones, mientras que Amazon RDS se encarga de las tareas de administración de bases de datos, como el aprovisionamiento de bases de datos, las copias de seguridad y la recuperación, los parches de seguridad, las actualizaciones de versiones y la administración del almacenamiento.

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una imagen de máquina de Amazon (AMI) para Oracle Database en Amazon EC2

**Versiones de producto**
+ AWS DMS es compatible con las versiones de Oracle 11g (versiones 11.2.0.3.v1 y posteriores), 12c y 18c para bases de datos de instancias de Amazon RDS para las ediciones Enterprise, Standard, Standard One y Standard Two. Para obtener la información más reciente sobre las versiones compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) en la documentación de AWS. (Las CloudFormation plantillas de AWS adjuntas utilizan la versión 12c de Oracle como base de datos de origen).
+ Desarrollador SQL de Oracle 4.0.3

## Arquitectura
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-architecture"></a>

**Arquitectura de origen**
+ Base de datos Oracle en Amazon EC2

**Arquitectura de destino**
+ Amazon RDS para Oracle

**Arquitectura de migración**

![\[Nube de AWS architecture showing Oracle database migration from EC2 to RDS across availability zones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4db0c731-0897-4eb8-a06f-b648c3d94b2c/images/636c2a69-5a78-482d-ae81-55e9ec975ead.png)


## Tools (Herramientas)
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/index.html): AWS Database Migration Service (AWS DMS) le ayuda a migrar los datos de forma rápida y segura a AWS. Admite migraciones homogéneas y heterogéneas. Para obtener información sobre las versiones y ediciones de bases de datos de Oracle compatibles, consulte [Uso de una base de datos de Oracle como origen para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) y [Uso de una base de datos de Oracle como destino para AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) en la documentación de AWS.
+ **Oracle SQL Developer o SQL \$1Plus**: estas herramientas le permiten conectarse a la instancia de base de datos de Amazon RDS para Oracle.

## Epics
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-epics"></a>

### Configurar la base de datos de destino
<a name="set-up-your-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una instancia de base de datos de Amazon RDS para Oracle. | Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/. Cree una instancia de base de datos de Oracle seleccionando el motor, la plantilla, la configuración de credenciales de base de datos, el tipo de instancia, el almacenamiento, la configuración de multi-AZ, la nube privada virtual (VPC) y la configuración, las credenciales de inicio de sesión y las configuraciones adicionales para la base de datos de Oracle. Para obtener instrucciones, consulte los enlaces de la sección "Recursos relacionados". O utilice la CloudFormation plantilla de AWS (Create\$1RDS.yaml) del archivo adjunto para crear la instancia de base de datos Amazon RDS for Oracle. | Desarrollador | 
| Conéctese a Amazon RDS y conceda privilegios al usuario de Oracle. | Modifique el grupo de seguridad para abrir los puertos adecuados para conectarse desde la máquina local y la instancia de replicación de AWS DMS. Al configurar la conectividad, asegúrese de que la opción «Accesible públicamente» esté seleccionada para poder conectarse a la base de datos desde fuera de la VPC. Conéctese a Amazon RDS con Oracle SQL Developer o SQL \$1Plus mediante las credenciales de inicio de sesión, cree un usuario de AWS DMS y proporcione los privilegios necesarios al usuario de AWS DMS para modificar la base de datos. | Desarrollador | 

### Configure el grupo de seguridad de la instancia de origen EC2
<a name="configure-the-security-group-of-the-source-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compruebe si la base de datos de Oracle está en funcionamiento. | Utilice Secure Shell (SSH) para conectarse a la EC2 instancia e intente conectarse a la base de datos de Oracle mediante SQL \$1Plus. | Desarrollador | 
| Modifique el grupo de seguridad. | Modifique el grupo de seguridad de la EC2 instancia para abrir los puertos correspondientes, de modo que pueda conectarse desde su máquina local y la instancia de replicación de AWS DMS. | Desarrollador | 

### Configure AWS DMS
<a name="set-up-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de replicación de AWS DMS. | En AWS DMS, cree una instancia de replicación en la misma VPC que su instancia de base de datos Amazon RDS para Oracle. Especifique el nombre y la descripción de la instancia de replicación, elija la clase de instancia y la versión del motor de replicación (utilice la predeterminada), elija la VPC en la que creó la instancia de base de datos de Amazon RDS, establezca la configuración de multi-AZ en caso necesario, asigne almacenamiento, especifique la zona de disponibilidad y configure ajustes adicionales. Como alternativa, puede usar la CloudFormation plantilla de AWS (DMS.yaml) del archivo adjunto para implementar este paso. | Administrador de base de datos | 
| Conéctese a los puntos de conexión de las bases de datos de origen y destino. | Cree los puntos de conexión de la base de datos de origen y destino especificando el identificador del punto de conexión, el motor, el servidor, el puerto, las credenciales de inicio de sesión y los atributos de conexión adicionales. Para el servidor de origen, utilice el DNS público de la EC2 instancia que aloja la base de datos de Oracle. Para el servidor de destino, utilice el punto de conexión de Amazon RDS para Oracle. Realice una prueba para comprobar que las conexiones de origen y destino funcionan. Como alternativa, puede usar la CloudFormation plantilla de AWS (DMS.yaml) del archivo adjunto para implementar este paso. | Administrador de base de datos | 
| Cree una tarea de AWS DMS. | Cree una tarea de AWS DMS para migrar los datos del punto de conexión de origen al punto de conexión de destino, para configurar la replicación entre el punto de conexión de origen y destino, o ambos. Al crear la tarea de AWS DMS, especifique la instancia de replicación, el punto de conexión de origen, el punto de conexión de destino, el tipo de migración (solo datos, solo replicación o ambos), el mapeo de tablas y el filtro. Ejecute la tarea de AWS DMS, supervise la tarea, compruebe las estadísticas de la tabla y compruebe los registros en Amazon CloudWatch. Como alternativa, puede usar la CloudFormation plantilla de AWS (DMS.yaml) del archivo adjunto para implementar este paso. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-related-resources"></a>
+ [Creación de una instancia de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateOracleInstance.html)
+ [Conexión a una instancia de base de datos que ejecuta el motor de base de datos de Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToOracleInstance.html)
+ [Documentación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Tutoriales de AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Migración de bases de datos de Oracle a la nube de AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Conexiones
<a name="attachments-4db0c731-0897-4eb8-a06f-b648c3d94b2c"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/4db0c731-0897-4eb8-a06f-b648c3d94b2c/attachments/attachment.zip)

# Migre una base de datos Oracle local a Amazon OpenSearch Service mediante Logstash
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash"></a>

*Aditya Goteti, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-summary"></a>

Este patrón describe cómo mover datos de una base de datos Oracle local a Amazon OpenSearch Service mediante Logstash. Incluye consideraciones arquitectónicas y algunos conjuntos de habilidades necesarias y recomendaciones. Los datos pueden proceder de una sola tabla o de varias tablas en las que será necesario realizar una búsqueda de texto completo. 

OpenSearch El servicio se puede configurar dentro de una nube privada virtual (VPC) o se puede colocar públicamente con restricciones basadas en IP. Este patrón describe un escenario en el que el OpenSearch servicio se configura dentro de una VPC. Logstash se utiliza para recopilar los datos de la base de datos de Oracle, analizarlos en formato JSON y, a continuación, introducir los datos en Service. OpenSearch  

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Java 8 (requerido por Logstash 6.4.3)
+ Conectividad entre los servidores de bases de datos locales y las instancias de Amazon Elastic Compute Cloud (Amazon EC2) en una VPC, establecida mediante la red privada virtual de AWS (AWS VPN)
+ Una consulta para recuperar los datos necesarios para enviarlos a OpenSearch Service desde la base de datos
+ Controladores de Oracle Java Database Connectivity (JDBC)

**Limitaciones**
+ Logstash no puede identificar los registros que se han eliminado definitivamente de la base de datos 

**Versiones de producto**
+ Oracle Database 12c
+ OpenSearch Servicio 6.3
+ Logstash 6.4.3

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Oracle en las instalaciones
+ AWS VPN en las instalaciones

**Pila de tecnología de destino**
+ VPC
+ EC2 instancia
+ OpenSearch Servicio 
+ Logstash
+ NAT Gateway (para actualizar el sistema operativo en las EC2 instancias e instalar Java 8, Logstash y complementos)

**Arquitectura de migración de datos**

![\[Cómo mover datos de una base de datos Oracle local a Amazon OpenSearch Service mediante Logstash.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/09f6d2de-de2f-4ed6-af93-34b71b75a263/images/df6a61fb-09fb-49d4-a7e8-b04e88c003df.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-tools"></a>
+ Logstash 6.4.3
+ Complemento de entrada JDBC ([descarga y más información](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html))
+ [Complemento de salida de Logstash (\$1es) logstash-output-amazon](https://github.com/awslabs/logstash-output-amazon_es)
+ Controladores JDBC de Oracle

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identificar el tamaño de la base de datos de origen. | El tamaño de los datos de origen es uno de los parámetros que se utilizan para determinar el número de particiones que se van a configurar en un índice. | Administrador de base de datos, Desarrollador de base de datos | 
| Analizar los tipos de datos de cada columna y los datos correspondientes. | OpenSearch El servicio mapea dinámicamente el tipo de datos cuando encuentra en el documento un campo que no se había visto anteriormente. Si hay algún tipo o formato de datos específico (por ejemplo, campos de fecha) que deba declararse de forma explícita, identifique los campos y defina la asignación de esos campos durante la creación del índice. | Propietario de la aplicación, desarrollador, desarrollador de bases de datos | 
| Determinar si hay columnas con claves principales o únicas. | Para evitar la duplicación de registros en Amazon OpenSearch Service durante las actualizaciones o inserciones, debes configurar el `document_id` ajuste en la sección de resultados del `amazon_es` complemento (por ejemplo, `document_id => "%{customer_id}"` dónde `customer_id` está la clave principal). | Propietario de la aplicación, desarrollador | 
| Analizar el número y la frecuencia de los nuevos registros que se agregan; comprobar la frecuencia con la que se eliminan los registros. | Esta tarea es necesaria para comprender la tasa de crecimiento de los datos de origen. Si los datos se leen de forma intensiva y las inserciones son poco frecuentes, puede tener un índice único. Si se insertan nuevos registros con frecuencia y no hay eliminaciones, el tamaño de la partición puede superar fácilmente el tamaño máximo recomendado de 50 GB. En este caso, se puede crear un índice de forma dinámica configurando los patrones de índice en Logstash y en el código al que se puede acceder mediante un alias. | Propietario de la aplicación, desarrollador | 
| Determinar cuántas réplicas se necesitan. |  | Propietario de la aplicación, desarrollador | 
| Determinar la cantidad de particiones que se van a configurar en el índice. |  | Propietario de la aplicación, desarrollador | 
| Identifique los tipos de instancias para los nodos maestros dedicados, los nodos de datos y la EC2 instancia. | Para obtener más información, consulte la sección [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). | Propietario de la aplicación, desarrollador | 
| Determinar el número de nodos maestros dedicados y nodos de datos necesarios. | Para obtener más información, consulte la sección [Recursos relacionados](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). |  | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lanza una EC2 instancia. | Lance una EC2 instancia dentro de la VPC a la que está conectada la VPN de AWS. | Constructos de Amazon VPC, VPN de AWS | 
| Instale Logstash en la instancia. EC2  |  | Desarrollador | 
| Instalar los complementos de Logstash. | Instalar los complementos de Logstash necesarios `jdbc-input` y` logstash-output-amazon_es`. | Desarrollador | 
| Configurar Logstash. | Crear el almacén de claves de Logstash para almacenar información confidencial, como las claves de AWS Secrets Manager y las credenciales de las bases de datos, y, a continuación, colocar las referencias en un archivo de configuración de Logstash. | Desarrollador | 
| Configurar la cola de mensajes fallidos y la cola persistente. | De forma predeterminada, cuando Logstash detecta un evento que no puede procesar porque los datos contienen un error de mapeo o algún otro problema, la canalización de Logstash bloquea o descarta el evento fallido. Para protegerse de la pérdida de datos en esta situación, puede configurar Logstash para que escriba los eventos fallidos en una cola de mensajes fallidos en lugar de descartarlos. Para evitar la pérdida de datos durante una interrupción anómala, Logstash tiene una característica de cola persistente que almacenará la cola de mensajes en el disco. Las colas persistentes proporcionan la durabilidad de los datos en Logstash. | Desarrollador | 
| Crea el dominio OpenSearch de Amazon Service. | Cree el dominio de Amazon OpenSearch Service con una política de acceso que no requiera firmar las solicitudes con las credenciales de AWS Identity and Access Management (IAM). El dominio OpenSearch de Amazon Service debe crearse en la misma VPC. También debe seleccionar los tipos de instancias y establecer el número de nodos dedicados y maestros en función de su análisis. | Desarrollador | 
| Configura los registros de Amazon OpenSearch Service necesarios. | Para obtener más información, consulta la [documentación del OpenSearch servicio](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html). |  | 
| Cree el índice. |  | Desarrollador | 
| Iniciar Logstash. | Ejecutar Logstash como un servicio en segundo plano. Logstash ejecuta la consulta SQL configurada, extrae los datos, los convierte al formato JSON y los envía a Service. OpenSearch Para la carga inicial, no configure el programador en el archivo de configuración de Logstash. | Desarrollador | 
| Consulte los documentos. | Compruebe el número de documentos del índice y si todos los documentos están presentes en la base de datos de origen. Durante la carga inicial, se añaden al índice y se utilizan para detener Logstash. Cambie la configuración de Logstash para agregar un programador que se ejecute en un intervalo fijo según los requisitos del cliente y reinicie Logstash. Logstash seleccionará solo los registros que se hayan actualizado o agregado después de la última ejecución, y la marca temporal de la última ejecución se almacenará en el archivo que está configurado con la propiedad `last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run"` en el archivo de configuración de Logstash. | Desarrollador | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources"></a>
+ [Alarmas recomendadas CloudWatch ](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html) 
+ [Nodos maestros OpenSearch de Amazon Service dedicados](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-dedicatedmasternodes.html) 
+ [Dimensionamiento de los dominios de Amazon OpenSearch Service](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html) 
+ [Documentación de Logstash](https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html) 
+ [Complemento de entrada JDBC](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Complemento de salida Logstash](https://github.com/awslabs/logstash-output-amazon_es)
+ [Sitio web OpenSearch de Amazon Service](https://aws.amazon.com/elasticsearch-service/) 

# Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle"></a>

*Baji Shaik y Pavan Pusuluri, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-summary"></a>

Este patrón describe los pasos para migrar bases de datos de Oracle en las instalaciones a Amazon Relational Database Service (Amazon RDS) para Oracle. Como parte del proceso de migración, debe crear un plan de migración y tener en cuenta los factores importantes de la infraestructura de la base de datos de destino en función de la base de datos de origen. Puede elegir una de las dos opciones de migración según los requisitos empresariales y el caso de uso:
+ AWS Database Migration Service (AWS DMS): puede usar AWS DMS para migrar bases de datos a la nube de AWS de forma rápida y segura. Su base de datos de origen permanece totalmente operativa durante la migración, lo que minimiza el tiempo de inactividad de las aplicaciones que dependen de ella. Puede reducir el tiempo de migración mediante AWS DMS para crear una tarea que capture los cambios continuos después de completar una migración inicial a carga completa mediante un proceso denominado [captura de datos de cambios (CDC)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). 
+ Herramientas nativas de Oracle: puede migrar bases de datos mediante herramientas nativas de Oracle, como Oracle y [Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200) y [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) con [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) for CDC. También puede utilizar herramientas nativas de Oracle, como la [utilidad de exportación](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_export.htm#SUTIL3634) original y la [utilidad de importación](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL001) original, para reducir el tiempo de carga total.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de Oracle en las instalaciones
+ Una instancia de base de datos (DB) Oracle de Amazon RDS

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ Oracle, versiones 11g (versiones 11.2.0.3.v1 y posteriores) y hasta la 12.2 y la 18c. Para obtener la lista más reciente de versiones y ediciones compatibles, consulte [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) en la documentación de AWS. Para ver las versiones de Oracle compatibles con AWS DMS, consulte [Uso de una base de datos de Oracle como origen de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) en la documentación de AWS DMS.

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-architecture"></a>

**Pila de tecnología de origen**
+ Bases de datos de Oracle en las instalaciones

**Pila de tecnología de destino**
+ Amazon RDS para Oracle

**Arquitectura de origen y destino**

En el siguiente diagrama se muestra cómo migrar una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante AWS DMS.

![\[Flujo de trabajo para la migración de bases de datos de Oracle a Amazon RDS para Oracle mediante AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/20f94a5c-1095-4182-b964-c379414c9a36.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Cree o utilice un usuario de base de datos existente, conceda los [permisos de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed) necesarios para ese usuario, active el [modo ARCHIVELOG](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode) y, a continuación, configure el [registro adicional](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging).

1. Configure la puerta de enlace de Internet entre la red en las instalaciones y la red de AWS.

1. Configure los [puntos de conexión de origen y destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) para AWS DMS.

1. Configure las [tareas de replicación de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) para migrar los datos de la base de datos de origen a la base de datos de destino.

1. Complete las actividades posteriores a la migración en la base de datos de destino.

En el siguiente diagrama se muestra cómo migrar una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante herramientas nativas de Oracle.

![\[Flujo de trabajo para la migración de bases de datos de Oracle a Amazon RDS para Oracle mediante herramientas de Oracle.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/af8e0e1a-d4c8-4d99-9780-3e093ad9a257.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Cree o utilice un usuario de base de datos existente y otorgue los permisos necesarios para realizar una copia de seguridad de la base de datos de Oracle mediante las utilidades Export (`exp`) e Import (`imp`) de Oracle.

1. Configure la puerta de enlace de Internet entre la red en las instalaciones y la red de AWS.

1. Configure el cliente de Oracle en el host [bastión](https://www.oracle.com/security/cloud-security/bastion/) para que tome la base de datos de copias de seguridad.

1. Cargue la copia de seguridad de la base de datos en un bucket de Amazon Simple Storage Service (Amazon S3).

1. Restaure la copia de seguridad de la base de datos de Amazon S3 en una base de datos de Amazon RDS para Oracle.

1. Configure Oracle GoldenGate para CDC.

1. Complete las actividades posteriores a la migración en la base de datos de destino.

## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le permite migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en la nube y en las instalaciones.
+ Las herramientas nativas de Oracle lo ayudan a llevar a cabo una migración homogénea. Puede utilizar [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) para migrar datos entre las bases de datos de origen y destino. Este patrón utiliza Oracle Data Pump para realizar la carga completa desde la base de datos de origen a la base de datos de destino.
+ [Oracle](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) le GoldenGate ayuda a realizar la replicación lógica entre dos o más bases de datos. Este patrón se utiliza GoldenGate para replicar los cambios delta después de la carga inicial mediante Oracle Data Pump.

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree documentos del proyecto y registre los detalles de la base de datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | Administrador de base de datos | 
| Identifique los requisitos de almacenamiento. | Identifique y documente sus requisitos de almacenamiento, incluidos los siguientes:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html)En el caso de los [volúmenes SSD de uso general (gp2)](https://aws.amazon.com/ebs/volume-types/), se obtienen tres IOPS por cada 1 GB de almacenamiento. Para asignar el almacenamiento, calcule el número total de IOPS de lectura y escritura en la base de datos de origen. | DBA, SysAdmin | 
| Elija el tipo de instancia adecuado en función de los requisitos de procesamiento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | SysAdmin | 
| Identifique los requisitos de seguridad de acceso a la red. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Identificar la estrategia de migración de aplicaciones. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, propietario de la SysAdmin aplicación | 
| Identifique los riesgos de migración. | Evalúe la base de datos y documente los riesgos y mitigaciones específicos de la migración. Por ejemplo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | Administrador de base de datos | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC. | [Cree una nueva Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html) para la instancia de base de datos de destino. | SysAdmin | 
| Cree grupos de seguridad. | [Cree un grupo de seguridad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group) en la nueva VPC para permitir las conexiones entrantes a la instancia de base de datos. | SysAdmin | 
| Crear una instancia de base de datos de Amazon RDS para Oracle. | [Cree la instancia de base de datos de destino](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) con la nueva VPC y el nuevo grupo de seguridad y, a continuación, inicie la instancia. | SysAdmin | 

### Opción 1: uso de herramientas nativas de Oracle o de terceros para migrar los datos
<a name="option-1---use-native-oracle-or-third-party-tools-to-migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la base de datos de origen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Prepare la base de datos de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 

### Opción 2: uso de AWS DMS para migrar datos
<a name="option-2---use-aws-dms-to-migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare los datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | Administrador de base de datos | 
| Migre los datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | Administrador de base de datos | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de aplicaciones a la nueva infraestructura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, propietario de la SysAdmin aplicación | 
| Implemente su plan de reversión. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | Administrador de base de datos, propietario de la aplicación | 

### Cerrar el proyecto de migración
<a name="close-out-the-migration-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Limpiar recursos. | Cierre o elimine los recursos temporales de AWS, como la instancia de replicación de AWS DMS y el bucket de S3. | DBA, SysAdmin | 
| Revise los documentos del proyecto. | Revise los documentos y objetivos de planificación de la migración y, a continuación, confirme que ha completado todos los pasos de migración necesarios. | DBA, propietario de la SysAdmin aplicación | 
| Recopile métricas. | Registre las métricas clave de la migración, como el tiempo que se tardó en completar la migración, el porcentaje de tareas manuales en comparación con las tareas basadas en herramientas, el ahorro de costos y otras métricas relevantes. | DBA, propietario de la SysAdmin aplicación | 
| Cerrar el proyecto. | Cierre el proyecto de migración y obtenga comentarios sobre el esfuerzo. | DBA, propietario de la SysAdmin aplicación | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-resources"></a>

**Referencias**
+ [Migrating Oracle databases to the AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html) (Recomendaciones de AWS)
+ [AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/) (documentación de AWS DMS)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/) (documentación de Amazon RDS)

**Tutoriales y videos**
+ [Introducción a AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/getting-started/) (documentación de AWS DMS)
+ [Recursos de Amazon RDS](https://aws.amazon.com/rds/getting-started/) (documentación de Amazon RDS)
+ [AWS Database Migration Service (DMS) (YouTube)](https://www.youtube.com/watch?v=zb4GcjEdl8U)

# Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump"></a>

*Mohan Annam y Brian Motzer, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-summary"></a>

Este patrón describe cómo migrar una base de datos de Oracle de un centro de datos en las instalaciones a una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle mediante Oracle Data Pump. 

El patrón implica crear un archivo de volcado de datos a partir de la base de datos de origen, almacenar el archivo en un bucket de Amazon Simple Storage Service (Amazon S3) y, a continuación, restaurar los datos en una instancia de base de datos de Amazon RDS para Oracle. Este patrón resulta útil cuando se encuentra con limitaciones al utilizar AWS Database Migration Service (AWS DMS) para la migración. 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Los permisos necesarios para crear roles en AWS Identity and Access Management (IAM) y para la carga multiparte a Amazon S3
+ Los permisos necesarios para exportar datos desde la base de datos de origen
+ Interfaz de la línea de comandos de AWS (AWS CLI) [instalada](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) y [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Versiones de producto**
+ Oracle Data Pump solo está disponible para Oracle Database 10g, versión 1 (10.1) y versiones posteriores.

## Arquitectura
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-architecture"></a>

**Pila de tecnología de origen**
+ Bases de datos de Oracle en las instalaciones

**Pila de tecnología de destino**
+ Amazon RDS para Oracle
+ Cliente SQL (desarrollador de Oracle SQL)
+ Un bucket de S3

**Arquitectura de origen y destino**

![\[Carga multiparte de Amazon S3 desde una base de datos de Oracle en las instalaciones a Amazon RDS mediante Oracle Data Pump.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/d8d6e00f-753e-4ecc-80e5-e60e279a699b/images/1bb6095a-0a95-4469-be0e-7b7bd59b35ae.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-tools"></a>

**Servicios de AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos. En este patrón, la IAM se utiliza para crear los roles y políticas necesarios para migrar datos de Amazon S3 a Amazon RDS para Oracle.
+ [Amazon Relational Database Service (Amazon RDS) para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) le ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la nube de AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Otras herramientas**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) le ayuda a trasladar datos y metadatos de una base de datos a otra a altas velocidades. En este patrón, Oracle Data Pump se utiliza para exportar el archivo de volcado de datos (.dmp) al servidor de Oracle e importarlo a Amazon RDS para Oracle. Para obtener más información, consulte [Importación de datos a Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) en la documentación de Amazon RDS.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) es un entorno de desarrollo integrado que simplifica el desarrollo y la administración de bases de datos de Oracle, tanto en implementaciones tradicionales como en implementaciones basadas en la nube. Interactúa con la base de datos de Oracle en las instalaciones y con Amazon RDS para Oracle para ejecutar los comandos SQL necesarios para exportar e importar datos.

## Epics
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-epics"></a>

### Creación de un bucket de S3
<a name="create-an-s3-bucket"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear el bucket. | Para crear el bucket de S3, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Administrador de sistemas de AWS | 

### Crear el rol de IAM y asignar políticas
<a name="create-the-iam-role-and-assign-policies"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar los permisos de IAM. | Para configurar los permisos, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing). | Administrador de sistemas de AWS | 

### Crear la instancia de base de datos de Amazon RDS para Oracle y asociar el rol de integración de Amazon S3
<a name="create-the-target-amazon-rds-for-oracle-db-instance-and-associate-the-amazon-s3-integration-role"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear la instancia de la base de datos de destino de Amazon RDS para Oracle. | Para crear la instancia de Amazon RDS para Oracle, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html). | Administrador de sistemas de AWS | 
| Asociar el rol con la instancia de base de datos. | Para asociar el rol a la instancia, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing.instance). | Administrador de base de datos | 

### Crear el usuario de la base de datos en la base de datos de destino
<a name="create-the-database-user-on-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el usuario. | Conectarse a la base de datos de destino de Amazon RDS para Oracle desde Oracle SQL Developer o SQL\$1Plus y ejecutar el siguiente comando SQL para crear el usuario al que importar el esquema.<pre>create user SAMPLE_SCHEMA identified by <PASSWORD>;<br />grant create session, resource to <USER NAME>;<br />alter user <USER NAME> quota 100M on users;</pre> | Administrador de base de datos | 

### Crear el archivo de exportación a partir de la base de datos de Oracle de origen
<a name="create-the-export-file-from-the-source-oracle-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un archivo de volcado de datos. | Para crear un archivo de volcado con el nombre `sample.dmp` indicado en el directorio `DATA_PUMP_DIR` para exportar al usuario `SAMPLE_SCHEMA`, utilice el siguiente script.<pre>DECLARE<br />    hdnl NUMBER;<br />BEGIN<br />    hdnl := dbms_datapump.open(operation => 'EXPORT', <br />                                job_mode => 'SCHEMA', <br />                                job_name => NULL);<br /><br />    dbms_datapump.add_file( handle => hdnl, <br />                            filename => 'sample.dmp', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />    dbms_datapump.add_file(handle => hdnl, <br />                            filename => 'export.log', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_log_file);<br /><br />    dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');  <br /><br />    dbms_datapump.start_job(hdnl);<br />END;<br />/</pre>Revise los detalles de la exportación revisando el archivo `export.log` en su directorio `DATA_PUMP_DIR` local.  | Administrador de base de datos | 

### Cargue el archivo de volcado en el bucket de S3
<a name="upload-the-dump-file-to-the-s3-bucket"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cargar el archivo de volcado de datos desde el origen hasta el bucket de S3. | Ejecute el siguiente comando utilizando AWS CLI.<pre>aws s3 cp sample.dmp s3://<bucket_created_epic_1>/</pre> | Administrador de base de datos | 

### Descargar el archivo de exportación del bucket de S3 en la instancia de RDS
<a name="download-the-export-file-from-the-s3-bucket-to-the-rds-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargar el archivo de volcado de datos en Amazon RDS | Para copiar el archivo de volcado `sample.dmp` desde el bucket de S3 hasta la base de datos de Amazon RDS para Oracle, ejecute el siguiente comando SQL. En este ejemplo, el archivo `sample.dmp` se descarga del bucket de S3 `my-s3-integration1` al directorio de Oracle `DATA_PUMP_DIR`. Asegúrese de tener suficiente espacio en el disco asignado a la instancia de RDS para alojar tanto la base de datos como el archivo de exportación.<pre>-- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.<br /><br />SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(<br />      p_bucket_name    =>  'my-s3-integration',    <br />      p_s3_prefix => 'sample.dmp',<br />      p_directory_name =>  'DATA_PUMP_DIR') <br />   AS TASK_ID FROM DUAL;</pre>El comando anterior genera un ID de tarea. Para revisar el estado de la descarga mediante la revisión de los datos en el ID de tarea, ejecute el siguiente comando.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));<br /><br /></pre>Para ver los archivos en el directorio `DATA_PUMP_DIR`, ejecute el comando siguiente en el directorio.<pre>SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp<br />FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre> | Administrador de sistemas de AWS | 

### Importar el archivo de volcado a la base de datos de destino
<a name="import-the-dump-file-into-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Restaurar el esquema y los datos en Amazon RDS. | Para importar el archivo de volcado al esquema de la base de datos `sample_schema`, ejecute el siguiente comando SQL desde SQL Developer o SQL\$1Plus.<pre>DECLARE<br />hdnl NUMBER;<br />BEGIN<br /><br />hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle    => hdnl, filename  => 'import.log', directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);<br /><br />DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');<br /><br />DBMS_DATAPUMP.START_JOB(hdnl);<br /><br />END;<br />/</pre>Para ver el archivo de registro de la importación, ejecute el siguiente comando.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));</pre> | Administrador de base de datos | 

### Eliminar el archivo de volcado del directorio DATA\$1PUMP\$1DIR
<a name="remove-the-dump-file-from-the-data_pump_dir-directory"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Enumerar y limpiar los archivos de exportación. | Para enumerar y eliminar los archivos de exportación en el directorio `DATA_PUMP_DIR`, ejecute los siguientes comandos.<pre>-- List the files<br />SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre><pre>-- Remove the files<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');</pre> | Administrador de sistemas de AWS | 

## Recursos relacionados
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-resources"></a>
+ [Integración de Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing)
+ [Crear una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html)
+ [Importación de datos a Oracle en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) 
+ [Documentación de Amazon S3](https://docs.aws.amazon.com/s3/index.html)
+ [documentación de IAM](https://docs.aws.amazon.com/iam/index.html)
+ [Documentación de Amazon RDS](https://docs.aws.amazon.com/rds/index.html)
+ [Documentación de Oracle Data Pump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html)
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/)

# Migre de PostgreSQL en EC2 Amazon a Amazon RDS para PostgreSQL mediante pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

## Resumen
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-summary"></a>

**Este patrón describe los pasos para migrar una base de datos PostgreSQL (versión 9.5 y posteriores) de Amazon Elastic Compute Cloud (Amazon) a Amazon Relational Database Service ( EC2Amazon RDS) para PostgreSQL mediante la extensión pglogical de PostgreSQL.** Amazon RDS ahora admite la extensión pglogical en la extensión para PostgreSQL versión 10.

## Requisitos previos y limitaciones
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Requisitos previos**
+ Elija el tipo correcto de instancia de Amazon RDS. Para obtener más información, consulte [Tipos de instancia Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Asegúrese de que las versiones de origen y destino de PostgreSQL sean las mismas.   
+ Instale e integre la [extensión **pglogical** con PostgreSQL](https://github.com/2ndQuadrant/pglogical) en Amazon. EC2 

**Versiones de producto**
+ PostgreSQL versión 10 y posteriores en Amazon RDS, con las funciones compatibles con Amazon RDS (consulte [PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) en la documentación de AWS). Este patrón se probó migrando PostgreSQL 9.5 a la versión 10 de PostgreSQL en Amazon RDS, pero también se aplica a versiones posteriores de PostgreSQL en Amazon RDS. 

## Arquitectura
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-architecture"></a>

**Arquitectura de migración de datos**

![\[Arquitectura de migración de datos para PostgreSQL en Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Tools (Herramientas)
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ extensión [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical)
+ Utilidades nativas de PostgreSQL: [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html) y [https://www.postgresql.org/docs/9.6/app-pgrestore.html](https://www.postgresql.org/docs/9.6/app-pgrestore.html)

## Epics
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-epics"></a>

### Migración de datos mediante la extensión pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear una instancia de base de datos PostgreSQL en Amazon RDS. | Configurar una instancia de base de datos de Amazon RDS. Para obtener instrucciones, consulte la [documentación de Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html). | Administrador de base de datos | 
| Obtenga un volcado de esquema de la base de datos PostgreSQL de origen y restaúrelo en la base de datos PostgreSQL de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | Administrador de base de datos | 
| Habilita la decodificación lógica. | En el grupo de parámetros de base de datos de Amazon RDS, defina el parámetro estático `rds.logical_replication` como 1. Para obtener instrucciones, consulte la [Documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding). | Administrador de base de datos | 
| Cree la extensión pglogical en las bases de datos de origen y destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | Administrador de base de datos | 
| Cree un publicador en la base de datos PostgreSQL de origen. | Para crear un publicador, ejecute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' );<br />EOF</pre> | Administrador de base de datos | 
| Cree un conjunto de réplicas, añada tablas y secuencias. | Para crear un conjunto de réplicas en la base de datos PostgreSQL de origen y añadir tablas y secuencias al conjunto de réplicas, ejecute:<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | Administrador de base de datos | 
| Cree un suscriptor. | Para crear un suscriptor en la base de datos PostgreSQL de destino, ejecute:<pre>psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF<br />SELECT pglogical.create_node(<br />    node_name := 'subscriber1',<br />    dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser'<br />);<br />EOF</pre> | Administrador de base de datos | 
| Cree una suscripción. | Para crear una suscripción en la base de datos PostgreSQL de destino, ejecute:<pre>psql -h <rds-endpoint> -d target -U postgres  <<EOF<br />SELECT pglogical.create_subscription(<br /> subscription_name := 'subscription1',<br /> replication_sets := array['default'],<br />    provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser'<br />);</pre> | Administrador de base de datos | 

### Validación de sus datos
<a name="validate-your-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compruebe las bases de datos de origen y destino. | Compruebe las bases de datos de origen y destino para confirmar que los datos se están replicando correctamente. Puede realizar una validación básica utilizando las tablas `select count(1)` de origen y destino. | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-resources"></a>
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Replicación lógica para PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) (documentación de Amazon RDS)
+ [pglogical (repositorio)](https://github.com/2ndQuadrant/pglogical) GitHub 
+ [Limitaciones de pglogical](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) (archivo README del repositorio) GitHub 
+ [Migración de PostgreSQL de un entorno local o de Amazon EC2 a Amazon RDS mediante la replicación lógica](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/) (blog de AWS Database)

# Migración de una base de datos PostgreSQL en las instalaciones a Aurora PostgreSQL
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql"></a>

*Baji Shaik y Jitender Kumar, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-summary"></a>

La edición Amazon Aurora compatible con PostgreSQL que combina el rendimiento y la disponibilidad de las bases de datos comerciales de gama alta con la simplicidad y la rentabilidad de las bases de datos de código abierto. Aurora ofrece estos beneficios al escalar el almacenamiento en tres zonas de disponibilidad en la misma región de AWS y admite hasta 15 instancias de réplica de lectura para escalar horizontalmente las cargas de trabajo de lectura y proporcionar alta disponibilidad en una sola región. Al utilizar una base de datos global Aurora, puede replicar las bases de datos PostgreSQL en hasta cinco regiones para el acceso remoto de lectura y la recuperación de desastres en caso de que se produzca un error en una región. Este patrón describe los pasos para migrar una base de datos de origen de PostgreSQL en las instalaciones a una base de datos de Aurora compatible con PostgreSQL. El patrón incluye dos opciones de migración: usar AWS Data Migration Service (AWS DMS) o usar herramientas nativas de PostgreSQL (como [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html), [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) y [psql](https://www.postgresql.org/docs/current/app-psql.html)) o herramientas de terceros. 

Los pasos descritos en este patrón también se aplican a las bases de datos PostgreSQL de destino en instancias de Amazon Relational Database Service (Amazon RDS) y Amazon Elastic Compute Cloud (Amazon). EC2

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Base de datos de origen de PostgreSQL en un centro de datos en las instalaciones.
+ [Una instancia de base de datos Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html) o una [instancia de base de datos de Amazon RDS para PostgreSQL](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/).

**Limitaciones**
+ Los límites de tamaño de la base de datos son 64 TB para Amazon RDS para PostgreSQL y 128 TB para Aurora compatible con PostgreSQL.
+ Si utiliza la opción de migración a AWS DMS, consulte las [Limitaciones del uso de una base de datos PostgreSQL como fuente de DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations).

**Versiones de producto**
+ Para obtener información sobre el soporte de las versiones principal y secundaria de PostgreSQL en Amazon RDS, consulte [Actualizaciones de Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) en la documentación de Amazon RDS.
+ Para obtener información sobre la compatibilidad con PostgreSQL en Aurora, consulte [Amazon Aurora PostgreSQL updates](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html) en la documentación de Aurora.
+ Si utiliza la opción de migración a AWS DMS, consulte las [versiones de PostgreSQL compatibles](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) en la documentación de AWS DMS.

## Arquitectura
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos PostgreSQL en las instalaciones

**Pila de tecnología de destino**
+ Instancia de base de datos de Aurora compatible con PostgreSQL

**Arquitectura de origen**

![\[Arquitectura de origen para la base de datos PostgreSQL en las instalaciones\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/a8621ad3-781b-45a9-86a8-d0b0ec5c79ea.png)


**Arquitectura de destino**

![\[Arquitectura de destino para la base de datos PostgreSQL en Amazon Aurora\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/fc2ec0cb-7b9b-4cc0-b70c-40e47c2f4c45.png)


**Arquitectura de migración de datos**

*Uso de AWS DMS*

![\[Migración de una base de datos PostgreSQL en las instalaciones a Aurora mediante AWS DMS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/5336adb4-e9eb-47d0-a5b5-d149261b1638.png)


*Uso de herramientas nativas de PostgreSQL*

![\[Migración de una base de datos PostgreSQL en las instalaciones a Aurora mediante pg_dump y pg_restore\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/3c6fb533-45ff-443e-bfb1-97e60cbdd583.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) le ayuda a migrar los almacenes de datos a la nube de AWS o entre combinaciones de configuraciones en las instalaciones y en la nube. Este servicio admite diferentes bases de datos de origen y destino. Para obtener información sobre cómo validar las versiones y ediciones de las bases de datos de origen y destino de PostgreSQL compatibles para su uso con AWS DMS, consulte [Using a PostgreSQL database as an AWS DMS source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características.
+ Entre las herramientas nativas de PostgreSQL, se incluyen [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html), [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) y [psql](https://www.postgresql.org/docs/current/app-psql.html).

## Epics
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-epics"></a>

### Analice la migración
<a name="analyze-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide las versiones de las bases de datos de origen y de destino. | Si utiliza AWS DMS, asegúrese de que esté utilizando una [versión compatible de PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html).  | Administrador de base de datos | 
| Identifique el tipo de almacenamiento y los requisitos de capacidad. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de instancia, la capacidad, las características de almacenamiento y las características de red adecuadas. | Determine los requisitos de procesamiento de la instancia de base de datos de destino. Revise los problemas de rendimiento conocidos que puedan necesitar más atención. Tenga en cuenta los siguientes factores para determinar el tipo de instancia adecuado:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para obtener más información, consulte [Clases de instancia de base de datos de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) en la documentación de Aurora. | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. | Determine los grupos de seguridad adecuados que permitirían a la aplicación comunicarse con la base de datos. | Administrador de base de datos, administrador de sistemas | 
| Identificar la estrategia de migración de aplicaciones. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC. | Cree una nueva nube privada virtual (VPC) para la instancia de base de datos de destino. | Administrador de sistemas | 
| Cree grupos de seguridad. | Cree un grupo de seguridad dentro de la VPC (como se determinó en la epopeya anterior) para permitir las conexiones entrantes a la instancia de base de datos.  | Administrador de sistemas | 
| Configure e inicie el clúster de base de datos Aurora. | Cree la instancia de base de datos de destino con la nueva VPC y el nuevo grupo de seguridad, e inicie la instancia. | Administrador de sistemas | 

### Migración de datos: opción 1 (con AWS DMS)
<a name="migrate-data-option-1-using-aws-dms"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Complete los pasos previos a la migración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos | 
| Complete los pasos de migración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos | 
| Valide los datos. | Para asegurarse de que los datos se migraron con precisión del origen al destino, siga los [pasos de validación de datos](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) de la documentación de AWS DMS. | Administrador de base de datos | 

### Migración de datos: opción 2 (con pg\$1dump y pg\$1restore)
<a name="migrate-data-option-2-using-pg_dump-and-pg_restore"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare la base de datos de origen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para obtener más información, consulte la documentación de [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html) y el [tutorial](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Prepare la base de datos de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Para obtener más información, consulte la documentación de [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) y el [tutorial](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) en la documentación de AWS DMS. | Administrador de base de datos | 
| Valide los datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. | Implemente la estrategia de migración de aplicaciones que creó en la primera epopeya. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición a la base de datos de destino
<a name="cut-over-to-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Si necesita revertir la migración, haga lo siguiente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | Administrador de base de datos, propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos. | Cerrar los recursos temporales de AWS. | Administrador de base de datos, administrador de sistemas | 
| Valide los documentos. | Revise y valide los documentos del proyecto. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas. | Recopile métricas sobre el tiempo de migración, el porcentaje de ahorro de costos manuales en comparación con los de herramientas, etc. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cierre el proyecto. | Cierre el proyecto y envíe sus comentarios. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-resources"></a>

**Referencias**
+ [AWS Data Migration Service](https://aws.amazon.com/dms/)
+ [VPCs y Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.html)
+ [Precios de Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Using a PostgreSQL database as an AWS DMS source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)
+ [How to create an AWS DMS replication instance](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)
+ [How to create source and target endpoints using AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)

**Recursos adicionales**
+ [Introducción a AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [ step-by-stepTutoriales sobre la migración de datos](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Recursos de Amazon Aurora](https://aws.amazon.com/rds/aurora/getting-started/)

# Migre una base de datos local de Microsoft SQL Server a Microsoft SQL Server en Amazon EC2 con Linux
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux"></a>

*Tirumala Dasari, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-summary"></a>

Este patrón describe cómo migrar de una base de datos local de Microsoft SQL Server que se ejecuta en Microsoft Windows a Microsoft SQL Server en una instancia Linux de Amazon Elastic Compute Cloud (Amazon EC2) mediante utilidades de copia de seguridad y restauración.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ AMI de Amazon EC2 Linux (Amazon Machine Image) con Microsoft SQL Server
+ AWS Direct Connect entre Windows local y Microsoft SQL Server en la instancia de Linux EC2 

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología de destino**
+  EC2 Instancia de Linux con una base de datos de Microsoft SQL Server

**Arquitectura de migración de base de datos**

![\[Diagrama de arquitectura para migrar una base de datos de SQL Server local a una EC2 instancia de Linux.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f331ad15-2d41-4087-a6d1-60e3443e2acf/images/f50a779a-ce5d-44b1-8d37-dedd6400a12c.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-tools"></a>
+ **WinSCP**: esta herramienta permite a los usuarios de Windows compartir archivos fácilmente con los usuarios de Linux.
+ **Sqlcmd**: esta utilidad de línea de comandos le permite enviar expresiones o lotes de T-SQL a instancias locales y remotas de SQL Server. La utilidad es extremadamente útil para tareas repetitivas de bases de datos, como el procesamiento por lotes o las pruebas unitarias.

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-epics"></a>

### Prepare la instancia de EC2 Linux con SQL Server
<a name="prepare-the-ec2-linux-instance-with-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seleccione una AMI que proporcione el sistema operativo Linux e incluya Microsoft SQL Server. |  | Sysadmin | 
| Configure la AMI para crear una EC2 instancia. |  | Sysadmin | 
| Cree reglas de entrada y de salida para los grupos de seguridad. |  | Sysadmin | 
| Configure la EC2 instancia de Linux para una base de datos de Microsoft SQL Server. |  | Administrador de base de datos | 
| Cree usuarios y proporcione permisos como en la base de datos de origen. |  | Appowner, Administrador de base de datos | 
| Instale las herramientas de SQL Server y la utilidad sqlcmd en la instancia de Linux. EC2  |  | Administrador de base de datos | 

### Haga una copia de seguridad de la base de datos y mueva el archivo de copia de seguridad a la instancia de Linux EC2
<a name="back-up-the-database-and-move-backup-file-to-linux-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Realice una copia de seguridad de la base de datos de SQL Server en las instalaciones. |  | Administrador de base de datos | 
| Instale WinSCP en Microsoft SQL Server. |  | Administrador de base de datos | 
| Mueva el archivo de respaldo a la EC2 instancia de Linux que ejecuta Microsoft SQL Server. |  | Administrador de base de datos | 

### Restaure la base de datos en una EC2 instancia de Linux que ejecute SQL Server
<a name="restore-the-database-on-linux-ec2-instance-running-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Restaure la base de datos desde el archivo de copia de seguridad de la base de datos mediante la utilidad sqlcmd. |  | Administrador de base de datos | 
| Valide los objetos y datos de la base de datos. |  | Desarrollador, ingeniero de pruebas | 

### Cambie de una instancia de Windows SQL Server a una EC2 instancia de Windows SQL Server en Linux
<a name="cut-over-from-windows-sql-server-to-windows-sql-server-on-linux-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide los objetos y datos de la base de datos. |  | Desarrollador, ingeniero de pruebas | 
| Pase de la base de datos local de Microsoft SQL Server a la EC2 instancia de Linux que ejecuta Microsoft SQL Server. |  | Administrador de base de datos | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-resources"></a>
+ [Cómo configurar SQL Server 2017 en Amazon Linux y Ubuntu AMIs](https://aws.amazon.com/blogs/database/configuring-sql-server-2017-on-amazon-linux-2-and-ubuntu-amis/) 
+ [Instalación de herramientas SQL en una instancia de Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017#RHEL) 
+ [Backup y restauración desde una base de datos de Microsoft SQL Server local a Microsoft SQL Server en una instancia de Linux EC2 ](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017#create-a-backup-on-windows) 

# Migración de bases de datos en las instalaciones de Microsoft SQL Server a Amazon RDS para SQL Server mediante servidores vinculados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers"></a>

*Kevin Yung, Viqash Adwani y Vishal Singh, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-summary"></a>

Los servidores vinculados permiten a Microsoft SQL Server ejecutar expresiones SQL en otras instancias de servidores de bases de datos. Este patrón describe cómo puede migrar su base de datos en las instalaciones de Microsoft SQL Server a Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server a fin de reducir los costos y aumentar la disponibilidad. En la actualidad, Amazon RDS para Microsoft SQL Server no admite conexiones fuera de una red de Amazon Virtual Private Cloud (Amazon VPC). 

Puede utilizar este patrón para lograr los siguientes objetivos:
+ Migrar Microsoft SQL Server a Amazon RDS para Microsoft SQL Server sin interrumpir las capacidades del servidor vinculado.
+ Priorizar y migrar Microsoft SQL Server vinculado en diferentes oleadas.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Compruebe si [Microsoft SQL Server en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) admite las características que necesita. 
+ Asegúrese de que puede utilizar [Amazon RDS para Microsoft SQL Server con las intercalaciones predeterminadas o las intercalaciones configuradas en los niveles de la base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html). 

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos en las instalaciones (Microsoft SQL Server)

 **Pila de tecnología de destino**
+ Amazon RDS para SQL Server

**Arquitectura de estado de origen**

![\[Diagram showing data replication between two data centers with primary and secondary SQL servers.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/776b453a-7fa0-43fd-b1ca-fb9e5cc21820.png)


 

 

 

 

 

 

 

 

 

 

 

 

**Arquitectura de estado de destino**

En el estado de destino, se migra Microsoft SQL Server a Amazon RDS para Microsoft SQL Server mediante servidores vinculados. Esta arquitectura utiliza un Equilibrador de carga de red para enviar por proxy el tráfico de Amazon RDS para Microsoft SQL Server a los servidores en las instalaciones que ejecutan Microsoft SQL Server. El siguiente diagrama muestra la capacidad de proxy inverso del Equilibrador de carga de red.

![\[Nube de AWS architecture with RDS SQL Server instances in two availability zones and on-premises databases.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/6bdbdfbf-b048-4fbd-acef-0aeb826edb50.png)


 

## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-tools"></a>
+ AWS CloudFormation
+ Equilibrador de carga de red 
+ Amazon RDS for SQL Server en varias zonas de disponibilidad (múltiplesAZs)
+ AWS Database Migration Service (AWS DMS) 

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-epics"></a>

### Crear una VPC de zona de aterrizaje
<a name="create-a-landing-zone-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la asignación del CIDR. |  | AWS SysAdmin | 
| Cree una nube privada virtual (VPC). |  | AWS SysAdmin | 
| Cree las redes de la VPC. |  | AWS SysAdmin | 
| Cree las listas de control de acceso a la subred (ACLs). |  | AWS SysAdmin | 
| Cree las rutas de enrutamiento de subred. |  | AWS SysAdmin | 
| Cree una conexión con AWS Direct Connect o una red privada virtual (VPN) de AWS. |  | AWS SysAdmin | 

### Migración de una base de datos a Amazon RDS
<a name="migrate-the-database-to-amazon-rds"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de base de datos de Amazon RDS para Microsoft SQL Server. |  | AWS SysAdmin | 
| Cree una instancia de replicación de AWS DMS. |  | AWS SysAdmin | 
| Cree puntos de conexión de bases de datos de origen y de destino en AWS DMS. |  | AWS SysAdmin | 
| Cree la tarea de migración y active la replicación continua después de una carga completa. |  | AWS SysAdmin | 
| Solicite un cambio de firewall para permitir que Amazon RDS para Microsoft SQL Server acceda a las bases de datos de SQL Server en las instalaciones. |  | AWS SysAdmin | 
| Crear un equilibrador de carga de red. |  | AWS SysAdmin | 
| Cree un grupo de destino que se dirija a los servidores de bases de datos de su centro de datos | Le recomendamos que utilice nombres de host en la configuración de destino para incorporar los eventos de conmutación por error del centro de datos (DC). | AWS SysAdmin | 
| Ejecute la expresión SQL para la configuración del servidor vinculado. | Ejecute las expresiones SQL para añadir un servidor vinculado mediante la herramienta de administración de Microsoft SQL en la instancia de base de datos Amazon RDS para Microsoft SQL Server. En la expresión SQL, configure @datasrc para que utilice el nombre de host de Equilibrador de carga de red. Añada credenciales de inicio de sesión de servidor vinculado mediante la herramienta de administración de Microsoft SQL en la instancia de base de datos Amazon RDS para Microsoft SQL Server. | AWS SysAdmin | 
| Pruebe y valide las funciones de SQL Server. |  | AWS SysAdmin | 
| Cree una transición. |  | AWS SysAdmin | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-related-resources"></a>
+ [Tareas de administración frecuentes para Microsoft SQL Server en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General)
+ [Intercalaciones y conjuntos de caracteres para Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) 
+ [Documentación del Equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Implementación de servidores vinculados con Amazon RDS para Microsoft SQL Server (entrada del blog)](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/)

# Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server mediante métodos nativos de copia de seguridad y restauración
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods"></a>

*Tirumala Dasari, David Queiroz y Vishal Singh, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-summary"></a>

Este patrón describe cómo migrar una base de datos de Microsoft SQL Server en las instalaciones a una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para SQL Server (migración homogénea). El proceso de migración se basa en los métodos nativos de copia de seguridad y restauración de SQL Server. Utiliza SQL Server Management Studio (SSMS) para crear un archivo de copia de seguridad de la base de datos y un bucket de Amazon Simple Storage Service (Amazon S3) para almacenar el archivo de copia de seguridad antes de restaurarlo en Amazon RDS para SQL Server.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Políticas de rol de AWS Identity and Access Management (IAM) para el acceso al bucket de S3 y a la instancia de base de datos de Amazon RDS para SQL Server.

**Limitaciones**
+ El proceso descrito en este patrón migra solo la base de datos. Los inicios de sesión de SQL o los usuarios de bases de datos, incluidos los trabajos de SQL Server Agent, no se migran porque requieren pasos adicionales.

**Versiones de producto**
+ SQL Server 2012-2017. Para ver la lista actualizada de versiones compatibles, consulte [MySQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) en la documentación de AWS.

## Arquitectura
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos de Microsoft SQL Server en las instalaciones

**Pila de tecnología de destino**
+ Instancia de base de datos de Amazon RDS para SQL Server

**Arquitectura** **de migración de datos**

![\[Arquitectura para migrar una base de datos de SQL Server en las instalaciones a una instancia de base de datos de Amazon RDS para SQL Server.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/c2dcd6ab-deb1-4d5e-b3c5-3bf48c02ca4e/images/29f90473-6dd4-4574-bfbd-5c6a0481c40e.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-tools"></a>
+ Microsoft SQL Server Management Studio (SSMS) es un entorno integrado para administrar infraestructuras de SQL Server. Proporciona una interfaz de usuario y un grupo de herramientas con editores de scripts enriquecidos que interactúan con SQL Server.

## Epics
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-epics"></a>

### Cree una instancia de base de datos de Amazon RDS para SQL Server
<a name="create-an-amazon-rds-for-sql-server-db-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seleccione SQL Server como motor de base de datos en Amazon RDS para SQL Server. |  | Administrador de base de datos | 
| Seleccione SQL Server Express Edition. |  | Administrador de base de datos | 
| Especifique los detalles de la base de datos. | Para obtener más información acerca de cómo crear una instancia de base de datos, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). | Administrador de base de datos, propietario de la aplicación | 

### Cree un archivo de copia de seguridad a partir de la base de datos de SQL Server en las instalaciones
<a name="create-a-backup-file-from-the-on-premises-sql-server-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Conéctese a la base de datos de SQL Server en las instalaciones mediante SSMS. |  | Administrador de base de datos | 
| Cree una copia de seguridad de la base de datos. | Para obtener instrucciones, consulte la [documentación de SSMS](https://learn.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms). | Administrador de base de datos, propietario de la aplicación | 

### Cargue el archivo de copia de seguridad en Amazon S3
<a name="upload-the-backup-file-to-amazon-s3"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un bucket de Amazon S3. | Para obtener más información, consulte la [documentación de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Administrador de base de datos | 
| Cargue el archivo de copia de seguridad en el bucket de S3. | Para obtener más información, consulte la [documentación de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). | SysOps administrador | 

### Restaure la base de datos en Amazon RDS para SQL Server
<a name="restore-the-database-in-amazon-rds-for-sql-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Añada el grupo de opciones a Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html)Para obtener más información, consulte la [documentación de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html). | SysOps administrador | 
| Restaure la base de datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html) | Administrador de base de datos | 

### Valide la base de datos de destino
<a name="validate-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide los objetos y los datos. | Valide los objetos y los datos entre la base de datos de origen y Amazon RDS para SQL Server.Esta tarea solo migra la base de datos. Los inicios de sesión y los trabajos no se migrarán. | Administrador de base de datos, propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Redirija el tráfico de la aplicación. | Tras la validación, redirija el tráfico de la aplicación a la instancia de base de datos Amazon RDS para SQL Server. | Administrador de base de datos, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-resources"></a>
+ [Documentación de Amazon S3](https://docs.aws.amazon.com/s3/) 
+ [Documentación de Amazon RDS para SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) 
+ [Opciones para el motor de base de datos de Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html) 

# Migración de una base de datos de Microsoft SQL Server a Aurora MySQL mediante AWS DMS y AWS SCT
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz y Pavan Pusuluri, Amazon Web Services*

## Resumen
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

Este patrón describe cómo migrar una base de datos de Microsoft SQL Server que se encuentra en las instalaciones o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) a Amazon Aurora MySQL. Este patrón utiliza AWS Database Migration Service (AWS DMS) y Herramienta de conversión de esquemas de AWS (AWS SCT) para la migración de datos y la conversión de esquemas. 

## Requisitos previos y limitaciones
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen de Microsoft SQL Server en un centro de datos local o en una instancia EC2 
+ Controladores de conectividad de bases de datos Java (JDBC) para conectores SCT de AWS, instalados en una máquina local o en una instancia en la EC2 que esté instalado AWS SCT 

 

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ Versiones de Microsoft SQL Server 2008, 2008R2, 2012, 2014, 2016 y 2017 para las ediciones Enterprise, Standard, Workgroup y Developer. Las ediciones Web y Express no son compatibles con AWS DMS. Para ver la lista actualizada de versiones compatibles, consulte [Using a Microsoft SQL Server Database as a Source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) (Usar una base de datos de Microsoft SQL Server como fuente de AWS DMS). Le recomendamos utilizar la versión más reciente de AWS DMS para obtener el soporte más completo de versiones y características. Para obtener información sobre las versiones de Microsoft SQL Server compatibles con AWS SCT, consulte la [documentación de AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ Versiones de MySQL 5.5, 5.6 y 5.7. Para ver la lista actualizada de versiones compatibles, consulte [Using a MySQL-Compatible Database as a Target for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) (Usar una base de datos compatible con MySQL como destino para AWS DMS).

## Arquitectura
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**Pila de tecnología de origen**

Uno de los siguientes: 
+ Base de datos de Microsoft SQL Server en las instalaciones
+ Una base de datos de Microsoft SQL Server en una EC2 instancia

**Pila de tecnología de destino**
+ Aurora MySQL

**Arquitectura de migración de datos**
+ Desde una base de datos de Microsoft SQL Server que se ejecute en la nube de AWS 

![\[Nube de AWS architecture showing VPC with private subnet containing SQL Server and Aurora MySQL databases.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ Una base de datos de Microsoft SQL Server que se ejecute en un centro de datos en las instalaciones

![\[Nube de AWS architecture diagram showing on-premises to cloud migration using AWS SCT, DMS, and Aurora MySQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## Tools (Herramientas)
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS**: [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) (AWS DMS) le permite migrar datos hacia y desde bases de datos comerciales y de código abierto muy utilizadas, incluidas Oracle, SQL Server, MySQL y PostgreSQL. Puede utilizar AWS DMS para migrar datos a la nube de AWS, entre instancias en las instalaciones (a través de una configuración de nube de AWS) o entre combinaciones de configuraciones en las instalaciones y en la nube.
+ **AWS SCT**: [La Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) gestiona las migraciones de bases de datos heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino.

## Epics
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### Preparación para la migración
<a name="prepare-for-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión y el motor de la base de datos de origen y de destino. |  | Administrador de base de datos | 
| Cree un grupo de seguridad saliente para las bases de datos de origen y destino. |  | SysAdmin | 
| Cree y configure una EC2 instancia para AWS SCT, si es necesario. |  | Administrador de base de datos | 
| Descargue la versión más reciente de AWS SCT y los controladores asociados. |  | Administrador de base de datos | 
| Agregue y valide los usuarios y permisos de los requisitos previos en la base de datos de origen. |  | Administrador de base de datos | 
| Cree un proyecto de AWS SCT para la carga de trabajo y conéctese a la base de datos de origen. |  | Administrador de base de datos | 
| Genere un informe de evaluación y evalúe la viabilidad. |  | Administrador de base de datos | 

### Prepare la base de datos de destino
<a name="prepare-the-target-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una instancia de base de datos de Amazon RDS de destino con Amazon Aurora como motor de base de datos. |  | Administrador de base de datos | 
| Extraiga la lista de usuarios, roles y permisos del origen. |  | Administrador de base de datos | 
| Asigne los usuarios existentes de la base de datos a los nuevos usuarios de la base de datos. |  | Propietario de la aplicación | 
| Cree usuarios en la base de datos de destino. |  | Administrador de base de datos | 
| Aplique los roles del paso anterior a la base de datos de destino. |  | Administrador de base de datos | 
| Revise las opciones, los parámetros, los archivos de red y los enlaces de la base de datos de origen y, a continuación, evalúe su aplicabilidad a la base de datos de destino. |  | Administrador de base de datos | 
| Aplique cualquier configuración pertinente al destino. |  | Administrador de base de datos | 

### Transferir objetos
<a name="transfer-objects"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la conectividad de AWS SCT con la base de datos de destino. |  | Administrador de base de datos | 
| Convierta el esquema con AWS SCT. | AWS SCT convierte automáticamente el esquema de la base de datos de origen y la mayor parte del código personalizado a un formato compatible con la base de datos de destino. Cualquier código que la herramienta no pueda convertir automáticamente está claramente marcado para que pueda convertirlo usted mismo. | Administrador de base de datos | 
| Revise el informe SQL generado y guarde los errores y advertencias. |  | Administrador de base de datos | 
| Aplique los cambios de esquema automatizados al destino o guárdelos como un archivo .sql. |  | Administrador de base de datos | 
| Valide que AWS SCT haya creado los objetos en el destino.  |  | Administrador de base de datos | 
| Reescriba, rechace o rediseñe manualmente cualquier elemento que no se haya podido convertir automáticamente. |  | Administrador de base de datos | 
| Aplique los permisos de rol y de usuario generados y revise cualquier excepción. |  | Administrador de base de datos | 

### Migración de datos
<a name="migrate-the-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Determine el método de migración. |  | Administrador de base de datos | 
| Cree una instancia de replicación desde la consola de AWS DMS. | Para obtener más información sobre el uso de AWS DMS, consulte los enlaces de la sección “Recursos relacionados”. | Administrador de base de datos | 
| Cree los puntos de conexión de origen y de destino. |  | Administrador de base de datos | 
| Cree una tarea de replicación. |  | Administrador de base de datos | 
| Inicie la tarea de replicación y supervise los registros. |  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice AWS SCT para analizar y convertir los elementos de SQL del código de la aplicación. | Al convertir su esquema de base de datos de un motor a otro, también deberá actualizar el código SQL de las aplicaciones para interactuar con el nuevo motor de base de datos en lugar del antiguo. Puede ver, analizar, editar y guardar el código SQL convertido. Para obtener más información sobre el uso de AWS SCT, consulte los enlaces de la sección “Recursos relacionados”. | Propietario de la aplicación | 
| Cree los nuevos servidores de aplicaciones en AWS. |  | Propietario de la aplicación | 
| Migre el código de la aplicación a los nuevos servidores. |  | Propietario de la aplicación | 
| Configure el servidor de aplicaciones para los controladores y la base de datos de destino. |  | Propietario de la aplicación | 
| Corrija cualquier código específico del motor de base de datos de origen de la aplicación. |  | Propietario de la aplicación | 
| Optimice el código de la aplicación para el motor de destino. |  | Propietario de la aplicación | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Aplique al destino los nuevos usuarios, los permisos y los cambios de código. |  | Administrador de base de datos | 
| Bloquee la aplicación para cualquier cambio. |  | Propietario de la aplicación | 
| Valide que todos los cambios se hayan propagado a la base de datos de destino. |  | Administrador de base de datos | 
| Apunte el nuevo servidor de la aplicación hacia la base de datos de destino. |  | Propietario de la aplicación | 
| Vuelva a comprobar todo. |  | Propietario de la aplicación | 
| Realice la puesta en marcha. |  | Propietario de la aplicación | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos temporales de AWS (la instancia de replicación de AWS DMS y la EC2 instancia utilizada para AWS SCT). |  | Administrador de base de datos, propietario de la aplicación | 
| Actualice los comentarios sobre el proceso de AWS DMS para los equipos internos. |  | Administrador de base de datos, propietario de la aplicación | 
| Revise el proceso de AWS DMS y mejore la plantilla si es necesario. |  | Administrador de base de datos, propietario de la aplicación | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación | 
| Recopile métricas sobre el tiempo de migración, el porcentaje de ahorro de costos manuales en comparación con los de herramientas, etc. |  | Administrador de base de datos, propietario de la aplicación | 
| Cierre el proyecto y envíe sus comentarios. |  | Administrador de base de datos, propietario de la aplicación | 

## Recursos relacionados
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**Referencias**
+ [Guía del usuario de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guía del usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Precios de Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/) 

**Tutoriales y videos**
+ [Getting Started with AWS Database Migration Service (AWS DMS)](https://aws.amazon.com/dms/getting-started/) (Introducción a AWS Database Migration Service (AWS DMS))
+ [Introducción a la Herramienta de conversión de esquemas de AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Recursos de Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Tutoriales de AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 

# Migración de una base de datos de MariaDB en las instalaciones hasta Amazon RDS para MariaDB mediante herramientas nativas
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools"></a>

*Shyam Sunder Rakhecha, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-summary"></a>

Este patrón proporciona una guía para migrar una base de datos de MariaDB en las instalaciones a Amazon Relational Database Service (Amazon RDS) para MariaDB mediante herramientas nativas. Si tiene instaladas las herramientas de MySQL, puede utilizar **mysql **y **mysqldump**. Si tiene instaladas todas las herramientas de MariaDB, puede utilizar **mariadb** y **mariadb-dump**. Las herramientas MySQL y MariaDB tienen el mismo origen, pero hay pequeñas diferencias en la versión 10.6 de MariaDB y las posteriores.

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una base de datos de origen MariaDB en un centro de datos en las instalaciones

**Limitaciones**
+ Límite de tamaño de la base de datos: 64 TB

**Versiones de producto**
+ MariaDB, versiones 10.0-10.6 (para ver la lista actualizada de versiones compatibles, consulte [MariaDB en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) en la documentación de AWS)

## Arquitectura
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-architecture"></a>

**Pila de tecnología de origen**
+ Base de datos MariaDB en un centro de datos en las instalaciones

**Pila de tecnología de destino**
+ Instancia de base de datos Amazon RDS para MariaDB

**Arquitectura de destino**

![\[Diagrama de arquitectura con instancias de base de datos de RDS principales y en espera en diferentes zonas de disponibilidad.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/eca8eb55-579a-42e2-96ce-9b14b097b4c9.png)


**Arquitectura de migración de datos**

![\[Diagrama de arquitectura de migración de una base de datos de MariaDB en las instalaciones a Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/daba40e2-a2b1-44f8-8e69-31458206a823.png)


## Tools (Herramientas)
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-tools"></a>
+ Herramientas nativas de MySQL: **mysql** y **mysqldump**
+ Herramientas nativas de MariaDB: **mariadb** y **mariadb-dump**

## Epics
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Validar versiones y motores de las bases de datos de origen y destino. |  | Administrador de base de datos | 
| Identifique los requisitos de hardware de la instancia del servidor de destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). |  | Administrador de base de datos, administrador de sistemas | 
| Elija el tipo de instancia adecuado en función de la capacidad, las características de almacenamiento y las características de red. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar los requisitos de seguridad del acceso a la red para las bases de datos de origen y destino. |  | Administrador de base de datos, administrador de sistemas | 
| Identificar la estrategia de migración de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). |  | Administrador de sistemas | 
| Cree grupos de seguridad. |  | Administrador de sistemas | 
| Configurar e iniciar una instancia de base de datos de Amazon RDS que ejecute MariaDB. |  | Administrador de sistemas | 

### Migración de datos
<a name="migrate-data"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilizar herramientas nativas para migrar objetos y datos de las bases de datos. | En la base de datos de origen, utilice **mysqldump **o** mariadb-dump** para crear un archivo de salida que contenga objetos y datos de la base de datos. En la base de datos de destino, utilice **mysql **o **mariadb **para restaurar los datos. | Administrador de base de datos | 
| Valide los datos. | Compruebe las bases de datos de origen y destino para confirmar que la migración de datos se ha realizado correctamente. | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Seguir la estrategia de migración de aplicaciones. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación a la nueva infraestructura. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cerrar los recursos temporales de AWS. |  | Administrador de sistemas | 
| Revise y valide los documentos del proyecto. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopilar métricas sobre tiempo de migración, ahorros de costos conseguidos con las herramientas, etc. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Cerrar el proyecto y enviar comentarios. |  | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-resources"></a>

**Referencias de Amazon RDS**
+ [Amazon RDS para MariaDB](https://aws.amazon.com/rds/mariadb/)
+ [Amazon Virtual Private Cloud VPCs y Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Implementaciones Multi-AZ de Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Precios de Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Referencias de MySQL y MariaDB**
+ [mariadb-dump/mysqldump](https://mariadb.com/kb/en/mariadb-dumpmysqldump/) 
+ [mysql Command-line Client](https://mariadb.com/kb/en/mysql-command-line-client/) 

**Tutoriales y videos**
+ [Introducción a Amazon RDS](https://aws.amazon.com/rds/getting-started/)

# Migración de una base de datos de MySQL en las instalaciones a Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic, Amazon Web Services*

## Resumen
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

En este patrón se explica cómo migrar una base de datos MySQL de origen en las instalaciones a la edición de Amazon Aurora compatible con MySQL. **Describe dos opciones de migración: usar AWS Database Migration Service (AWS DMS) o usar herramientas nativas de MySQL, como **mysqldbcopy y mysqldump**.** 

## Requisitos previos y limitaciones
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ Base de datos de origen MySQL en un centro de datos en las instalaciones

**Limitaciones**
+ Límite de tamaño de la base de datos: 128 TB

**Versiones de producto**
+ La versión 8.0 de MySQL (Aurora MySQL, versión 3) está disponible con el soporte estándar. 
+ La versión 5.7 de MySQL (Aurora MySQL, versión 2) está disponible con soporte extendido, por un costo adicional.

Para obtener la lista más reciente de versiones compatibles, consulte [las versiones de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html) en la AWS documentación. Si está utilizando AWS DMS, consulte también Uso de [una base de datos compatible con MySQL como destino para](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) las versiones de AWS DMS MySQL compatibles con. AWS DMS

## Arquitectura
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**Pila de tecnología de origen**
+ Una base de datos MySQL en las instalaciones

**Pila de tecnología de destino**
+ Amazon Aurora MySQL-Compatible Edition 

**Arquitectura de destino**

Los datos de Aurora se almacenan en un volumen de clúster, que es un volumen virtual único que utiliza unidades de estado sólido (SSDs). Un volumen de clúster se compone de copias de los datos repartidas entre tres zonas de disponibilidad de una sola región de AWS. Como los datos se replican automáticamente entre zonas de disponibilidad, tienen una larga duración y se reduce el riesgo de pérdida de datos.

Aurora divide automáticamente el volumen de base de datos en segmentos de 10 GB repartidos en varios discos. Cada fragmento de 10 GB del volumen de base de datos se replica de seis maneras entre tres zonas de disponibilidad. En el siguiente diagrama se muestra la relación entre el volumen del clúster, la instancia de base de datos de escritor y las instancias de base de datos de lector en un clúster de bases de datos de Aurora, así como la separación del almacenamiento y la capacidad de computación. Para obtener más información sobre esta arquitectura, consulte la [documentación de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html) y [FAQ](https://aws.amazon.com/rds/aurora/faqs/#product-faqs).

![\[Instancias de base de datos Aurora MySQL y volumen de almacenamiento compartido en AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**Arquitectura de migración de datos**

*Uso de AWS DMS:*

El siguiente diagrama ilustra la migración de una base de datos MySQL local a un clúster compatible con Aurora MySQL en, mediante. Nube de AWS AWS DMS

![\[Migración de una base de datos MySQL en las instalaciones a Aurora MySQL mediante AWS DMS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*Uso de herramientas MySQL nativas:*

****El siguiente diagrama ilustra la migración de una base de datos MySQL local a un clúster compatible con Aurora MySQL en el, Nube de AWS mediante herramientas nativas de MySQL, como mysqldbcopy y mysqldump.****

![\[Migración de una base de datos MySQL en las instalaciones a Aurora MySQL mediante mysqldbcopy y mysqldump.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## Tools (Herramientas)
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration ServiceAWS DMS(](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)) admite varios motores de bases de datos de origen y destino. Para obtener información sobre las bases de datos de origen y destino de MySQL compatibles con AWS DMS, consulte [Migración de bases de datos compatibles con MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) a. AWS Le recomendamos que utilice la última versión de AWS DMS para obtener una compatibilidad más completa con las versiones y funciones.
+ [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) es una utilidad de MySQL que copia una base de datos MySQL que se encuentra en un solo servidor o en varios servidores.
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) es una utilidad de MySQL que crea un archivo de volcado desde una base de datos MySQL con fines de copia de seguridad o migración.

## Epics
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### Planificación de la migración
<a name="plan-the-migration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la versión y el motor. | Valide la versión y el motor de las bases de datos de origen y de destino. | Administrador de base de datos | 
| Identifique los requisitos de hardware. | Identifique los requisitos de hardware de la instancia del servidor de destino. | Administrador de base de datos, administrador de sistemas | 
| Identifique los requisitos de almacenamiento. | Identifique los requisitos de almacenamiento (como el tipo y la capacidad de almacenamiento). | Administrador de base de datos, administrador de sistemas | 
| Seleccione el tipo de instancia. | Elija el tipo de instancia adecuado en función de los requisitos de computación, almacenamiento y red. | Administrador de base de datos, administrador de sistemas | 
| Determine los requisitos de seguridad de acceso a la red. | Identifique los requisitos de seguridad de acceso a la red para las bases de datos de origen y destino. | Administrador de base de datos, administrador de sistemas | 
| Determine la estrategia. | Identificar la estrategia de migración de aplicaciones. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Configuración de la infraestructura
<a name="configure-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una nube privada virtual (VPC). | Para obtener instrucciones, consulte [Create a VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) en la documentación de Amazon Virtual Private Cloud (Amazon VPC). | Administrador de sistemas | 
| Cree grupos de seguridad. | Para obtener instrucciones, consulte [Create a security group for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) en la documentación de Amazon VPC. | Administrador de sistemas | 
| Configure e inicie un clúster de base de datos compatible con Aurora MySQL en su Cuenta de AWS. | Para obtener instrucciones, consulte [Creación de un clúster de base de datos de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) en la documentación de Aurora. | Administrador de sistemas | 

### Migración de datos: opción 1
<a name="migrate-data---option-1"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Utilice las herramientas nativas de MySQL o herramientas de terceros para migrar los objetos y datos de la base de datos. | Para obtener instrucciones, consulte la documentación de herramientas de MySQL como [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) y [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html). | Administrador de base de datos | 

### Migración de datos: opción 2
<a name="migrate-data---option-2"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Migre datos con AWS DMS. | Para obtener instrucciones, consulte [Uso de una base de datos compatible con MySQL como fuente y Uso de una base](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html) [de datos compatible con MySQL como](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) destino en la documentación. AWS DMS  | Administrador de base de datos | 

### Migración de la aplicación
<a name="migrate-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga la estrategia. | Seguir la estrategia de migración de aplicaciones. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cambie los clientes de la aplicación. | Cambie los clientes de la aplicación para que se conecten al nuevo punto de conexión del clúster de Aurora. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

### Cerrar el proyecto
<a name="close-the-project"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cierre los recursos. | Cierre los recursos temporales. AWS  | Administrador de base de datos, administrador de sistemas | 
| Revise la documentación. | Revise y valide los documentos del proyecto. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Recopile métricas. | Reúna métricas sobre el tiempo de migración, el porcentaje de pasos manuales frente al uso de la herramienta, el ahorro de costos, etc. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 
| Complete el proyecto de migración. | Cerrar el proyecto y enviar comentarios. | Administrador de base de datos, propietario de la aplicación, administrador de sistemas | 

## Recursos relacionados
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**Referencias**
+ [Migrating data to Amazon Aurora MySQL DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS sitio web](https://aws.amazon.com/dms/)
+ [AWS DMS documentación](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Precios de Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Creación de un clúster de base de datos Aurora MySQL y conexión a él](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC y Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Documentación de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**Tutoriales y videos**
+ [Cómo empezar con AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Introducción a Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)

# Migre bases de datos MySQL locales a Aurora MySQL mediante Percona, XtraBackup Amazon EFS y Amazon S3
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3"></a>

*Rohan Jamadagni, Udayasimha Theepireddy y Sajith Menon, Amazon Web Services*

## Resumen
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-summary"></a>

Este patrón describe cómo migrar bases de datos MySQL locales de gran tamaño de manera eficiente a Amazon Aurora MySQL mediante XtraBackup Percona. Percona XtraBackup es una utilidad de copia de seguridad de código abierto y sin bloqueo para servidores basados en MySQL. El patrón muestra cómo utilizar Amazon Elastic File System (Amazon EFS) para reducir el tiempo de carga de la copia de seguridad en Amazon Simple Storage Service (Amazon S3) y restaurar la copia de seguridad en Amazon Aurora MySQL. El patrón también proporciona detalles sobre cómo realizar copias de seguridad incrementales de Percona para minimizar la cantidad de registros binarios que se aplicarán a la base de datos Aurora MySQL de destino.  

## Requisitos previos y limitaciones
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Permisos para crear roles y políticas de AWS Identity and Access Management (IAM).
+ Conectividad de red entre la base de datos MySQL en las instalaciones y la nube privada virtual (VPC) en AWS

**Limitaciones**
+ Los servidores de origen deben ser sistemas basados en Linux que puedan instalar un cliente de Network File System (NFS) (nfs-utils/nfs-common).
+ El bucket de S3 utilizado para cargar los archivos de copia de seguridad solo admite el cifrado del servidor (SSE-S3/SSE-KMS).
+ Amazon S3 limita el tamaño de los archivos de copia de seguridad a 5 TB. Si el archivo de copia de seguridad supera los 5 TB, puede dividirlo en varios archivos más pequeños.
+ El número de archivos de origen cargados en un bucket de S3 se limita a un millón de archivos.
+ El patrón solo admite la copia de seguridad completa y la copia de seguridad incremental de Percona XtraBackup . No admite copias de seguridad parciales que utilicen `--tables`, `--tables-exclude`, `--tables-file`, `--databases`, `--databases-exclude` o `--databases-file`.
+ Aurora no restaura los usuarios, las funciones, los procedimientos almacenados ni la información de zona horaria de la base de datos MySQL de origen.

**Versiones de producto**
+ La base de datos de origen debe ser MySQL versión 5.5, 5.6 o 5.7.
+ Para MySQL 5.7, debe usar Percona XtraBackup 2.4.
+ Para MySQL 5.6 y 5.6, debe usar Percona XtraBackup 2.3 o 2.4.

## Arquitectura
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-architecture"></a>

**Pila de tecnología de origen**
+ Sistema operativo basado en Linux
+ Servidor de MySQL
+ Percona XtraBackup

**Pila de tecnología de destino**
+ Amazon Aurora
+ Amazon S3
+ Amazon EFS

**Arquitectura de destino**

![\[Arquitectura para migrar bases de datos MySQL de gran tamaño a Amazon Aurora MySQL mediante Percona XtraBackup.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/bf327776-bafd-484d-9ae2-a6f5c8af6edd/images/7a410539-1511-4106-90e2-8c0c8e95f92b.png)


## Tools (Herramientas)
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-tools"></a>

*Servicios de AWS*
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html) es un motor de base de datos relacional completamente administrado que simplifica y hace rentable configurar, usar y escalar las implementaciones de MySQL. Aurora MySQL es un sustituto directo de MySQL.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) le ayuda a crear y configurar sistemas de archivos compartidos en la nube de AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Otras herramientas**
+ [Percona XtraBackup](https://www.percona.com/doc/percona-xtrabackup/2.4/index.html) es una utilidad de código abierto que realiza copias de seguridad en streaming, comprimidas e incrementales de bases de datos MySQL sin interrumpir ni bloquear sus bases de datos.

## Epics
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-epics"></a>

### Crear un sistema de archivos de Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un grupo de seguridad para asociarlo a los objetivos de montaje de Amazon EFS. | Cree un grupo de seguridad en la VPC que esté configurado con un adjunto de VPN a la base de datos en las instalaciones a través de AWS Transit Gateway. Para obtener más información sobre los comandos y los pasos descritos en este y otros artículos, consulte la sección «Recursos relacionados» al final de este patrón. |  DevOps/database Administrador de AWS | 
| Edite las reglas del grupo de seguridad. | Agregue una regla de entrada utilizando el tipo NFS, el puerto 2049 y el rango de IP del servidor de base de datos en las instalaciones como fuente. De forma predeterminada, la regla de salida permite salir a todo el tráfico. Si no es así, añada una regla de salida para abrir una conexión para el puerto NFS. Añada dos reglas de entrada más: el puerto 2049 (fuente: ID de grupo de seguridad del mismo grupo de seguridad) y el puerto 22 (fuente: rango de IP desde el que se conectará a una EC2 instancia). |  DevOps/database Administrador de AWS | 
| Cree un sistema de archivos. | En los objetivos de montaje, use la VPC y el grupo de seguridad que creó en la historia anterior. Elija el modo de procesamiento y el rendimiento en función de I/O los requisitos de la base de datos local. De manera opcional, habilite el cifrado en reposo. |  DevOps/database Administrador de AWS | 

### Monte el sistema de archivos.
<a name="mount-the-file-system"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un rol de perfil de instancia de IAM para asociarlo a una EC2 instancia. | Cree un rol de IAM que tenga permisos para cargar y acceder a objetos en Amazon S3. Elija el bucket de S3 donde se almacenará la copia de seguridad como recurso de políticas. | AWS DevOps | 
| Crea una EC2 instancia. | Lance una EC2 instancia basada en Linux y asocie el rol de perfil de instancia de IAM que creó en el paso anterior y el grupo de seguridad que creó anteriormente. | AWS DevOps | 
| Instale el cliente NFS. | Instale el cliente NFS en el servidor de base de datos local y en la EC2 instancia. Para obtener instrucciones, consulte la sección «Información adicional». | DevOps | 
| Monte el sistema de archivos de Amazon EFS. | Monte el sistema de archivos Amazon EFS en las instalaciones y en la EC2 instancia. En cada servidor, cree un directorio para almacenar la copia de seguridad y monte el sistema de archivos mediante el punto de conexión de destino de montaje. Para obtener ejemplos, consulte la sección «Información adicional». | DevOps | 

### Crear una copia de seguridad de la base de datos de origen MySQL
<a name="make-a-backup-of-the-mysql-source-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Percona XtraBackup. | Instale Percona XtraBackup 2.3 o 2.4 (según la versión de la base de datos MySQL) en el servidor de bases de datos local. Para obtener los enlaces de instalación, consulte la sección «Recursos relacionados». | Administrador de base de datos | 
| Cuente los esquemas y las tablas de la base de datos de origen. | Recopile y anote el número de esquemas y objetos de la base de datos MySQL de origen. Utilizará estos recuentos para validar la base de datos Aurora MySQL después de la migración. | Administrador de base de datos | 
| (Opcional) Anote la secuencia de registro binario más reciente de la base de datos de origen. | Realice este paso si desea establecer la replicación de registros binarios entre la base de datos de origen y Aurora MySQL para minimizar el tiempo de inactividad. log-bin debe estar habilitado y server\$1id debe ser único. Anote la secuencia de registros binarios actual de la base de datos de origen, justo antes de iniciar una copia de seguridad. Realice este paso justo antes de la copia de seguridad completa si planea usar solo una copia de seguridad completa. Si planea realizar copias de seguridad incrementales después de una copia de seguridad completa, lleve a cabo este paso justo antes de la última copia de seguridad incremental que restaurará en la instancia de base de datos Aurora MySQL. | Administrador de base de datos | 
| Inicie una copia de seguridad completa de la base de datos MySQL de origen. | Realice una copia de seguridad completa de la base de datos fuente de MySQL con Percona XtraBackup. Para ver ejemplos de comandos para copias de seguridad completas e incrementales, consulte la sección «Información adicional». | Administrador de base de datos | 
| (Opcional) Realice copias de seguridad incrementales con XtraBackup Percona. | Las copias de seguridad incrementales se pueden utilizar para reducir la cantidad de registros binarios que debe aplicar para sincronizar la base de datos de origen con Aurora MySQL. Las bases de datos de gran tamaño y con muchas transacciones pueden generar una gran cantidad de registros binarios durante las copias de seguridad. Al realizar copias de seguridad incrementales y almacenarlas en un sistema de archivos Amazon EFS compartido, puede reducir considerablemente el tiempo de copia de seguridad y carga de la base de datos. Para obtener más información, consulte la sección «Información adicional». Siga realizando copias de seguridad incrementales hasta que esté listo para iniciar el proceso de migración a Aurora. | Administrador de base de datos | 
| Prepare copias de seguridad. | En este paso, los registros transaccionales se aplican a la copia de seguridad para las transacciones que estaban en curso durante la copia de seguridad. Siga aplicando registros transaccionales (--apply-log-only) a cada copia de seguridad incremental para fusionar las copias de seguridad, excepto la última copia de seguridad. Para obtener más ejemplos, consulte la sección «Información adicional». Tras este paso, la copia de seguridad completa y combinada estará en \$1/<efs\$1mount\$1name>/fullbackup. | Administrador de base de datos | 
| Comprima y divida la copia de seguridad final combinada. | Después de preparar la copia de seguridad final combinada, utilice los comandos tar, zip y split para crear archivos comprimidos más pequeños de la copia de seguridad. Para obtener más ejemplos, consulte la sección «Información adicional». | Administrador de base de datos | 

### Restauración de la copia de seguridad en un clúster de base de datos de Aurora MySQL
<a name="restore-the-backup-to-an-aurora-mysql-db-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cargue la copia de seguridad en Amazon S3. | El sistema de archivos Amazon EFS en el que se almacenan los archivos de copia de seguridad está montado tanto en la base de datos local como en una EC2 instancia, de modo que los archivos de copia de seguridad estén fácilmente disponibles para la EC2 instancia. <bucket\$1name>Conéctese a la EC2 instancia mediante Secure Shell (SSH) y cargue los archivos de respaldo comprimidos en un bucket de S3 nuevo o existente; por ejemplo: aws s3 sync \$1/ <efs\$1mount\$1name>/fullbackup s3:///fullbackup. Para obtener más información, consulte los enlaces de la sección «Recursos relacionados». | AWS DevOps | 
| Crear un rol de servicio para que Aurora pueda acceder a Amazon S3 | Cree un rol de IAM con la confianza «rds.amazonaws.com» y una política que permita a Aurora acceder al bucket de S3 donde se almacenan los archivos de copia de seguridad. Los permisos necesarios son ListBucket GetObject, y GetObjectVersion. | AWS DevOps | 
| Cree la configuración de red para Aurora. | Cree un grupo de subredes de base de datos de clúster con al menos dos zonas de disponibilidad y una configuración de tabla de enrutamiento de subred que permita la conectividad saliente a la base de datos de origen. Cree un grupo de seguridad que permita las conexiones salientes a la base de datos en las instalaciones y permita a los administradores conectarse al clúster de base de datos Aurora. Para obtener más información, consulte los enlaces de la sección «Recursos relacionados». |  DevOps/database Administrador de AWS | 
| Restauración de la copia de seguridad en un clúster de base de datos de Aurora MySQL. | Restaure sus datos desde la copia de seguridad que cargó en Amazon S3. Especifique la versión MySQL de la base de datos de origen, proporcione el nombre del bucket de S3 y el prefijo de la ruta de la carpeta donde cargó el archivo de copia de seguridad (por ejemplo, «fullbackup» para los ejemplos de la sección «Información adicional») y proporcione el rol de IAM que creó para autorizar a Aurora a acceder a Amazon S3. |  DevOps/database Administrador de AWS | 
| Valide la base de datos de Aurora MySQL. | Valide el recuento de esquemas y objetos del clúster de base de datos Aurora restaurado con respecto al recuento obtenido de la base de datos de origen. | Administrador de base de datos | 
| Configure la replicación de binlog.  | Utilice la secuencia de registro binario que indicó anteriormente antes de realizar la última copia de seguridad que se restauró en el clúster de base de datos Aurora. Cree un usuario de replicación en la base de datos de origen y siga las instrucciones de la sección «Información adicional» para proporcionar los privilegios adecuados, habilitar la replicación en Aurora y confirmar que la replicación está sincronizada. |  DevOps/database Administrador de AWS | 

## Recursos relacionados
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-resources"></a>

**Creación de un sistema de archivos de Amazon EFS**
+ [Creación de un grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) (documentación de Amazon VPC)
+ [Adjuntos de VPN de puerta de enlace de tránsito](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html) (documentación de Amazon VPC)
+ [Escalar el rendimiento de la VPN con AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) (blog sobre redes y entrega de contenido)
+ [Creación de un sistema de archivos de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step1-efs) (documentación de Amazon EFS)
+ [Creación de objetivos de montaje](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (documentación de Amazon EFS)
+ [Cifrado de datos en reposo](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (documentación de Amazon EFS)

**Montaje de sistemas de archivos**
+ [Funciones de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) ( EC2 documentación de Amazon)
+ [Lanzamiento de una instancia de Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) ( EC2 documentación de Amazon)
+ [Instalación del cliente NFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) (documentación de Amazon EFS)
+ [Montaje del sistema de archivos Amazon EFS en el cliente en las instalaciones](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) (documentación de Amazon EFS)
+ [Montaje de sistemas de archivos EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) (documentación de Amazon EFS)

**Creación de un copia de seguridad completa de la base de datos MySQL de origen**
+ [Instalación de Percona XtraBackup 2.3 (documentación](https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html) de Percona XtraBackup )
+ [Instalación de Percona XtraBackup 2.4](https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html) (documentación de Percona) XtraBackup  
+ [Cómo establecer la configuración maestra de replicación](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) (documentación de MySQL)
+ [Migración de datos desde una base de datos MySQL externa a un clúster de base de datos de Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (documentación de Aurora)
+ [Respaldo incremental (documentación de](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) Percona XtraBackup )

**Restauración de la copia de seguridad en Amazon Aurora MySQL**
+ [Creación de un bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#create-bucket-intro) (documentación de Amazon S3)
+ [Conexión a la instancia de Linux mediante SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) (documentación de Amazon EC2)
+ [Configuración de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) (documentación de la CLI de AWS)
+ [comando sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) (referencia de comandos de la CLI de AWS)
+ [Creación de una política de IAM para acceder a los recursos de Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.html) (documentación de Aurora
+ [Requisitos previos del clúster de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html#Aurora.CreateInstance.Prerequisites) (documentación de Aurora)
+ [Uso de los grupos de subredes de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) (documentación de Aurora)
+ [Creación de un grupo de seguridad de VPC para una instancia de base de datos privada](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB) (documentación de Aurora)
+ [Restauración de un clúster de base de datos de Aurora MySQL desde un bucket de S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore) (documentación de Aurora)
+ [Configuración de la replicación con MySQL o con otro clúster de base de datos de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.SettingUp) (documentación de Aurora)
+ [Procedimiento mysql.rds\$1set\$1external\$1master](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html) (referencia de SQL para MySQL en Amazon RDS)
+ [Procedimiento mysql.rds\$1start\$1replication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_start_replication.html) (referencia de SQL sobre MySQL en Amazon RDS)

**Referencias adicionales**
+ [Migración de datos desde una base de datos MySQL externa a un clúster de base de datos de Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (documentación de Aurora)
+ [Descargas del servidor MySQL](https://downloads.mysql.com/archives/community/) (sitio web de Oracle)

**Tutoriales y videos**
+  [Migración de datos de MySQL a un clúster de base de datos Aurora MySQL mediante Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/migrate-mysql-aurora-innobackup/) (Centro de conocimientos de AWS)
+  [Configuración y montaje de Amazon EFS](https://www.youtube.com/watch?v=NR8rVsSn_dY) (video)

## Información adicional
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-additional"></a>

**Instalación de un cliente NFS**
+ Si utiliza Red Hat o un sistema operativo Linux similar, utilice el comando:  

```
$ sudo yum -y install nfs-utils
```
+ Si utiliza Ubuntu o un sistema operativo Linux similar, utilice el comando: 

```
$ sudo apt-get -y install nfs-common
```

Para obtener más información, consulte el [tutorial](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) en la documentación de Amazon EFS.

**Montaje de un sistema de archivos de Amazon EFS**

Utilice el comando:

```
mkdir ~/<efs_mount_name>
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/<efs_mount_name>
```

Para obtener más información, consulte el [tutorial](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) y [Montaje de un sistema de archivos](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) en la documentación de Amazon EFS.

**Hacer copias de seguridad de la base de datos fuente MySQL**

*Copias de seguridad completas*

Use un comando como el siguiente, que toma la copia de seguridad, la comprime y la divide en fragmentos más pequeños de 1 GB cada uno:

```
xtrabackup --backup --user=dbuser --password=<password> --binlog-info=AUTO --stream=tar --target-dir=~/<efs_mount_name>/fullbackup | gzip - | split -d --bytes=1024MB - ~/<efs_mount_name>/fullbackup/backup.tar.gz &
```

Si planea realizar copias de seguridad incrementales posteriores después de la copia de seguridad completa, no comprima ni divida la copia de seguridad. En su lugar, use un comando similar al siguiente:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/fullbackup/
```

*Copias de seguridad incrementales*

Utilice la ruta de copia de seguridad completa para el parámetro `--incremental-basedir`; por ejemplo:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/incremental/backupdate --incremental-basedir=~/<efs_mount_name>/fullbackup
```

donde *basedir* es la ruta a la copia de seguridad completa y al archivo xtrabackup\$1checkpoints.

Para obtener más información sobre la creación de copias de seguridad, consulte [Migración de datos desde una base de datos MySQL externa a un clúster de base de datos de MySQL de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) en la documentación de Aurora.

**Preparación de copias de seguridad**

Para preparar una copia de seguridad completa:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup
```

Para preparar una copia de seguridad incremental:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06062020
```

Para preparar la copia de seguridad final:

```
xtrabackup --prepare --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06072020
```

Para obtener más información, consulte las [copias de seguridad incrementales](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) en la documentación de Percona XtraBackup .

**Comprimir y dividir la copia de seguridad combinada**

Para comprimir la copia de seguridad combinada en \$1/<efs\$1mount\$1name>/fullbackup:

```
tar -zcvf <backupfilename.tar.gz> ~/<efs_mount_name>/fullbackup
```

Para dividir la copia de seguridad:

```
split -d -b1024M --verbose  <backupfilename.tar.gz> <backupfilename.tar.gz>
```

**Configure la replicación de binlog**

Para crear un usuario de replicación en la base de datos de origen y proporcionar los privilegios adecuados:

```
CREATE USER 'repl_user'@'' IDENTIFIED BY ''; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'';
```

Para habilitar la replicación en Aurora mediante la conexión al clúster de base de datos Aurora, habilite los registros binarios en el grupo de parámetros del clúster de base de datos. Configure `binlog_format = mixed` (se prefiere el modo mixto). Este cambio requiere que reinicies la instancia para aplicar la actualización.

```
CALL mysql.rds_set_external_master ('sourcedbinstanceIP', sourcedbport, 'repl_user', '', 'binlog_file_name', binlog_file_position, 0); CALL mysql.rds_start_replication;
```

Para confirmar que la replicación está sincronizada:

```
SHOW Slave Status \G;
```

El campo **Segundos detrás del maestro** muestra qué tan lejos está Aurora de la base de datos en las instalaciones.

# Migración de aplicaciones Java locales en las instalaciones a AWS mediante AWS App2Container
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container"></a>

*Dhananjay Karanjkar, Amazon Web Services*

## Resumen
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-summary"></a>

AWS App2Container (A2C) es una herramienta de línea de comandos que le ayuda a transformar en contenedores las aplicaciones existentes que se ejecutan en máquinas virtuales sin necesidad de cambiar el código. A2C descubre aplicaciones en ejecución en un servidor, identifica las dependencias y genera artefactos relevantes para una implementación sin interrupciones en Amazon Elastic Container Service (Amazon ECS) y Amazon Elastic Kubernetes Service (Amazon EKS).

Este patrón proporciona los pasos para migrar de forma remota las aplicaciones Java en las instalaciones implementadas en un servidor de aplicaciones a AWS Fargate o Amazon EKS mediante App2Container a través de la máquina de trabajo. 

La máquina de trabajo se puede utilizar en los siguientes casos de uso:
+ La instalación de Docker no está permitida o no está disponible en los servidores de aplicaciones donde se ejecutan las aplicaciones Java.
+ Debe gestionar la migración de varias aplicaciones implementadas en distintos servidores físicos o virtuales.

Este patrón usa AWS CodeCommit AWS CodePipeline, y AWS CodeBuild.

## Requisitos previos y limitaciones
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-prereqs"></a>

**Requisitos previos **
+ Un servidor de aplicaciones con una aplicación Java que se ejecuta en un servidor Linux
+ Una máquina de trabajo con un sistema operativo Linux
+ Una máquina de trabajo con al menos 20 GB de espacio disponible en disco

**Limitaciones**
+ No todas las aplicaciones son compatibles. Para más información, consulte [Aplicaciones compatibles para Linux](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html).

## Arquitectura
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-architecture"></a>

**Pila de tecnología de origen**
+ Aplicaciones Java que se ejecutan en un servidor Linux

**Pila de tecnología de destino**
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodeDeploy
+ AWS CodePipeline
+ Amazon Elastic Container Registry
+ AWS Fargate

**Arquitectura de destino**

![\[Arquitectura para aplicaciones Java en las instalaciones en AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/61ed65a0-fab2-4fc8-8531-18bfd56a25b3/images/602cde7b-ab0c-46a5-8c37-afe304adf061.png)


 

## Tools (Herramientas)
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-tools"></a>

**Herramientas**
+ [AWS App2Container (A2C)](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html) es una herramienta de la línea de comandos que le ayuda a migrar mediante lift-and-shift las aplicaciones que se ejecutan en centros de datos en las instalaciones o en máquinas virtuales, de modo que se ejecuten en contenedores administrados por Amazon ECS o Amazon EKS.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html): AWS CodeBuild es un servicio de compilación en la nube totalmente gestionado. CodeBuild compila su código fuente, ejecuta pruebas unitarias y produce artefactos que están listos para su implementación.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html): AWS CodeCommit es un servicio de control de versiones alojado por Amazon Web Services que puede utilizar para almacenar y gestionar activos (como documentos, código fuente y archivos binarios) en la nube de forma privada.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html): AWS CodePipeline es un servicio de entrega continua que puede utilizar para modelar, visualizar y automatizar los pasos necesarios para lanzar su software.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html): Amazon Elastic Container Service (Amazon ECS) es un servicio de administración de contenedores altamente escalable y rápido que facilita la tarea de ejecutar, detener y administrar contenedores en un clúster.
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html): Amazon Elastic Container Registry (Amazon ECR) es un servicio de registro de imágenes de contenedor administrado por AWS que es seguro, escalable y fiable.
+ [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html): Amazon Elastic Kubernetes Service (Amazon EKS) es un servicio administrado que puede utilizar para ejecutar Kubernetes en AWS sin necesidad de instalar, operar ni mantener su propio plano de control o nodos de Kubernetes.
+ [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html): AWS Fargate es una tecnología que puede usar con Amazon ECS para ejecutar contenedores sin tener que administrar servidores o clústeres de instancias de Amazon Elastic Compute Cloud (Amazon). EC2 Con Fargate, ya no tendrá que aprovisionar, configurar ni escalar clústeres de máquinas virtuales para ejecutar los contenedores.

## Epics
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-epics"></a>

### Configuración de credenciales
<a name="set-up-credentials"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un secreto para acceder al servidor de aplicaciones. | Para acceder al servidor de aplicaciones de forma remota desde la máquina de trabajo, cree un secreto en AWS Secrets Manager. Como secreto, puede utilizar la clave privada de SSH o el certificado y la clave privada de SSH. Para obtener más información, consulte [Administrar secretos para AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/manage-secrets.html). | DevOps, desarrollador | 

### Configure la máquina de trabajo
<a name="set-up-the-worker-machine"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instalar el archivo tar. | Ejecute `sudo yum install -y tar`. | DevOps, Desarrollador | 
| Instale la AWS CLI. | Para instalar la interfaz de la línea de comandos de AWS (AWS CLI), ejecute `curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"`. Descomprima `awscliv2.zip`.Ejecute `sudo ./aws/install`. | DevOps, Desarrollador | 
| Instale App2Container. | Ejecute los siguientes comandos :`curl -o AWSApp2Container-installer-linux.tar.gz https://app2container-release-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/AWSApp2Container-installer-linux.tar.gz``sudo tar xvf AWSApp2Container-installer-linux.tar.gz``sudo ./install.sh` | DevOps, Desarrollador | 
| Configure los perfiles. | Para configurar el perfil predeterminado de AWS, ejecute `sudo aws configure`.Para configurar el perfil predeterminado de AWS con nombre, ejecute `sudo aws configure --profile <profile name>`. | DevOps, Desarrollador | 
| Instale Docker. | Use los siguientes comandos.`sudo yum install -y docker``sudo systemctl enable docker & sudo systemctl restart docker` |  | 
| Inicie App2Container. | Para inicializar App2Container, necesita la siguiente información:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Ejecute `sudo app2container init`. | DevOps, Desarrollador | 

### Configure la máquina de trabajo
<a name="configure-the-worker-machine"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure la máquina de trabajo para conectarse remotamente y ejecutar los comandos de App2Container en el servidor de aplicaciones. | Para configurar la máquina de trabajo, se requiere la siguiente información:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Ejecute `sudo app2container remote configure`. | DevOps, Desarrollador | 

### Descubra, analice y extraiga aplicaciones en la máquina de trabajo
<a name="discover-analyze-and-extract-applications-on-the-worker-machine"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descubra las aplicaciones Java en las instalaciones. | Para descubrir de forma remota todas las aplicaciones en ejecución en el servidor de aplicaciones, ejecute el siguiente comando.`sudo app2container remote inventory --target <FQDN/IP of App server>`Este comando genera una lista de las aplicaciones implementadas en `inventory.json`. | Desarrollador, DevOps | 
| Analice las aplicaciones descubiertas. | Para analizar de forma remota cada aplicación mediante el identificador de aplicación obtenido en la fase de inventario, ejecute el siguiente comando.`sudo app2container remote analyze --application-id <java-app-id> --target <FQDN/IP of App Server>`Esto genera un archivo `analysis.json` en la ubicación del espacio de trabajo. Una vez generado este archivo, puede modificar los parámetros de contenerización en función de sus necesidades. | Desarrollador, DevOps | 
| Extraiga las aplicaciones analizadas. | Para generar un archivo de aplicaciones para la aplicación analizada, ejecute de forma remota el siguiente comando, que generará el paquete tar en la ubicación del espacio de trabajo.`sudo app2container remote extract --application-id <application id> --target <FQDN/IP of App Server>`Los artefactos extraídos se pueden generar en la máquina de trabajo local. | Desarrollador, DevOps | 

### Guarde en contenedores los artefactos extraídos en la máquina de trabajo
<a name="containerize-the-extracted-artifacts-on-the-worker-machine"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Coloque en contenedores los artefactos extraídos. | Guarde en contenedores los artefactos extraídos en el paso anterior ejecutando el siguiente comando.`sudo app2container containerize --input-archive <tar bundle location on worker machine>` | Desarrollador, DevOps | 
| Finalice el objetivo. | Para finalizar el objetivo, abra `deployment.json`, que se crea cuando se ejecuta el comando `containerize`. Para especificar AWS Fargate como objetivo, establezca `createEcsArtifacts` en `true`. Para establecer Amazon EKS como objetivo, establezca `createEksArtifacts` en true. | Desarrollador, DevOps | 

### Genere y aprovisione artefactos de AWS
<a name="generate-and-provision-aws-artifacts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere artefactos de implementación de AWS en la máquina de trabajo. | Para generar artefactos de implementación, ejecute el siguiente comando.`sudo app2container generate app-deployment --application-id <application id>`Esto genera la CloudFormation plantilla de `ecs-master.yml` AWS en el espacio de trabajo. | DevOps | 
| Aprovisione los artefactos. | Para aprovisionar aún más los artefactos generados, implemente la CloudFormation plantilla de AWS ejecutando el siguiente comando.`aws cloudformation deploy --template-file <path to ecs-master.yml> --capabilities CAPABILITY_NAMED_IAM --stack-name <application id>–ECS` | DevOps | 
| Genere la canalización. | Modifique `pipeline.json`, que se creó en la historia anterior, en función de sus necesidades. A continuación, ejecute el comando `generate pipeline` para generar los artefactos de implementación de la canalización. | DevOps | 

## Recursos relacionados
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-resources"></a>
+ [¿Qué es App2Container?](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html)
+ [Entrada de blog sobre AWS App2Container](https://aws.amazon.com/blogs/aws/aws-app2container-a-new-containerizing-tool-for-java-and-asp-net-applications/)
+ [Conceptos básicos de configuración de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Conceptos básicos de Docker para Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html)
+ [Comandos de Docker](https://docs.docker.com/engine/reference/commandline/cli/)

# Migre sistemas de archivos compartidos en una migración AWS grande
<a name="migrate-shared-file-systems-in-an-aws-large-migration"></a>

*Amit Rudraraju, Sam Apa, Bheemeswararao Balla, Wally Lu y Sanjeev Prakasam, Amazon Web Services*

## Resumen
<a name="migrate-shared-file-systems-in-an-aws-large-migration-summary"></a>

La migración de 300 o más servidores se considera una *migración grande*. El objetivo de una gran migración es migrar las cargas de trabajo de sus centros de datos locales existentes a los centros de datos locales existentes Nube de AWS, y estos proyectos suelen centrarse en las cargas de trabajo de aplicaciones y bases de datos. Sin embargo, los sistemas de archivos compartidos requieren una atención específica y un plan de migración independiente. Este patrón describe el proceso de migración de los sistemas de archivos compartidos y proporciona las prácticas recomendadas para migrarlos correctamente como parte de un gran proyecto de migración.

Un *sistema de archivos compartidos* (SFS), también conocido como sistema de archivos de *red *o *agrupado*, es un recurso compartido de archivos que se monta en varios servidores. Se accede a los sistemas de archivos compartidos mediante protocolos como el Sistema de archivos de red (NFS), el Sistema de archivos común de Internet (CIFS) o el Bloque de mensajes del servidor (SMB).

Estos sistemas no se migran con herramientas de migración estándar, por ejemplo, AWS Application Migration Service porque no están dedicados al host que se va a migrar ni se representan como un dispositivo de bloques. Si bien la mayoría de las dependencias del host se migran de forma transparente, la coordinación y la administración de los sistemas de archivos dependientes deben gestionarse por separado.

Los sistemas de archivos compartidos se migran en las siguientes fases: descubrir, planificar, preparar, recortar y validar. Con este patrón y los libros de trabajo adjuntos, se migra el sistema de archivos compartidos a un servicio de AWS almacenamiento, como Amazon Elastic File System (Amazon EFS), Amazon FSx for NetApp ONTAP o Amazon FSx for Windows File Server. Para transferir el sistema de archivos, puede utilizar AWS DataSync una herramienta de terceros, como. NetApp SnapMirror

**nota**  
Este patrón forma parte de una serie de guías AWS prescriptivas sobre las [grandes migraciones al](https://aws.amazon.com/prescriptive-guidance/large-migrations/). Nube de AWS Este patrón incluye las mejores prácticas e instrucciones para SFSs incorporarlas a sus planes de oleaje para servidores. Si va a migrar uno o más sistemas de archivos compartidos fuera de un proyecto de migración de gran tamaño, consulte las instrucciones de transferencia de datos en la AWS documentación de [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) y [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).

## Requisitos previos y limitaciones
<a name="migrate-shared-file-systems-in-an-aws-large-migration-prereqs"></a>

**Requisitos previos **

Los requisitos previos pueden variar en función de los sistemas de archivos compartidos de origen y destino y del caso de uso. Los problemas más coqmunes son los siguientes:
+ Un activo. Cuenta de AWS
+ Ha completado la búsqueda de la cartera de aplicaciones para su gran proyecto de migración y ha empezado a desarrollar planes de onda. Para obtener más información, consulta el [manual de estrategias de Portfolio para migraciones AWS grandes](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html).
+ Nubes privadas virtuales (VPCs) y grupos de seguridad que permiten el tráfico de entrada y salida entre el centro de datos local y su entorno. AWS [Para obtener más información, consulte [Opciones de conectividad de red a Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) y requisitos de red.AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html)
+ Permisos para crear AWS CloudFormation pilas o permisos para crear Amazon EFS o FSx recursos de Amazon. Para obtener más información, consulte la [CloudFormation documentación](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html), la [documentación de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/security-iam.html) o la [ FSx documentación de Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security-iam.html).
+ Si va AWS DataSync a realizar la migración, necesitará los siguientes permisos:
  + Permisos AWS DataSync para enviar registros a un grupo de CloudWatch registros de Amazon Logs. Para obtener más información, consulte [Permitir DataSync la carga de registros a grupos de CloudWatch registros](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html#cloudwatchlogs).
  + Permisos para acceder al grupo de CloudWatch registros. Para obtener más información, consulte [Descripción general de la administración de los permisos de acceso a los recursos de CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
  + Permisos para crear agentes y tareas en DataSync. Para obtener más información, consulte [Permisos de IAM necesarios para su uso AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/permissions-requirements.html).

**Limitaciones**
+ Este patrón está diseñado para migrar SFSs como parte de un gran proyecto de migración. Incluye las mejores prácticas e instrucciones para SFSs incorporarlos a sus planes de migración de aplicaciones. Si va a migrar uno o más sistemas de archivos compartidos fuera de un proyecto de migración de gran tamaño, consulte las instrucciones de transferencia de datos en la AWS documentación de [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) y [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).
+ Este patrón se basa en las arquitecturas, los servicios y los patrones de migración más utilizados. Sin embargo, los grandes proyectos y estrategias de migración pueden variar de una organización a otra. Es posible que necesite personalizar esta solución o los libros de trabajo proporcionados en función de sus necesidades.

## Arquitectura
<a name="migrate-shared-file-systems-in-an-aws-large-migration-architecture"></a>

**Pila de tecnología de origen**

Una o varias de las siguientes:
+ Servidor de archivos Linux (NFS)
+ Servidor de archivos Windows (SMB)
+ NetApp arreglo de almacenamiento
+ Cabina de almacenamiento Dell EMC Isilon

**Pila de tecnología de destino**

Una o varias de las siguientes:
+ Amazon Elastic File System
+ Amazon FSx para NetApp ONTAP
+ Servidor FSx de archivos Amazon para Windows

**Arquitectura de destino**

![\[Diagrama de arquitectura del uso de AWS DataSync para migrar sistemas de archivos compartidos locales a AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/13232433-7d33-44c8-8998-b720f33f67b3.png)


El diagrama muestra el proceso siguiente:

1. Para establecer una conexión entre el centro de datos local y el Nube de AWS centro de datos se utiliza un elemento Servicio de AWS como AWS Direct Connect o. AWS Site-to-Site VPN

1. El DataSync agente se instala en el centro de datos local.

1. Según su plan de oleaje, se utilizan DataSync para replicar los datos del sistema de archivos compartidos de origen al recurso compartido de AWS archivos de destino.

**Fases de migración**

La siguiente imagen muestra las fases y los pasos de alto nivel para migrar un SFS en un proyecto de migración de gran tamaño.

![\[Fases de detección, planificación, preparación, recorte y validación de la migración de sistemas de archivos compartidos a AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/f1e0c94d-0eea-46a8-bdec-3297b34c1d43.png)


La sección [Epics](#migrate-shared-file-systems-in-an-aws-large-migration-epics) de este patrón contiene instrucciones detalladas sobre cómo completar la migración y utilizar los libros de trabajo adjuntos. A continuación, se brinda información general de alto nivel de los pasos de este enfoque por etapas.


| 
| 
| Fase | Steps | 
| --- |--- |
| Descubra | 1. Con una herramienta de detección, se recopilan datos sobre el sistema de archivos compartido, incluidos los servidores, los puntos de montaje y las direcciones IP.2. Mediante una base de datos de gestión de la configuración (CMDB) o una herramienta de migración, se recopilan detalles sobre el servidor, incluida información sobre la onda de migraciones, el entorno, el propietario de la aplicación, el nombre del servicio de gestión de servicios de TI (ITSM), la unidad organizativa y el identificador de la aplicación. | 
| Planifique | 3. Con la información recopilada sobre los servidores SFSs y los servidores, cree el plan de oleada del SFS.4. Con la información de la hoja de trabajo de creación, elija un objetivo Servicio de AWS y una herramienta de migración para cada SFS. | 
| Preparación | 5. Configure la infraestructura de destino en Amazon EFS, Amazon FSx for NetApp ONTAP o Amazon FSx for Windows File Server.6. Configure el servicio de transferencia de datos, por ejemplo, y DataSync, a continuación, inicie la sincronización de datos inicial. Cuando se complete la sincronización inicial, puede configurar las sincronizaciones recurrentes para que se ejecuten según una programación,7. Actualice el plan de ondas del SFS con información sobre el recurso compartido de archivos de destino, como la dirección IP o la ruta. | 
| Realizar la transición | 8. Detenga las aplicaciones que acceden activamente al SFS de origen.9. En el servicio de transferencia de datos, realice una sincronización de datos final.10. Cuando se complete la sincronización, compruebe que se ha realizado correctamente revisando los datos de registro en CloudWatch Registros. | 
| Valide | 11. En los servidores, cambie el punto de montaje por la nueva ruta SFS.12. Reinicie y valide las aplicaciones. | 

## Tools (Herramientas)
<a name="migrate-shared-file-systems-in-an-aws-large-migration-tools"></a>

**Servicios de AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) le ayuda a centralizar los registros de todos sus sistemas y aplicaciones Servicios de AWS para que pueda supervisarlos y archivarlos de forma segura.
+ [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)es un servicio de transferencia y descubrimiento de datos en línea que le ayuda a mover archivos u datos de objetos hacia, desde y entre los servicios AWS de almacenamiento.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) lo ayuda a crear y configurar sistemas de archivos compartidos en la Nube de AWS.
+ [Amazon FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) proporciona sistemas de archivos que admiten los protocolos de conectividad estándares del sector y ofrecen alta disponibilidad y replicación en todos Regiones de AWS los niveles.

**Otras herramientas**
+ [SnapMirror](https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BA1081BE-B2BB-4C6E-8A82-FB0F87AC514E.html)es una herramienta de replicación de NetApp datos que replica datos de volúmenes de origen o qtrees específicos a volúmenes o [qtrees](https://library.netapp.com/ecmdocs/ECMP1154894/html/GUID-8F084F85-2AB8-4622-B4F3-2D9E68559292.html) de destino, respectivamente. Puedes usar esta herramienta para migrar un sistema de archivos NetApp fuente a Amazon FSx para NetApp ONTAP.
+ [Robocopy](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy), abreviatura de *Robust File Copy*, es un directorio de línea de comandos y comandos para Windows. Puedes usar esta herramienta para migrar un sistema de archivos fuente de Windows a Amazon FSx for Windows File Server.

## Prácticas recomendadas
<a name="migrate-shared-file-systems-in-an-aws-large-migration-best-practices"></a>

**Enfoques de planificación de olas**

Al planificar las ondas para su gran proyecto de migración, tenga en cuenta la latencia y el rendimiento de las aplicaciones. Cuando el SFS y las aplicaciones dependientes funcionan en ubicaciones diferentes, como una en la nube y otra en el centro de datos en las instalaciones, esto puede aumentar la latencia y afectar al rendimiento de las aplicaciones. A continuación, se muestran las siguientes opciones al crear planes de onda:

1. **Migre el SFS y todos los servidores dependientes en la misma oleada**: este enfoque evita problemas de rendimiento y minimiza las tareas de retrabajo, como la reconfiguración de los puntos de montaje varias veces. Se recomienda cuando se requiere una latencia muy baja entre la aplicación y el SFS. Sin embargo, la planificación de ondas es compleja y, por lo general, el objetivo es eliminar las variables de las agrupaciones de dependencias, no añadirlas. Además, este enfoque no se recomienda si muchos servidores acceden al mismo SFS, ya que esto hace que la onda sea demasiado grande.

1. **Migre el SFS una vez que se haya migrado el último servidor dependiente**: por ejemplo, si varios servidores acceden a un SFS y dichos servidores tienen previsto migrar en las oleadas 4, 6 y 7, programe la migración del SFS en la oleada 7.

   Este enfoque suele ser el más lógico para migraciones grandes y se recomienda para aplicaciones sensibles a la latencia. Reduce los costos asociados a la transferencia de datos. También minimiza el período de latencia entre el SFS y las aplicaciones de nivel superior (como las de producción), ya que las aplicaciones de nivel superior suelen estar programadas para migrar en último lugar, después de las aplicaciones de desarrollo y control de calidad.

   Sin embargo, este enfoque aún requiere detección, planificación y agilidad. Es posible que tenga que migrar el SFS en una onda anterior. Confirme que las aplicaciones puedan soportar la latencia adicional durante el período de tiempo entre la primera onda dependiente y la onda que contiene el SFS. Realice una sesión de descubrimiento con los propietarios de las aplicaciones y migre la aplicación en la misma fase, es decir, la aplicación más sensible a la latencia. Si se descubren problemas de rendimiento después de migrar una aplicación dependiente, prepárese para migrar rápidamente el SFS lo más rápido posible.

1. **Migre el SFS al final de un gran proyecto de migración**: este enfoque se recomienda si la latencia no es un factor, por ejemplo, cuando se accede con poca frecuencia a los datos del SFS o no son críticos para el rendimiento de la aplicación. Este enfoque agiliza la migración y simplifica las tareas de transición.

Puede combinar estos enfoques en función de la sensibilidad a la latencia de la aplicación. Por ejemplo, puede migrar en función de la latencia SFSs utilizando los enfoques 1 o 2 y, a continuación, migrar el resto SFSs utilizando el enfoque 3.

**Elegir un servicio de sistema de archivos AWS **

AWS ofrece varios servicios en la nube para el almacenamiento de archivos. Cada uno ofrece diferentes ventajas y limitaciones en cuanto al rendimiento, la escala, la accesibilidad, la integración, la conformidad y la optimización de costos. Hay algunas opciones lógicas predeterminadas. Por ejemplo, si su sistema de archivos local actual utiliza Windows Server, Amazon FSx for Windows File Server es la opción predeterminada. O bien, si el sistema de archivos local utiliza NetApp ONTAP, Amazon FSx for NetApp ONTAP es la opción predeterminada. Sin embargo, puede elegir un servicio específico en función de los requisitos de su aplicación o para aprovechar otras ventajas operativas en la nube. Para obtener más información, consulte [Elegir el servicio de almacenamiento de AWS archivos adecuado para su implementación](https://d1.awsstatic.com/events/Summits/awsnycsummit/Choosing_the_right_AWS_file_storage_service_for_your_deployment_STG302.pdf) (presentación en AWS Summit).

**Elección de una herramienta de migración**

Amazon EFS y Amazon FSx admiten el uso de AWS DataSync para migrar sistemas de archivos compartidos a Nube de AWS. Para obtener más información sobre los sistemas y servicios de almacenamiento compatibles, las ventajas y los casos de uso, consulte [Qué es AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html). Para obtener una descripción general del proceso de uso DataSync para transferir archivos, consulte [Cómo funcionan AWS DataSync las transferencias](https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-transfer-works.html).

También hay varias herramientas de terceros disponibles, entre las que se incluyen las siguientes:
+ Si eliges Amazon FSx for NetApp ONTAP, puedes usarlo NetApp SnapMirror para migrar los archivos del centro de datos local a la nube. SnapMirror utiliza la replicación a nivel de bloques, que puede ser más rápida DataSync y reducir la duración del proceso de transferencia de datos. Para obtener más información, consulte [Migración a FSx ](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap-snapmirror.html) ONTAP mediante. NetApp SnapMirror
+ Si eliges Amazon FSx for Windows File Server, puedes usar Robocopy para migrar archivos a la nube. Para obtener más información, consulte [Migración de archivos existentes a un servidor de archivos FSx de Windows mediante Robocopy](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-files-to-fsx.html).

## Epics
<a name="migrate-shared-file-systems-in-an-aws-large-migration-epics"></a>

### Descubra
<a name="discover"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare el libro de trabajo de descubrimiento del SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 
| Recopile información sobre el SFS de origen. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 
| Recopile información sobre los servidores. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 

### Plan
<a name="plan"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree el plan de olas del SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Responsable de compilación, líder de transición, ingeniero de migraciones, líder de migraciones | 
| Elija el destino Servicio de AWS y la herramienta de migración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 

### Preparación
<a name="prepare"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el sistema de archivos de destino. | De acuerdo con los detalles registrados en su plan de oleada, configure los sistemas de archivos de destino en el destino Cuenta de AWS, la VPC y las subredes. Para obtener instrucciones, consulte la siguiente documentación: AWS [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración, administrador de AWS | 
| Configure la herramienta de migración y transfiera los datos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrador de AWS, administrador de la nube, ingeniero de migraciones, líder de migración | 
| Actualice el plan de onda. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 

### Realizar la transición
<a name="cut-over"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Detener la aplicación. | Si las aplicaciones o los clientes están realizando operaciones de lectura y escritura de forma activa en el SFS de origen, deténgalos antes de realizar la sincronización de datos final. Para obtener instrucciones, consulte la documentación de la aplicación o sus procesos internos para detener las actividades de lectura y escritura. Por ejemplo, consulte [Iniciar o detener el servidor web (IIS 8) (documentación de Microsoft)](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635851(v=ws.11)) o [Administrar los servicios del sistema con systemctl](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-systemd_configuring-basic-system-settings#managing-system-services-with-systemctl_managing-systemd) (documentación de Red Hat). | Propietario de la aplicación, desarrollador de la aplicación | 
| Realice la transferencia de datos final. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingeniero de migraciones, líder de migración | 
| Valide la transferencia de datos. | Si lo estás utilizando AWS DataSync, haz lo siguiente para validar que la transferencia de datos final se haya realizado correctamente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html)Si utiliza una herramienta de terceros, consulte las instrucciones de validación de la transferencia de datos en la documentación de la herramienta de migración seleccionada. | Ingeniero de migraciones, líder de migración | 

### Valide
<a name="validate"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Vuelva a montar el sistema de archivos y valide la función y el rendimiento de la aplicación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrador de sistemas de AWS, propietario de la aplicación | 

## Resolución de problemas
<a name="migrate-shared-file-systems-in-an-aws-large-migration-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Los valores de celda de Microsoft Excel no se actualizan. | Copie las fórmulas de las filas de muestra arrastrando el controlador de relleno. Para obtener más información, consulte las instrucciones para [Windows](https://support.microsoft.com/en-us/office/fill-a-formula-down-into-adjacent-cells-041edfe2-05bc-40e6-b933-ef48c3f308c6) o [Mac](https://support.microsoft.com/en-au/office/copy-a-formula-by-dragging-the-fill-handle-in-excel-for-mac-dd928259-622b-473f-9a33-83aa1a63e218) (sitio web de soporte de Microsoft). | 

## Recursos relacionados
<a name="migrate-shared-file-systems-in-an-aws-large-migration-resources"></a>

**AWS documentación**
+ [AWS DataSync documentación](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)
+ [Documentación de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)
+ [ FSx Documentación de Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/index.html)
+ [Grandes migraciones al Nube de AWS](https://aws.amazon.com/prescriptive-guidance/large-migrations/)
  + [Guía para AWS grandes migraciones](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/welcome.html)
  + [Guía de portafolio para grandes migraciones AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html)

**Solución de problemas**
+ [Solución de problemas AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync.html)
+ [Solución de problemas de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html)
+ [Solución de problemas FSx de Amazon para Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/troubleshooting.html)
+ [Solución de problemas de Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/troubleshooting.html)

## Conexiones
<a name="attachments-a30cf791-7a8a-4f71-8927-bc61f3b332f2"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/a30cf791-7a8a-4f71-8927-bc61f3b332f2/attachments/attachment.zip)

# Migre una base de datos Oracle a Amazon RDS for Oracle mediante adaptadores de archivos planos de GoldenGate Oracle
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters"></a>

*Dhairya Jindani y Baji Shaik, Amazon Web Services*

## Resumen
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-summary"></a>

Oracle GoldenGate es un servicio de captura y replicación de datos en tiempo real para bases de datos y entornos de TI heterogéneos. Sin embargo, este servicio no admite actualmente Amazon Relational Database Service (Amazon RDS) para Oracle. Para obtener una lista de las bases de datos compatibles, consulte [Oracle GoldenGate para bases de datos heterogéneas](https://docs.oracle.com/goldengate/c1230/gg-winux/GGHDB/12.3-what-is-oracle-goldengate-heterogeneous-databases.htm#GGHDB-GUID-08EAC588-F76C-4E37-BEBA-0DC57B98CA46) (documentación de Oracle). Este patrón describe cómo utilizar Oracle GoldenGate y los adaptadores de archivos GoldenGate planos de Oracle para generar archivos planos a partir de la base de datos Oracle de origen, que puede estar en las instalaciones o en una instancia de Amazon Elastic Compute Cloud (Amazon EC2). A continuación, puede importar esos archivos planos a una instancia de base de datos de Amazon RDS para Oracle.

En este patrón, utiliza Oracle GoldenGate para extraer los archivos de seguimiento de la base de datos Oracle de origen. La bomba de datos copia los archivos de seguimiento en un servidor de integración, que es una EC2 instancia de Amazon. En el servidor de integración, Oracle GoldenGate utiliza el adaptador de archivos planos para generar una serie de archivos planos secuenciales basados en la captura de datos transacionales de los archivos de seguimiento. Oracle GoldenGate formatea los datos como valores separados por delimitadores o valores delimitados por longitud. A continuación, utilice Oracle SQL\$1Loader para importar los archivos planos a la instancia de base de datos Amazon RDS para Oracle de destino.

**Destinatarios previstos**

Este patrón está destinado a quienes tienen experiencia y conocimiento de los componentes fundamentales de un Oracle. GoldenGate Para obtener más información, consulte [Descripción general de la GoldenGate arquitectura de Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD115) (documentación de Oracle).

## Requisitos previos y limitaciones
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS.
+ Una GoldenGate licencia de Oracle.
+ Una licencia independiente para un GoldenGate adaptador de Oracle.
+ Una base de datos Oracle de origen, que se ejecuta de forma local o en una EC2 instancia de Amazon.
+ Una instancia de Amazon EC2 Linux que se utiliza como servidor de integración. Para [obtener más información, consulte Introducción a las instancias de Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) ( EC2 documentación de Amazon).
+ Una instancia de base de datos de Amazon RDS para Oracle. Para obtener más información, consulte [Creación de una instancia de base de datos de Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html) (documentación de Amazon RDS).

**Versiones de producto**
+ Oracle Database Enterprise Edition, versión 10g, 11g, 12c o posterior
+ Oracle, GoldenGate versión 12.2.0.1.1 o posterior

## Arquitectura
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-architecture"></a>

**Pila de tecnología de origen**

Una base de datos Oracle (local o en una EC2 instancia de Amazon)

**Pila de tecnología de destino**

Amazon RDS para Oracle

**Arquitectura de origen y destino**

![\[Migración de una base de datos de Oracle a Amazon RDS for Oracle mediante un GoldenGate adaptador de Oracle.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f34961f7-aa9a-41cb-b1ea-522e36ef2f67/images/21ef5177-e669-4591-aced-28d2f22decf2.png)


1. Oracle GoldenGate extrae las pistas de los registros de la base de datos de origen.

1. La bomba de datos extrae los rastros y los migra a un servidor de integración.

1. El adaptador de archivos GoldenGate planos de Oracle lee los registros, las definiciones de las fuentes y los parámetros de extracción.

1. Se sale de la extracción, que genera un archivo de control y archivos de datos planos.

1. Los archivos de datos sin formato se migran a una instancia de base de datos de Amazon RDS para Oracle en la Nube de AWS.

## Tools (Herramientas)
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) para Oracle lo ayuda a configurar, utilizar y escalar una base de datos relacional de Oracle en la Nube de AWS.

**Otros servicios**
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110) es un servicio que le ayuda a replicar, filtrar y transformar datos de una base de datos a otra base de datos heterogénea o a otra topología de destino, como archivos planos.
+ [Los adaptadores de GoldenGate aplicaciones](https://docs.oracle.com/goldengate/gg121211/gg-adapter/GADAD/flatfile_config.htm#GADAD424) de Oracle permiten GoldenGate a Oracle producir una serie de archivos planos secuenciales y archivos de control a partir de los datos transaccionales capturados en los archivos de seguimiento de una base de datos de origen. Estos adaptadores se utilizan ampliamente para operaciones de extracción, transformación y carga (ETL) en aplicaciones de data warehouse y en aplicaciones de propiedad o heredadas. Oracle GoldenGate realiza esta captura y la aplica prácticamente en tiempo real en bases de datos, plataformas y sistemas operativos heterogéneos. Los adaptadores admiten diferentes formatos para los archivos de salida, como CSV o Apache Parquet. Puede cargar estos archivos generados para cargar los datos en diferentes bases de datos heterogéneas.

## Epics
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-epics"></a>

### Configure Oracle GoldenGate en el servidor de base de datos de origen
<a name="set-up-oracle-goldengate-on-the-source-database-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue Oracle GoldenGate. | En el servidor de base de datos de origen, descargue Oracle, GoldenGate versión 12.2.0.1.1 o posterior. Para obtener instrucciones, consulte [Descarga de Oracle GoldenGate (documentación de Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)). | Administrador de base de datos | 
| Instale Oracle GoldenGate. | Para obtener instrucciones, consulte [Instalación de Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentación de Oracle). | Administrador de base de datos | 
| Configure Oracle GoldenGate. | Para obtener instrucciones, consulte [Preparación de la base de datos para Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentación de Oracle). | Administrador de base de datos | 

### Configure Oracle GoldenGate en el servidor de integración
<a name="set-up-oracle-goldengate-on-the-integration-server"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue Oracle GoldenGate. | En el servidor de integración, descargue la GoldenGate versión 12.2.0.1.1 o posterior de Oracle. Para obtener instrucciones, consulte [Descarga de Oracle GoldenGate (documentación de Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)). | Administrador de base de datos | 
| Instale Oracle GoldenGate. | Cree directorios, configure el proceso de administración y cree el archivo `defgen` para un entorno heterogéneo. Para obtener instrucciones, consulte [Instalación de Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentación de Oracle). | Administrador de base de datos | 

### Cambie la configuración de captura GoldenGate de datos de Oracle
<a name="change-the-oracle-goldengate-data-capture-configuration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare los GoldenGate adaptadores de Oracle. | En el servidor de integración, configure el software del GoldenGate adaptador de Oracle. Haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.html) | Administrador de base de datos | 
| Configure la bomba de datos. | En el servidor de origen, configure la bomba de datos para transferir el archivo de seguimiento del servidor de origen al servidor de integración. Cree el archivo de parámetros de la bomba de datos y el directorio de archivos de senderos. Para obtener instrucciones, consulte [Configuración del adaptador de archivos planos](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentación de Oracle). | Administrador de base de datos | 

### Generar y migrar los archivos planos
<a name="generate-and-migrate-the-flat-files"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Genere los archivos planos. | Cree el archivo de extracción y el archivo de control y, a continuación, inicie el proceso de extracción en el servidor de integración. Esto extrae los cambios de la base de datos y graba la base de datos de origen en los archivos planos. Para obtener instrucciones, consulte [Uso del adaptador de archivos planos](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD432) (documentación de Oracle). | Administrador de base de datos | 
| Cargue los archivos planos en la base de datos de destino. | Cargue los archivos planos en la instancia de base de datos de Amazon RDS para Oracle de destino. Para obtener más información, consulte [Importación mediante Oracle SQL\$1Loader](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.SQLLoader.html) (documentación de Amazon RDS). | Administrador de base de datos | 

## Resolución de problemas
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| El adaptador de archivos GoldenGate planos de Oracle genera un error. | Para obtener una descripción de los errores del adaptador, consulte [Localización de mensajes de error](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD437) (documentación de Oracle). Para obtener instrucciones de solución de problemas, consulte [Solución de problemas del adaptador de archivos planos](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-CB3D9B2C-49CC-408A-8C00-06E0C7923DD6.htm#GADAD552) (documentación de Oracle). | 

## Recursos relacionados
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-resources"></a>
+ [Instalación de Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentación de Oracle)
+ [Configuración de Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentación de Oracle)
+ [Descripción de los GoldenGate adaptadores Oracle](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-F9105B02-9836-4F98-99F8-6E9C46D42764.htm#GADAD101) (documentación de Oracle)
+ [Configuración del adaptador de archivos planos](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentación de Oracle)

# Cambie las aplicaciones de Python y Perl para que admitan la migración de bases de datos de Microsoft SQL Server a una edición compatible con PostgreSQL de Amazon Aurora
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition"></a>

*Dwarika Patra y Deepesh Jayaprakash, Amazon Web Services*

## Resumen
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-summary"></a>

Este patrón describe los cambios en los repositorios de aplicaciones que pueden ser necesarios al migrar bases de datos de Microsoft SQL Server a una edición compatible con Amazon Aurora PostgreSQL. El patrón asume que estas aplicaciones están basadas en Python o en Perl, y proporciona instrucciones independientes para estos lenguajes de secuencias de comandos.

La migración de bases de datos de SQL Server a una versión compatible con Aurora PostgreSQL implica la conversión de esquemas, la conversión de objetos de base de datos, la migración de datos y la carga de datos. Debido a las diferencias entre PostgreSQL y SQL Server (en relación con los tipos de datos, los objetos de conexión, la sintaxis y la lógica), la tarea de migración más difícil consiste en realizar los cambios necesarios en la base de código para que funcione correctamente con PostgreSQL.

Para una aplicación basada en Python, los objetos y clases de conexión están dispersos por todo el sistema. Además, la base de código de Python puede usar varias bibliotecas para conectarse a la base de datos. Si la interfaz de conexión a la base de datos cambia, los objetos que ejecutan las consultas en línea de la aplicación también requieren cambios.

En el caso de una aplicación basada en Perl, los cambios se refieren a los objetos de conexión, los controladores de conexión a la base de datos, las sentencias SQL integradas estáticas y dinámicas y la forma en que la aplicación gestiona las consultas DML dinámicas y complejas y los conjuntos de resultados.

Al migrar la aplicación, también puede considerar posibles mejoras en AWS, como reemplazar el servidor FTP por el acceso a Amazon Simple Storage Service (Amazon S3).

El proceso de migración de la aplicación implica los siguientes desafíos:
+ Objetos de conexión. Si los objetos de conexión están dispersos en el código con varias bibliotecas y llamadas a funciones, es posible que tenga que encontrar una forma generalizada de cambiarlos para que sean compatibles con PostgreSQL.
+ Gestión de errores o excepciones durante la recuperación o actualización de registros. Si tiene operaciones condicionales de creación, lectura, actualización y eliminación (CRUD) en la base de datos que devuelven variables, conjuntos de resultados o marcos de datos, cualquier error o excepción puede provocar errores de aplicación con efectos en cascada. Estas deben gestionarse con cuidado, con las validaciones adecuadas y ahorrándose puntos. Uno de estos puntos de ahorro es llamar a consultas SQL integradas de gran tamaño o a objetos de bases de datos dentro de bloques `BEGIN...EXCEPTION...END`.
+ Controlar las transacciones y su validación. Esto incluye las confirmaciones y anulaciones manuales y automáticas. El controlador PostgreSQL para Perl requiere que siempre se establezca de forma explícita el atributo autocommit.
+ Manejo de consultas SQL dinámicas. Esto requiere una sólida comprensión de la lógica de consultas y pruebas iterativas para garantizar que las consultas funcionen según lo esperado.
+ Desempeño. Debe asegurarse de que los cambios en el código no reduzcan el rendimiento de la aplicación.

Este patrón explica el proceso de conversión en detalle.

## Requisitos previos y limitaciones
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-prereqs"></a>

**Requisitos previos **
+ Conocimientos prácticos de la sintaxis de Python y Perl.
+ Conocimientos básicos de SQL Server y PostgreSQL.
+ Comprensión de la arquitectura de aplicaciones existente.
+ Acceda al código de su aplicación, a la base de datos de SQL Server y a la base de datos PostgreSQL.
+ Acceda al entorno de desarrollo Windows o Linux (u otro tipo de Unix) con credenciales para desarrollar, probar y validar los cambios en las aplicaciones.
+ Para una aplicación basada en Python, las bibliotecas de Python estándar que pueda necesitar la aplicación, como **Pandas** para gestionar marcos de datos y **psycopg2** o para conexiones a bases de datos. **SQLAlchemy**
+ Para una aplicación basada en Perl, se requieren paquetes de Perl con bibliotecas o módulos dependientes. El módulo Comprehensive Perl Archive Network (CPAN) es compatible con la mayoría de los requisitos de las aplicaciones.
+ Todas las bibliotecas o módulos personalizados dependientes necesarios. 
+ Credenciales de base de datos para el acceso de lectura a SQL Server y el read/write acceso a Aurora.
+ PostgreSQL para validar y depurar los cambios en las aplicaciones con los servicios y los usuarios.
+ Acceso a herramientas de desarrollo durante la migración de aplicaciones, como Visual Studio Code, Sublime Text o **pgAdmin.**

**Limitaciones**
+ Algunas versiones, módulos, bibliotecas y paquetes de Python o Perl no son compatibles con el entorno de nube.
+ Algunas bibliotecas y marcos de terceros utilizados para SQL Server no se pueden reemplazar para admitir la migración a PostgreSQL. 
+ Las variaciones de rendimiento pueden requerir cambios en la aplicación, en las consultas de Transact-SQL (T-SQL) integradas, en las funciones de las bases de datos y en los procedimientos almacenados.
+ PostgreSQL admite nombres en minúsculas para nombres de tablas, nombres de columnas y otros objetos de bases de datos. 
+ Algunos tipos de datos, como las columnas UUID, se almacenan únicamente en minúsculas. Las aplicaciones Python y Perl deben gestionar estas diferencias entre mayúsculas y minúsculas. 
+ Las diferencias de codificación de caracteres deben gestionarse con el tipo de datos correcto para las columnas de texto correspondientes de la base de datos PostgreSQL.                                

**Versiones de producto**
+ Python 3.6 o posterior (usa la versión compatible con su sistema operativo)
+ Perl 5.8.3 o posterior (utilice la versión compatible con su sistema operativo)
+ Aurora, compatible con PostgreSQL, edición 4.2 o posterior (consulte los [detalles](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html#AuroraPostgreSQL.Updates.20180305.42))

## Arquitectura
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-architecture"></a>

**Pila de tecnología de origen**
+ Lenguaje de secuencias de comandos (programación de aplicaciones): Python 2.7 o posterior, o Perl 5.8 
+ Base de datos: Microsoft SQL Server versión 13
+ Sistema operativo: Red Hat Enterprise Linux (RHEL) 7 

**Pila de tecnología de destino**
+ Lenguaje de secuencias de comandos (programación de aplicaciones): Python 3.6 o posterior de Perl 
+ Base de datos: Compatible con Aurora PostgreSQL
+ Sistema operativo: RHEL 7 

**Arquitectura de migración**

![\[Migración de una aplicación de Perl o Python con SQL Server a una aplicación compatible con Aurora PostgreSQL\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/b64de64a-bd55-4db7-ba7b-0a2557862af1/images/b8fab3e2-ded5-4f58-86bf-3f645252e9fc.png)


## Tools (Herramientas)
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-tools"></a>

**Servicios y herramientas de AWS**
+ [La edición de Amazon Aurora compatible con PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) es un motor de bases de datos relacionales, completamente administrado, compatible con PostgreSQL y conforme a ACID, que combina la velocidad y la fiabilidad de las bases de datos comerciales de tecnología avanzada con la sencillez y la rentabilidad de las bases de datos de código abierto. Aurora PostgreSQL es un reemplazo instántaneo para PostgreSQL que simplifica y hace más rentable configurar, usar y escalar las implementaciones de PostgreSQL nuevas y existentes.
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.

**Otras herramientas**
+ [Bibliotecas de conexión a bases de datos de [Python](https://www.python.org/) y PostgresSQL, como psycopg2 y [SQLAlchemy](https://www.sqlalchemy.org/)](https://pypi.org/project/psycopg2/)
+ [Perl](https://www.perl.org/) y sus [módulos de DBI](https://metacpan.org/pod/DBD::Pg)
+ [Terminal interactiva PostgreSQL](https://www.postgresql.org/docs/13/app-psql.html) (psql)

## Epics
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-epics"></a>

### Migración de su repositorio de aplicaciones a PostgreSQL: pasos de alto nivel
<a name="migrate-your-application-repository-to-postgresql-ndash-high-level-steps"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Siga estos pasos de conversión de código para migrar su aplicación a PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Las siguientes epics proporcionan instrucciones detalladas para algunas de estas tareas de conversión para aplicaciones de Python y Perl. | Desarrollador de aplicaciones | 
| Use una lista de verificación para cada paso de la migración. | Añada lo siguiente a la lista de verificación para cada paso de la migración de la aplicación, incluido el paso final:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 

### Analice y actualice su aplicación: Base de código Python
<a name="analyze-and-update-your-application-ndash-python-code-base"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Analice su base de código Python existente.  | Su análisis debe incluir lo siguiente para facilitar el proceso de migración de la aplicación:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 
| Convierta sus conexiones de bases de datos para que sean compatibles con PostgreSQL.  | La mayoría de las aplicaciones de Python utilizan la biblioteca **pyodbc **para conectarse con las bases de datos de SQL Server de la siguiente manera.<pre>import pyodbc<br />....<br />try:<br />    conn_string = "Driver=ODBC Driver 17 for SQL<br />    Server;UID={};PWD={};Server={};Database={}".format (conn_user, conn_password,<br />    conn_server, conn_database)<br />    conn = pyodbc.connect(conn_string)<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre>Convierta la conexión de base de datos para que sea compatible con PostgreSQL de la siguiente manera.<pre>import pyodbc<br />import psycopg2<br />....<br />try:<br />    conn_string = ‘postgresql+psycopg2://’+<br />    conn_user+’:’+conn_password+’@’+conn_server+’/’+conn_database<br />    conn = pyodbc.connect(conn_string, connect_args={‘options’:’-csearch_path=dbo’})<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre> | Desarrollador de aplicaciones | 
| Cambie las consultas SQL en línea a PostgreSQL. | Convierta sus consultas SQL en línea a un formato compatible con PostgreSQL. Por ejemplo, la siguiente consulta de SQL Server recupera una cadena de una tabla.<pre>dtype = "type1"<br />stm = ‘"SELECT TOP 1 searchcode FROM TypesTable (NOLOCK)<br />WHERE code="’ + "’" + str(dtype) + "’"<br /># For Microsoft SQL Server Database Connection<br />engine = create_engine(‘mssql+pyodbc:///?odbc_connect=%s’ % urllib.parse.quote_plus(conn_string), connect_args={‘connect_timeout’:login_timeout})<br />conn = engine_connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre>Tras la conversión, la consulta SQL en línea compatible con PostgreSQL tiene el siguiente aspecto.<pre>dtype = "type1"<br />stm = ‘"SELECT searchcode FROM TypesTable<br />WHERE code="’ + "’" + str(dtype) + "’ LIMIT 1"<br /># For PostgreSQL Database Connection<br />engine = create_engine(‘postgres+psycopg2://%s’ %conn_string, connect_args={‘connect_timeout’:login_timeout})<br />conn = engine.connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre> | Desarrollador de aplicaciones | 
| Gestione consultas SQL dinámicas. | El SQL dinámico puede estar presente en un script o en varios scripts de Python. Los ejemplos anteriores mostraron cómo utilizar la función de reemplazo de cadenas de Python para insertar variables con el fin de crear consultas SQL dinámicas. Un enfoque alternativo consiste en añadir variables a la cadena de consulta siempre que sea aplicable. En el ejemplo siguiente, la cadena de consulta se construye sobre la marcha en función de los valores devueltos por una función.<pre>query = ‘"SELECT id from equity e join issues i on e.permId=i.permId where e.id’"<br />query += get_id_filter(ids) + " e.id is NOT NULL</pre>Estos tipos de consultas dinámicas son muy comunes durante la migración de aplicaciones. Siga estos pasos para gestionar consultas dinámicas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 
| Gestione los conjuntos de resultados, las variables y los marcos de datos. | Para Microsoft SQL Server, se utilizan métodos de Python como `fetchone()` o `fetchall()` para recuperar el conjunto de resultados de la base de datos. También puede usar `fetchmany(size)` y especificar el número de registros que se van a devolver del conjunto de resultados. Para ello, puede utilizar el objeto de conexión **pyodbc **como se muestra en el siguiente ejemplo.**pyodbc (Microsoft SQL Server)**<pre>import pyodbc <br />server = 'tcp:myserver.database.windows.net' <br />database = 'exampledb' <br />username = 'exampleusername' <br />password = 'examplepassword' <br />conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)<br />cursor = conn.cursor()<br />cursor.execute("SELECT * FROM ITEMS") <br />row = cursor.fetchone() <br />while row: <br />    print(row[0])<br />    row = cursor.fetchone()</pre>**En Aurora, para realizar tareas similares, como conectarse a PostgreSQL y obtener conjuntos de resultados, puede usar psycopg2 o. **SQLAlchemy**** Estas bibliotecas de Python proporcionan el módulo de conexión y el objeto de cursor para recorrer los registros de la base de datos PostgreSQL, como se muestra en el siguiente ejemplo.**psycopg2 (Aurora compatible con PostgreSQL)**<pre>import psycopg2<br />query = "SELECT * FROM ITEMS;"<br />//Initialize variables<br />host=dbname=user=password=port=sslmode=connect_timeout=""<br />connstring = "host='{host}' dbname='{dbname}' user='{user}' \<br />password='{password}'port='{port}'".format(host=host,dbname=dbname,\<br />user=user,password=password,port=port) <br />conn = psycopg2.connect(connstring)<br />cursor = conn.cursor()<br />cursor.execute(query)<br />column_names = [column[0] for column in cursor.description]<br />print("Column Names: ", column_names)<br />print("Column values: "<br />for row in cursor:<br />    print("itemid :", row[0])<br />    print("itemdescrption :", row[1])<br />    print("itemprice :", row[3]))</pre>**SQLAlchemy (Compatible con Aurora PostgreSQL)**<pre>from sqlalchemy import create_engine<br />from pandas import DataFrame<br />conn_string = 'postgresql://core:database@localhost:5432/exampledatabase'<br />engine = create_engine(conn_string)<br />conn = engine.connect()<br />dataid = 1001<br />result = conn.execute("SELECT * FROM ITEMS")<br />df = DataFrame(result.fetchall())<br />df.columns = result.keys()<br />df = pd.DataFrame()<br />engine.connect()<br />df = pd.read_sql_query(sql_query, engine, coerce_float=False)<br />print("df=", df)</pre> | Desarrollador de aplicaciones | 
| Pruebe la aplicación durante y después de la migración. | La prueba de la aplicación Python migrada es un proceso continuo. Como la migración incluye cambios en los objetos de conexión (**psycopg2** o **SQLAlchemy**), la gestión de errores, nuevas funciones (marcos de datos), cambios en el SQL en línea, funcionalidades de copia masiva (`bcp`en lugar de`COPY`) y cambios similares, debe probarse detenidamente durante y después de la migración de la aplicación. Consultar si:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 

### Analice y actualice su aplicación: base de código Perl
<a name="analyze-and-update-your-application-ndash-perl-code-base"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Analice su base de código Perl existente. | Su análisis debe incluir lo siguiente para facilitar el proceso de migración de la aplicación. Debe identificar:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 
| Convierta las conexiones de la aplicación Perl y el módulo DBI para que sean compatibles con PostgreSQL. | Las aplicaciones basadas en Perl suelen utilizar el módulo DBI de Perl, que es un módulo de acceso a bases de datos estándar para el lenguaje de programación Perl. Puede usar el mismo módulo DBI con controladores diferentes para SQL Server y PostgreSQL.Para obtener más información sobre los módulos de Perl necesarios, las instalaciones y otras instrucciones, consulte la [documentación de DBD::Pg](https://metacpan.org/pod/DBD::Pg). El siguiente ejemplo se conecta a Aurora compatible con PostgreSQL en `exampletest-aurorapg-database.cluster-sampleclusture.us-east.-rds.amazonaws.com`.<pre>#!/usr/bin/perl<br />use DBI;<br />use strict;<br />my $driver = "Pg";<br />my $hostname = "exampletest-aurorapg-database-sampleclusture.us-east.rds.amazonaws.com"<br />my $dsn = "DBI:$driver: dbname = $hostname;host = 127.0.0.1;port = 5432";<br />my $username = "postgres";<br />my $password = "pass123";<br />$dbh = DBI->connect("dbi:Pg:dbname=$hostname;host=$host;port=$port;options=$options",<br />      $username,<br />      $password,<br />      {AutoCommit => 0, RaiseError => 1, PrintError => 0}<br />      );</pre> | Desarrollador de aplicaciones | 
| Cambie las consultas SQL en línea a PostgreSQL. | Es posible que su aplicación tenga consultas SQL en línea con `SELECT`, `DELETE`, `UPDATE` y sentencias similares que incluyan cláusulas de consulta que PostgreSQL no admite. Por ejemplo, consulte palabras clave como `TOP` y `NOLOCK` no se admiten en PostgreSQL. En los siguientes ejemplos, se muestra cómo se pueden gestionar `TOP`, `NOLOCK` y variables booleanas.En SQL Server:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id   \<br />FROM active_student_record b WITH (NOLOCK) \<br />INNER JOIN student_contributor c WITH (NOLOCK) on c.contributor_id = b.c_st)</pre>Para PostgreSQL, conviértalo a:<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id  \<br />FROM active_student_record b INNER JOIN student_contributor c  \<br />on c.contributor_id = b.c_student_contr_id WHERE b_current_1 is true \<br />LIMIT $numofRecords)"</pre> | Desarrollador de aplicaciones | 
| Gestione consultas SQL dinámicas y variables de Perl. | Las consultas SQL dinámicas son sentencias SQL que se crean durante el tiempo de ejecución de la aplicación. Estas consultas se crean de forma dinámica cuando la aplicación está en ejecución, en función de determinadas condiciones, por lo que el texto completo de la consulta no se conoce hasta el tiempo de ejecución. Un ejemplo es una aplicación de análisis financiero que analiza las 10 principales acciones a diario, y estas acciones cambian todos los días. Las tablas SQL se crean en función de los mejores resultados y los valores no se conocen hasta el tiempo de ejecución.Supongamos que las consultas SQL en línea de este ejemplo se pasan a una función contenedora para obtener los resultados establecidos en una variable y, a continuación, una variable utiliza una condición para determinar si la tabla existe:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)A continuación, se muestra un ejemplo de gestión de variables, seguido de las consultas de SQL Server y PostgreSQL para este caso de uso.<pre>my $tableexists = db_read( arg 1, $sql_qry, undef, 'writer');<br />my $table_already_exists = $tableexists->[0]{table_exists};<br />if ($table_already_exists){<br /># do some thing<br />}<br />else {<br /># do something else<br />}</pre>SQL Server:<pre>my $sql_qry = "SELECT OBJECT_ID('$backendTable', 'U') table_exists", undef, 'writer')";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT TO_REGCLASS('$backendTable', 'U') table_exists", undef, 'writer')";</pre>En el siguiente ejemplo, se utiliza una variable de** **Perl en SQL en línea, que ejecuta una sentencia `SELECT` con un `JOIN` para obtener la clave principal de la tabla y la posición de la columna clave.SQL Server:<pre>my $sql_qry = "SELECT column_name', character_maxi mum_length \<br />FROM INFORMATION_SCHEMA.COLUMNS \<br />WHERE TABLE_SCHEMA='$example_schemaInfo' \<br />AND TABLE_NAME='$example_table' \<br />AND DATA_TYPE IN ('varchar','nvarchar');";</pre>PostgreSQL:<pre>my $sql_qry = "SELECT c1.column_name, c1.ordinal_position \<br />FROM information_schema.key_column_usage AS c LEFT \<br />JOIN information_schema.table_constraints AS t1 \<br />ON t1.constraint_name = c1.constraint_name \<br />WHERE t1.table_name = $example_schemaInfo'.'$example_table’ \<br />AND t1.constraint_type = 'PRIMARY KEY' ;";</pre> | Desarrollador de aplicaciones | 

### Realice cambios adicionales en su aplicación basada en Perl o Python para admitir PostgreSQL
<a name="make-additional-changes-to-your-perl-based-or-python-based-application-to-support-postgresql"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Convierta construcciones adicionales de SQL Server a PostgreSQL. | Los siguientes cambios se aplican a todas las aplicaciones, independientemente del lenguaje de programación.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Desarrollador de aplicaciones | 

### Mejoró el desempeño
<a name="improve-performance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Aproveche los servicios de AWS para mejorar el rendimiento. | Al migrar a la nube de AWS, puede refinar el diseño de sus aplicaciones y bases de datos para aprovechar los servicios de AWS. Por ejemplo, si las consultas de su aplicación Python, que está conectada a un servidor de bases de datos compatible con Aurora PostgreSQL, tardan más que las consultas originales de Microsoft SQL Server, podría considerar la posibilidad de crear una fuente de datos históricos directamente a un bucket de Amazon Simple Storage Service (Amazon S3) desde el servidor Aurora y utilizar consultas SQL basadas en Amazon Athena para generar informes y consultas de datos analíticos para sus usuarios. cuadros de mando. | Desarrollador de aplicaciones, arquitecto de la nube | 

## Recursos relacionados
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-resources"></a>
+ [Perl](https://www.perl.org/)
+ [Módulo Perl DBI](https://metacpan.org/pod/DBI)
+ [Python](https://www.python.org/)
+ [psycopg2](https://pypi.org/project/psycopg2/)
+ [SQLAlchemy](https://www.sqlalchemy.org/)
+ [Copia masiva - PostgreSQL](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ [Copia masiva - Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15)
+ [PostgreSQL](https://www.postgresql.org/)
+ [Uso de Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)

## Información adicional
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-additional"></a>

Tanto Microsoft SQL Server como Aurora PostgreSQL son compatibles con ANSI SQL. Sin embargo, debe tener en cuenta cualquier incompatibilidad en la sintaxis, los tipos de datos de columnas, las funciones nativas específicas de las bases de datos, las inserciones masivas y la distinción entre mayúsculas y minúsculas cuando migre su aplicación de Python o Perl de SQL Server a PostgreSQL.

Las siguientes secciones brindan más información sobre posibles inconsistencias.

**Comparación de tipos de datos**

Los cambios en el tipo de datos de SQL Server a PostgreSQL pueden provocar diferencias significativas en los datos resultantes en los que funcionan las aplicaciones. Para ver una comparación de los tipos de datos, consulte la tabla del [sitio web de Sqlines](https://www.sqlines.com/sql-server-to-postgresql).

**Funciones SQL nativas o integradas**

El comportamiento de algunas funciones difiere entre las bases de datos de SQL Server y PostgreSQL. La siguiente tabla muestra una comparación.


| 
| 
| Microsoft SQL Server | Description (Descripción) | PostgreSQL | 
| --- |--- |--- |
| `CAST`  | Convierte un valor de un tipo de datos a otro tipo. | PostgreSQL `type :: operator` | 
| `GETDATE()` | Devuelve la fecha y la hora del sistema de base de datos actual, en un formato `YYYY-MM-DD hh:mm:ss.mmm`. | `CLOCK_TIMESTAMP` | 
| `DATEADD` | Añade un time/date intervalo a una fecha. | `INTERVAL` expression | 
| `CONVERT` | Convierte un valor en un formato de datos específico. | `TO_CHAR` | 
| `DATEDIFF` | Devuelve la diferencia entre dos campos de fecha. | `DATE_PART` | 
| `TOP` | Limita el número de filas de un conjunto de resultados de `SELECT`. | `LIMIT/FETCH` | 

**Bloques anónimos**

Una consulta SQL estructurada se organiza en secciones como la declaración, los ejecutables y el manejo de excepciones. En la siguiente tabla se comparan las versiones Microsoft SQL Server y PostgreSQL de un bloque anónimo simple. En el caso de bloques anónimos complejos, le recomendamos que llame una función de base de datos personalizada en su aplicación.


| 
| 
| Microsoft SQL Server | PostgreSQL | 
| --- |--- |
| <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sqlqry = "BEGIN TRAN<br />$sql_qry1 $sql_qry2<br />if @\@error !=0 ROLLBACK<br />TRAN<br />else COMIT TRAN";</pre> | <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sql_qry = " DO \$\$<br />BEGIN<br />$header_sql $content_sql<br />END<br />\$\$";</pre> | 

 

**Otras diferencias**
+ **Inserciones masivas de filas:** el equivalente en PostgreSQL de la [utilidad bcp de Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) es [COPY](https://www.postgresql.org/docs/9.2/sql-copy.html).
+ **Distinción entre mayúsculas y minúsculas:** los nombres de las columnas distinguen entre mayúsculas y minúsculas en PostgreSQL, por lo que debe convertir los nombres de las columnas de SQL Server a minúsculas o mayúsculas. Esto se convierte en un factor al extraer o comparar datos, o al colocar los nombres de las columnas en los conjuntos de resultados o las variables. El siguiente ejemplo identifica las columnas en las que los valores se pueden almacenar en mayúsculas o minúsculas.

```
my $sql_qry = "SELECT $record_id FROM $exampleTable WHERE LOWER($record_name) = \'failed transaction\'"; 
```
+ **Concatenación: **SQL Server usa `+` como operador para la concatenación de cadenas, mientras que PostgreSQL usa `||`.
+ **Validación: **debe probar y validar las consultas y funciones de SQL en línea antes de usarlas en el código de la aplicación para PostgreSQL.
+ **Inclusión de la biblioteca ORM:** también puede buscar incluir o reemplazar la biblioteca de conexiones de bases de datos existente con bibliotecas ORM de Python, como [SQLAlchemy](https://www.sqlalchemy.org/)[PynomoDB](https://pynamodb.readthedocs.io/en/latest/quickstart.html). Esto ayudará a consultar y manipular fácilmente los datos de una base de datos utilizando un paradigma orientado a objetos.

# Patrones de migración por carga de trabajo
<a name="migration-migration-patterns-by-workload-pattern-list"></a>

**Topics**
+ [IBM](migration-migration-patterns-by-workload-ibm-pattern-list.md)
+ [Microsoft](migration-migration-patterns-by-workload-microsoft-pattern-list.md)
+ [N/A](migration-migration-patterns-by-workload-notapplicable-pattern-list.md)
+ [Código abierto](migration-migration-patterns-by-workload-open-source-pattern-list.md)
+ [Oracle](migration-migration-patterns-by-workload-oracle-pattern-list.md)
+ [SAP](migration-migration-patterns-by-workload-sap-pattern-list.md)

# IBM
<a name="migration-migration-patterns-by-workload-ibm-pattern-list"></a>

**Topics**
+ [Migre una base de datos Db2 de Amazon EC2 a Aurora compatible con MySQL mediante AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migre Db2 for LUW a Amazon EC2 mediante el envío de registros para reducir el tiempo de interrupción](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migración de Db2 para LUW a Amazon EC2 con recuperación de desastres de alta disponibilidad](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migre de IBM Db2 en Amazon EC2 a Aurora compatible con PostgreSQL mediante AWS DMS y AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)

# Microsoft
<a name="migration-migration-patterns-by-workload-microsoft-pattern-list"></a>

**Topics**
+ [Acelere el descubrimiento y la migración de las cargas de trabajo de Microsoft a AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Cambie las aplicaciones de Python y Perl para que admitan la migración de bases de datos de Microsoft SQL Server a una edición compatible con PostgreSQL de Amazon Aurora](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)
+ [Cree CloudFormation plantillas de AWS para las tareas de AWS DMS con Microsoft Excel y Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Exportación de una base de datos de Microsoft SQL Server a Amazon S3 mediante AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Implemente SHA1 el hash para los datos de PII al migrar de SQL Server a PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Incorpore y migre instancias de EC2 Windows a una cuenta de AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migración de una cola de mensajes de Microsoft Azure Service Bus a Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migre una base de datos de Microsoft SQL Server de Amazon EC2 a Amazon DocumentDB mediante AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migración de una base de datos de Microsoft SQL Server a Aurora MySQL mediante AWS DMS y AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migración de una aplicación .NET de Microsoft Azure App Service a AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migre una base de datos local de Microsoft SQL Server a Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migración de bases de datos en las instalaciones de Microsoft SQL Server a Amazon RDS para SQL Server mediante servidores vinculados](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon RDS para SQL Server mediante métodos nativos de copia de seguridad y restauración](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migración de una base de datos de Microsoft SQL Server en las instalaciones a Amazon Redshift mediante AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migración de una base de datos en las instalaciones de Microsoft SQL Server a Amazon Redshift mediante agentes de extracción de datos de AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migre una base de datos local de Microsoft SQL Server a Microsoft SQL Server en Amazon EC2 con Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migración de datos de Microsoft Azure Blob a Amazon S3 mediante Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migre aplicaciones alojadas en IIS a Amazon EC2 mediante appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migre una base de datos local de Microsoft SQL Server a Amazon EC2 mediante Application Migration Service](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migración de los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Vuelva a alojar las cargas de trabajo en las instalaciones en la nube de AWS: lista de verificación de migración](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Resolver los errores de conexión después de migrar Microsoft SQL Server a la nube de AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Configure una infraestructura Multi-AZ para una FCI Always On de SQL Server mediante Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)

# N/A
<a name="migration-migration-patterns-by-workload-notapplicable-pattern-list"></a>

**Topics**
+ [Cree un proceso de aprobación para las solicitudes de firewall durante una migración de realojamiento a AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)

# Código abierto
<a name="migration-migration-patterns-by-workload-open-source-pattern-list"></a>

**Topics**
+ [Crear usuarios y roles de aplicaciones en Aurora compatible con PostgreSQL](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Migre Amazon RDS for Oracle a Amazon RDS for PostgreSQL con y utilizando y AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migración de una base de datos de MariaDB en las instalaciones hasta Amazon RDS para MariaDB mediante herramientas nativas](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migración de una base de datos MySQL en las instalaciones a Amazon RDS para MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migración de una base de datos de MySQL en las instalaciones a Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migración de una base de datos PostgreSQL en las instalaciones a Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migrar una base de datos de Couchbase Server a Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migre de IBM WebSphere Application Server a Apache Tomcat en Amazon EC2 con Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migre de PostgreSQL en EC2 Amazon a Amazon RDS para PostgreSQL mediante pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migración de aplicaciones Java locales en las instalaciones a AWS mediante AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migre bases de datos MySQL locales a Aurora MySQL mediante Percona, XtraBackup Amazon EFS y Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migración de tablas externas de Oracle a Amazon Aurora compatible con PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Reinicie el AWS Replication Agent automáticamente sin deshabilitarlo SELinux después de reiniciar un servidor fuente de RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Transportar bases de datos PostgreSQL entre dos instancias de base de datos de Amazon RDS utilizando pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Oracle
<a name="migration-migration-patterns-by-workload-oracle-pattern-list"></a>

**Topics**
+ [Convierta VARCHAR2 (1) el tipo de datos de Oracle en un tipo de datos booleano para Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Emule Oracle DR mediante una base de datos global de Aurora compatible con PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Migración gradual de Amazon RDS para Oracle a Amazon RDS para PostgreSQL con Oracle SQL Developer y AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Cargar archivos BLOB en TEXT mediante la codificación de archivos en Aurora compatible con PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migración de Amazon RDS para Oracle a Amazon RDS para PostgreSQL en modo SSL mediante AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migre una base de datos de Amazon RDS for Oracle a Cuenta de AWS otra Región de AWS y AWS DMS utilícela para la replicación continua](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migre una base de datos Oracle local a Amazon EC2 mediante Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migre una base de datos Oracle local a Amazon OpenSearch Service mediante Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para MySQL con AWS DMS y AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para Oracle mediante Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migración de una base de datos de Oracle en las instalaciones a Amazon RDS para PostgreSQL mediante Oracle Bystander y AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migre una base de datos Oracle local a Oracle on Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migre una base de datos Oracle de Amazon EC2 a Amazon RDS para MariaDB con AWS DMS y AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migre una base de datos Oracle de Amazon EC2 a Amazon RDS for Oracle mediante AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migre una base de datos Oracle a Amazon RDS for Oracle mediante adaptadores de archivos planos de GoldenGate Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Migración de una base de datos de Oracle a Amazon Redshift con AWS DMS y AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migración de una base de datos de Oracle a Aurora PostgreSQL con AWS DMS y AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migre una EnterpriseOne base de datos de Oracle JD Edwards a AWS mediante Oracle Data Pump y AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migración de una tabla particionada de Oracle a PostgreSQL mediante AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migre una PeopleSoft base de datos de Oracle a AWS mediante AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migración de datos de una base de datos de Oracle en las instalaciones a Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migración de de Amazon RDS para Oracle a Amazon RDS para MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migración de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante la vista materializada y AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migre de Oracle 8i o 9i a Amazon RDS para PostgreSQL mediante AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migre de Oracle Database a Amazon RDS for PostgreSQL mediante Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migración de Oracle en Amazon EC2 a Amazon RDS para MySQL con AWS DMS y AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migre de Oracle WebLogic a Apache Tomcat (ToMEE) en Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migración de índices basados en funciones de Oracle a PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migración de aplicaciones heredadas de Oracle Pro\$1C a ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migración de valores CLOB de Oracle a filas individuales en PostgreSQL en AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migración de códigos de error de Oracle Database a una base de datos Amazon Aurora compatible con PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migración de las funciones nativas de Oracle a PostgreSQL mediante extensiones](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migre Oracle PeopleSoft a Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migración de la funcionalidad ROWIdentificador de Oracle a PostgreSQL en AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migración de los paquetes pragma SERIALLY\$1REUTILIZABLE de Oracle a PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migración de columnas generadas de forma virtual de Oracle a PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configure la funcionalidad UTL\$1FILE de Oracle en Aurora compatible con PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Validar los objetos de la base de datos después de migrar de Oracle a Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# SAP
<a name="migration-migration-patterns-by-workload-sap-pattern-list"></a>

**Topics**
+ [Migración de SAP ASE a Amazon RDS para SQL Server utilizando AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migre SAP ASE de Amazon EC2 a Amazon Aurora compatible con PostgreSQL mediante AWS SCT y AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)

# Más patrones
<a name="migration-more-patterns-pattern-list"></a>

**Topics**
+ [Acceda Servicios de AWS desde IBM z/OS instalando el AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Evaluar el rendimiento de las consultas para migrar bases de datos de SQL Server a MongoDB Atlas en AWS](assess-query-performance-for-migrating-sql-server-databases-to-mongodb-atlas-on-aws.md)
+ [Automatización de la conmutación por error y la conmutación por recuperación entre regiones mediante DR Orchestrator Framework](automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.md)
+ [Automatice las tareas de bases de datos en SQL Server Express en Amazon EC2 mediante un programador AWS Lambda de tareas](automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.md)
+ [Cree un visor de archivos de unidad central avanzada en la nube de AWS](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Conéctese a los planos de datos y control del Servicio de Migración de Aplicaciones a través de una red privada](connect-to-application-migration-service-data-and-control-planes-over-a-private-network.md)
+ [Almacenamiento en contenedores de las cargas de trabajo de mainframe que Blu Age ha modernizado](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [Convertir consultas JSON de Oracle en SQL de bases de datos PostgreSQL](convert-json-oracle-queries-into-postgresql-database-sql.md)
+ [Convierta la característica temporal NORMALIZE de Teradata en Amazon Redshift SQL](convert-the-teradata-normalize-temporal-feature-to-amazon-redshift-sql.md)
+ [Convierta la característica RESET WHEN de Teradata en Amazon Redshift SQL](convert-the-teradata-reset-when-feature-to-amazon-redshift-sql.md)
+ [Copie tablas de Amazon DynamoDB entre cuentas mediante AWS Backup](copy-amazon-dynamodb-tables-across-accounts-using-aws-backup.md)
+ [Implemente un clúster de Cassandra en Amazon EC2 con estática privada IPs para evitar el reequilibrio](deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.md)
+ [Implemente aplicaciones de varias pilas mediante AWS CDK con TypeScript](deploy-multiple-stack-applications-using-aws-cdk-with-typescript.md)
+ [Implemente instancias de clústeres de conmutación por error de SQL Server en Amazon EC2 y Amazon FSx mediante Terraform](deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.md)
+ [Emule las matrices PL/SQL asociativas de Oracle en Amazon Aurora PostgreSQL y Amazon RDS for PostgreSQL](emulate-oracle-plsql-associative-arrays-in-aurora-and-rds-postgresql.md)
+ [Calcule el tamaño del motor de Amazon RDS para una base de datos de Oracle mediante informes de AWR](estimate-the-amazon-rds-engine-size-for-an-oracle-database-by-using-awr-reports.md)
+ [Genere información de datos mediante AWS Mainframe Modernization Amazon Q en Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Gestionar bloques anónimos en instrucciones SQL dinámicas en Aurora PostgreSQL](handle-anonymous-blocks-in-dynamic-sql-statements-in-aurora-postgresql.md)
+ [Identificación automática de las imágenes de contenedor duplicadas al migrar a un repositorio de Amazon ECR](identify-duplicate-container-images-automatically-when-migrating-to-ecr-repository.md)
+ [Configure un clúster de conmutación por error de Microsoft SQL Server en Amazon EC2 FSx mediante Windows File Server](microsoft-sql-failover-cluster-on-amazon-ec2.md)
+ [Migración de cargas de trabajo de Apache Cassandra a Amazon Keyspaces mediante AWS Glue](migrate-apache-cassandra-workloads-to-amazon-keyspaces-by-using-aws-glue.md)
+ [Migre sus cargas de trabajo de contenedores de Azure Red Hat OpenShift (ARO) a Red Hat OpenShift Service en AWS (ROSA)](migrate-container-workloads-from-aro-to-rosa.md)
+ [Migre de Oracle 8i o 9i a Amazon RDS para Oracle con AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.md)
+ [Migre el grupo de disponibilidad Always On de Microsoft SQL Server mediante AWS Application Migration Service](migrate-microsoft-sql-server-always-on-group-using-mgn.md)
+ [Migración de funciones y procedimientos de Oracle con más de 100 argumentos a PostgreSQL](migrate-oracle-functions-and-procedures-that-have-more-than-100-arguments-to-postgresql.md)
+ [Migración de SAP HANA a AWS mediante SAP HSR con el mismo nombre de host](migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.md)
+ [Migración de SQL Server a AWS mediante grupos de disponibilidad distribuidos](migrate-sql-server-to-aws-using-distributed-availability-groups.md)
+ [Modernice e implemente aplicaciones de mainframe con Terraform AWS Transform](modernize-mainframe-app-transform-terraform.md)
+ [Modernizar las cargas de trabajo de impresión en línea de mainframe en AWS mediante Micro Focus Enterprise Server y LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Modernice la administración de la producción del mainframe AWS mediante Rocket Enterprise Server y LRS X PageCenter](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Cómo modificar los encabezados HTTP al migrar de F5 a un equilibrador de carga de aplicación en AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Administración de la conmutación por error de multi-AZ para clústeres de EMR mediante el Controlador de recuperación de aplicaciones](multi-az-failover-spark-emr-clusters-arc.md)
+ [Análisis de las dependencias de los objetos para realizar migraciones parciales de bases de datos de Oracle a PostgreSQL](multilevel-object-analysis-for-database-migration-from-oracle-to-postgresql.md)
+ [Configure una CI/CD canalización para la migración de bases de datos mediante Terraform](set-up-ci-cd-pipeline-for-db-migration-with-terraform.md)
+ [Configure la recuperación ante desastres para Oracle JD Edwards EnterpriseOne con AWS Elastic Disaster Recovery](set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.md)
+ [Simplifique la administración de certificados privados mediante AWS Private CA y AWS RAM](simplify-private-certificate-management-by-using-aws-private-ca-and-aws-ram.md)
+ [Transfiera z/OS datos de Db2 a gran escala a Amazon S3 en archivos CSV](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Transforma Easytrieve a idiomas modernos mediante el uso personalizado AWS Transform](transform-easytrieve-modern-languages.md)