Migre Amazon RDS for Oracle a Amazon RDS for Postgre SQL en SSL modo mediante AWS DMS - Recomendaciones de AWS

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.

Migre Amazon RDS for Oracle a Amazon RDS for Postgre SQL en SSL modo mediante AWS DMS

Creado por Pinesh Singal () AWS

Entorno: PoC o piloto

Fuente: Amazon RDS para Oracle

Objetivo: Amazon RDS Postgre SQL

Tipo R: renovar arquitectura

Carga de trabajo: Oracle; código abierto

Tecnologías: migración; seguridad, identidad y conformidad; bases de datos; análisis; lagos de datos

AWSservicios: Amazon AWS DMS RDS AWSSCT; consola AWS de administración; Amazon Connect; Amazon CloudWatch Logs; Amazon CloudWatch

Resumen

Este patrón proporciona orientación para migrar una instancia de base de datos de Amazon Relational Database Service (RDSAmazon) para Oracle a una base de datos de RDS Amazon for SQL Postgre 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 SSL modo en Amazon RDS y AWS Database Migration Service (AWSDMS).

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 SSL se utiliza al transferir los datos.

Este patrón utiliza la herramienta AWS Schema Conversion Tool (AWSSCT) para convertir el esquema de base de datos de Amazon RDS for Oracle en un esquema de Amazon RDS for PostgreSQL. A continuación, el patrón se utiliza AWS DMS para migrar los datos de la base de datos de Amazon RDS for Oracle a la base de datos de Amazon RDS for Postgre. SQL

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta activa AWS 

  • Autoridad RDS de certificación (CA) de bases de datos de Amazon configurada únicamente con rds-ca-rsa2048-g1

    • El certificado rds-ca-2019 vence en agosto de 2024

    • El certificado rds-ca-2015 expiró el 5 de marzo de 2020

  • AWS SCT

  • AWS DMS

  • pgAdmin

  • SQLherramientas (por ejemplo, SQL Developer o *Plus) SQL

Limitaciones

  • Base de datos Amazon RDS for Oracle: el requisito mínimo es para las versiones 19c de Oracle para las ediciones Enterprise y Standard Two.

  • SQLBase de datos Amazon RDS for Postgre: el requisito mínimo es para Postgre SQL versión 12 y versiones posteriores (para las versiones 9.x y posteriores).

Versiones de producto

  • Instancia de la base de datos Amazon RDS para Oracle versión 12.1.0.2

  • Instancia de la SQL base de datos Amazon RDS for Postgre versión 11.5

Arquitectura

Pila de tecnología de origen

  • Una instancia de base de datos de Amazon RDS for Oracle con la versión 12.1.0.2.v18.

Pila de tecnología de destino

  • AWS DMS

  • Una instancia de SQL base de datos de Amazon RDS for Postgre con la versión 11.5.

Arquitectura de destino

El siguiente diagrama muestra la arquitectura de migración de datos entre las bases de datos Oracle (origen) y Postgre SQL (destino). La arquitectura incluye lo siguiente:

  • Una nube privada virtual () VPC

  • Una zona de disponibilidad

  • Una subred privada

  • Una base de datos RDS de Amazon para Oracle

  • Una instancia AWS DMS de replicación

  • Y RDS para una base de datos de Postgreg SQL

Para cifrar las conexiones de las bases de datos de origen y destino, la CA y SSL el modo deben estar habilitados en Amazon RDS y AWSDMS.

Los datos se mueven entre RDS Oracle y AWS DMS Postgre y entre AWS DMS y RDS SQL Postgre.

Herramientas

AWSservicios

Otros servicios

  • pgAdmines una herramienta de administración de código abierto para Postgre. SQL Proporciona una interfaz gráfica que permite crear, mantener y utilizar objetos de bases de datos.

Prácticas recomendadas

Amazon RDS proporciona nuevos certificados de CA como práctica recomendada de AWS seguridad. Para obtener información sobre los nuevos certificados y las AWS regiones compatibles, consulte Uso deSSL/TLSpara cifrar una conexión a una instancia de base de datos o un clúster.

Si su RDS instancia cuenta actualmente con un certificado de CA y desea actualizarlo rds-ca-2019rds-ca-rsa2048-g1, siga las instrucciones que se indican en Actualización del certificado de CA mediante la modificación de la instancia de base de datos o el clúster o Actualización del certificado de CA mediante el mantenimiento.

Epics

TareaDescripciónHabilidades requeridas

Cree la instancia de base de datos de Oracle.

Inicia sesión en tu AWS cuenta, abre la consola AWS de administración y navega hasta la RDS consola de Amazon. En la consola, seleccione Create database (Crear base de datos) y, a continuación, Oracle.

