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.