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