En los tiempos en que vivimos, conocer los avances de la tecnología y cómo todo está orientado a la nube, me hizo pensar que es momento de empezar a incursionar en este tema y por ello he tenido la oportunidad de aprender un poco sobre estos servicios que ofrece Amazon AWS, en particular sobre el servicio RDS. En este artículo quiero compartir el paso a paso para disponer de una Instancia de prueba y estudio de la Base de Datos Oracle en Amazon RDS.

Como primer punto necesitamos conocer lo que es Amazon RDS (Relational Database Service). Amazon RDS es un servicio web con el cual podemos en forma muy sencilla  configurar, utilizar y escalar una base de datos relacional en la nube. Nos proporciona capacidad rentable y podemos escalar el tamaño según necesitemos y al mismo tiempo, administra las tediosas tareas de administración de la base de datos, lo que nos permite centrarnos en nuestras aplicaciones y en nuestro negocio. Podemos tener en Amazon RDS seis motores de bases de datos populares para elegir, incluido Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle y Microsoft SQL Server.

Una pregunta muy importante a hacerse a la hora de incursionar en la nube, es: Por qué queremos un servicio de base de datos administrado?

  • En primera instancia se encarga de las tareas tediosas de la gestión de la base de datos relacional.
  • Cuando compramos un Servidor, lo que obtenemos es un CPU, memoria, almacenamiento, IOPS (Input/Output operations per second), es decir, todos los componentes juntos. En cambio, adquiriendo el servicio de Amazon RDS, estos se dividen para que se pueda escalar de forma independiente. Por ejemplo, si necesitamos más CPU, menos IOPS o más almacenamiento, podemos asignarlos fácilmente.
  • Otro punto muy importante es que Amazon RDS administra las copias de seguridad, los parches de software, la detección automática de fallas y la recuperación.
  • Además Amazon RDS nos proporciona el acceso al shell de la instancia de la Base de Datos y restringe el acceso a ciertos procedimientos del sistema y tablas que requieren privilegios avanzados.
  • Podemos realizar copias de seguridad automatizadas cuando las necesitemos o crear nuestro propio snapshot de copia de seguridad. Estas copias de seguridad se pueden utilizar para restaurar una base de datos y el proceso de restauración de Amazon RDS funciona de manera fiable y eficiente.
  • Podemos obtener una alta disponibilidad con una instancia primaria y otra instancia secundaria sincrónica, que se puede activar cuando se producen problemas y errores.
  • Además se puede controlar quién puede acceder a nuestras bases de datos RDS mediante AWS IAM que nos permite definir usuarios y permisos.
  • Cuando usamos Amazon RDS, solo pagamos por lo que usamos, y no hay ningún costo mínimo o de configuración. (más adelante veremos cómo podemos estimar los costos del servicio usando el estimador que nos provee Amazon)

Configurando nuestro Amazon RDS

Amazon RDS es parte de los 70 servicios web que ofrece Amazon AWS. Para acceder al servicio RDS necesitamos crear en primera instancia una cuenta en AWS.

Lo interesante de este servicio es que con AWS solo pagamos por los servicios individuales que necesitamos durante el tiempo que los necesitamos, sin contratos a largo plazo ni licencias complejas. Los precios de AWS son similares a las tarifas de los servicios de agua o electricidad. Solo pagamos por lo que se consume y, una vez que cancelamos el servicio, no se aplican costos adicionales ni cuotas de cancelación.

Capa Gratuita para Amazon RDS

La capa gratuita de AWS para Amazon RDS nos permite usar de forma gratuita instancias de base de datos micro Single-AZ que se ejecutan en MySQL, MariaDB, PostgreSQL, Oracle (modelo de licencia "Bring-Your-Own-License [BYOL]") y SQL Server Express Edition. La capa de uso gratuita cuenta con 750 horas de instancias al mes. Los clientes también reciben 20 GB de almacenamiento de base de datos, 10 millones de E/S y 20 GB de almacenamiento de backup al mes de forma gratuita.

Configuración para Amazon RDS

Para disponer de una instancia de base de datos Oracle, debemos realizar ciertas tareas de configuración para Amazon RDS, las cuales están definidas como las siguientes:

  1. Crear una cuenta en Amazon AWS
  2. Crear un usuario IAM
  3. Determinar los Requerimientos
  4. Proporcionar acceso a la instancia de la base de datos (Parte II de este artículo)

1)     Crear una cuenta en Amazon AWS

Amazon Web Services utiliza información de nuestra cuenta de Amazon.com para identificarnos y brindarnos el acceso a Amazon Web Services.

Creamos las credenciales de inicio de sesión y hacemos clic en el botón “Crear Cuenta”.

 

