RDS - Deep Dive
Relational Database System



Híbrido PaaS - IaaS
- ¿Por qué?
- Un servicio puede abrir múltiples servicios
- Solo shell
- Backups: Automatizados Vs Snapshots
- Restauración vía:
- Típica
- RDS CLI o Consola
Nomeclatura



Un poco de nomeclatura
- Instancia de BD varias Base de Datos
- Sandbox
- Motor
- MariaDB
- MySQL
- PostgreSQL
- Oracle
- Microsoft SQL
- Features y Parameter Group
- Tipo de instancia



Instancia
- Tipos de Instancia
- Capacidad almacenamiento
- Mínimo
- Máximo
- Almacenamiento
- gp
- iops
- magnéticas
- En VPC



Setup y Pricing



Clases de Instancia
-
Mismo concepto que EC2
-
¿Como es el nombre?
-
db.m4: Standard
-
MariaDB, PostgreSQL (Todas las versiones)
-
Oracles, MSSQL (Algunas versiones)
-
MySQL (5.5, 5.6 y 5.7)
-
Aurora: No soportada
-
-


Clases de Instancia - 2
-
¿Como es el nombre?
-
db.r3: Standard: Optimizada memoria
-
Aurora, MariaDB, PostgreSQL (Todas las versiones)
-
Oracles, MSSQL (Algunas versiones)
-
MySQL (5.5, 5.6 y 5.7)
-
-


Clases de Instancia - 3
-
¿Como es el nombre?
-
db.t2: Ráfagas
-
MariaDB, PostgreSQL (Todas las versiones)
-
Oracles, MSSQL (Algunas versiones)
-
MySQL (5.5, 5.6 y 5.7)
-
Aurora (1.9+)
-
-


Clases de Instancia - 4
-
Comparativas
-
vCPU, ECU, Memory, EBS Optimizer
http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html


Pricing
- Formas de contratación:
- On Demand
- Reserved Instances
- Storaging:
- Propósito General: 5GB a 6TB
- IOPS: 1000 - 30000
- Magnetic Storage: 5GB a 3TB
- Backup Storaging
- Availability Zone
- Transferencia de datos
https://aws.amazon.com/es/rds/pricing/


Backups


Conceptos
- Storage Volume, ya que es de toda la instancia
- Backup Window
- Optimizar I/O
- AZ
- Por default aquí
http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html


Manuales vs Automatizados
- Snapshot = Persistentes
- Backup Window = Automático, atachado a la instancia
- Retención por defecto
- Sanpshot final


Durante la creación de la instancia
- Automático
- Solo InnoDB
- Retention Period
A crearlo!!!


Login


Elementos a tener en cuenta
- Endpoint
- Abierto por defecto
- Security Group, ¿donde está?



Ingresando
Algunos comandos de consola
mysql -u root -p -h endpoint
aws rds describe-db-instances
aws rds describe-db-snapshots
aws rds create-db-snapshot --db-snapshot-identifier <nombre> \
--db-instance-identifier <nombre-instancia>
aws rds restore-db-instance-from-db-snapshot \
--db-instance-identifier <nombre-instancia> --db-snapshot-identifier <nombre-snapshot>
Intentemos acceder a la nueva instancia
-
¿Que user y pass? y
-
¿Por que?
aws rds modify-db-instance --db-instance-identifier <nom> --master-user-password <password>


Status, parámetros y B/R


Status
Estados:
- available
- backing-up
- deleting
- failed
- modifying


Parámetros
- Parameter Group
- Contenedor de valores
- Se refiere a motor y versión
- Misma lógica que el security Group
- Reboot
A probarlo!!!


Backup y Restore
- Cargar una base de prueba....
Y hacerlo!!!


Práctica tentativa


Práctica - 1
-
Antes de iniciar la práctica debemos contar con una VPC que:
-
Tenga acceso a internet
-
Tenga una red 10.0.0.0/16
-
Tenga dos subredes en dos AZ diferentes: 10.0.0.0/24 y 10.0.1./24
-
Revisar, utilizando el CLI, si tenemos alguna instancia de BBDD corriendo
-
Crear un Option group y un Parameter group con los nombres “og-testxx” y “pg-testxx” donde xx sean dos números cualesquiera


Práctica - 2
-
Crear un security group de VPC cuyo nombre sea “sg-rds-testxx” donde el tráfico entrante permitido sea de cualquier origen al puerto 3306.
-
Crear una instancia llamada test-xx de MySQL micro. Sin backup automatizado, accesible desde Internet. El tipo de instancia puede ser cualquiera; pero debemos usar el option group, parameter group, VPC y subnet que marcamos anteriormente.


Práctica - 3
-
Idem anterior; pero si fuera para Data Mining, donde se generan grandes consultas una vez por mes. Por ejemplo, emitir facturación
-
Importar la base de datos dbsales.sql provea por Line64
-
Hacer un snapshot de manera manual
-
Realizar los cambios que querramos en la base y restaurar el snapshot
-
Proyectar un backup para dentro de 5 minutos, colocándole la ventana correspondiente.
RDS Deep Dive
By Alejandro Drabenche
RDS Deep Dive
- 118