En la primera parte de este artículo hemos visto cómo crear una cuenta en Amazon AWS para poder tener acceso al servicio RDS además de haber creado el usuario IAM.

Para ingresar a la consola de administrador de AWS, accedemos a la URL personalizada mediante el usuario IAM que hemos creado:

  • Cuenta: (nuestro alias)
  • Nombre de Usuario: (el usuario que creamos como administrador en el IAM)
  • Contraseña: ingresamos la contraseña del usuario IAM

Accedemos al servicio RDS y nos muestra la página de inicio de “Amazon Relational Database Service”:

Para crear una Instancia de la base de datos Oracle hacemos clic en el botón “Get Started Now”

Aparece la página para seleccionar el motor de base de datos que queremos utilizar. Seleccionamos Oracle:

Amazon nos ofrece diferentes opciones:

  • Oracle Standard Edition One
  • Oracle Standard Edition Two
  • Oracle Standard Edition
  • Oracle Enterprise Edition

Tanto Oracle SE One como Oracle SE Two nos brinda la licencia incluida de la base de datos. En mi caso seleccionaré la opción Oracle SE One.

Seleccionamos la instancia Dev/Test, y hacemos clic en el botón “Next Step”:

En la siguiente página seleccionaremos la versión de la base de datos, el tipo de Instancia, el tipo de almacenamiento, entre otras configuraciones como se muestra en la siguiente imagen:

La versión de la base de datos podemos seleccionar la 11 o 12, en mi caso usaremos la 11.2.0.4.v10.

Nota: Si disponemos de una licencia de la base de datos, podemos utilizarla aquí para que califique en la capa gratuita, seleccionado “bring-your-own-license”, en mí caso utilizaré license-included el cual tendrá costos asociados en el uso de la instancia en Amazon RDS.

Para estimar los costos de uso podemos utilizar la calculadora que nos provee Amazon desde el siguiente enlace:

En esta calculadora podemos estimar los costos que tendremos dependiendo lo que seleccionemos.

Por ejemplo al seleccionar la primera opción básica:

Details:db.t2.micro

  • TypeType: Micro Instance – Current Generation
  • vCPU: 1 vCPU
  • MemoryMemory: 1 GiB
  • EBS Optimized: No
  • Network Performance: Low
  • Free Tier Eligible: Yes

El costo mensual sería alrededor de 25,62 dólares.

Una vez seleccionadas las especificaciones de la Instancia, debemos ingresar las siguientes configuraciones en la parte inferior de la página:

  • DB Instance Identifier: Debemos especificar un nombre único para todas las instancias de BD pertenecientes a nuestra cuenta de AWS en la región actual. El identificador de instancia de la base de datos es case insensitive a mayúsculas y minúsculas, pero se almacena todo en minúsculas como por jemplo: “mydbinstance”
  • Master Username: Debemos especificar una cadena alfanumérica que defina el ID de inicio de sesión para el usuario maestro. Utilizamos el inicio de sesión del usuario maestro para comenzar a definir todos los usuarios, objetos y permisos en las bases de datos de nuestra instancia de base de datos. El nombre de usuario principal debe comenzar con una letra, como por ejemplo: “awsuser”.
  • Master Password: Debemos especificar una cadena que defina la contraseña para el usuario maestro. La contraseña maestra debe tener al menos ocho caracteres, como por ejemplo: “mypassword”.
  • Confirm Password: Repetimos la contraseña ingresada arriba.

Hacemos clic en el botón “Next Step”

Pasamos a la página de Configuraciones Avanzadas

Aquí seleccionamos las opciones dependiendo nuestras necesidades.

En el caso de Publicly Accessible vamos a seleccionar Yes, si queremos que las instancias de EC2 y los dispositivos fuera del VPC que aloja la instancia de la BD puedan conectarse a la instancia de DB. Si seleccionamos No, Amazon RDS no asignará una dirección IP pública a la instancia de la BD y ninguna instancia de EC2 o dispositivos fuera del VPC podrá conectarse. Si seleccionamos Yes, también debemos seleccionar uno o más grupos de seguridad VPC que especifiquen qué instancias y dispositivos EC2 pueden conectarse a la instancia de la base de datos.

