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
Q

¿Qué es un CreationPolicy?

A

Una versión simple de WaitConditions para EC2 y ASG

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

¿Cómo se añade una CreationPolicy a un ASG?

A

“CreationPolicy” : { “ResourceSignal” : { “count” : 2, “Timeout” : “PT15M”}}

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

¿Cómo se lanza un signal desde EC2 a un CreationPolicy de CF?

A

Con el cfn-signal helper

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

¿Qué es un waitHandle en CF?

A

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]

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

¿Dónde se usa un waitHandle?

A

En una AWS::Cloudformation::WaitCondition

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

¿Qué properties tiene una WaitCondition?

A

handle, timeout, y count. También se debe especificar un DependsOn relacionado con el recurso que generará la señal.

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

¿A qué nivel se especifica el autohealing en OpsWorks?

A

A nivel de Layer (no stack)

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

¿A cuántos stacks puede asociarse una instancia RDS concreta?

A

Solo a uno.

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

Al clonar un stack de OpsWorks ¿las instancias RDS se copian también?

A

Nope

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

¿Qué es una instancia 24/7 en OpsWorks?

A

La que defines para arrancarse y pararse manualmente.

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

¿Qué es una instancia timebased en OpsWorks?

A

La que se preconfigura para ser arrancada a ciertas horas

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

¿Qué es un loadbased instance en OpsWorks?

A

La que se lanza cuando la carga de trabajo lo requiere (por cpu, memoria, carga o cloudwatch)

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