En generalAWS, DBA

Configure grupos de seguridad.

Configure grupos de seguridad entrantes y salientes.

General AWS

Cree un grupo de opciones.

Cree un grupo de opciones en el mismo grupo VPC de seguridad que la base de datos de Amazon RDS for Oracle. En Opción, elija SSL. En Puerto, elija 2484 (para SSL conexiones).

General AWS

Configure los ajustes de las opciones.

Utilice los siguientes valores:

  • SQLNET.CIPHER_SUITE: SSL_RSA_WITH_AES_256_CBC_SHA

  • SQLNET.SSL_VERSION: 1.2 or 1.0

General AWS

Modifique la instancia RDS de base de datos de Oracle.

Establezca el certificado de CA como rds-ca-rsa2048-g1.

En Option group (Grupo de opciones), adjunte el grupo de opciones creado anteriormente.

DBA, General AWS

Confirme que la instancia RDS de base de datos de Oracle esté disponible.

Asegúrese de que la instancia de base de datos de Amazon RDS for Oracle esté activa y en ejecución y de que se pueda acceder al esquema de la base de datos.

Para conectarse a la RDS base de datos de Oracle, utilice el sqlplus comando de la línea de comandos.

$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019 Copyright (c) 1982, 2016, Oracle. All rights reserved. Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30 Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL>
DBA

Cree objetos y datos en la base de datos RDS para Oracle.

Cree objetos e inserte datos en el esquema.

DBA
TareaDescripciónHabilidades requeridas

Cree la base de datos RDS para PostgreSQL.

En la página Crear base de datos de Amazon RDS console, elija Postgre SQL para crear una instancia de base de datos de Amazon RDS for SQL Postgre.

DBA, General AWS

Configure grupos de seguridad.

Configure grupos de seguridad entrantes y salientes.

General AWS

Cree un grupo de parámetros.

Si utiliza la SQL versión 11.x de Postgre, cree un grupo de parámetros para establecer los parámetros. SSL En la SQL versión 12 de Postgre, el grupo de SSL parámetros está habilitado de forma predeterminada.

General AWS

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 configurar el rds.force_ssl parámetro en1, obligas a todas las conexiones a conectarse únicamente mediante SSL el modo.

General AWS

Modifique la instancia RDS de base de datos de PostgreSQL.

Establezca el certificado de CA como rds-ca-rsa 2048-g1.

Adjunte el grupo de parámetros predeterminado o el grupo de parámetros creado anteriormente, según su versión de Postgre. SQL

DBA, General AWS

Confirme que la SQL instancia RDS de base de datos de Postgre esté disponible.

Asegúrese de que la SQL base de datos de Amazon RDS for Postgre esté en funcionamiento.

El psql comando establece una SSL conexión con sslmode set 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 siguiente resultado muestra que la SSL conexión está establecida.

$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser" Password for user pguser: psql (11.3, server 11.5) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. pgdb=>

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 siguiente resultado muestra que la SSL conexión está establecida.

$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require" Password for user pguser: psql (11.3, server 11.5) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. pgdb=>
DBA
TareaDescripciónHabilidades requeridas

Instalar AWSSCT.

Instale la última versión de la AWS SCT aplicación.

General AWS

Configure AWS SCT con JDBC controladores.

Descargue los controladores Java Database Connectivity (JDBC) para Oracle (ojdbc8.jar) y Postgre (SQLpostgresql-42.2.5.jar).

Para configurar los controladores, seleccione Configuración, Configuración global y Controladores. AWS SCT

General AWS

Crea el AWS SCT proyecto.

Cree el AWS SCT proyecto y el informe con Oracle como motor de base de datos de origen y Amazon RDS for Postgre SQL como motor de base de datos de destino:

  1. Pruebe las conexiones a la base de datos Oracle de origen y a la base de datos de destino de Amazon RDS for Postgre SQL proporcionando los detalles de la conexión.

    Para la base de datos de Oracle de origen, se requieren los permisos o privilegios siguientes:

    • CONNECT

    • SELECT_CATALOG_ROLE

    • SELECT ANY DICTIONARY

    • SELECT on SYS.USER$ TO <sct_user>

    Para obtener más información, consulte Uso de Oracle Database como fuente de. AWS SCT

    Tanto las conexiones de origen como las de destino deben realizarse correctamente antes de AWS SCT poder iniciar el informe de migración.

  2. Tras el informe, especifique el esquema que desee convertir y seleccione Finish (Finalizar).

General AWS