En el caso de VPC Security Groups(s) seleccionamos el grupo o grupos que tiene las reglas de seguridad que autorizan las conexiones de todas las instancias de EC2 y dispositivos que necesitan acceder a los datos almacenados en la instancia de DB. De forma predeterminada, los grupos de seguridad no autorizan ninguna conexión; Debemos especificar reglas para todas las instancias y dispositivos que se conectarán a la instancia de la base de datos.

Además configuramos el backup y otras opciones disponibles en la parte inferior de la página:

Navegamos al final de la página y hacemos clic en el botón “Launch DB Instance”

El proceso de creación de la Instancia lleva unos minutos.

Desde el Dashboard de nuestro Amazon RDS podemos ver el status de la Instancia:

Crear un Grupo de Seguridad en VPC

Accedemos al Dashboard de nuestro Amazon RDS y podemos ver las configuraciones de nuestra instancia.

Si en “Supported Platforms” indica VPC, como se muestra en la captura de pantalla de abajo, nuestra cuenta AWS en la región actual utiliza la plataforma EC2-VPC y utiliza un VPC predeterminado. El nombre del VPC predeterminado se muestra debajo de la plataforma admitida. Para proporcionar acceso a una instancia de BD creada en la plataforma EC2-VPC, debemos crear un grupo de seguridad VPC.

Como ya tenemos un VPC creado por default, directamente vamos a crear un VPC Security Group.

Para mantener nuestra instancia de BD de Amazon RDS privada, necesitamos crear un segundo grupo de seguridad para el acceso privado.

Desde la consola de administración de Amazon AWS ingresamos al servicio VPC o desde el siguiente enlace: https://console.aws.amazon.com/vpc/.

Seleccionamos Security Groups:

Aparece la página de Grupo de Seguridad y hacemos clic en el botón “Create Security Group”

  • Name tag: customname-db-securitygroup
  • Group name: customname-db-securitygroup
  • Description: Custom Name DB Instance Security Group
  • VPC: Seleccionamos el VPC que se creó por defecto.

Hacemos clic en el botón “Yes, Create”.

Añadir inbound rules al security group

Desde la página de la Consola de Administración de nuestro AWS, abrimos el Amazon VPC.

Aparecerá la página de inicio de Amazon VPC y seleccionamos allí “Security Groups” y seleccionamos el grupo de seguridad “customname-db-securitygroup” que creamos en el procedimiento anterior.

Abajo seleccionamos el tab “Innound Rules” y elegimos “Edit”

Configuramos los siguientes valores:

Type: Oracle (1521)

Source: El identificador del grupo de seguridad customname-db-securitygroup que hemos creado anteriormente, por ejemplo: sg-xxxxxxxxxxx

Hacemos clic en el botón “Save”

El grupo de seguridad es algo así como un corta-fuego, definiendo las conexiones entrantes y salientes permitidas. El grupo de seguridad por defecto está configurado para no permitir conexiones entrantes desde el exterior. Eso significa que si no nos conectamos desde un Servidor Virtual en la Nube VPC, sino que nos conectamos desde nuestra PC, que es lo que vamos a hacer, la conexión será rechazada.

Para ello vamos a editar el grupo de seguridad por defecto y en el tab “Inbound” hacemos clic en el botón “Edit” y agregamos la siguiente regla:

  • Type: Custom TCP Rule
  • Protocol: TCP
  • Port Range: 1521
  • Source: Anywhere

Hacemos clic en el botón “Save”.

Conectarnos a nuestra Instancia de BD corriendo en el motor de la base de datos Oracle

Una vez que Amazon RDS nos proporciona nuestra instancia de base de datos, podemos utilizar cualquier aplicación cliente de SQL estándar para conectarnos a nuestra instancia.

En nuestro ejemplo vamos a conectarnos a la base de datos usando la utilidad de línea de comandos de Oracle el SQLPlus.