Pasamos a la página de Información de Contacto, completamos la información y hacemos clic en el botón “Crear cuenta y continuar”.

 

 

 

Debemos ingresar nuestra información de Pago. Es importante destacar que haremos uso de la capa gratuita, es decir, tendremos la posibilidad de usar 750 horas en forma gratuita, después de pasado ese número ya nos espesaran a cobrar el uso del servicio, dependiendo lo que estemos usando.

 

 

Hacemos clic en el botón “Continuar”.

Realizamos la verificación de Identidad

 

Hacemos clic en el botón “Llamarme ahora”, y recibiremos una llamada de una máquina en el cual tendremos que ingresar el PIN que se mostrará en pantalla de nuestro smartphone, una vez realizado el ingreso del PIN veremos que la identificación se ha completado y luego tendremos que seleccionar el plan de soporte.

En mi caso seleccionaré el Plan de Soporte Básico que se encuentra incluido en el precio.

Hacemos clic en el botón “Continuar”.

Y finalmente llegamos a la página de “Bienvenida a Amazon Web Services”, en el cual para acceder a la Consola de Administración de AWS hacemos clic en Mi Cuenta:

Volverá a solicitar las credenciales de acceso.

Accedemos a la consola de administración de AWS:

Para acceder al servicio RDS, podemos desplegar todos los servicios y luego seleccionar RDS:

 

 

Se presentará la pantalla de inicio de Amazon Relational Database Services:

2)     Crear un usuario IAM

 

Los servicios en AWS, como el Amazon RDS requieren que nosotros proporcionemos credenciales cuando accedemos a ellos. Amazon aconseja que se utilice IAM (Identify and Access Managment) para acceder a nuestros servicios en AWS.

Vamos a crear un usuario IAM y luego asignarle los permisos de administración. Posteriormente nosotros podemos acceder con una URL especial las credenciales para el usuario IAM.

 

Para crear un usuario IAM accedemos a la consola IAM:

En el área de Servicios, seleccionamos IAM, (https://console.aws.amazon.com/iam/ ) el cual nos llevará a la página de bienvenida, en el cual nos provee una URL especial con números el cual podemos personalizarla con algún alias o nombre o compañía que sea nuestra identificación para la URL.

Hacemos clic en Customize y colocamos el alias que preferimos para nuestra cuenta:

Como podemos ver en la imagen de bienvenida al IAM, tenemos unas tareas que debemos realizar para que todas ellas estén en verde.

Activar MFA (Multi-Factor Authentication) en nuestra cuenta

Para mayor seguridad Amazon recomienda que se configure el Multi-Factor Authentication para proteger los recursos de nuestra cuenta de Amazon AWS. El MFA agrega seguridad adicional porque requiere que los usuarios ingresen un código de autenticación único de un dispositivo de autenticación aprobado o de un mensaje de texto SMS cuando acceden a sitios web o servicios de AWS.

  • Seguridad basada en tokens. Este tipo de MFA requiere que se asigne un dispositivo MFA (hardware o virtual) al usuario IAM de la cuenta raíz de AWS. Un dispositivo virtual es una aplicación de software que se ejecuta en un teléfono u otro dispositivo móvil que emula un dispositivo físico. De cualquier manera, el dispositivo genera un código numérico de seis dígitos basado en un algoritmo de contraseña de tiempo único sincronizado. El usuario debe ingresar un código válido del dispositivo en una segunda página web durante el inicio de sesión. Cada dispositivo MFA asignado a un usuario debe ser exclusivo; Un usuario no puede introducir un código desde el dispositivo de otro usuario para autenticarse.
  • SMS basado en mensajes de texto. Este tipo de MFA requiere que se configure el usuario de IAM con el número de teléfono del dispositivo móvil compatible con el SMS del usuario. Cuando el usuario inicia sesión, AWS envía un código numérico de seis dígitos por mensaje de texto SMS al dispositivo móvil del usuario y requiere que el usuario ingrese ese código en una segunda página web durante el inicio de sesión. Debemos tener en cuenta que el MFA basado en SMS sólo está disponible para los usuarios de IAM. No podemos utilizar este tipo de MFA con la cuenta raíz de AWS.

Hacemos clic en la flechita para expandir el segundo elemento del área de “Security Status”  y luego hacemos clic en el botón “Manage MFA”:

Se abrirá una ventana modal y allí seleccionamos el tipo de MFA que queremos utilizar, en mi caso será del tipo: A virtual MFA device:

Hacemos clic en el botón “Next Step”

Aquí nos muestra en la siguiente pantalla, que debemos instalar una aplicación compatible en nuestro dispositivo así sea un Smartphone, PC u otro dispositivo, y una vez instalado podemos seguir la configuración.

Vamos a instalar la aplicación, para ello accedemos al link que nos provee la ventana modal: https://aws.amazon.com/es/iam/details/mfa/

Aplicaciones MFA virtuales

  • Android                            Google Authenticator; autenticación de 2 factores de Authy
  • iPhone                             Google Authenticator
  • Windows Phone             Authenticator
  • Blackberry                        Google Authenticator

 

En mi caso uso Android y por ello voy a instalar la aplicación: “Google Authenticator” en mi Smartphone.

Lo primero que necesitamos hacer es configurar los mensajes de texto SMS y de voz.

Activar la verificación en dos pasos

Al habilitar la verificación en dos pasos (también conocida como autenticación de dos factores), le agregamos una capa adicional de seguridad a nuestra cuenta. Accedemos con algo que conocemos (nuestra contraseña) y algo que tenemos (un código que se envió a nuestro teléfono).

Configurar la verificación en dos pasos:

 

Seleccionamos el tipo de verificación, por SMS o llamada, en mi caso selecciono SMS. Luego hacemos PROBAR y se envía a nuestro dispositivo el código de 6 dígitos, lo ingresamos y luego al ver que funciona activamos la verificación de dos pasos.

Volvemos a la página del “Manage MFA Device” y hacemos clic en el botón “Next Step”

Tomamos nuestro Smartphone y abrimos la aplicación que acabamos de instalar y usamos “Scan a barcode”, allí con la cámara escaneamos el barcode de la ventana modal y de ese modo se agrega la cuenta y presionamos en DONE.

Una vez realizado el escaneo del barcode, en nuestra app aparecerán 6 dígitos, estos dígitos lo ingresamos en la casilla Authentication Code 1, y luego aparecerá los otros 6 dígitos, que lo ingresaremos en la casilla de Authentication Code 2. Luego hacemos clic en el botón “Activate Virtual MFA” y se mostrará una ventana modal que nos indicará que nuestro dispositivo ha sido asociado exitosamente.

Refrescamos la página de IAM y veremos que tenemos tildado en verde la segunda tarea.

Crear un usuario IAM

Amazon no aconseja usar la cuenta raíz AWS para interacciones diarias con AWS, ya que la cuenta raíz proporciona acceso sin restricciones a nuestros recursos AWS.

Expandimos la flechita y hacemos clic en el botón “Manager Users”

Ingresamos a la página de administración de Usuarios. Para agregar un nuevo usuario hacemos clic en el botón “Add user”.

Ingresamos a un asistente de 4 pasos, en el cual el primer paso es ingresar el nombre del usuario, el tipo de acceso, que en mi caso será a la consola de administración de AWS, el password puede ser personalizado o autogenerado y si queremos que el usuario cambie el password cuando inicie sesión.

 

En el paso 2 configuramos los permisos para el usuario.

Como no tenemos ni un grupo creado, necesitamos crear primero un grupo, por ello seleccionamos la primer opción “Add user to Group” y hacemos clic en el botón “Create Group”.

Aparece otra ventana modal para crear el Grupo.

- Group name: Administrador

- Filter: ingresamos admin y refrescamos para que se filtre las políticas que existen.

- Tildamos la política “AdministratorAccess” que permite el acceso total a todos los recursos de AWS.

Hacemos clic en el botón “Create Group”

Hacemos clic en el botón “Next: Review”

Verificamos la información ingresada en el paso 3 y hacemos clic en el botón “Create user”

En esta instancia ya hemos completado las 4 tareas del área de Security Status, vamos a completar la última tarea.

Aplicar en IAM password policy

Hacemos clic en el botón Manage Password Policy

Se mostrará la página de Password Policy, en el cual configuramos las políticas de password que queremos utilizar:

Aplicamos las políticas de password y regresamos al Dashboard.

Finalmente tenemos todas las tareas marcadas en verde.

 

3)     Determinar los Requerimientos

En esta sección necesitamos conocer los requerimientos para nuestra instancia de la base de datos.

Hay muchísima información al respeto para consultar, yo utilizaré una configuración básica para pruebas.

En esta guía puedes encontrar información al respecto:

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-ug.pdf

 

4)     Proporcionar acceso a la instancia de la base de datos

 

Amazon RDS admite instancias de base de datos que ejecutan varias versiones y ediciones de la base de datos Oracle. Podemos utilizar las siguientes versiones y ediciones:

Oracle 12c

  • Version 12.1.0.2
  • Version 12.1.0.1

Oracle 11g

  • Version 11.2.0.4
  • Version 11.2.0.3
  • Version 11.2.0.2

En la segunda parte de éste artículo vamos a crear la Instancia de la Base de Datos Oracle para poder tener listo nuestra instancia para aprender y probar Oracle en la Nube de Amazon.