Devops Flashcards

1
Q

¿Qué especificas en un parámetro de CF?

A

Default value, allowed values, allowed pattern, min, maxValue y maxLength.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué sucede si se crea un recurso en CF sin especificar su nombre?

A

CF genera un nombre único.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cómo se inserta el valor de un parámetro en un template CF?

A

Utilizando un objeto {“Ref” : “nombreParametro”}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cómo recuperas un valor para output en cF?

A

Habitualmente con un {“Ref” : “…”} o {“Fn:GetAtt” : “..:”}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué condiciones soporta CF?

A

Fn::And, Fn::Equals, Fn::If, Fn::Not, Fn::Or

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué funciones soporta CF?

A
Fn::Base64
    Fn::FindInMap
    Fn::GetAtt
    Fn::GetAZs
    Fn::ImportValue
    Fn::Join
    Fn::Select
    Fn::Sub
    Ref
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuál es la sintaxis de Fn::Base64?

A

{ “Fn::Base64” : “Hello world.” }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cuál es la sintaxis de Fn::FindInMap?

A

Mappings > RegionMap > {“us-east-1” : { “32bit” : “ami-12345678”, “64bit” : “ami-22224444”}}

{ “Fn::FindInMap” : [“RegionMap”, { “Ref” : “AWS:Region” }, “32bit” ]}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cuál es la sintaxis de Fn::Select?

A

“az” : { “Fn::Select” : [“0”, {“Fn:GetAZs” : “”}]}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cuál es la sintaxis de Fn:Join?

A