¿Qué es el create-deployment command en OpsWorks? ```aws opsworks create-deployment …

A

Crea despliegues y permite ejecutar comandos a nivel de stack. El nombre es inadecuado.

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

¿Qué comandos admite create-deployment?

A

install_depedencies, update_dependencies,
update_custom_cookbooks, execute_recipies,
setup, configure,
deploy, rollback, undeploy,
start, stop, restart

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

¿Qué es un CF custom resource?

A

Custom::ResourceNameHere para invocar una lambda o un sns.

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

¿Cuándo se invoca un CF custom resource?

A

Cuando se crea, actualiza o borra un stack

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

¿Cuáles son los eventos de OpsWorks?

A

Setup, configure, deploy, undeploy, shutdown

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

¿Qué es opsworks local?

A

Un agente instalable onpremise

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

¿Qué es un resource en una recipe chef?

A

Un “estado deseado”. Por ejemplo, registry_key “set background color” do … end indicaría que queremos modificar el registro.

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

¿OpsWorks hace autopatching?

A

No automáticamente pero es fácil automatizarlos.

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

¿Qué sucede cuando ocurre un evento Chef?

A

Se ejecuta un conjunto de recipes asociadas

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

¿Cuándo se lanza SETUP en Chef?

A

Lanzado justo después de terminar el inicio de la instancia

47
Q

¿Cuándo se lanza CONFIGURE en Chef?

A

Lanzado cuando entra o sale de online o cuando cambia su comunicación (ip, eip, elb, eni…)

48
Q

¿Cuándo se lanza DEPLOY en Chef?

A

Tras ejecutarse el comando deploy en una instancia

49
Q

¿Cuándo se lanza UNDEPLOY en Chef?

A

Cleanup de un repliegue

50
Q

¿Cuándo se lanza SHUTDOWN en Chef?

A

Cuando se apaga la instancia

51
Q

¿Qué instancias reciben el evento de configuración de Chef?

A

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
Q

¿Qué parámetros se indican en OpsWorks para crear una aplicación?

A

Name, Document root, Data Source (RDS/None), Source (git/http/s3), environment vars, domain names, ssl settings

53
Q

¿Cuántas copias de la aplicación se mantienen en OpsWorks?

A

5, incluyendo la actual

54
Q

¿Qué es un databag?

A

Metadata en json asociada a cada elemento de chef (stack, layer, app, instance) y que en OpsWorks se puede generar automáticamente.

55
Q

¿Dónde se usa un databag?

A

En las recipes se pueden usar para recuperar datos de otros elementos.

56
Q

¿Cuál es el periodo máximo de retención de cloudwatch?

A

14 días

57
Q

¿Qué limitación de tiempo tiene el periodo asignado a una alarma en CW?

A

Siempre debe ser superior al de la frecuencia de la métrica

58
Q

¿Puede una alarma ejecutar una acción cuando está en un determinado estado?

A

La ejecución se asocia al cambio de estado.

59
Q

¿Puede una alarma desatar una acción en una región distinta a la que se genera?

A

Nope

60
Q

¿Qué significa insufficient_data?

A

Un volumen no attacheado no emite métricas, así que pasa a este estado. Igual que una EC2 apagada.

61
Q

¿Qué estados tiene una alamarma?

A

OK, ALARM, INSUFFICIENT_DATA

62
Q

¿Qué comandos manipulan alarmas?

A

mon-put-metric-alarm, mon-enable-alarm-mon-disable-alarm, mon-describe-alarms

63
Q

¿Es oblitorio tener métricas para poder crear una alarma?

A

No.

64
Q

¿Cómo se implementa cloudwatch logs sin usar el api?

A

Instalando agents.

65
Q

¿Permite cloudwatch logs long term storage?

A

Sí, con expiration date

66
Q

¿Que es en cloudwatch log un event?

A

Un registro con timestamp + message

67
Q

¿Que es en cloudwatch log un stream?

A

Una sucesión de eventos de la misma fuente

68
Q

¿Que es en cloudwatch log un log group?

A

Un grupo de streams que tienen la misma configuración

69
Q

¿Es posible aplicar un filtro de cw logs sobre los datos ya almacenados?

A

no

70
Q

¿Cuántos eventos devuelve un filtro?

A

Un máximo de 50

71
Q

¿Pueden generarse métricas y alarmas a partir de filtros en cloudwatch logs?

A

sí (pero a través de filtros?

72
Q

¿Cómo puede procesarse en tiempo real Cloudwatch logs?

A

Con kinesis streams, lambda o firehose.

73
Q

¿Qué elementos contiene un registro de Cloud Trail?

A

Identity de quien invocó, timestamp, ip, request y response

74
Q

¿Dónde se almacenan los logs de Cloudtrail?

A

En s3, utilizando server side encryption.

75
Q

¿Qué latencia tiene Cloud Trail?

A

Cada cinco minutos se publican nuevos logs. El tiempo máximo entre invocación y publicación es de 15 minutos.

76
Q

¿Qué es CloudWatch Events?

A

Similiar a Cloudtrail pero mucho más rápido: tiempo real.

77
Q

¿Qué destinos soporta un CloudWatch Events?

A

Kinesis, lambda, SNS, builtin

78
Q

¿Cuándo se crea un CloudWatch Event?

A

Un cambio de estado en un recurso, una llamada a un API soportada, o una invocación custom

79
Q

¿Qué permite IAM Delegation?

A

Permitir acceso a recursos a usuarios de otras cuentas

80
Q

¿Qué es IAM Federation?

A

permitir acceso a recursos utilizando autentificación externa, a través de un rol

81
Q

¿Qué papel juega Cognito en la federación de usuarios?

A

Gestiona de una forma simple el proceso de integración

82
Q

¿Qué es una trust policy?

A

Un documento que se asociada a un rol que lista las los usuarios y cuentas que pueden asumirlo.

83
Q

¿Qué es una access policy?

A

Una lista de permisos para invocar APIs.

84
Q

¿Qué es una sesión en IAM?

A

Credenciales temporales generadas por el STS

85
Q

¿Qué es service delegation?

A

El equivalente a AssumeRole para EC2 o Lambda

86
Q

¿Qué rango de tiempo ofrecen unas credenciales temporales si usas Corporate Identity Federation?

A

Entre 15min y 1h

87
Q

¿Qué objetivo tiene GetFederationToken?

A

Obtener credenciales federadas para una aplicación en lugar de para un usuario

88
Q

¿Soporta GetFederationToken MFA?

A

No

89
Q

¿Por qué es preferible AssumeRoleWithSAML para dar credenciales temporales a un usuario?

A

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
Q

¿Qué es un identity pool?

A

Una colección de identidades gestionadas por Cognito. Permite unificar distintos providers en una sola entidad

91
Q

¿Qué son los Autoscaling lifecycle Hooks?

A

Permiten controlar el bootstrapping y termination de una instancia en un ASG

92
Q

¿Qué timeout por defecto tiene un Autoscaling lifecycle Hook?

A

Una hora

93
Q

¿Cómo puede una instancia informar de que ha terminado su acción de bootstraping al Autoscaling lifecycle Hook?

A

Mediante el comando complete-lifecycle-action

94
Q

¿Puede una instancia pedir más tiempo que el predefinido para completar su Autoscaling lifecycle Hook?

A

Sí, mediatne record-lifecycle-action-heartbeat, hasta 48 horas.

95
Q

¿Cuándo empieza a contar el periodo de Cooldown en un ASG?

A

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
Q

¿Es posible eliminar una instancia que acaba dea rrancar mientras se procesa su Autoscaling lifecycle Hook?

A

Sí, retornando ABANDON como resultado del mismo

97
Q

¿Es posible impedir que una instancia termine como consecuencia de una reducción en el ASG?

A

Sí, mediante los Autoscaling lifecycle Hooks (no aplicable a Spot)

98
Q

¿Qué Autoscaling lifecycle Hooks existen?

A

EC2_INSTANCE_LAUNCHING y EC2_INSTANCE_TERMINATING

99
Q

¿Qué performance ofrece una partición en DynamoDB?

A

3000RCU + 1000WCU

100
Q

¿Qué tamaño máximo tiene una partición de DynamoDB?

A

10GB

101
Q

¿Qué rendimiento tiene un volumen recuperado desde una snapshot?

A

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
Q

¿Qué es y cómo se gestiona una orphan snapshot?

A

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
Q

¿Qué implica enter-standby de una instancia en un ASG?

A

Desregistra la instancia del ELB y por defecto, reduce el desired en un 1 (evita span de una nueva).

104
Q

¿Qué API se usa para modificar la LC de un ASG?

A

update-auto-scaling-group

105
Q

¿Qué API se usa para para añadir una métrica CW?

A

put-metric-data

106
Q

¿Qué API se usa para crear una alerta?

A

put-metric-alarm

107
Q

¿Qué API se usa para desactivar una alarma?

A

disable-alarm-actions

108
Q

¿Qué API se usa para testear alarmas?

A

set-alarm-state

109
Q

¿Cuánto tiempo tarda en modificarse el tiempo de retención de mensajes en SQS?

A

Hasta 15 minutos

110
Q

¿Cómo indicas que deseas leer un mensaje de SQS usando long polling?

A

Fijando a 10 segundos el parámetro WaitTimeSeconds de ReceiveMessage o a 20 segundos el parámetro ReceiveMessageWaitTimeSeconds de SetQeueAttributes

111
Q

¿Qué API se usa para utilizar un usuario de otra cuenta?

A

assume-role

112
Q

¿Qué API se usa para utilizar MFA?

A

get-session-token

113
Q

¿Dónde puede codedeploy desplegar?

A

En EC2 y en on-premise