Hazlo tú (20 min)
Creas una función Lambda, la ejecutas con un evento de prueba, lees su registro en CloudWatch Logs y la borras.
Costo: $0 a tu tarjeta, sin tocar tus créditos. Lambda da cada mes 1 millón de peticiones y 400.000 GB-segundos gratis en los dos planes; tus pruebas usan unas pocas peticiones de milisegundos. CloudWatch Logs incluye 5 GB al mes, y tu registro pesa unos KB. IAM no tiene cargo. No crees balanceadores ni grupos de Auto Scaling: un balanceador cobra cada hora que existe.
Plan gratuito: Lambda, CloudWatch Logs e IAM figuran entre los servicios gratuitos del registro simplificado, pero AWS no lo confirma para toda cuenta del plan gratuito. Si tu cuenta no te deja crear la función, no pases al plan de pago: haz la parte D.
El problema del rol. Una función necesita un
rol de ejecución, y al crearla le “pasas” ese rol: eso
exige el permiso iam:PassRole. Tu rol
laboratorio-escritura no lo tiene ni puede crear roles,
porque PowerUserAccess excluye IAM. estudio-diario solo
lee. Como en la parte A de la Sesión 5, la única identidad con permisos
de IAM en tu cuenta de práctica es el usuario raíz. Crear roles no es
una tarea exclusiva del raíz: en una empresa lo haría un administrador.
Entras como raíz una sola vez, para dos cambios de IAM, y sales.
Por qué no es una escalada de privilegios. El rol
lambda-basico solo permite escribir registros.
laboratorio-escritura podrá pasar ese único rol, y solo a
Lambda: con él no gana más que lo que ya tenía. Ambos se quedan para
sesiones futuras. El permiso va como política en línea
del rol laboratorio-escritura: pertenece solo a esa
identidad y se borra con ella (Sesión 5).
Parte A · Crear el rol y el permiso (como usuario raíz, 5 min).
Entra como Root user, con su MFA, y abre IAM. Anota tu número de cuenta de 12 dígitos, en el menú de arriba a la derecha.
En Roles, elige Create role. En Trusted entity type elige AWS service; en Service or use case, Lambda. Elige Next.
En Permissions policies, busca y marca solo AWSLambdaBasicExecutionRole. Elige Next.
En Role name escribe
lambda-basico. Comprueba que la política de confianza nombra alambda.amazonaws.comy elige Create role.En Roles, abre
laboratorio-escritura, pestaña Permissions, y elige Add permissions › Create inline policy. Cambia el editor a JSON, borra lo que trae y pega esto, con tu número de cuenta en lugar de111122223333:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/lambda-basico", "Condition": { "StringEquals": { "iam:PassedToService": "lambda.amazonaws.com" } } }] }Elige Next, escribe
pasar-lambda-basicocomo nombre y elige Create policy. Para que Lambda liste los roles no hace falta más: PowerUserAccess ya permiteiam:ListRoles.Cierra la sesión del usuario raíz.
Parte B · Crear y probar la función (con el rol).
Entra con
estudio-diario, elige tu Región de la Sesión 2 y luego Switch role ›laboratorio.Abre Lambda y elige Create function. Deja Author from scratch. En Function name escribe
hola-s09y en Runtime elige el Python más reciente, como Python 3.14.En Permissions, elige usar un rol existente (Use another role o Use an existing role, según la consola) y selecciona
lambda-basico. No elijas que Lambda cree un rol: tu rol no puede. Elige Create function. Si la consola asignó otro rol, cámbialo en Configuration › Permissions › Edit.En la pestaña Code, reemplaza el código por este y elige Deploy:
def lambda_handler(event, context): nombre = event.get("nombre", "mundo") print(f"Hola, {nombre}") return {"mensaje": f"Hola, {nombre}"}Elige Create test event. En Event Name escribe
prueba, reemplaza el JSON por{"nombre": "Nébula"}y elige Save. Ejecútalo con Test o con el botón de ejecutar junto a su nombre.En el resultado verás la respuesta
Hola, Nébulay una líneaREPORTcon Duration, Billed Duration y Memory Size: así cobra Lambda.
Parte C · Leer el registro (con el rol).
- En la función, pestaña Monitor, elige View
CloudWatch logs. Se abre el grupo de registros
/aws/lambda/hola-s09. - Abre el flujo de registros (log stream) más reciente: ahí
están
Hola, Nébulay la líneaREPORT.
Comprueba: explicas quién escribió ese registro y
con qué permisos: la función, con el rol lambda-basico, no
tú.
Limpieza (con el rol, antes de Switch back):
- En Lambda › Functions, marca
hola-s09y elige Actions › Delete. Escribeconfirmy confirma. - En CloudWatch › Log groups, marca
/aws/lambda/hola-s09y elige Actions › Delete log group(s). Confirma. Si no lo borras, los registros se guardan para siempre. - Elige Switch back. Conserva el rol
lambda-basicoy la políticapasar-lambda-basico: volverás a usarlos. Si abandonas el curso, bórralos como raíz junto con el rol de la Sesión 5.
Parte D · En papel (5 min). Boletos Faro quiere su web en alta disponibilidad, con 2 instancias de noche y hasta 80 en una venta. Dibuja el balanceador, el grupo de Auto Scaling, sus AZ y la política.
Comprueba: ALB, porque es HTTP; grupo con mínimo 2, deseado 2 y máximo 80 en dos o más AZ; política por objetivo de CPU y otra programada antes de la venta; comprobaciones de estado del ALB para reemplazar instancias.