Funciones Clave en CloudFormation: GetAtt, FindInMap, Join, Split y Select
Clase 20 de 38 • Curso de Infraestructura Como Código en AWS
Resumen
¿Qué son las funciones de laboratorio y cómo optimizan los proyectos?
En el ámbito del desarrollo de software, especialmente cuando trabajamos con infraestructuras definidas como código, las funciones juegan un papel crucial para mejorar la eficiencia y flexibilidad de los proyectos. A continuación, exploraremos varias funciones que puedes aplicar en tus futuros proyectos, específicamente en CloudFormation. Veremos las funciones GetAtt
, FindInMap
, Join
, y las combinaciones de Split
y Select
.
¿Cómo podemos usar GetAtt?
La función GetAtt
nos permite acceder al valor de un atributo específico de un recurso en CloudFormation. Aquí se aborda cómo funciona y cuándo es relevante utilizarla.
- Composición de la función:
GetAtt
se escribe como el nombre del recurso seguido por un punto y el nombre del atributo. Dependiendo de si usas JSON o YAML, puedes elegir entre distintas sintaxis, pero la tercera versión en YAML suele ser la más sencilla.
!GetAtt NombreRecurso.NombreAtributo
- Ejemplo práctico: Imagina que tienes un rol y una función Lambda. Primero, creas el rol y luego la función Lambda haciendo referencia a ese rol. Usarías
GetAtt
para acceder al ARN del rol y asignárselo a la Lambda.
¿Qué ventajas tiene usar FindInMap?
FindInMap
es una función que complementa a los mappings. Permite buscar valores específicos en un mapping y es especialmente útil si se necesitan adaptar configuraciones, como imágenes de servidores, basadas en la región.
- Componentes de la función: Se compone del nombre del mapping, el key (que puede ser la región, por ejemplo) y el sub-key del valor a traer.
!FindInMap [ NombreMapping, Key, Sub-Key ]
- Caso de uso: Puedes tener una lista de AMIs por región. Al crear una instancia EC2,
FindInMap
puede buscar y retornar la AMI adecuada según la región.
¿Para qué se utiliza Join?
La función Join
permite unir valores en una sola cadena de texto, definiendo un delimitador para separar cada valor.
- Uso de la función: Útil cuando necesitas combinar múltiples valores en un único string, ideal para formatos o documentación.
!Join [ Delimitador, [ Valor1, Valor2, ...] ]
¿Cómo funcionan las combinaciones de Split y Select?
Las funciones Split
y Select
son útiles juntas para dividir una cadena de texto en componentes y luego seleccionar uno de ellos.
-
División con Split: Separa una cadena utilizando un delimitador determinado.
-
Selección con Select: Una vez dividida la cadena, selecciona un elemento específico basado en su índice.
!Select [ Índice, !Split [ Delimitador, Cadena ] ]
- Escenario práctico: Supongamos que manejas identificadores de cuentas. Puedes dividirlos por un delimitador y luego seleccionar el identificador específico que necesitas.
Estas funciones amplían el poder y la lógica de tus plantillas de CloudFormation, permitiendo un control más preciso y una reutilización eficiente del código. Estudia cada función detenidamente y pruébalas para aprovechar al máximo tus recursos en la nube. Te recomendamos consultar la documentación de AWS para entender completamente sus capacidades y limitaciones. ¡Sigue aprendiendo y optimizando tu repertorio de habilidades!