Devops Flashcards
¿Qué especificas en un parámetro de CF?
Default value, allowed values, allowed pattern, min, maxValue y maxLength.
¿Qué sucede si se crea un recurso en CF sin especificar su nombre?
CF genera un nombre único.
¿Cómo se inserta el valor de un parámetro en un template CF?
Utilizando un objeto {“Ref” : “nombreParametro”}
¿Cómo recuperas un valor para output en cF?
Habitualmente con un {“Ref” : “…”} o {“Fn:GetAtt” : “..:”}
¿Qué condiciones soporta CF?
Fn::And, Fn::Equals, Fn::If, Fn::Not, Fn::Or
¿Qué funciones soporta CF?
Fn::Base64 Fn::FindInMap Fn::GetAtt Fn::GetAZs Fn::ImportValue Fn::Join Fn::Select Fn::Sub Ref
¿Cuál es la sintaxis de Fn::Base64?
{ “Fn::Base64” : “Hello world.” }
¿Cuál es la sintaxis de Fn::FindInMap?
Mappings > RegionMap > {“us-east-1” : { “32bit” : “ami-12345678”, “64bit” : “ami-22224444”}}
{ “Fn::FindInMap” : [“RegionMap”, { “Ref” : “AWS:Region” }, “32bit” ]}
¿Cuál es la sintaxis de Fn::Select?
“az” : { “Fn::Select” : [“0”, {“Fn:GetAZs” : “”}]}
¿Cuál es la sintaxis de Fn:Join?
{“Fn::Join” : [”#”, [“a”, “b”, “c”]] –> “a#b#c”
¿Cómo se especifican condiciones en CF?
“isProd” : { “Fn:Equals” : [{ “Ref” : “ParamEnvType”}, “prod”]}
"NewVolume" : { "Type" : "AWS::EC2::Volume", "Condition" : "isProd", "Properties" : {...} }
¿En qué casos DependsOn es obligatorio?
Cuando la dependencia no es implícita. Por ejemplo, unas EC2 puede que tengan que esperar a que una RDS se haya creado.
¿Cuál es la sintaxis de DependsOn?
“Instancia” : { “Type” : “:..”, “DependsOn” : [“RDS1”, “RDS2”]}
¿Para qué sirve un StackPolicy en CF?
Para controlar cómo se ven afectados los recursos en caso de actualización o borrado.
¿Cómo se aplica una StackPolicy en CF?
Si existe, por defecto, se añade un “Update:* : Deny”. Por ello la actualización se vuelve explícita.
¿Es posible retirar una StackPolicy de un CF?
No, una vez añadida solo puede modificarse.
¿Qué componentes forman una StackPolicy de CF?
Effect, Resource/NotResource, Principal, Action, Condition
¿Qué valor puede tomar Principal en una StackPolicy?
El único aceptable es *
¿Qué valor puede tomar Action en una StackPolicy de CF?
Update:Modify (mantain physical id)
Update:Replace
Update:Delete
Update:* (all actions)
¿Qué tipo de cambios genera una modificación de un recurso mediante CF?
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)
¿Qué límites tiene un Stack de CF?
460KB, 200 resources, 100 mappings, 60 params, 60 output.
¿Cómo pueden superarse los límites de un Stack?
Utilizando templates anidados.
¿Cómo se invoca un template anidado?
Utilizando como resource type AWS::CloudFormation::Stack
¿Cómo es posible pasar valores desde un nested template a otro nested template en CF?
Utilizando la sección Output del primero en el parent para invocar los parámetros del segundo.
¿Qué es un CreationPolicy?
Una versión simple de WaitConditions para EC2 y ASG
¿Cómo se añade una CreationPolicy a un ASG?
“CreationPolicy” : { “ResourceSignal” : { “count” : 2, “Timeout” : “PT15M”}}
¿Cómo se lanza un signal desde EC2 a un CreationPolicy de CF?
Con el cfn-signal helper
¿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]
¿Dónde se usa un waitHandle?
En una AWS::Cloudformation::WaitCondition
¿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.
¿A qué nivel se especifica el autohealing en OpsWorks?
A nivel de Layer (no stack)
¿A cuántos stacks puede asociarse una instancia RDS concreta?
Solo a uno.
Al clonar un stack de OpsWorks ¿las instancias RDS se copian también?
Nope
¿Qué es una instancia 24/7 en OpsWorks?
La que defines para arrancarse y pararse manualmente.
¿Qué es una instancia timebased en OpsWorks?
La que se preconfigura para ser arrancada a ciertas horas
¿Qué es un loadbased instance en OpsWorks?
La que se lanza cuando la carga de trabajo lo requiere (por cpu, memoria, carga o cloudwatch)
¿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.
¿Qué comandos admite create-deployment?
install_depedencies, update_dependencies,
update_custom_cookbooks, execute_recipies,
setup, configure,
deploy, rollback, undeploy,
start, stop, restart
¿Qué es un CF custom resource?
Custom::ResourceNameHere para invocar una lambda o un sns.
¿Cuándo se invoca un CF custom resource?
Cuando se crea, actualiza o borra un stack
¿Cuáles son los eventos de OpsWorks?
Setup, configure, deploy, undeploy, shutdown
¿Qué es opsworks local?
Un agente instalable onpremise
¿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.
¿OpsWorks hace autopatching?
No automáticamente pero es fácil automatizarlos.
¿Qué sucede cuando ocurre un evento Chef?
Se ejecuta un conjunto de recipes asociadas