Servicio de base de datos relacional (RDS) de AWS es un servicio gestionado para las bases de datos relacionales más utilizadas; estos incluyen las bases de datos Oracle, MySQL, PostgreSQL y SQL Server. Un servicio gestionado incluye la automatización de tareas, como la copia de seguridad y la restauración, que normalmente realizaría un DBA. RDS no incluye una plataforma de cliente desde la cual se pueda conectar una base de datos y acceder a tablas y datos. Aunque las herramientas de cliente específicas de la base de datos, como SQL*Plus para Oracle Database, MySQL Command Line Interface (CLI) para la base de datos MySQL y psql para una base de datos PostgreSQL, podrían usarse para conectarse a una base de datos, estas herramientas de cliente carecen de las funciones de base de datos que un proporciona un entorno de desarrollo integrado (IDE) con una GUI (interfaz gráfica de usuario). JDeveloper proporciona características específicas de la base de datos, incluido un asistente de conexión, una hoja de trabajo SQL y varias otras características para explorar un conjunto de resultados. En este artículo, discutiremos el uso de JDeveloper con bases de datos Oracle y MySQL en RDS. Este artículo tiene las siguientes secciones:
- Configuración del entorno
- Uso de JDeveloper con la base de datos MySQL
- Crear una instancia de base de datos MySQL en RDS
- Modificar la instancia de la base de datos MySQL
- Conclusión
Configuración del entorno
Descargue e instale Oracle JDeveloper 12c. Cree una cuenta de AWS en https://aws.amazon.com/resources/create-account/ .
Uso de JDeveloper con base de datos MySQL
Oracle JDeveloper proporciona soporte integrado para la base de datos MySQL. En las siguientes subsecciones, analizaremos la creación de una instancia de base de datos MySQL en AWS RDS y la conexión a la base de datos con JDeveloper. Se utiliza la nueva consola RDS, en la que se han solucionado algunos problemas de usabilidad.
Crear una instancia de base de datos MySQL en RDS
Para crear una instancia de base de datos MySQL en RDS, seleccione el servicio RDS y haga clic en Comenzar ahora , como se muestra en la Figura 1.
Figura 1: RDS>Comenzar ahora
En Seleccionar motor , seleccione MySQL, como se muestra en la Figura 2. El motor MySQL admite bases de datos de hasta 16 TB y ofrece hasta 32 vCPU y 244 GB de memoria. Se admiten copias de seguridad automatizadas en S3 y recuperación de un momento dado. También se admiten réplicas de lectura entre regiones.
Figura 2: Selección del motor MySQL
Seleccione la casilla de verificación Habilitar solo las opciones elegibles para el nivel de uso gratuito de RDS y haga clic en Siguiente, como se muestra en la Figura 3.
Figura 3: Seleccione Motor>Siguiente
A continuación, elija el caso de uso, como se muestra en la Figura 4. Seleccione Dev/Test – MySQL y haga clic en Siguiente. Las otras opciones son Producción:Amazon Aurora y Producción:MySQL . Amazon Aurora es una base de datos disponible solo en AWS RDS y es compatible con bases de datos MySQL y PostgreSQL.
Figura 4: Selección de caso de uso como desarrollo/prueba:MySQL
Especifique los detalles de la base de datos, como se muestra en la Figura 5. Primero, especifique las especificaciones de la instancia en el que se mantiene la selección predeterminada para Modelo de licencia como licencia pública general . Seleccione una versión del motor de base de datos , la configuración predeterminada es mysql 5.6.37 .
Figura 5: Especificación de detalles de base de datos>Especificaciones de instancia
Con la casilla de verificación Habilitar solo las opciones elegibles para el nivel de uso gratuito de RDS seleccionada, una clase de instancia de base de datos (db.t2.micro) (consulte la Figura 6). El tipo de almacenamiento es de uso general (SSD) de forma predeterminada para el nivel gratuito. Mantenga la configuración predeterminada para el almacenamiento asignado como 20 GB.
Figura 6: Selección de una clase de instancia de base de datos y almacenamiento
En la sección Especificar detalles de base de datos en la subsección Configuración, especifique un identificador de instancia de base de datos (mysqldb), como se muestra en la Figura 7. Especifique un nombre de usuario maestro (dvohra) y una contraseña maestra, que debe tener al menos 8 caracteres. El nombre de usuario maestro se puede restablecer, si es necesario, como veremos en la sección Modificación de la instancia de la base de datos MySQL.
Figura 7: Configuración de la base de datos
En Configurar ajustes avanzados, seleccione una VPC y un grupo de subred, como se muestra en la Figura 8. La configuración predeterminada para Accesibilidad pública es No, lo que no asigna una IP pública a la instancia de base de datos de RDS y la instancia de base de datos es inaccesible fuera de la VPC en la que se encuentra. creado.
Figura 8: Selección de opciones de red para VPC y grupo de subred
La zona de disponibilidad está configurada en Sin preferencias de forma predeterminada, como se muestra en la Figura 9. Seleccione la opción para Crear un nuevo grupo de seguridad de VPC, como se muestra en la Figura 9.
Figura 9: Selección de la zona de disponibilidad y el grupo de seguridad de VPC
En las opciones de la base de datos, especifique un nombre de la base de datos (mysqldb), como se muestra en la Figura 10. Seleccione la configuración predeterminada del puerto de la base de datos de 3306. Seleccione el grupo de opciones predeterminado y la configuración de autenticación de la base de datos de IAM.
Figura 10: Opciones de base de datos
Mantenga la configuración predeterminada para Cifrado, Copia de seguridad, Supervisión y Mantenimiento y haga clic en Iniciar instancia de base de datos (consulte la Figura 11).
Figura 11: Iniciar instancia de base de datos
Aparece el mensaje "Su instancia de base de datos se está creando", como se muestra en la Figura 12. Haga clic en Ver detalles de la instancia de base de datos.
Figura 12: Ver detalles de la instancia de base de datos
El resumen de la base de datos mysqldb se muestra como se muestra en la Figura 13. Inicialmente, el estado de la instancia de la base de datos aparece como "creando..."
Figura 13: Resumen de instancias de base de datos MySQL
En Dashboard>Instances, la instancia de base de datos mysqldb aparece como "creando", como se muestra en la Figura 14.
Figura 14: Instancia de base de datos MySQL mysqldb Creación
Cuando se ha creado la instancia de base de datos mysqldb, el Estado pasa a estar disponible, como se muestra en la Figura 15.
Figura 15: Instancia de base de datos MySQL mysqldb Creación
Modificar la instancia de la base de datos MySQL
Incluso si se aplican todas las configuraciones requeridas al crear una nueva instancia de base de datos MySQL, no debería ser necesario modificar una instancia. Pero, si alguna configuración necesita modificarse porque no es óptima o no es precisa, RDS tiene la disposición de modificar una instancia. Como ejemplo, la configuración predeterminada de Accesibilidad pública es No, como se muestra en la Figura 8. Para JDeveloper en una máquina local, o cualquier máquina que no esté en la misma VPC que la instancia de base de datos de RDS para poder acceder a RDS, el Instancia de base de datos Accesibilidad pública debe establecerse en Sí. La modificación realizada en esta sección solo debe realizarse si JDeveloper no está en la misma VPC que la instancia de base de datos de RDS, lo que sería cierto si JDeveloper está instalado en una máquina local.
Para modificar la instancia de mysqldb, seleccione la instancia en RDS>Instancias y seleccione Acciones de la instancia>Modificar (consulte la Figura 16).
Figura 16: mysqldb>Acciones de instancia>Modificar
El asistente RDS>Instances>Modify se muestra como se muestra en la Figura 17. Como no necesitamos modificar ninguna de las especificaciones de la instancia, desplácese hacia abajo para ver otras configuraciones.
Figura 17: RDS>Instancias>Modificar
En Configuración, se requiere establecer una nueva contraseña maestra al modificar una instancia, como se muestra en la Figura 18.
Figura 18: Configuración de una nueva contraseña maestra
Desplácese hacia abajo para mostrar la sección Red y seguridad. Seleccione Accesibilidad pública como Sí, como se muestra en la Figura 19.
Figura 19: Seleccionando Accesibilidad pública como Sí
Desplácese hacia abajo aún más y mantenga todas las demás configuraciones iguales. Haga clic en Continuar, como se muestra en la Figura 20.
Figura 20: Modificar instancia de base de datos:mysqldb> Continuar
En Resumen de Modificaciones, se muestran los ajustes a modificar (ver Figura 21). El único atributo enumerado es Accesible públicamente y su valor actual es No y el valor nuevo es Sí. En Programación de modificaciones, se proporcionan dos opciones:Aplicar durante la próxima ventana de mantenimiento programada y Aplicar inmediatamente. Una base de datos tiene que estar disponible para poder aplicar modificaciones. Si la base de datos no está disponible, como si la base de datos se está creando o ya se está modificando, no se deben aplicar nuevas modificaciones. Haga clic en Modificar instancia de base de datos.
Figura 21: Modificar instancia de base de datos
El estado de la instancia de RDS pasa a ser "modificando", como se muestra en la Figura 22.
Figura 22: Modificación de instancia de RDS
Cuando la instancia se ha modificado, el Estado pasa a ser "disponible", como se muestra en la Figura 23.
Figura 23: Instancia de base de datos de RDS mysqldb disponible
La instancia de mysqldb modificada debe incluir Accesible públicamente como Sí, como se muestra en la Figura 24.
Figura 24: La instancia modificada es de acceso público
Conclusión
En este artículo, discutimos el uso de Oracle JDeveloper para conectarse a instancias de MySQL y Oracle Database en AWS Relational Database Service (RDS). Algunas de las características de configuración más destacadas son:
- Si JDeveloper está en una VPC diferente a la instancia de base de datos de RDS, la instancia de base de datos de RDS debe ser de acceso público.
- Se debe agregar una regla de entrada del grupo de seguridad para la dirección IP de la máquina en la que está instalado JDeveloper.
- Oracle Database en RDS no permite el acceso al usuario SYS. Si se requiere un usuario SYS, o si se requieren privilegios SYSDBA para cualquier aplicación, Oracle Database en RDS no es una opción adecuada.