Valide los objetos de la base de datos.

  1. Seleccione Load schema (Cargar esquema).

    AWSSCTmuestra los objetos de origen y de destino convertidos, incluidos los objetos que tienen errores. Actualice los objetos incorrectos en la base de datos de destino.

  2. Revise los errores y elimínelos mediante una intervención manual.

  3. Una vez eliminados todos los errores, vuelva a seleccionar Load schema (Cargar esquema).

  4. Seleccione Aplicar a la base de datos.

  5. Conéctese a pgAdmin cualquier herramienta que admita una conexión a Postgre SQL DB y compruebe el esquema y los objetos.

DBA, General AWS
TareaDescripciónHabilidades requeridas

Cree una instancia de replicación.

  1. Inicie sesión en su cuenta, abra la consola AWS de administración y navegue hasta la AWS DMS consola.

  2. Cree una instancia de replicación con una configuración válida para el grupo de seguridadVPC, la zona de disponibilidad y los atributos de conexión adicionales.

General AWS

Importe el certificado.

Descargue el paquete de certificados (PEM) para su AWS región.

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 aplicaciones solo necesita registrar el certificado de CA raíz.

General AWS

Cree el punto de conexión de origen.

  1. Cree un punto final de origen para Amazon RDS for Oracle seleccionando Seleccionar RDS instancia de base de datos y, a continuación, seleccionando la instancia RDS de base de datos de Oracle que ha creado. Los detalles de configuración del punto de conexión se rellenarán automáticamente.

  2. Seleccione Provide access information manually (Proporcionar información de acceso manualmente). En Port, asegúrese de especificar 2484.

  3. En el modo Secure Socket Layer (SSL)verify-ca, elija y, a continuación, elija el certificado de CA que creó anteriormente.

  4. En Endpoint settings (Configuración de punto de conexión), agregue el atributo de conexión adicional NumberDataTypeScale=-2 para admitir el tipo de datos NUMBER sin tamaño.

Para obtener más información, consulte Uso de una base de datos Oracle como fuente para AWS Database Migration Service.

General AWS

Cree el punto de conexión de destino.

  1. Cree un punto final de destino para Amazon RDS for Postgre SQL seleccionando Seleccionar instancia de base de datos y, a continuación, seleccionando su RDS instancia de base de datos RDS para SQL Postgre. Los detalles de configuración del punto de conexión se rellenarán automáticamente.

  2. Seleccione Provide access information manually (Proporcionar información de acceso manualmente). En Port, asegúrese de especificar 2484.

Para obtener más información, consulte Uso de una base de datos Postgre como destino para SQL AWS Database Migration Service.

General AWS

Pruebe los puntos de conexión.

  1. Pruebe los puntos de conexión de origen y destino para confirmar que ambos funcionen correctamente y estén disponibles.

  2. Si una prueba tiene errores, asegúrese de que las reglas de entrada del grupo de seguridad sean válidas.

General AWS

Cree tareas de migración.

Para crear una tarea de migración para la captura completa de datos y los cambios (CDC) o para la validación de datos, haga lo siguiente:

  1. Para crear una tarea de migración de base de datos, seleccione la instancia de replicación, el punto de conexión de la base de datos de origen y el punto de conexión de la base de datos de destino. Especifique el tipo de migración de una de las maneras siguientes:

    • Migración de datos existentes (carga completa)

    • Replique únicamente los cambios de datos (CDC)

    • Migre los datos existentes y replique los cambios en curso (a carga completa yCDC)

  2. En las asignaciones de tablas, puede configurar las reglas de selección y las reglas de transformación en nuestros formatosGUI: JSON

    • En Reglas de selección, seleccione el esquema, introduzca el nombre de la tabla y seleccione la acción (Incluir o Excluir) que desee configurar; por ejemplo, EsquemaORCL, Nombre de tabla% o Acción Incluir.

    • En Transformation rules (Reglas de transformación), realice una de las acciones siguientes:

      • Seleccione el esquema y elija la acción (mayúsculas y minúsculas, prefijo, sufijo); por ejemplo, Target Schema ORCL o Action Make a minúsculas.

      • Seleccione el esquema, introduzca el nombre de la tabla y elija la acción (mayúsculas, prefijo, sufijo); por ejemplo, Esquema de destinoORCL, Tabla% o Acción Convertir en minúsculas.

  3. Activa la supervisión de Amazon CloudWatch Logs.

  4. Para las reglas de mapeo, añade el siguiente JSON código.

    { "rules": [ { "rule-type": "transformation", "rule-id": "1", "rule-name": "1", "rule-target": "table", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "convert-lowercase", "value": null, "old-value": null }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "schema", "object-locator": { "schema-name": "ORCL", "table-name": "%" }, "rule-action": "convert-lowercase", "value": null, "old-value": null }, { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "ORCL", "table-name": "DEPT" }, "rule-action": "include", "filters": [] } ] }