{“Fn::Join” : [”#”, [“a”, “b”, “c”]] –> “a#b#c”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Cómo se especifican condiciones en CF?

A

“isProd” : { “Fn:Equals” : [{ “Ref” : “ParamEnvType”}, “prod”]}

"NewVolume" : {
  "Type" : "AWS::EC2::Volume",
  "Condition" : "isProd",
  "Properties" : {...}
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿En qué casos DependsOn es obligatorio?

A

Cuando la dependencia no es implícita. Por ejemplo, unas EC2 puede que tengan que esperar a que una RDS se haya creado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuál es la sintaxis de DependsOn?

A

“Instancia” : { “Type” : “:..”, “DependsOn” : [“RDS1”, “RDS2”]}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Para qué sirve un StackPolicy en CF?

A

Para controlar cómo se ven afectados los recursos en caso de actualización o borrado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cómo se aplica una StackPolicy en CF?

A

Si existe, por defecto, se añade un “Update:* : Deny”. Por ello la actualización se vuelve explícita.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Es posible retirar una StackPolicy de un CF?

A

No, una vez añadida solo puede modificarse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué componentes forman una StackPolicy de CF?

A

Effect, Resource/NotResource, Principal, Action, Condition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué valor puede tomar Principal en una StackPolicy?

A

El único aceptable es *

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué valor puede tomar Action en una StackPolicy de CF?

A

Update:Modify (mantain physical id)
Update:Replace
Update:Delete
Update:* (all actions)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué tipo de cambios genera una modificación de un recurso mediante CF?

A

Replacement (por ejemplo, mover una EC2 de AZ o cambiar imagen), Some Interruptions (cambir el tipo de una EC2), No Interruption (cambiar el throughput de Dynamodb)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Qué límites tiene un Stack de CF?

A

460KB, 200 resources, 100 mappings, 60 params, 60 output.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Cómo pueden superarse los límites de un Stack?

A

Utilizando templates anidados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Cómo se invoca un template anidado?

A

Utilizando como resource type AWS::CloudFormation::Stack

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Cómo es posible pasar valores desde un nested template a otro nested template en CF?

A

Utilizando la sección Output del primero en el parent para invocar los parámetros del segundo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Qué es un CreationPolicy?
Una versión simple de WaitConditions para EC2 y ASG
26
¿Cómo se añade una CreationPolicy a un ASG?
"CreationPolicy" : { "ResourceSignal" : { "count" : 2, "Timeout" : "PT15M"}}
27
¿Cómo se lanza un signal desde EC2 a un CreationPolicy de CF?
Con el cfn-signal helper
28
¿Qué es un waitHandle en CF?
Un recurso que genera una URL a la que se puede invocar para alterar fijar el estado como SUCCESS o FAILURE junto a info adicional que puede usarse con GetAtt[waitCond, Data]
29
¿Dónde se usa un waitHandle?
En una AWS::Cloudformation::WaitCondition
30
¿Qué properties tiene una WaitCondition?
handle, timeout, y count. También se debe especificar un DependsOn relacionado con el recurso que generará la señal.
31
¿A qué nivel se especifica el autohealing en OpsWorks?
A nivel de Layer (no stack)
32
¿A cuántos stacks puede asociarse una instancia RDS concreta?
Solo a uno.
33
Al clonar un stack de OpsWorks ¿las instancias RDS se copian también?
Nope
34
¿Qué es una instancia 24/7 en OpsWorks?
La que defines para arrancarse y pararse manualmente.
35
¿Qué es una instancia timebased en OpsWorks?
La que se preconfigura para ser arrancada a ciertas horas
36
¿Qué es un loadbased instance en OpsWorks?
La que se lanza cuando la carga de trabajo lo requiere (por cpu, memoria, carga o cloudwatch)
37
¿Qué es el create-deployment command en OpsWorks? ```aws opsworks create-deployment ...
Crea despliegues y permite ejecutar comandos a nivel de stack. El nombre es inadecuado.
38
¿Qué comandos admite create-deployment?
install_depedencies, update_dependencies, update_custom_cookbooks, execute_recipies, setup, configure, deploy, rollback, undeploy, start, stop, restart
39
¿Qué es un CF custom resource?
Custom::ResourceNameHere para invocar una lambda o un sns.
40
¿Cuándo se invoca un CF custom resource?
Cuando se crea, actualiza o borra un stack
41
¿Cuáles son los eventos de OpsWorks?
Setup, configure, deploy, undeploy, shutdown
42
¿Qué es opsworks local?
Un agente instalable onpremise
43
¿Qué es un resource en una recipe chef?
Un "estado deseado". Por ejemplo, registry_key "set background color" do ... end indicaría que queremos modificar el registro.
44
¿OpsWorks hace autopatching?
No automáticamente pero es fácil automatizarlos.
45
¿Qué sucede cuando ocurre un evento Chef?
Se ejecuta un conjunto de recipes asociadas
46
¿Cuándo se lanza SETUP en Chef?
Lanzado justo después de terminar el inicio de la instancia
47
¿Cuándo se lanza CONFIGURE en Chef?
Lanzado cuando entra o sale de online o cuando cambia su comunicación (ip, eip, elb, eni...)
48
¿Cuándo se lanza DEPLOY en Chef?
Tras ejecutarse el comando deploy en una instancia
49
¿Cuándo se lanza UNDEPLOY en Chef?
Cleanup de un repliegue
50
¿Cuándo se lanza SHUTDOWN en Chef?
Cuando se apaga la instancia
51
¿Qué instancias reciben el evento de configuración de Chef?
Típicamente se lanza en todas las instancias como reacción al setup de una de ellas para permitir la conexión entre ellas
52
¿Qué parámetros se indican en OpsWorks para crear una aplicación?
Name, Document root, Data Source (RDS/None), Source (git/http/s3), environment vars, domain names, ssl settings
53
¿Cuántas copias de la aplicación se mantienen en OpsWorks?
5, incluyendo la actual
54
¿Qué es un databag?
Metadata en json asociada a cada elemento de chef (stack, layer, app, instance) y que en OpsWorks se puede generar automáticamente.
55
¿Dónde se usa un databag?
En las recipes se pueden usar para recuperar datos de otros elementos.
56
¿Cuál es el periodo máximo de retención de cloudwatch?
14 días
57
¿Qué limitación de tiempo tiene el periodo asignado a una alarma en CW?
Siempre debe ser superior al de la frecuencia de la métrica
58
¿Puede una alarma ejecutar una acción cuando está en un determinado estado?
La ejecución se asocia *al cambio de estado*.
59
¿Puede una alarma desatar una acción en una región distinta a la que se genera?
Nope
60
¿Qué significa insufficient_data?
Un volumen no attacheado no emite métricas, así que pasa a este estado. Igual que una EC2 apagada.
61
¿Qué estados tiene una alamarma?
OK, ALARM, INSUFFICIENT_DATA
62
¿Qué comandos manipulan alarmas?
mon-put-metric-alarm, mon-enable-alarm-mon-disable-alarm, mon-describe-alarms
63
¿Es oblitorio tener métricas para poder crear una alarma?
No.
64
¿Cómo se implementa cloudwatch logs sin usar el api?
Instalando agents.
65
¿Permite cloudwatch logs long term storage?
Sí, con expiration date
66
¿Que es en cloudwatch log un event?
Un registro con timestamp + message
67
¿Que es en cloudwatch log un stream?
Una sucesión de eventos de la misma fuente
68
¿Que es en cloudwatch log un log group?
Un grupo de streams que tienen la misma configuración
69
¿Es posible aplicar un filtro de cw logs sobre los datos ya almacenados?
no
70
¿Cuántos eventos devuelve un filtro?
Un máximo de 50
71
¿Pueden generarse métricas y alarmas a partir de filtros en cloudwatch logs?
sí (pero a través de filtros?
72
¿Cómo puede procesarse en tiempo real Cloudwatch logs?
Con kinesis streams, lambda o firehose.
73
¿Qué elementos contiene un registro de Cloud Trail?
Identity de quien invocó, timestamp, ip, request y response
74
¿Dónde se almacenan los logs de Cloudtrail?
En s3, utilizando server side encryption.
75
¿Qué latencia tiene Cloud Trail?
Cada cinco minutos se publican nuevos logs. El tiempo máximo entre invocación y publicación es de 15 minutos.
76
¿Qué es CloudWatch Events?
Similiar a Cloudtrail pero mucho más rápido: tiempo real.
77
¿Qué destinos soporta un CloudWatch Events?
Kinesis, lambda, SNS, builtin
78
¿Cuándo se crea un CloudWatch Event?
Un cambio de estado en un recurso, una llamada a un API soportada, o una invocación custom
79
¿Qué permite IAM Delegation?
Permitir acceso a recursos a usuarios de otras cuentas
80
¿Qué es IAM Federation?
permitir acceso a recursos utilizando autentificación externa, a través de un rol
81
¿Qué papel juega Cognito en la federación de usuarios?
Gestiona de una forma simple el proceso de integración
82
¿Qué es una trust policy?
Un documento que se asociada a un rol que lista las los usuarios y cuentas que pueden asumirlo.
83
¿Qué es una access policy?
Una lista de permisos para invocar APIs.
84
¿Qué es una sesión en IAM?
Credenciales temporales generadas por el STS
85
¿Qué es service delegation?
El equivalente a AssumeRole para EC2 o Lambda
86
¿Qué rango de tiempo ofrecen unas credenciales temporales si usas Corporate Identity Federation?
Entre 15min y 1h
87
¿Qué objetivo tiene GetFederationToken?
Obtener credenciales federadas para una aplicación en lugar de para un usuario
88
¿Soporta GetFederationToken MFA?
No
89
¿Por qué es preferible AssumeRoleWithSAML para dar credenciales temporales a un usuario?
De esta forma no es necesario que el proxy que autentifica contra AD tenga permisos IAM: es el propio usuario el que envía el token SAML a AWS endpoint
90
¿Qué es un identity pool?
Una colección de identidades gestionadas por Cognito. Permite unificar distintos providers en una sola entidad
91
¿Qué son los Autoscaling lifecycle Hooks?
Permiten controlar el bootstrapping y termination de una instancia en un ASG
92
¿Qué timeout por defecto tiene un Autoscaling lifecycle Hook?
Una hora
93
¿Cómo puede una instancia informar de que ha terminado su acción de bootstraping al Autoscaling lifecycle Hook?
Mediante el comando complete-lifecycle-action
94
¿Puede una instancia pedir más tiempo que el predefinido para completar su Autoscaling lifecycle Hook?
Sí, mediatne record-lifecycle-action-heartbeat, hasta 48 horas.
95
¿Cuándo empieza a contar el periodo de Cooldown en un ASG?
Cuando la instancia pasa a InService. No se producirá ningún cambio en desired desde que se lanza la instancia hasta que finaliza el cooldown
96
¿Es posible eliminar una instancia que acaba dea rrancar mientras se procesa su Autoscaling lifecycle Hook?
Sí, retornando ABANDON como resultado del mismo
97
¿Es posible impedir que una instancia termine como consecuencia de una reducción en el ASG?
Sí, mediante los Autoscaling lifecycle Hooks (no aplicable a Spot)
98
¿Qué Autoscaling lifecycle Hooks existen?
EC2_INSTANCE_LAUNCHING y EC2_INSTANCE_TERMINATING
99
¿Qué performance ofrece una partición en DynamoDB?
3000RCU + 1000WCU
100
¿Qué tamaño máximo tiene una partición de DynamoDB?
10GB
101
¿Qué rendimiento tiene un volumen recuperado desde una snapshot?
Inicialmente no muy alto debido a que la recuperación de los bloques desde la snapshot es lazy. Esto puede ser un problema al restaurar una bd en EC2.
102
¿Qué es y cómo se gestiona una orphan snapshot?
Aquella que se ha convertido innecesaria al existir una más reciente. Lambda es ideal para eliminarlas automáticamente filtrando por tags de fecha.
103
¿Qué implica enter-standby de una instancia en un ASG?
Desregistra la instancia del ELB y por defecto, reduce el desired en un 1 (evita span de una nueva).
104
¿Qué API se usa para modificar la LC de un ASG?
update-auto-scaling-group
105
¿Qué API se usa para para añadir una métrica CW?
put-metric-data
106
¿Qué API se usa para crear una alerta?
put-metric-alarm
107
¿Qué API se usa para desactivar una alarma?
disable-alarm-actions
108
¿Qué API se usa para testear alarmas?
set-alarm-state
109
¿Cuánto tiempo tarda en modificarse el tiempo de retención de mensajes en SQS?
Hasta 15 minutos
110
¿Cómo indicas que deseas leer un mensaje de SQS usando long polling?
Fijando a 10 segundos el parámetro WaitTimeSeconds de ReceiveMessage o a 20 segundos el parámetro ReceiveMessageWaitTimeSeconds de SetQeueAttributes
111
¿Qué API se usa para utilizar un usuario de otra cuenta?
assume-role
112
¿Qué API se usa para utilizar MFA?
get-session-token
113
¿Dónde puede codedeploy desplegar?
En EC2 y en on-premise