Abrimos la consola de Amazon RDS y seleccionamos la instancia.

En la línea de la instancia seleccionamos la flechita para expandir y acceder a la información de la instancia.

El campo Endpoint contiene parte de la información de conexión para nuestra instancia de Base de Datos. El campo Endpoint tiene dos partes separadas por dos puntos (:). La parte anterior a los dos puntos es el nombre DNS de la instancia, la parte que sigue a los dos puntos es el puerto.

En mi laptop tengo instalado el SQLPlus ya que tengo una instancia de la base de datos Oracle Express Edition corriendo para pruebas y los tutoriales que explico.

Haciendo uso del SQLPlus, abrimos una ventana de comandos del DOS e ingresamos la siguiente cadena de conexión:

PROMPT>sqlplus USER/PASSWORD@LONGER-THAN-63-CHARS-RDS-ENDPOINT-HERE:1521/DATABASE_IDENTIFIER

Por ejemplo:

PROMPT>sqlplus user/password@orcl.xxxxxxxx.us-west-2.rds.amazonaws.com:1521/orcl

Como podemos ver nos hemos conectado a nuestra instancia de la base de datos desde nuestra PC a nuestro Amazon RDS.

Conectarse a la Instancia de Base de Datos Oracle desde SQL Developer

Podemos utilizar el SQL Developer para conectarnos a la Instancia. Para ello abrimos la herramienta y creamos una nueva conexión:

En Hostname colocamos el endpoint de la instancia.

Y nos conectamos.

Podemos ver que no tenemos objetos creados en nuestra base de datos.

Podemos crear una tabla de ejemplo:

CREATE TABLE prueba
(id number,
Nombre varchar2(100),
Cargo varchar2(100));

Refrescamos y podemos ver la tabla creada:

De esta forma muy sencilla tenemos disponible una instancia de Oracle en la Nube de Amazon para poder trabajar en aprender y practicar.

Opciones para Instancias de Bases de Datos Oracle

Oracle Application Express se considera una característica de la base de datos Oracle. Para ello, si queremos utilizar esta característica necesitamos habilitarla en nuestra Instancia en Amazon RDS.

Estas son las versiones soportadas en Amazon RDS:

Amazon RDS Oracle DB version

Oracle Option Version

Oracle 11g

 

Oracle APEX version 4.1.1

Oracle APEX Listener 1.1.4

Oracle 12c

 

Oracle APEX version 4.2.6

Oracle Rest Data Services (ORDS)(the APEX listener)

 

Aún Amazon RDS no tiene la última versión de APEX como podemos ver en la documentación, si bien continuamente están actualizando los servicios, es probable que no pase mucho tiempo hasta que tengamos disponible la última versión de APEX, solo hay que esperar. [:)]

 

About the Author

Clarisa Maman Orfali

Clarisa is a System Engineer with more than 24 years of experience as a developer, teacher, and consultant in Information Technology. She was a Founder and CEO between 2013 to 2020 at ClarTech Solutions, Inc., a consulting firm specializing in Oracle APEX and Open Source technologies. Clarisa entered the world of Oracle technologies in 2009. After a few years, she discovered the power of application development with Oracle Application Express (APEX) and specialized in that area. Clarisa is from Argentina, and she is living and working in Irvine, California, in the United States. She's also a Co-Founder of the Argentina Oracle User Group (AROUG). In addition, she had actively participated in large and popular events such as the OTN Tour Argentina and Oracle APEX Tour Latin America after called Oracle Developer Tour. She's also authored the first three Spanish books about Oracle Application Express and recorded and published several Online Video Courses. She has a great passion for Oracle technologies and wants to expand that passion and influence, transferring her knowledge and experience to the entire Latin American and worldwide Oracle communities. You can always contact her through her Twitter account (@Clari707). Clarisa loves spending time with her family by enjoying outdoor activities with her two adored children, Melanie and Nicolas, as well as hanging out with her friends. Also, she loves traveling with her husband Julio worldwide and to takes new challenges at every moment of her life.

Start the discussion at forums.toadworld.com