General AWS

Planifique el ciclo de producción.

Confirme el tiempo de inactividad con las partes interesadas, como los propietarios de las aplicaciones, para que se ejecute AWS DMS en los sistemas de producción.

Líder de migración

Ejecute la tarea de migración.

  1. Inicie la AWS DMS tarea que tenga el estado Listo y supervise los registros de tareas de migración en Amazon CloudWatch para detectar cualquier error.

    Si seleccionó Migrar los datos existentes y replicar los cambios en curso como tipo de migración, y el estado es Cargar, completar la replicación en curso, la carga completa con la migración de CDC datos se ha completado y la validación está en curso.

  2. Tras iniciar la migración, puede obtener información adicional sobre la SSL conexión en CloudWatch. En el caso de Oracle, CloudWatch muestra la siguiente cadena de conexión.

    2019-12-17T09:15:11 [SOURCE_UNLOAD ]I: Connecting to Oracle: Beginning session (oracle_endpoint_conn.c:834)

    La cadena de SQL conexión de Postgre será similar a la del siguiente ejemplo.

    2019-12-17T09:15:11 [TARGET_LOAD ]I: Going to connect to ODBC connection string: PROTOCOL=7.4-0;DRIVER={PostgreSQL};SERVER=mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com;DATABASE=pgdb;PORT=5432;sslmode=require;UID=pguser; (odbc_endpoint_imp.c:2218)

General AWS

Valide los datos.

Revise los resultados y los datos de las tareas de migración en las bases de datos Oracle de origen y Postgre SQL de destino:

  1. Conéctese a su SQL base de datos de Postgre pgAdmin y compruébelos con el esquema. ORCL

  2. Para comprobar los cambios en cursoCDC, inserte o actualice los datos en la base de datos Oracle de origen.

DBA

Detenga la tarea de migración.

Tras completarse correctamente la validación de datos, detenga la tarea de migración.

General AWS
TareaDescripciónHabilidades requeridas

Elimine las AWS DMS tareas.

  1. En la AWS DMS consola, vaya a Tareas de migración de bases de datos y detenga cualquier AWS DMS tarea en curso o en ejecución.

  2. Seleccione la tarea o las tareas, luego, Actions y, a continuación, Delete (Borrar).

General AWS

Elimine los AWS DMS puntos finales.

Seleccione los puntos de conexión de origen y destino que creó, elija Actions y, a continuación Delete (Eliminar).

General AWS

Elimine la instancia de AWS DMS replicación.

Seleccione la instancia de replicación, elija Actions y, a continuación, Delete (Eliminar).

General AWS

Elimine la base de datos de Postgre. SQL

  1. En la RDS consola de Amazon, selecciona Bases de datos.

  2. Seleccione la instancia de SQL base de datos de Postgre que creó, elija Acciones y, a continuación, elija Eliminar.

General AWS

Elimine la base de datos de Oracle.

En la RDS consola de Amazon, seleccione la instancia de base de datos Oracle, elija Acciones y, a continuación, elija Eliminar.

General AWS

Resolución de problemas

ProblemaSolución

AWSSCTlas conexiones de prueba de origen y destino están fallando.

Configure las versiones de los JDBC controladores y las reglas de entrada de los grupos de VPC seguridad 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 AWS DMS error al ejecutar la tarea a plena carga.

Compruebe si las bases de datos de origen y destino tienen tipos y tamaños de datos coincidentes.

La tarea AWS DMS de migración de validación devuelve errores.

  1. Compruebe si la tabla tiene una clave principal. Las tablas sin clave principal no se validan.

  2. Si la tabla tiene una clave principal pero genera errores, compruebe el atributo de conexión adicional en el punto de conexión de origen. El atributo de conexión adicional debe tener numberDataTypeScale=-2 para admitir el tipo de datos NUMBER sin tamaño de forma dinámica en función de los datos disponibles en la tabla.

Recursos relacionados

Bases de datos

SSLConexión a base de datos

AWS SCT

AWS DMS

Información adicional

Los certificados rds-ca-201 9 de la Autoridad de RDS Certificación de Amazon vencerán en agosto de 2024. Si utiliza o planea usar SSL o TLS con la verificación de certificados para conectarse a sus RDS instancias de base de datos o clústeres de base de datos Multi-AZ, considere la posibilidad de utilizar uno de los nuevos certificados de CA:rds-ca-rsa2048-g1,rds-ca-rsa4096-g1, ords-ca-ecc384-g1.