Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Viesgo DevOps Devolucion S1 Arquitectura - v1.2
Viesgo DevOps Devolucion S1 Arquitectura - v1.2
Sesión 1: Estructura de
cuentas y demás recursos
Fecha 06-07-2020
Estructura de Cuentas. Organización
Root
Corporativo
Distribucion
Renovables
VProduccion
Cross
Leyenda
POC
Cuentas estándar
Comunicaciones
Cuentas PoC
Operaciones
Cuentas de Operaciones
Estructura de Cuentas. Organización
Rama Nombre cuenta Alias email ID
Root vsgawsrootaccount vsgawsrootaccount vsgaws.rootaccount@viesgo.com 915890720717
Corporativo cor-dev vsgaws-cor-dev vsgaws.cor.dev@viesgo.com 960614880755
Corporativo cor-pre vsgaws-cor-pre vsgaws.cor.pre@viesgo.com 054484717316
Corporativo cor-pro vsgaws-cor-pro vsgaws.cor.pro@viesgo.com 413812990487
Distribucion dis-dev vsgaws-dis-dev vsgaws.dis.dev@viesgo.com 183098313647
Distribucion dis-pre vsgaws-dis-pre vsgaws.dis.pre@viesgo.com 884037555636
Distribucion dis-pro vsgaws-dis-pro vsgaws.dis.pro@viesgo.com 121228366233
Renovables rnv-dev vsgaws-rnv-dev vsgaws.rnv.dev@viesgo.com 277492409504
Renovables rnv-pre vsgaws-rnv-pre vsgaws.rnv.pre@viesgo.com 197245442544
Renovables rnv-pro vsgaws-rnv-pro vsgaws.rnv.pro@viesgo.com 981609831772
Vproduccion vpr-dev vsgaws-vpr-dev vsgaws.vpr.dev@viesgo.com 423712042760
Vproduccion vpr-pre vsgaws-vpr-pre vsgaws.vpr.pre@viesgo.com 960252234463
Vproduccion vpr-pro vsgaws-vpr-pro vsgaws.vpr.pro@viesgo.com 993055504552
Cross xxx-dev vsgaws-xxx-dev vsgaws.xxx.dev@viesgo.com 617952550872
Cross xxx-ply vsgaws-xxx-ply vsgaws.xxx.ply@viesgo.com 133116317474
Cross xxx-pre vsgaws-xxx-pre vsgaws.xxx.pre@viesgo.com 087085150646
Cross xxx-pro vsgaws-xxx-pro vsgaws.xxx.pro@viesgo.com 992937034862
POC vsgawspocsaccount vsgawspocsaccount vsgaws.pocsaccount@viesgo.com 373590949523
Comunicaciones vsgawscommsaccount vsgawscommsaccount vsgaws.commsaccount@viesgo.com 841613174390
Operaciones vsgawsicaccount vsgawsicaccount vsgaws.icaccount@viesgo.com 600517573284
Operaciones vsgawsmonaccount vsgawsmonaccount vsgaws.monaccount@viesgo.com 619215983135
Operaciones vsgawssegauditaccount vsgawssegauditaccount vsgaws.segauditaccount@viesgo.com 525888378357
Direccionamiento
• El espacio de direccionamiento asignado a la Nueva Arquitectura de Viesgo AWS es
10.112.0.0/15 (10.112.0.0 a 10.113.255.255)
• Se ha troceado dicho espacio en base a Rangos de distintos tamaños, según necesidades. La
mayoría de ellos se utilizan sólo desde 1 cuenta.
• Se realiza una gestión dinámica de la asignación de direccionamiento a 3 niveles: Rango, VPC
y APP
10.112.0.0/22 10.112.4.0/22 10.112.8.0/22
10.112.12.0/22 10.112.16.0/20 Renovables DEV 10.112.32.0/20 Renovables PRE 10.112.48.0/20 Renovables PRO
Operaciones Comunicación PoC
10.113.192.0/20 Cross DEV 10.113.208.0/20 Cross PRE 10.113.224.0/20 Cross PRO 10.113.240.0/23 10.113.244.0/22
10.113.242.0/24
10.113.243.0/24 10.113.248.0/21
Direccionamiento
Nombre Rango CIDR
Operaciones 10.112.0.0/22
• Las VPC siempre van asociadas a un determinado Rango
Comunicaciones 10.112.4.0/22 • Las Aplicaciones (APPs) van siempre asociadas a una VPC
PoC
Reserved
10.112.8.0/22
10.112.12.0/22
• Existen 3 cuentas estándar por cada Área de Negocio, 1 por cada
RenovablesDEV 10.112.16.0/20 entorno (DEV, PRE y PRO). Cross tiene además PLY.
RenovablesPRE 10.112.32.0/20 • Las cuentas estándar, utilizan 1 único Rango con 1 única VPC
RenovablesPRO 10.112.48.0/20
DistribucionDEV 10.112.64.0/18 • En la VPC de una cuenta estándar se aprovisionan todas las
DistribucionPRE 10.112.128.0/18 aplicaciones, cada una con su propio direccionamiento.
DistribucionPRO 10.112.192.0/18
VProduccionDEV 10.113.0.0/19 • Es decir, en la cuenta cor-dev (Corporativo, Desarrollo) sólo se
VProduccionPRE 10.113.32.0/19 desplegarán aplicaciones de Corporativo del entorno de Desarrollo
VProduccionPRO 10.113.64.0/19
CorporativoDEV 10.113.96.0/19
• Se han definido 4 tamaños estándar de Aplicaciones: mini, small,
CorporativoPRE 10.113.128.0/19 médium y big
CorporativoPRO 10.113.160.0/19 • Todas las APPs tienen subredes públicas (Front) y privadas (Back)
CrossDEV 10.113.192.0/20
CrossPRE 10.113.208.0/20 • El número de AZs de cada aplicación puede variar entre 1 y 3
CrossPRO 10.113.224.0/20
Tamaño APP Tamaño de Subredes
AmmDistribucion 10.113.240.0/23
CrossPLY 10.113.242.0/24 mini /28
10.113.243.0/24 small /27
10.113.244.0/22 medium /26
10.113.248.0/21 big /25
Nueva Arquitectura. Características
• Hay 2 tipos de cuentas:
• Estándar de Desarrollo, asociadas a Áreas de Negocio (cor-dev, cor-pre, cor-pro, dis-dev, dis-
pre, dis-pro, rnv-dev, rnv-pre, rnv-pro, vpr-dev, vpr-pre, vpr-pro, xxx-dev, xxx-ply, xxx-pre, xxx-
pro)
• Cuentas de Operaciones: resto de cuentas, su nombre empieza por “vsgaws” y termina en
“account”
• A nivel de Seguridad, todas las Aplicaciones (APP) tienen 2 Grupos, por compatibilidad con la vieja
Infra, cuyo nombre termina en “-GAPP” y ”-GAPP2”. También tienen 2 Roles , cuyo nombre
termina en “-RAPP” y “-RDeployAtlas”.
• El Role “-RAPP” Gestiona la Seguridad Local de la Aplicación, utilizado por los Usuarios
• El Role “-RDeployAtlas” Gestiona la Seguridad Delegada, utilizado por la herramienta de
Integración Continua Atlas.
• El Role “-RAPP” contiene los mismos permisos que los Grupos “-GAPP” + ”-GAPP2”
• Lo normal es que los Grupos “-GAPP” + ”-GAPP2” no tengan usuarios asignados
• Sólo se admiten usuarios Locales, cuando se trata de usuarios programáticos.
• Los usuarios existentes están definidos en el Directorio Activo
Nueva Arquitectura. Características
• Aplicaciones (APP): Todas las aplicaciones están nombradas de manera estándar, su nombre está
compuesto del identificador del Área de Negocio (cor, dis, rnv, vpr, xxx, ope, com, poc), un
identificador numérico del sistema de 3 cifras, un guion y el identificador del entorno (dev, ply,
pre, pro), todo en minúsculas. Ejemplo: cor007-dev, dis008-pre, ope005-pro.
• Nombrado de recursos: Todos los recursos en las cuentas de AWS empiezan por “A” + el nombre
de la APP (sin guion) y todo en mayúsculas. Ejemplo: ACOR007DEV, ADIS008PRE, AOPE005PRO.
(ver estándares de nomenclatura).
• Subredes: Toda Aplicación tendrá sus propias Subredes (en Frontend, que serán públicas y en
Backend, que serán privadas). El número de subredes dependerá del nº de AZs de la Aplicación.
• RouteTables: Cada aplicación tiene 2 RouteTables:
• -RTBPRI: lleva asociadas las subredes de Backend de la Aplicación
• -RTBPUB: lleva asociadas las subredes de Frontend de la aplicación
• Security Groups: Toda Aplicación tiene definidos los siguientes Security Groups:
• BACKEND: Para los recursos desplegados en las Subredes de Backend (excepto RDS)
• FRONTEND: Para los recursos desplegados en las Subredes de Frontend
• BBDD: Para los recursos de tipo RDS, que irán siempre en las Subredes de Backend
• DMZ: Para permitir acceso externo. Sólo aplicará en recursos desplegados en Frontend
• INTRA-VPC: Para securizar los accesos entre aplicaciones de la misma VPC.
Nueva Arquitectura. Características
• Buckets: Cada aplicación dispondrá de un Bucket específico, que estará formado por “vsgaws.” + el
estándar del nombrado de recursos (pero en minúsculas) + “-s3”. Ejemplo: vsgaws.acor007dev-s3
• Existe 1 Bucket de Intercambio, creado sólo en las cuentas “-dev” y compartido con las
cuentas “-pre” y “-pro”. Se llama “intercambio” + nombre del área de negocio. Ejemplo:
intercambiocor. En cada Bucket de Intercambio se crea una carpeta específica por cada
Aplicación, a la que sólo tiene permisos la aplicación asociada (en sus 3 entornos). El nombre
se corresponde con el APP_NAME en minúsculas. Ejemplo: cor007_alfresco-corp,
cor011_websitecorporate
• Uso de etiquetas: Todo recurso debe estar etiquetado con varias etiquetas (ver estándares)
• Etiqueta APP_NAME, debe ser aplicada a todo recurso existente con valores válidos. Sirve
entre otras cosas para identificar a qué aplicación pertenece dicho recurso y por tanto para
poder repartir los Costes entre las distintas Aplicaciones.
• Al utilizar un modelo de cuentas y VPCs compartidas entre muchas Aplicaciones, es
imprescindible el Tagueo con APP_NAME. Los valores siempre estarán establecidos en
mayúsculas.
• KeyPair: Por cada aplicación se genera una KeyPair, que se guarda en el Bucket “aope003pro-
credenciales” de la cuenta vsgawssegauditaccount.
Nueva Arquitectura. Características
• Backup: Se utiliza el servicio AWS Backup. Se crea un Vault específico por cada Aplicación. También
se crean 2 planes de Backup x Aplicación, basados en el uso de etiquetas (para RDS y para resto de
recursos)
• Afecta a todos los recursos que tengan definida la etiqueta “Backup” coincidiendo con el
nombre de la APP (en mayúsculas o en minúsculas). Recursos no RDS.
• Afecta a todos los recursos que tengan definida la etiqueta “Backup” coincidiendo con el
nombre de la APP (en mayúsculas o en minúsculas) + “-RDS” o “-rds”. Recursos RDS.
Es imprescindible etiquetar correctamente con la etiqueta “Backup” todos los Volúmenes, EFS, RDS y
tablas DynamoDB.
• Parameter Store: Toda aplicación que haga uso de ssm deberá respetar la estructura
/Sistema/Entorno. Ejemplo: /COR011/PRE/DatabaseName
• SMTP: Para el envío de emails, se utiliza el servicio SES.
• Se crea un usuario programático por cada Aplicación que necesita enviar emails.
• Se crea en la cuenta de comunicaciones (vsgawscommsaccount), con el nombre terminado en
“-USENDMAILS”, con permiso para el envío de emails.
• Se generan credenciales: SMTPUsername y SMTPPassword. Se guardan en el Parameter Store
de la cuenta vsgawscommsaccount
Nueva Arquitectura. Características
• Transit Gateway: La primera Aplicación que se aprovisiona de una VPC, se utilizan sus Subnets
para conectar la VPC al Transit Gateway. Esto no se puede hacer en la creación de la VPC, porque
en ese momento no se crean Subnets. Esto es así, porque sólo se puede utilizar una Subnet de
cada Zona.
• En caso de querer eliminar una Aplicación que se estén utilizando sus Subnets para conectar la
VPC al Transit Gateway, primero se deberán sustituir sus Subredes por las de otra Aplicación que se
quede en uso. Una vez sustituidas podría eliminarse la Aplicación.
• Las Subredes que se utilizan para conectar la VPC al Transit Gateway son siempre las de Backend.
• Para todas las Aplicaciones, en el RouteTable “-RTBPRI” se añade una ruta para que el tráfico
"0.0.0.0/0“ se envíe por el Transit Gateway.
• Para todas las Aplicaciones, en el RouteTable “-RTBPUB” se añade rutas para que el tráfico
"10.0.0.0/8“, "172.16.0.0/12“ y "192.168.0.0/16" se envíe por el Transit Gateway. El resto del
tráfico sale por el Internet Gateway.
Comunicaciones. Modelo en estrella
• Interconexión de las VPCs: Basado en Transit Gateway ubicado en la cuenta de comunicaciones
(vsgawscommsaccount)
• Se utiliza el Resource Access Manager (RAM) desde la cuenta de Comunicaciones para compartir el
Transit Gateway con el resto de cuentas.
• La única VPC con Nat Gateway es la de Comunicaciones
• La cuenta de Comunicaciones tiene implementada una solución de Firewall basada en Fortinet
• Todo el tráfico que vaya a un direccionamiento distinto al de la propia VPC es enviado al Transit
Gateway.
• Todo el tráfico que pasa a través del Transit Gateway es inspeccionado.
• El tráfico de salida (fuera de AWS) de todas las VPCs es enviado a través del Transit Gateway al Nat
Gateway de Comunicaciones.
• Para poder filtrar el tráfico entre Aplicaciones que comparten la misma VPC, que no pasará por el
Transit Gateway, se han implementado Security Groups llamados INTRA-VPC por cada Aplicación.
• A través de una herramienta específica, el equipo de Comunicaciones puede añadir o quitar
reglas a dichos Security Groups
• Todos los recursos desplegados en las Subredes de Backend deben utilizar el Security Group
de INTRA-VPC además del que le corresponda.
Acceso a la plataforma AWS
• En la Nueva Arquitectura desaparecen los usuarios nominales en las cuentas AWS
• Todos los usuarios deben autenticarse a través del IdP (Identity Provider) de tipo SAML. En el
caso de viesgo se utiliza ADFS contra el Directorio Activo con las credenciales corporativas.
1. A través del Navegador se accede al Portal de autenticación
2. El portal autentica al usuario
3. El usuario selecciona de entre las opciones acceder a AWS
4. El Portal obtiene la lista de Roles a los que puede acceder dicho usuario y los ofrece en
una lista.
5. El usuario selecciona el Role con el que quiere acceder a AWS
6. En el Navegador le redirige al Servicio SSO de AWS con un Token del IdP
7. Se obtienen credenciales temporales para el Usuario y el Navegador redirige a la Consola
AWS
8. La consola AWS autentica con las credenciales temporales y accede con el Role
especificado en el IdP
• En el Directorio Activo se crea un Grupo por cada Role que deba autenticarse. Estos grupos
llevan el siguiente formato: AWS-<idCuenta>-<NombreRole>
• Ejemplo: AWS-915890720717-AOPE001PRO-ROPERACIONES
• Se agregarán los usuarios necesarios del AD a dicho grupo para permitirles acceso al Role
Acceso a la plataforma AWS
Acceso a la plataforma AWS
https://login.app.viesgo.com/adfs/ls/idpinitiatedsignon
Acceso a la plataforma AWS
Acceso a la plataforma AWS
Acceso a la plataforma AWS
• Roles de Operaciones actuales:
Cuenta principal Rol Asociado Descripción
AOPE001PRO-ROPERACIONES Equipo de Arquitectos. Full access todas las cuentas
AOPE001PRO-RREADONLYB Sólo lectura + Billing
AOPE001PRO-RREADONLYNB Sólo lectura. Sin Billing
AOPE001PRO-RBILLINGRO Billing en modo sólo lectura
vsgawsrootaccount AOPE001PRO-ROPEAPLICACION Equipo de Operación. Full access cuentas aplicaciones
AOPE001PRO-RPMOPEB Sólo lectura + Billing + S3 sin Management + Start/Stop
AOPE001PRO-ROPEOFIPRO Equipo de Oficina de Programa. Buckets Intercambio
AOPE001PRO-ROPECIC Equipo Operaciones CiC. Buckets Intercambio
AOPE001PRO-ROPEATOS Equipo Operaciones Atos. Buckets Intercambio
vsgawscommsaccount ACOM001PRO-RWAF Sólo lectura. Sin Billing + WAF
vsgawsicaccount AOPE006PRO-RANSIBLE EC2 sólo lectura
• Todos los Roles de la tabla tienen capacidad de realizar Switch Role sobre el resto de cuentas
• Los siguientes Roles están limitados a las cuentas –dev (Buckets de Intercambio):
• AOPE001PRO-ROPEOFIPRO
• AOPE001PRO-ROPECIC
• AOPE001PRO-ROPEATOS
Acceso a la plataforma AWS
• Por cada Aplicación que se despliega, se crea un Role de Acceso pensado para los equipos de
Desarrollo/Mantenimiento.
• Todos esos Roles tienen también definida una relación de confianza con ADFS.
• Normalmente se da acceso sólo al Role del entorno más bajo, habitualmente Desarrollo,
pero en ocasiones se trata del entorno de Preproducción cuando no existe Desarrollo.
• Para dar acceso a un Role, basta con solicitar al equipo de Micro Informática la creación
del grupo ADFS asociado al Role
• Todos los usuario del Directorio Activo que se añadan al grupo ADFS creado
anteriormente tendrán acceso al Role asociado
• Quitar acceso a un determinado usuario de un Role es tan simple como solicitar que se le
saque del grupo ADFS asociado al Role
• Toda la gestión de Autenticación y Autorización se centra en el Directorio Activo
• Los Permisos que se conceden a cada Role se gestionan desde la Herramienta de
Automatización.
Funcionalidades Automatizadas
Se han desarrollado las siguientes Funcionalidades Automatizadas con interface de Usuario:
• Alta de cuentas
• Consultas del Direccionamiento
• Capa -1
• Capa 0
• Gestión de Políticas Customizadas
• Gestión de la Seguridad (Local y Delegada)
• Gestión de Grupos
• Creación de Usuarios SMTP
• Creación de Usuarios programáticos S3
• Gestión de Cross Account S3
• Gestión de VPCs Endpoints
• Gestión de Encendidos / Apagados
• Gestión de Backup
• Restauración de Backup
Funcionalidades Automatizadas
Adicionalmente se han desarrollado scripts que son planificados y que por tanto no tienen
Interface de Usuario:
• Purgado de ficheros de logs de más de 30 días de la planificación de encendidos y apagados
• Purgado de los ficheros de Inventario de más de 30 días
• Purgado de los ficheros de inventario/InfoInstancias de más de 60 días (utilizados para restore)
• Purgado de los ficheros de inventario/InfoRDSs de más de 60 días (utilizados para restore)
• Purgado de los objetos en los Buckets de Intercambio. Elimina con antigüedad superior a los
60 días y notifica con email
• Actualiza el inventario de EC2, RDS y ASG
• Procesamiento de encendidos / apagados
• Recoger la información necesaria para restaurar Instancias y para restaurar RDSs
• Verificar y notificar Backups fallidos
• Verificar y notificar Tags mal definidas que impidan realizar el Backup
• Verificar y notificar errores de Inventario
• Reprocesar los Security Groups de todas las APPs de todas las Cuentas. Es necesario ejecutarlo
cuando se creen nuevas VPCs
Otras Funcionalidades Automatizadas
• A través de la herramienta de Automatización se da acceso a los servicios de Atlas
• Jenkins
• Nexus
• Sonar
• Sólo se enlaza con los servicios existentes de Atlas
Otras Funcionalidades Automatizadas
• También se da acceso a una pequeña herramienta desarrollada para Comunicaciones que
permite gestionar los permisos IntraVPC
• El acceso está limitado a los Usuarios que pertenezcan al siguiente Grupo:
• AWS-841613174390-ACOM001PRO-RAPP
• Exige Autenticación contra el Directorio Activo
Otras Funcionalidades Automatizadas
• Funcionalidad de Reglas IntraVPC
• Selecciona fichero de reglas (del equipo local)
• Sube el fichero seleccionado
• Procesa el fichero de Reglas subido, actualizando los Security Groups para añadir o quitar
accesos a determinadas aplicaciones respecto al Security Group denominado INTRA-VPC
• Recopilar todas las reglas definidas actualmente en base a los Security Groups INTRA-VPC
existentes
Modelo de Automatización
Todas las tareas Automatizadas se realizan a través de servidor de Automatización.
• Se utiliza la AWS Command CLI
• Los desarrollos funcionales están implementados en bash shell
• Se ha implementado una capa de Presentación en AJAX + PHP
• Existe una capa intermedia implementada en PHP que permite invocar la ejecución del los
scripts y recoger el resultado de las ejecuciones para poder ser mostrados.
• El uso de la herramienta exige autenticación contra el Directorio Activo y que el usuario
pertenezca al grupo AWS-915890720717-AOPE001PRO-ROPERACIONES
• La duración de la Sesión está configurada en 1 hora.
Detalle Funcionalidades Automatizadas
Alta de cuenta
Datos de entrada:
• Nombre de Cuenta: nombre de la cuenta. P.E. cor-dev
• Lista de distribución: email que se proporciona asociado a la cuenta. Viesgo utiliza una lista de
distribución
• Nombre del Sistema: (por compatibilidad con la vieja Infra. No se utiliza)
Tareas que realiza:
• Valida que el nombre se ajuste a los estándares de Viesgo
• Crea la cuenta
• Ubica la cuenta en la Organización
• Configura la cuenta para permitir hacer Switch Role sobre OrganizationAccountAccessRole
• Añade un nuevo profile a nivel AWS para la nueva cuenta
• Crea el Alias de la Cuenta
• Configura la política de Contraseñas de la Cuenta
• Crea el Role ReadOnlyForCloudynViesgo y le asigna permisos de Sólo lectura
• Crea el Role OrganizationAccountOperacionesRole, le asigna permisos Full Access y establece
relación de confianza con cuenta vsgawsrootaccount para permitirle hacer Switch Role al Role
AOPE001PRO-ROPERACIONES.
Detalle Funcionalidades Automatizadas
Alta de cuenta
Datos de entrada:
• Cuenta: Se ha de seleccionar alguna de las cuentas existentes
• Rango: Se ha de seleccionar el Rango del que se aprovisionará el direccionamiento de la VPC
• Nombre de VPC
• tamaño de VPC: Se ha de seleccionar el tamaño entre el tamaño máximo del Rango y /27
Tareas que realiza:
• Realiza validación de datos
• Localiza el primer hueco en el direccionamiento del Rango seleccionado que esté libre y se ajuste
al tamaño solicitado. Lo Reserva para la VPC indicada rellenando los campos:
• VPC: Nombre de la VPC
• CIDRVPC: CIDR de la VPC
• Crea la VPC
• Añade los Tags Name y APP_NAME
• Habilita el EnableDnsHostnames y el enableDnsSupport
• Ajusta el InstanceTenancy con el valor default
• Crea el Internet Gateway y lo atacha a la VPC
• Añade los Tags Name y APP_NAME al Internet Gateway
Detalle Funcionalidades Automatizadas
Capa-1
Datos de entrada:
• Cuenta: Se ha de seleccionar alguna de las cuentas existentes
• Nombre Aplicación: nombre APP, cumpliendo los estándares
• APP_NAME: Especificar valor. Debe ir en mayúsculas
• Modalidad: Se ha de seleccionar entre B. Intercambio, Sólo Buckets y Full Capa0
• Operación: Seleccionar servicio de Operación entre everis, CiC, Atos y CiC-Atos
• [Autoriza]: Cuando se reprocesa cambiando la Modalidad o la Operación
• [VPCID]: Sólo cuando la modalidad es FULL
• [Size]: Seleccionar tamaño entre (mini, small, medium y big). Sólo cuando la modalidad es FULL
• [nAZs]: Seleccionar entre los valores disponibles. Sólo cuando la modalidad es FULL
Tareas que realiza:
• Realiza validación de datos
• Localiza el primer hueco en el direccionamiento de la VPC seleccionada que esté libre y se ajuste al
tamaño solicitado y lo Reserva para la APP indicada rellenando los campos del fichero VPCs.txt:
• APP, CIDR, Size, nAZs, APP_NAME, Modalidad y Operacion
• Crea el Resources Groups
• Crea las RouteTables (-RTBPRI y -RTBPUB)
Detalle Funcionalidades Automatizadas
Capa0
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Tipo de Policy: Se ha de seleccionar el tipo entre: PCL, PCG y PCD
• OPT: Lista de servicios a incluir en la Policy. Separados por punto “.”
• Tipo de Permisos: Se ha de seleccionar entre Allow y Deny
Tareas que realiza:
• Realiza validación de datos
• Obtiene el numérico a utilizar en el nombre de la Policy. (${APPID}-${Tipo}nn)
• Genera la Policy a partir de los Templates .HeaderNewPolicy.txt y .FooterNewPolicy.txt
Detalle Funcionalidades Automatizadas
Políticas Customizadas. Modificar Policy
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Nombre de Policy: Se ha de seleccionar la Policy a Modificar
• OPT: Lista de servicios con los que actualizar la Policy. Separados por punto “.”
• Tipo de Permisos: Se ha de seleccionar entre Allow y Deny
Tareas que realiza:
• Realiza validación de datos
• Obtiene la información de la Policy y el número de versiones existentes
• Si el número de versiones es mayor de 4 elimina la Versión más antigua
• Se genera nueva versión de la Policy a partir de los Templates .HeaderNewPolicy.txt y
.FooterNewPolicy.txt
Detalle Funcionalidades Automatizadas
Políticas Customizadas. Eliminar Policy
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Nombre de Policy: Se ha de seleccionar la Policy a Eliminar
Tareas que realiza:
• Realiza validación de datos
• Verifica que la Policy no esté en uso
• Elimina todas las versiones existentes distintas de la default
• Elimina la Policy
Funcionalidades Automatizadas
Gestión de la Seguridad
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
Tareas que realiza:
• Realiza validación de datos
• Obtiene las Policies asociadas al Role ${APPID}-RAPP con nombre Normalizado Viesgo.
• Obtiene las Policies asociadas al Role ${APPID}-RDeployAtlas con nombre Normalizado Viesgo.
• Obtiene las Policies Customizadas compatibles con la Seguridad Local y nombre Normalizado
Viesgo.
• Obtiene las Policies Customizadas compatibles con la Seguridad Delegada y nombre
Normalizado Viesgo.
Datos que devuelve:
• Devuelve 4 registros que contienen los datos anteriores:
• LPOLL=${LPOLL}
• LPOLD=${LPOLD}
• LPOLCL=${LPOLCL}
• LPOLCD=${LPOLCD}
Funcionalidades Automatizadas
Gestión de la Seguridad. SecurityLocal
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Lista Opciones: PSS, FULL, READONLY, NOBILL, PS, KMS, NOSUPPORT, NOIAMFULL (la lista podrá
tener más de 1 opción, separada por “.”
• Lista de policies : Lista de Policies Customizadas separadas por “.”
Tareas que realiza:
• Realiza validación de datos
• Obtiene los siguientes datos de la APP: APP_NAME, Modalidad, Operación y ACCID
• Obtiene el nombre de la Carpeta del Bucket de Intercambio asociada a la APP
• Si no existiera, crea la Policy ${APPID}-PSBLOCKVPC: Bloquea la modificación a nivel de VPC,
Subnet, etc.
• Si no existiera, crea la Policy ${APPID}-PSCNOIAM: Bloquea la modificación a nivel de IAM, sólo
admite consultas.
• Si no existiera, crea la Policy ${APPID}-PSNOBILLING: Bloque el acceso al Billing
• Si no existiera, crea la Policy ${APPID}-PSRESOURCEGROUP: Permite acceder al Resource Group de
la APP
Funcionalidades Automatizadas
Gestión de la Seguridad. SecurityLocal
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Lista Opciones: PSS, FULL, READONLY, NOBILL, PS, KMS, NOSUPPORT, NOIAMFULL (la lista podrá
tener más de 1 opción, separada por “.”
• Lista de policies : Lista de Policies Customizadas separadas por “.”
Tareas que realiza:
• Realiza validación de datos
• Si no existiera, crea la Policy ${APPID}-PSGRANTSFULL: Permisos Full Access.
• Si no existiera, crea la Policy ${APPID}-PSBLOCKVPC: Bloquea la modificación a nivel de VPC,
Subnet, etc.
• Si no existiera, crea la Policy ${APPID}-PSCNOIAM: Bloquea la modificación a nivel de IAM, sólo
admite consultas.
• Si no existiera, crea la Policy ${APPID}-PSNOBILLING: Bloquea el acceso al Billing
Funcionalidades Automatizadas
Gestión de la Seguridad. SecurityDelegada
Se dispone de varias funcionalidades para la Gestión de Grupos, aunque actualmente no tiene uso, ya
que no hay usuarios Locales (excepto programáticos):
• Lista los usuarios de la Cuenta que no estén asociados a ambos Grupos ${APPID}-GAPP y ${APPID}-
GAPP2
• Lista los usuarios de la Cuenta que estén asociados al Grupo ${APPID}-GAPP
• Lista los usuarios de la Cuenta que estén asociados al Grupo ${APPID}-GAPP2
• Añade un Usuario a ambos Grupos ${APPID}-GAPP y ${APPID}-GAPP2
• Elimina un Usuario del Grupo ${APPID}-GAPP
• Elimina un Usuario del Grupo ${APPID}-GAPP2
Detalle Funcionalidades Automatizadas
Creación de Usuarios SMTP
El Cross Account S3 se define a nivel de Bucket respecto a una cuenta distinta a la propietaria del
Bucket y se especifican los permisos concretos sobre los recursos que se indiquen.
En la implementación realizada, para crear permisos de Cross Account a nivel de S3 es necesario
conocer la cuenta propietaria del Bucket, el nombre del Bucket, la cuenta que quiere acceder al
Bucket, las carpeta sobre las que se concederán permisos y el conjunto de permisos:
• Lectura
• Escritura
• Borrado.
Se han implementado varias funcionalidades para la gestión del Cross Account S3:
• Listar Permisos: sólo los de la cuenta especificada
• Listar todos los Permisos: Los de todas las cuentas
• Añadir Cross Account
• Eliminar permisos de Cross Account de una Carpeta de la cuenta especificada
• Eliminar todos los permiso de Cross Account de la cuenta especificada. Los de las demás cuentas
se conservarán
Detalle Funcionalidades Automatizadas
Cross Account S3. Listar Permisos
Datos de entrada:
• ACC solicitante: Se ha de seleccionar alguna de las cuentas existentes
• ACC propietaria: Se ha de seleccionar alguna de las cuentas existentes distinta a la anterior
• Nombre del Bucket
Tareas que realiza:
• Realiza validación de datos
• Se obtiene el ACCID de la cuenta solicitante
• Se localiza la Policy de Bucket y se analizan todos sus bloques, buscando “_Folder”
• Se intentan localizar permisos de Lectura para esa carpeta y cuenta solicitante
• Se intentan localizar permisos de Escritura para esa carpeta y cuenta solicitante
• Se intentan localizar permisos de Borrado para esa carpeta y cuenta solicitante
Detalle Funcionalidades Automatizadas
Cross Account S3. Listar todos los Permisos
Datos de entrada:
• ACC propietaria: Se ha de seleccionar alguna de las cuentas existentes distinta a la anterior
• Nombre del Bucket
Tareas que realiza:
• Se genera el listado de todas las cuentas (de la Nueva Arquitectura y de la vieja Infra) identificando
ACC y ACCID
• Se localiza la Policy de Bucket y se buscan todas las cuentas que tienen permiso actualmente
• Por cada cuenta con permisos se localiza su nombre en el listado generado inicialmente
• se analizan todos sus bloques, buscando “_Folder”
• Se intentan localizar permisos de Lectura para esa carpeta y cuenta localizada
• Se intentan localizar permisos de Escritura para esa carpeta y cuenta localizada
• Se intentan localizar permisos de Borrado para esa carpeta y cuenta localizada
Detalle Funcionalidades Automatizadas
Cross Account S3. Añadir Cross Account
Datos de entrada:
• ACC solicitante: Se ha de seleccionar alguna de las cuentas existentes
• ACC propietaria: Se ha de seleccionar alguna de las cuentas existentes distinta a la anterior
• Nombre del Bucket
• Carpeta
• Lista de Permisos: R, W, D separados por “.”
Tareas que realiza:
• Realiza validación de datos
• Se obtiene el ACCID de la cuenta solicitante
• Se Busca la Policy de Bucket
• Si no existe se crea la Policy ajustando los permisos especificados
• Si ya existe Policy del Bucket se genera un fichero por cada Statement.
• Si no estuviera la cuenta solicitante en el Bloque 0, la añade y regenera el fichero
• Se recorren todos los ficheros de tipo “UndeleteFolder” (Bloque 1)
• Si trata la Carpeta indicada se mira a ver si ya estuviera la cuenta
• Si no está tratada la cuenta solicitante, añade la cuenta y regenera el fichero
Detalle Funcionalidades Automatizadas
Cross Account S3. Añadir Cross Account
Datos de entrada:
• ACC solicitante: Se ha de seleccionar alguna de las cuentas existentes
• ACC propietaria: Se ha de seleccionar alguna de las cuentas existentes distinta a la anterior
• Nombre del Bucket
• Carpeta
• Lista de Permisos: R, W, D separados por “.”
Tareas que realiza:
• Realiza validación de datos
• Se obtiene el ACCID de la cuenta solicitante
• Se Busca la Policy de Bucket
• Se genera un fichero por cada Statement.
• Se recorre la lista de permisos recibida y se tratan los que apliquen (R / W / D)
• Si aplica, se recorren todos los ficheros de tipo “R_Folder” (Bloque 2)
• Si trata la Carpeta indicada se mira a ver si ya estuviera la cuenta
• Si está la cuenta solicitante, regenera el fichero eliminando la cuenta
• Si fuera la única cuenta existente en el fichero, elimina el fichero
Detalle Funcionalidades Automatizadas
Cross Account S3. Eliminar permisos de Cross Account de una Carpeta
Datos de entrada:
• ACC solicitante: Se ha de seleccionar alguna de las cuentas existentes
• ACC propietaria: Se ha de seleccionar alguna de las cuentas existentes distinta a la anterior
• Nombre del Bucket
Tareas que realiza:
• Realiza validación de datos
• Se obtiene el ACCID de la cuenta solicitante
• Se Busca la Policy de Bucket
• Se genera un fichero por cada Statement.
• Si estuviera la cuenta solicitante en el Bloque 0, regenera el fichero eliminando la cuenta
• Si fuera la única cuenta existente en el fichero, elimina el fichero
• Se recorre todos los ficheros excepto el del Bloque 0
• Si estuviera la cuenta solicitante en el fichero, regenera el fichero eliminando la cuenta
• Si fuera la única cuenta existente en el fichero, elimina el fichero
• Si queda algún fichero, se regenera el fichero de Policy de Bucket a partir de los ficheros de
los Statements
• Actualiza la Policy con el fichero regenerado
• Si no queda ningún fichero, elimina la Policy existente
Detalle Funcionalidades Automatizadas
Gestión de VPCs Endpoints
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
Tareas que realiza:
• Obtiene el VPCID de la Aplicación
• Obtiene la lista de VPC Endpoint existentes en la cuenta
• Recorre la lista, verificando si el VPCID del VPC Endpoint coincidiera con el de la cuenta.
• Verifica que el VPC Endpoint sea de tipo Interface
• Comprueba que su estado sea “available” o “pending”
• Recorre las Subnets utilizadas
• Identifica la etiqueta APP_NAME de la Subnet
• Localiza la APP asociada a dicha VPC y APP_NAME
• Si el valor obtenido coincide con la APP recibida por parámetro se recupera la
siguiente información y la devuelve en una línea separados los campos por “:”
VpcEndpointId:ServiceName:DnsName:State
Detalle Funcionalidades Automatizadas
Gestión de VPCs Endpoints. Listar VPC Endpoints Disponibles
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
Tareas que realiza:
• Obtiene la lista de VPC Endpoint disponibles para la cuenta que sean de tipo Interface
Detalle Funcionalidades Automatizadas
Gestión de VPCs Endpoints. Añadir VPC Endpoint
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• VPC Endpoint: ServiceName
Tareas que realiza:
• Realiza validación de datos
• Obtiene el nombre del Endpoint
• Obtiene el VPCID y el APP_NAME de la Aplicación
• Recorre las Subnets de la Cuenta
• Comprueba si coincide su APP_NAME con el de la Aplicación
• Genera lista de las Subnets que sean de Backend
• Recorre los Security Groups de la Cuenta
• Comprueba si están asociados a la VPC. Mirando el VPCID
• Comprueba si coincide su APP_NAME con el de la Aplicación
• Genera lista de los Security Groups si su Description es “BACKEND” o “INTRA-VPC”
• Crea el VPC Endpoint para la VPCID con la lista de Subnets y la lista de Security Groups
• Añade los Tags Name y APP_NAME
Detalle Funcionalidades Automatizadas
Gestión de VPCs Endpoints. Eliminar VPC Endpoint
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• VPC Endpoint ID
Tareas que realiza:
• Elimina el VPC Endpoint especificado
• Consulta periódicamente hasta que su estado deje de ser “available”
Detalle Funcionalidades Automatizadas
Gestión de Encendidos y Apagados
Esta funcionalidad se limita a Crear / Modificar / Eliminar ficheros de definición de los Encendidos y
Apagados.
Los tipos de objetos que se tratan aquí son Instancias EC2, Instancias RDS y ASG
Los encendidos y apagados se realizan con 2 tareas planificadas:
• GestionOnOff.sh, que se ejecuta cada minuto para verificar si a esa hora exacta se tuviera que
iniciar el apagado o encendido de algún recurso. Lo añade a una cola
• ProcesaOnOff.sh, es un demonio planificado cada hora (por si muriese), que se encarga de realizar
el encendido o Apagado y de esperar a que el estado sea el correcto
Se han implementado varias funcionalidades para la gestión de Encendidos y Apagados:
• Obtener listado de Items: Obtiene todas las reglas actualmente definidas para un determinado
criterio
• Añadir Regla: Añade regla de On/Off
• Modificar Regla: Modifica regla de On/Off existente
• Eliminar Regla: Elimina regla de On/Off
Detalle Funcionalidades Automatizadas
Gestión de Encendidos y Apagados. Obtener listado de Items
Los ficheros de Reglas tienen los siguientes campos separados por “:”
Minuto:Hora:diaMes:Mes:diaSemana:Estado:TipoItem:ACC:APP:Id:TMax
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Tipo de Item: Los valores aceptados son “Instancia”, “RDS” y “ASG”
• Estado: Los valores aceptados son “on”, “off” y “todos”
Tareas que realiza:
• Recorre todos los ficheros de definición de Reglas de OnOff en la ruta /var/www/onoff
• Verifica que el fichero tratado tenga alguna regla para la ACC y APP y que coincida con los
criterios de búsqueda de Tipo de Item y Estado.
• Confirma que el fichero se corresponda con el de la APP
• En caso contrario notifica Error
• Obtiene todas las Reglas que se ajusten al criterio de búsqueda
• En caso de Recursos nominales ≠ “*”, obtiene el nombre del recurso
• Devuelve lista de reglas que se ajusten al criterio de búsqueda. Incluyen un último
campo adicional que es el nombre del recurso (cuando aplica)
Detalle Funcionalidades Automatizadas
Gestión de Encendidos y Apagados. Añadir Regla
Los ficheros de Reglas tienen los siguientes campos separados por “:”
Minuto:Hora:diaMes:Mes:diaSemana:Estado:TipoItem:ACC:APP:Id:TMax
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Rule: Regla a añadir
Tareas que realiza:
• Define el nombre del fichero de Reglas de la APP: /var/www/onoff/${ACC}.${APP}.cfg
• Si ya existiera un fichero de Reglas de OnOff para esta APP, lo versiona con la FechaHora
• Añade la nueva Regla al fichero de Reglas de la APP y lo ordena.
Detalle Funcionalidades Automatizadas
Gestión de Encendidos y Apagados. Modificar Regla
Los ficheros de Reglas tienen los siguientes campos separados por “:”
Minuto:Hora:diaMes:Mes:diaSemana:Estado:TipoItem:ACC:APP:Id:TMax
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Rule: Regla actual a modificar
• New Rule: Nueva definición de la regla
Tareas que realiza:
• Define el nombre del fichero de Reglas de la APP: /var/www/onoff/${ACC}.${APP}.cfg
• Si ya existiera un fichero de Reglas de OnOff para esta APP, lo versiona con la FechaHora
• Elimina la regla existente recibida por parámetros.
• Añade la nueva Regla al fichero de Reglas de la APP y lo ordena.
Detalle Funcionalidades Automatizadas
Gestión de Encendidos y Apagados. Eliminar Regla
Los ficheros de Reglas tienen los siguientes campos separados por “:”
Minuto:Hora:diaMes:Mes:diaSemana:Estado:TipoItem:ACC:APP:Id:TMax
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Rule: Regla a eliminar
Tareas que realiza:
• Define el nombre del fichero de Reglas de la APP: /var/www/onoff/${ACC}.${APP}.cfg
• Si ya existiera un fichero de Reglas de OnOff para esta APP, lo versiona con la FechaHora
• Elimina la regla existente del fichero de Reglas y lo ordena.
Detalle Funcionalidades Automatizadas
Gestión de Backups
Esta funcionalidad permite ajustar las reglas de Backup existentes, así como añadir reglas nuevas o
eliminar reglas
La selección de Recursos NO se trata y no de debe tratar. Se mantiene la definición que se hizo en
Capa0
Esta funcionalidad se limita a recuperar la configuración actual de todas las reglas de Backup de un
determinado Plan de Backup
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Plan de Backup: Nombre del Plan
Tareas que realiza:
• Realiza validación de datos
• Verifica que exista el Vault de la APP
• Recorre todos los Planes de Backup de la Cuenta hasta localizar al Plan de Backup especificado
• Obtiene el ID, para recuperar su configuración
• Recorre todas las reglas de Backup definidas en el Plan de Backup
• Devuelve un registro por cada Regla que contiene los siguientes campos separados por “:”
RuleName:ScheduleExpression:RetrasoMaximo:DuracionMaxima:Retencion:DiasParaAlmacFrio
Detalle Funcionalidades Automatizadas
Gestión de Backups. Añadir Regla
La recuperación de Backup se basa en los Snapshots que realiza AWS Backup junto con los Metadatos
que se generan diariamente para hacer viable dicha recuperación. Los scripts que generan esos
Metadatos son InfoInstancias.sh e InfoRDS.sh, que se ejecutan diariamente a las 0:05 y 0:10 UTC.
Los Metadatos consiste el la información que existe en cada cuenta de todas las Instancias y de sus
Volúmenes, así como de todas las Instancias de RDS, de sus TAGs y de los Clusters de RDS.
Esta funcionalidad obtiene la lista de fechas en las que existe Snapshots para una Aplicación. Sirve
para ir refinando la búsqueda
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
Tareas que realiza:
• Realiza validación de datos
• Obtiene el ACCID de la Cuenta
• Obtiene el listado de todos los Snapshot de la Cuenta
• Recorre todos los Snapshots y filtra aquellos que pertenezcan a la APP especificada.
• Recupera la fecha del Snapshot
• Devuelve la lista de fechas sin duplicados en orden descendente con formato YYYY-MM-DD
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Listar Instancias Fecha
Esta funcionalidad obtiene la lista de Instancias con su InstanceId en las que existen Metadatos para
una determinada fecha. Sirve para ir refinando la búsqueda
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• Fecha: En formato YYYY-MM-DD
Tareas que realiza:
• Realiza validación de datos
• Obtiene el APP_NAME y la VPVID de la APP especificada
• Recorre el fichero de Metadatos de Instancias de la Cuenta y fecha especificada revisando la
información de cada Instancia
• Verifica si coincide el APP_NAME de la Instancia
• Verifica si coincide el VPCID
• Devuelve el Nombre e InstanceId
• Ordena los datos eliminando duplicados
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Listar Volúmenes
Esta funcionalidad obtiene la lista de Volúmenes que se podrían recuperar de una determinada
Instancia y fecha. Sirve para ir refinando la búsqueda en el caso de querer Restaurar Volumen
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• InstanceId: Id de Instancia de la que listar los Volúmenes disponibles
• Fecha: En formato YYYY-MM-DD
Tareas que realiza:
• Realiza validación de datos
• Recorre el fichero de Metadatos de Volúmenes de la Cuenta y fecha especificada revisando la
información de cada Volumen
• Verifica si la Instancia a la que estuviera atachado el Volumen coincide con la especificada
• Verifica que el estado del Volumen sea “in-use”
• Recupera el Nombre, el VolumeId y el Device
• Ordena los datos eliminando duplicados
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Listar Snapshot Fecha
Esta funcionalidad obtiene la lista de TimeStamp en las que hay Snapshots para una Instancia. Sirve
para refinar la búsqueda
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• InstanceId: Id de Instancia de la que listar los Volúmenes disponibles
• Fecha: En formato YYYY-MM-DD
Tareas que realiza:
• Realiza validación de datos
• Recorre el fichero de Metadatos de Instancias de la Cuenta y fecha especificada revisando la
información de cada Instancia
• Verifica si el InstanceId coincide con el especificado
• Obtiene el RootDeviceName
• Localiza el Volumen atachado que coincida con el RootDeviceName
• Recupera el VolumeId
• Recorre la lista de Snapshot existente para la Cuenta y fecha y con el VolumeId
• Recupera el StartTime (que es un TimeStamp) de los Snapshot existentes
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Recuperar Volumen
Esta funcionalidad genera una Imagen a partir de los Snapshot que pertenecían a una Instancia en un
TimeStamp determinado
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• InstanceId : Id de la Instancia
• TimeStamp : StartTime del Snapshot del Volumen principal
Tareas que realiza:
• Realiza validación de datos
• Recorre el fichero de Metadatos de Instancias de la Cuenta y fecha especificada buscando el que
coincida con el InstanceId
• Busca las etiquetas de la Instancia para recuperar el Name
• Recupera los datos: Architecture, RootDeviceName, VirtualizationType y nº de Volúmenes
• Realiza un filtrado de los Snapshots que se ajustan a la fecha
• Recorre el fichero de Metadatos de Volúmenes de la Cuenta y fecha especificada, buscando todos
los que estuvieran atachados a la InstanceId
• Recupera los datos: VolumeId, Device, VolumeType, Iops, Size, Encrypted,
DeleteOnTermination y AvailabilityZone
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Recuperar Imagen
Esta funcionalidad genera una Servidor a partir de los Snapshot que pertenecían a una Instancia en
un TimeStamp determinado
Datos de entrada:
• ACC: Se ha de seleccionar alguna de las cuentas existentes
• APP: Se ha de seleccionar alguna de las APP existentes para la cuenta
• InstanceId : Id de la Instancia
• TimeStamp : StartTime del Snapshot del Volumen principal
Tareas que realiza:
• Realiza validación de datos
• Recorre el fichero de Metadatos de Instancias de la Cuenta y fecha especificada buscando el que
coincida con el InstanceId
• Busca las etiquetas de la Instancia para recuperar el Name
• Recupera los datos: Architecture, RootDeviceName, VirtualizationType, InstanceType,
KeyName, SubnetId, la lista de Security Groups y nº de Volúmenes
• Realiza un filtrado de los Snapshots que se ajustan a la fecha
• Recorre el fichero de Metadatos de Volúmenes de la Cuenta y fecha especificada, buscando todos
los que estuvieran atachados a la InstanceId
Detalle Funcionalidades Automatizadas
Recuperación de Backups. Recuperar Servidor
AOPE005PRO-VPC (10.112.1.64/26)
AOPE005PRO-FSUB01a AOPE005PRO-FSUB01b
10.112.1.64/28 10.112.1.80/28
AOPE005PRO-
ELBAUT
AOPE005PRO-BSUB01a AOPE005PRO-BSUB01b
10.112.1.96/28 10.112.1.112/28
m5.large
AOPE005PBLAUT01
10.112.1.120
zona 1a zona 1b
Servidor Automatización
• Toda la operativa de automatización se realiza en la cuenta vsgawsicaccount, desde el servidor
de Automatización AOPE005PBLAUT01 (10.112.1.120).
• Este servidor utiliza la KeyPair: AOPE005PRO-KEY vsgawsicaccount AWS Ireland (eu-west-1)
• Se trata de una instancia ec2 Amazon Linux 1 con apache y php. AOPE005PRO-VPC (10.112.1.64/26)
AOPE005PRO-FSUB01a
10.112.1.64/28
AOPE005PRO-FSUB01b
10.112.1.80/28
AOPE005PRO-BSUB01a AOPE005PRO-BSUB01b
10.112.1.96/28 10.112.1.112/28
AOPE005PBLAUT01
10.112.1.120
zona 1a zona 1b