Lecciones en español / Developer Associate / Hoja de repaso · English
Hoja de repaso de Developer Associate DVA-C02
Dominio 1: Development with AWS Services (32%)
Consejos para el examen
- Cuando una pregunta dice que un evento debe disparar varios procesos independientes y que un consumidor lento no debe afectar a los demás, busca fan-out de SNS a colas SQS (o EventBridge con varios destinos). Cuando enfatiza un flujo visible y ordenado con manejo de errores, elige la orquestación con Step Functions.
- Si una pregunta menciona errores de limitación como ProvisionedThroughputExceededException o ThrottlingException, la respuesta casi siempre es reintentos con retroceso exponencial (y jitter), no simplemente agregar más reintentos ni aumentar los tiempos de espera.
- Que distintos consumidores procesen dos veces los mensajes suele significar que el tiempo de visibilidad es más corto que el tiempo de procesamiento. Muchas respuestas vacías de ReceiveMessage y un costo alto apuntan a habilitar el long polling.
- Larga duración, auditable o en espera de personas apunta a Standard. Altas tasas de eventos con duración corta apuntan a Express. Cualquier cosa que deba pausarse hasta que responda un sistema externo apunta a un task token con .waitForTaskToken.
- Si el código en EC2, ECS o Lambda usa los permisos equivocados, sospecha que hay credenciales codificadas o en variables de entorno que ganan sobre el rol en la cadena de credenciales. Ejecuta aws sts get-caller-identity para confirmar quién eres.
- ¿Necesitas más de 15 minutos? No es Lambda (usa Step Functions, Fargate o Batch). ¿Limitada por CPU y lenta? Aumenta la memoria. ¿Una función en VPC no llega a internet? Agrega un NAT gateway o VPC endpoints.
- Una DLQ configurada en la función Lambda solo se aplica a las invocaciones asíncronas. Para una fuente de eventos SQS, configura la política de redrive y la DLQ en la propia cola de origen.
- Espera una pregunta en la que la solución para funciones lentas o que agotan las conexiones sea mover la creación de clientes o conexiones fuera del handler. Un 502 de una integración proxy casi siempre significa que la forma de la respuesta o el body de tipo cadena están mal.
- En las preguntas de RCU/WCU, siempre redondea el tamaño del elemento hacia arriba al siguiente múltiplo de 4 KB (lecturas) o 1 KB (escrituras) antes de multiplicar; luego divide entre dos para lecturas eventualmente consistentes o duplica para transacciones.
- Las cargas de más de 5 GB deben usar carga multiparte. Recuerda la regla de ciclo de vida para abortar cargas multiparte incompletas cuando una pregunta plantee por qué los costos de almacenamiento siguen creciendo sin objetos visibles.
- ¿Quejas por datos desactualizados? Agrega write-through o acorta el TTL. ¿La caché se llena de datos que nadie lee? Eso es la rotación de write-through, así que combínalo con TTL. ¿Necesitas replicación, conmutación por error o conjuntos ordenados? Redis OSS o Valkey, no Memcached.
Términos clave
- Loose coupling (acoplamiento débil)
- Diseñar componentes para que interactúen a través de un intermediario o un contrato estable, de modo que cada uno pueda fallar, escalar y desplegarse de forma independiente.
- Fan-out (distribución a múltiples destinos)
- Entregar un mensaje publicado a muchos suscriptores en paralelo, por ejemplo un tema de SNS con varias suscripciones de colas SQS.
- Choreography (coreografía)
- Coordinación en la que cada servicio reacciona a eventos y emite otros nuevos, sin un controlador central.
- Orchestration (orquestación)
- Coordinación en la que un motor de flujos de trabajo central, como Step Functions, invoca cada paso y administra el estado y los errores.
- Stateless service (servicio sin estado)
- Un servicio que no guarda estado del cliente entre solicitudes y lo almacena externamente, para que cualquier instancia pueda atender cualquier solicitud.
- Exponential backoff (retroceso exponencial)
- Una estrategia de reintento en la que la espera entre intentos crece de forma multiplicativa, reduciendo la presión sobre un servicio en apuros.
- Jitter (variación aleatoria)
- Variación aleatoria añadida a los retrasos de reintento para que muchos clientes no reintenten en oleadas sincronizadas.
- Idempotency (idempotencia)
- La propiedad de que repetir una operación produce el mismo resultado que hacerla una vez, lo que hace seguros los reintentos y las entregas duplicadas.
- Poison message (mensaje envenenado)
- Un mensaje que falla al procesarse cada vez que se recibe y que se repetiría para siempre sin una cola de mensajes fallidos.
- Dead-letter queue (DLQ, cola de mensajes fallidos)
- Una cola que recibe los mensajes o eventos cuyo procesamiento falló después de un número configurado de intentos, para inspeccionarlos más tarde.
- Visibility timeout (tiempo de visibilidad)
- El período posterior a la recepción de un mensaje de SQS durante el cual está oculto para otros consumidores; reaparece si no se elimina a tiempo.
- Message group ID (ID de grupo de mensajes)
- El atributo de las colas FIFO que define un grupo ordenado; los mensajes del mismo grupo se procesan estrictamente en orden.
- Long polling (sondeo largo)
- Una llamada a ReceiveMessage que espera hasta 20 segundos a que haya mensajes, reduciendo las respuestas vacías y el costo.
- Event pattern (patrón de eventos)
- El filtro JSON de una regla de EventBridge que selecciona qué eventos se envían a los destinos de la regla.
- Shard (fragmento)
- La unidad de capacidad y de orden en un stream de datos de Kinesis; los registros con la misma clave de partición van al mismo shard.
- Amazon States Language (ASL)
- El lenguaje basado en JSON que se usa para definir las máquinas de estados de Step Functions.
- Standard workflow (flujo de trabajo Standard)
- Un tipo de flujo de Step Functions para ejecuciones de larga duración (hasta un año), exactamente una vez y completamente auditadas.
- Express workflow (flujo de trabajo Express)
- Un tipo de flujo de Step Functions para ejecuciones cortas (hasta cinco minutos) y de alto volumen, registradas en CloudWatch Logs.
- Task token (token de tarea)
- Un token que Step Functions pasa a un proceso externo en el patrón Wait for Callback; el flujo se reanuda cuando se llama a SendTaskSuccess o SendTaskFailure con él.
- Default credential provider chain (cadena predeterminada de proveedores de credenciales)
- La lista ordenada de lugares donde un SDK o la CLI buscan credenciales, que termina con las credenciales del rol del entorno de cómputo.
- Paginator (paginador)
- Una ayuda del SDK que sigue automáticamente los tokens de continuación para devolver todas las páginas de resultados de una API de listado.
- Waiter (esperador)
- Una ayuda del SDK o de la CLI que sondea hasta que un recurso alcanza un estado especificado o se llega a un número máximo de intentos.
- SigV4
- Signature Version 4, el proceso que firma las solicitudes a la API de AWS con credenciales para que el servicio pueda autenticarlas.
- Timeout (tiempo de espera)
- El tiempo máximo de ejecución de una invocación de Lambda, configurable de 1 segundo a 15 minutos, con un valor predeterminado de 3 segundos.
- Ephemeral storage /tmp (almacenamiento efímero)
- Disco temporal por entorno para una función Lambda, de 512 MB por defecto y configurable hasta 10,240 MB, no duradero.
- Layer (capa)
- Un archivo .zip con versión que contiene código compartido o dependencias y que muchas funciones pueden referenciar; cada función puede incluir hasta cinco capas.
- Reserved concurrency (concurrencia reservada)
- Un ajuste que garantiza y a la vez limita el número de ejecuciones simultáneas de una función.
- Synchronous invocation (invocación síncrona)
- Quien llama espera la respuesta de la función; los reintentos son responsabilidad de quien llama.
- Asynchronous invocation (invocación asíncrona)
- Lambda encola el evento, devuelve 202 de inmediato y reintenta las fallas por su cuenta antes de enviarlas a una DLQ o a un destino.
- Lambda destination (destino de Lambda)
- Un destino (SQS, SNS, Lambda, EventBridge, o S3 para fallas) que recibe un registro del éxito o la falla de una invocación asíncrona o de stream.
- Event source mapping (mapeo de fuente de eventos)
- Un recurso de Lambda que sondea una cola o un stream e invoca la función con lotes de registros.
- ReportBatchItemFailures
- Un ajuste del mapeo de fuente de eventos que permite a la función devolver solo los registros fallidos para que los exitosos no se reintenten.
- Handler (manejador)
- La función que Lambda llama en cada invocación, que recibe el evento y el objeto de contexto.
- Init phase (fase de inicialización)
- La parte de un arranque en frío en la que Lambda carga el código y ejecuta la inicialización fuera del handler, una vez por entorno de ejecución.
- Lambda proxy integration (integración proxy de Lambda)
- Una integración de API Gateway que pasa la solicitud HTTP completa a Lambda y espera una respuesta con statusCode, headers y un body de tipo cadena.
- Context object (objeto de contexto)
- El segundo argumento del handler, que expone el ID de solicitud, el nombre de la función, el límite de memoria y el tiempo de ejecución restante.
- Partition key (clave de partición)
- El atributo clave al que DynamoDB aplica un hash para decidir qué partición almacena un elemento.
- Global secondary index (GSI, índice secundario global)
- Un índice con su propia clave de partición y de ordenamiento, que se puede agregar en cualquier momento, con capacidad separada y solo lecturas eventualmente consistentes.
- Local secondary index (LSI, índice secundario local)
- Un índice que comparte la clave de partición de la tabla con una clave de ordenamiento alternativa; solo se crea junto con la tabla.
- Read capacity unit (RCU, unidad de capacidad de lectura)
- Una lectura fuertemente consistente por segundo, o dos lecturas eventualmente consistentes, de un elemento de hasta 4 KB.
- Write capacity unit (WCU, unidad de capacidad de escritura)
- Una escritura por segundo de un elemento de hasta 1 KB.
- Multipart upload (carga multiparte)
- Subir un objeto como partes cargadas por separado que S3 ensambla; obligatoria por encima de 5 GB y recomendada para archivos grandes.
- Lifecycle rule (regla de ciclo de vida)
- Una configuración del bucket que transiciona los objetos a otras clases de almacenamiento o los hace expirar después de períodos definidos.
- S3 Intelligent-Tiering
- Una clase de almacenamiento que mueve automáticamente los objetos entre niveles de acceso según la frecuencia con que se accede a ellos.
- Event notification (notificación de eventos)
- Una función de S3 que envía eventos a nivel de objeto a Lambda, SQS, SNS o EventBridge, opcionalmente filtrados por prefijo y sufijo.
- Lazy loading / cache-aside (carga diferida)
- Una estrategia que pobla la caché solo cuando hay un fallo de caché, después de leer de la base de datos.
- Write-through (escritura directa)
- Una estrategia que escribe en la caché cada vez que se actualiza la base de datos, manteniendo actualizados los datos en caché.
- TTL (time to live, tiempo de vida)
- Un tiempo de expiración en una clave de caché, después del cual se elimina y se vuelve a cargar en la siguiente lectura.
- Cache hit ratio (tasa de aciertos de caché)
- La proporción de lecturas atendidas desde la caché; una tasa baja sugiere claves mal elegidas, TTL cortos o una caché demasiado pequeña.
Dominio 2: Security (26%)
Consejos para el examen
- Si una pregunta muestra un Allow y un Deny para la misma acción, la respuesta es denegado. Si pregunta cómo debe obtener credenciales una aplicación en EC2, elige un rol de IAM mediante un perfil de instancia, nunca claves de acceso en la instancia.
- Las fuentes basadas en empuje (S3, SNS, API Gateway, EventBridge) necesitan permiso en la política basada en recursos de la función. Las fuentes basadas en sondeo (SQS, Kinesis, DynamoDB Streams) necesitan permisos en el rol de ejecución.
- El acceso entre cuentas necesita ambos lados: la política de confianza del rol de destino debe confiar en quien llama, y la política de IAM de quien llama debe permitir sts:AssumeRole sobre el rol. Si falta alguno, obtienes AccessDenied.
- Si el escenario necesita registro, inicio de sesión o tokens para una API, elige un grupo de usuarios. Si los usuarios deben acceder directamente desde el dispositivo a servicios de AWS como S3 o DynamoDB, o los invitados necesitan acceso limitado, elige un grupo de identidades.
- Las claves de API sirven para identificar clientes y aplicar planes de uso, no para proteger una API. Si una pregunta necesita validación de tokens personalizada o de terceros, elige un autorizador Lambda; para tokens de Cognito sin código, elige un autorizador de Cognito.
- ¿Registro de auditoría y control del uso de la clave? SSE-KMS. ¿Limitación o costo de KMS con SSE-KMS? Habilita las Bucket Keys. ¿Tú administras las claves y S3 nunca debe almacenarlas? SSE-C (solo HTTPS). ¿AWS nunca debe ver el texto plano? Cifrado del lado del cliente.
- Cualquier pregunta con datos de más de 4 KB y KMS apunta al cifrado de sobre con GenerateDataKey. Los requisitos de uso entre cuentas o de política de clave personalizada descartan las claves administradas por AWS.
- CloudFront (y los dominios de API Gateway optimizados para el borde) necesitan certificados de ACM en us-east-1. Para forzar HTTPS en un bucket de S3, deniega en la política del bucket las solicitudes en las que aws:SecureTransport sea false.
- La rotación automática es la palabra clave para Secrets Manager. La forma más barata de guardar configuración y algunos valores cifrados, organizados en una jerarquía: Parameter Store con SecureString.
- Para el código en AWS, la respuesta correcta es un rol obtenido mediante la cadena predeterminada de credenciales, no claves de acceso en ningún lugar. Para los datos sensibles en los logs, la respuesta nativa de AWS es una política de protección de datos de CloudWatch Logs.
- ¿Acceso temporal a un objeto privado de S3 para alguien sin credenciales de AWS? URL prefirmada. Recuerda que la URL está limitada tanto por su expiración como por la vida útil y los permisos de las credenciales que la firmaron.
Términos clave
- Execution role (rol de ejecución)
- El rol de IAM que asume una función Lambda para obtener credenciales temporales con las que llamar a otros servicios de AWS.
- Instance profile (perfil de instancia)
- Un contenedor que asocia un rol de IAM a una instancia EC2 para que las aplicaciones que corren en ella reciban credenciales temporales.
- ECS task role (rol de tarea de ECS)
- El rol de IAM cuyos permisos usan los contenedores de la aplicación en una tarea de ECS, distinto del rol de ejecución de tarea.
- Explicit deny (denegación explícita)
- Una declaración de política con Effect Deny que anula cualquier Allow para las solicitudes que coinciden.
- Least privilege (mínimo privilegio)
- Conceder solo las acciones y los recursos específicos necesarios para realizar una tarea.
- Resource-based policy (política basada en recursos)
- Una política asociada a un recurso que nombra a los principales a los que se permite acceder a él.
- Function policy (política de función)
- La política basada en recursos de una función Lambda que autoriza a servicios o cuentas a invocarla.
- Bucket policy (política de bucket)
- Una política basada en recursos en un bucket de S3 que controla el acceso e impone condiciones a las solicitudes.
- Key policy (política de clave)
- La política basada en recursos obligatoria de una clave de KMS; las políticas de IAM solo funcionan si ella lo permite.
- Confused deputy (suplente confundido)
- Una situación en la que se engaña a un servicio de confianza para que actúe en nombre de la parte equivocada, lo que se evita con las condiciones SourceArn y SourceAccount.
- Trust policy (política de confianza)
- La política basada en recursos de un rol de IAM que especifica qué principales pueden asumirlo.
- AssumeRole
- La API de STS que devuelve credenciales temporales de un rol a quien llama si es de confianza.
- Temporary credentials (credenciales temporales)
- Un ID de clave de acceso, una clave de acceso secreta y un token de sesión que expiran después de una duración establecida.
- External ID (ID externo)
- Un valor exigido en una condición de la política de confianza que los terceros deben proporcionar al asumir un rol, lo que evita ataques de suplente confundido.
- Role chaining (encadenamiento de roles)
- Usar las credenciales de un rol asumido para asumir otro rol; las sesiones se limitan a una hora.
- User pool (grupo de usuarios)
- Un directorio de usuarios de Cognito que gestiona el registro y el inicio de sesión y emite tokens JWT de ID, de acceso y de actualización.
- Identity pool (grupo de identidades)
- Un componente de Cognito que intercambia tokens de proveedores de identidad por credenciales temporales de AWS mediante roles de IAM.
- ID token (token de ID)
- Un JWT que contiene claims sobre la identidad del usuario autenticado.
- Access token (token de acceso)
- Un JWT que contiene scopes y grupos, usado para autorizar solicitudes a API.
- Refresh token (token de actualización)
- Un token de larga duración que se usa para obtener nuevos tokens de ID y de acceso sin volver a autenticarse.
- IAM authorization (autorización de IAM)
- Autorización de API Gateway que exige solicitudes firmadas con SigV4 y una política de IAM que permita execute-api:Invoke.
- Cognito user pool authorizer (autorizador de grupo de usuarios de Cognito)
- Un autorizador de API Gateway que valida los JWT emitidos por un grupo de usuarios de Cognito sin código personalizado.
- Lambda authorizer (autorizador Lambda)
- Una función que recibe un token o parámetros de la solicitud y devuelve una política de IAM que permite o deniega la solicitud.
- Usage plan (plan de uso)
- Una configuración de API Gateway que aplica límites de limitación y cuotas a las claves de API asociadas a ella.
- SSE-S3
- Cifrado del lado del servidor con claves administradas por completo por S3, usando AES-256; el valor predeterminado para los objetos nuevos.
- SSE-KMS
- Cifrado del lado del servidor con una clave de KMS, que ofrece auditoría en CloudTrail y control mediante la política de la clave.
- SSE-C
- Cifrado del lado del servidor con una clave proporcionada por el cliente, enviada en cada solicitud HTTPS y que S3 no almacena.
- S3 Bucket Key
- Una clave a nivel de bucket derivada de KMS que reduce el número de llamadas a KMS, el costo y la limitación en SSE-KMS.
- AWS Encryption SDK
- Una biblioteca del lado del cliente que realiza cifrado de sobre para que los datos se cifren antes de salir de la aplicación.
- Customer managed key (clave administrada por el cliente)
- Una clave de KMS que creas y controlas, incluida su política de clave, su rotación y el acceso entre cuentas.
- AWS managed key (clave administrada por AWS)
- Una clave de KMS creada por un servicio de AWS para tu cuenta, con una política de clave fija que no puedes cambiar.
- Envelope encryption (cifrado de sobre)
- Cifrar los datos con una clave de datos y luego cifrar esa clave de datos con una clave de KMS.
- GenerateDataKey
- Una API de KMS que devuelve una clave de datos en texto plano y cifrada para el cifrado local.
- Encryption context (contexto de cifrado)
- Pares clave-valor no secretos vinculados a una operación de cifrado de KMS que deben coincidir al descifrar.
- TLS
- Transport Layer Security, el protocolo que cifra y autentica conexiones de red como HTTPS.
- AWS Certificate Manager (ACM)
- Un servicio que aprovisiona, despliega y renueva automáticamente certificados TLS para servicios de AWS integrados.
- aws:SecureTransport
- Una clave de condición global de IAM que es true cuando una solicitud se hizo sobre TLS.
- TLS termination (terminación de TLS)
- El punto donde se descifra el tráfico cifrado, como un balanceador de carga o CloudFront.
- Secrets Manager rotation (rotación de Secrets Manager)
- Un proceso programado en el que una función Lambda reemplaza la credencial de un secreto tanto en el secreto como en el servicio de destino.
- SecureString
- Un tipo de parámetro de Parameter Store cuyo valor se cifra con una clave de KMS.
- Parameter hierarchy (jerarquía de parámetros)
- Nombres de parámetros con forma de ruta que agrupan ajustes y permiten obtenerlos y controlarlos con IAM por ruta.
- Advanced parameter (parámetro Advanced)
- Un nivel de pago de Parameter Store con valores más grandes y políticas de parámetros como la expiración.
- Staging label (etiqueta de preparación)
- Una etiqueta como AWSCURRENT o AWSPENDING que marca qué versión de un secreto está en uso.
- Hardcoded credentials (credenciales codificadas)
- Claves de acceso o contraseñas escritas directamente en el código o en los artefactos, fáciles de filtrar y difíciles de rotar.
- Data protection policy (política de protección de datos)
- Una política de CloudWatch Logs que detecta y enmascara datos sensibles en los eventos de log usando identificadores de datos.
- Managed data identifier (identificador de datos administrado)
- Un patrón predefinido para un tipo de dato sensible, como números de tarjetas de crédito, usado por la protección de datos de CloudWatch Logs.
- logs:Unmask
- El permiso de IAM que permite a un principal ver los valores sensibles enmascarados en CloudWatch Logs.
- Presigned URL (URL prefirmada)
- Una URL firmada con las credenciales de una identidad que concede acceso temporal a una operación específica de S3 sobre un objeto.
- Presigned POST (POST prefirmado)
- Una política de formulario firmada que permite cargas a S3 desde el navegador con condiciones como límites de tamaño y prefijos de clave.
- IAM Access Analyzer
- Un servicio que encuentra accesos compartidos externamente y sin uso, valida políticas y genera políticas de mínimo privilegio a partir de la actividad.
- Zone of trust (zona de confianza)
- La cuenta u organización que Access Analyzer considera interna al informar sobre el acceso externo.
Dominio 3: Deployment (24%)
Consejos para el examen
- Dependencias de más de 250 MB descomprimidas apuntan a imágenes de contenedor (hasta 10 GB). Los errores de importación de bibliotecas nativas suelen significar que el paquete se compiló en un sistema operativo o arquitectura distintos a los de Lambda.
- La línea Transform es lo que identifica una plantilla de SAM. Para probar una API localmente, el comando es sam local start-api; para un solo evento, sam local invoke. sam deploy --guided escribe samconfig.toml.
- Comparte valores entre stacks independientes con Outputs Export más Fn::ImportValue. Previsualiza las actualizaciones riesgosas con un change set. Despliega plantillas con rutas de código local ejecutando primero cloudformation package.
- Si un primer despliegue del CDK falla porque falta el bucket de staging o el stack de bootstrap, la respuesta es cdk bootstrap. Para ver la plantilla de CloudFormation que producirá el CDK, usa cdk synth.
- Canary son dos pasos (un porcentaje pequeño y luego todo); lineal son muchos pasos iguales. La reversión automática en CodeDeploy la activan las alarmas de CloudWatch o los hooks que fallan. En producción, apunta los disparadores a alias, nunca a $LATEST.
- ¿Cambios que los clientes no ven? Olvidaste desplegar en la etapa. ¿Distintas etapas que llaman a distintos alias de Lambda desde una sola API? Variables de etapa, más un permiso de Lambda para cada alias.
- Busca las palabras del requisito: costo mínimo con tiempo de inactividad aceptable significa todo a la vez; mantener la capacidad completa significa rolling con lote adicional; la reversión segura más rápida significa inmutable; entorno separado y cambio de DNS significa blue/green.
- El orden de las fases del buildspec es install, pre_build, build, post_build. Los archivos que necesita la siguiente etapa de la canalización deben enumerarse en artifacts. Guarda los secretos en env con parameter-store o secrets-manager, nunca en el buildspec.
- Memoriza el orden en EC2: ApplicationStop, DownloadBundle, BeforeInstall, Install, AfterInstall, ApplicationStart, ValidateService. Lambda solo tiene BeforeAllowTraffic y AfterAllowTraffic. Los despliegues en EC2 que nunca empiezan suelen significar que el agente no está en ejecución.
- Cambiar el comportamiento de la aplicación de forma segura sin volver a desplegar código apunta a los feature flags de AppConfig con una estrategia de despliegue y reversión basada en alarmas. Las pruebas que deben verificar permisos de IAM o integraciones reales necesitan una etapa de prueba desplegada, no mocks.
Términos clave
- .zip deployment package (paquete de despliegue .zip)
- Un archivo con el código de la función y sus dependencias que se despliega en un runtime administrado de Lambda.
- Container image function (función de imagen de contenedor)
- Una función Lambda empaquetada como una imagen OCI de hasta 10 GB, almacenada en Amazon ECR.
- Amazon ECR
- Elastic Container Registry, el registro administrado de AWS para imágenes de contenedor.
- AWS CodeArtifact
- Un repositorio de paquetes administrado que actúa como proxy de registros públicos y aloja paquetes privados para las herramientas de compilación.
- Transform: AWS::Serverless-2016-10-31
- La declaración de plantilla que hace que CloudFormation procese los tipos de recursos de SAM.
- sam build
- El comando de la SAM CLI que instala las dependencias y prepara los artefactos de despliegue.
- sam deploy --guided
- Un despliegue interactivo que solicita la configuración y la guarda en samconfig.toml.
- sam local start-api
- Ejecuta una emulación local de las rutas de API Gateway respaldadas por funciones que se ejecutan en Docker.
- SAM policy template (plantilla de políticas de SAM)
- Una política de IAM con nombre y parámetros, como DynamoDBReadPolicy, que se usa en la propiedad Policies de una función.
- Stack
- Un conjunto de recursos de AWS creados y administrados en conjunto a partir de una plantilla de CloudFormation.
- Export (exportación)
- Un valor de salida que se pone a disposición de otros stacks en la misma región y que se lee con Fn::ImportValue.
- Change set (conjunto de cambios)
- Una vista previa de los cambios que CloudFormation hará en un stack, que revisas y luego ejecutas.
- aws cloudformation package
- Sube a S3 los artefactos locales referenciados por una plantilla y genera una plantilla con las ubicaciones en S3.
- CAPABILITY_IAM
- Un reconocimiento obligatorio al desplegar una plantilla que crea o modifica recursos de IAM.
- Construct
- El bloque de construcción básico del CDK que representa uno o más recursos de AWS, organizado en un árbol bajo una App.
- L2 construct (construct L2)
- Una clase del CDK de más alto nivel con valores predeterminados sensatos y métodos auxiliares, como s3.Bucket.
- cdk bootstrap
- Crea el stack CDKToolkit con un bucket de assets, un repositorio de ECR y roles de despliegue en una cuenta y región.
- cdk synth
- Ejecuta la aplicación del CDK y produce plantillas de CloudFormation en el directorio cdk.out.
- $LATEST
- La versión mutable y no publicada de una función Lambda que refleja las ediciones más recientes de código y configuración.
- Version (versión)
- Una instantánea inmutable y numerada del código y la configuración de una función Lambda.
- Alias
- Un puntero con nombre a una versión de la función, opcionalmente ponderado entre dos versiones, con su propio ARN.
- Canary deployment (despliegue canary)
- Un desplazamiento de tráfico que envía primero un porcentaje pequeño a la nueva versión y luego el resto tras una espera.
- Linear deployment (despliegue lineal)
- Un desplazamiento de tráfico que mueve porcentajes iguales a la nueva versión a intervalos regulares.
- Deployment (despliegue)
- Una instantánea de la configuración de una REST API que debe crearse para que los cambios entren en producción en una etapa.
- Stage (etapa)
- Una referencia con nombre a un despliegue, con su propia URL y configuración, como caché, limitación y logs.
- Stage variable (variable de etapa)
- Un par nombre-valor en una etapa, referenciado como ${stageVariables.name} en integraciones y plantillas de mapeo.
- Mock integration (integración mock)
- Una integración en la que API Gateway devuelve una respuesta a partir de una plantilla de mapeo sin llamar a un backend.
- Canary release (publicación canary)
- Una configuración de etapa que enruta un porcentaje del tráfico a un nuevo despliegue antes de su promoción.
- Deployment policy (política de despliegue)
- La configuración de Elastic Beanstalk que controla cómo se aplica una nueva versión de la aplicación a las instancias de un entorno.
- Rolling with additional batch (rolling con lote adicional)
- Una política que primero lanza un lote adicional de instancias para que la capacidad nunca baje durante un despliegue rolling.
- Immutable deployment (despliegue inmutable)
- Una política que despliega en un conjunto nuevo de instancias y las incorpora solo después de que estén sanas.
- Swap environment URLs (intercambiar las URL de los entornos)
- Una técnica blue/green que intercambia los CNAME de dos entornos de Beanstalk para mover el tráfico de producción.
- Action (acción)
- Una tarea dentro de una etapa, como obtener el código fuente, una compilación de CodeBuild, un despliegue o una aprobación manual.
- Artifact (artefacto)
- Archivos producidos por una acción de la canalización y consumidos por otra, almacenados en el bucket de S3 de la canalización.
- buildspec.yml
- El archivo YAML que define el entorno, las fases, los artefactos, los informes y la caché de CodeBuild.
- Manual approval (aprobación manual)
- Una acción de la canalización que pausa la ejecución hasta que una persona autorizada la aprueba o la rechaza.
- appspec.yml
- El archivo de especificación de la aplicación de CodeDeploy que describe los archivos que se despliegan y los scripts o funciones de los hooks del ciclo de vida.
- CodeDeploy agent (agente de CodeDeploy)
- Software en instancias EC2 o locales que obtiene las revisiones de CodeDeploy y ejecuta los hooks del ciclo de vida.
- Lifecycle event hook (hook de evento del ciclo de vida)
- Un punto de un despliegue en el que CodeDeploy ejecuta tu script o función Lambda, como AfterInstall.
- AfterAllowTestTraffic
- Un hook de despliegue de ECS que se ejecuta después de que el listener de prueba envía tráfico al nuevo conjunto de tareas, antes de que se desplace el tráfico de producción.
- Unit test (prueba unitaria)
- Una prueba rápida y aislada de una sola pieza de lógica, con las dependencias externas simuladas.
- Integration test (prueba de integración)
- Una prueba contra recursos desplegados para verificar permisos, disparadores e interacciones reales entre servicios.
- Feature flag (bandera de funcionalidad)
- Un interruptor de configuración que activa o desactiva una funcionalidad en tiempo de ejecución sin volver a desplegar el código.
- AppConfig deployment strategy (estrategia de despliegue de AppConfig)
- Ajustes que controlan qué tan rápido se aplica un cambio de configuración y cuánto tiempo se hornea antes de completarse.
Dominio 4: Troubleshooting and Optimization (18%)
Consejos para el examen
- Conoce qué herramienta responde cada pregunta: las métricas te dicen qué y cuándo, los logs (mediante Logs Insights) te dicen por qué, y las trazas te dicen dónde en la cadena de llamadas. Convertir un patrón de log en algo sobre lo que puedas crear una alarma significa un filtro de métricas.
- Asocia los códigos con sus causas: 429 es limitación, 502 es una respuesta proxy incorrecta o un error de la función, 504 es el backend superando el tiempo de espera de integración de API Gateway, y un AccessDenied que nombra el rol asumido es un permiso faltante en el rol de ejecución.
- ¿Necesitas buscar o filtrar trazas por un valor? Anotación. ¿Necesitas guardar detalles adicionales solo para verlos? Metadatos. ¿No hay trazas desde EC2 o ECS? Revisa el daemon o el agente en UDP 2000 y los permisos de escritura de X-Ray del rol.
- Publicar métricas desde Lambda sin llamadas a la API ni latencia adicional apunta al formato de métricas integradas. ¿Necesitas granularidad de menos de un minuto o alarmas de 10 segundos? Métricas de alta resolución con StorageResolution 1. ¿Uso de memoria en EC2? El agente de CloudWatch.
- Una alarma que debe notificar a personas publica en un tema de SNS; si los correos nunca llegan, comprueba que la suscripción esté confirmada. Para evitar alertas por picos aislados, usa M de N puntos de datos para alarma en lugar de un solo período.
- ¿Latencia por arranques en frío? Concurrencia aprovisionada (o SnapStart para los runtimes compatibles). ¿Proteger un sistema de destino o garantizar capacidad? Concurrencia reservada. ¿Función lenta con mucho uso de CPU? Aumenta la memoria.
- ¿IteratorAge en aumento? Busca errores que bloqueen un shard (corrígelos con la división del lote, límites de reintento o respuestas parciales de lote) o poco paralelismo (aumenta el factor de paralelización o agrega shards). ¿Mensajes de SQS procesados dos veces? Tiempo de visibilidad más corto que el tiempo de procesamiento.
- Limitación mientras la capacidad total consumida es baja significa una partición caliente: corrige la clave de partición (mayor cardinalidad, fragmentación de escrituras) o guarda en caché las lecturas calientes. El tráfico impredecible o con picos sin planificación de capacidad apunta al modo bajo demanda.
- DAX solo acelera las lecturas eventualmente consistentes; las lecturas fuertemente consistentes lo evitan. La caché de API Gateway es por etapa, con un TTL predeterminado de 300 segundos y un máximo de 3,600; incluye en la clave de caché los parámetros que cambian la respuesta.
Términos clave
- Log group (grupo de logs)
- Un contenedor de CloudWatch Logs para flujos de logs que comparten la configuración de retención, cifrado y acceso.
- CloudWatch Logs Insights
- Un servicio de consultas interactivo para buscar y agregar datos de logs con un lenguaje de consulta basado en pipes.
- Metric filter (filtro de métricas)
- Una regla que extrae valores de métricas de los eventos de log que coinciden para poder graficarlos y crear alarmas.
- Dimension (dimensión)
- Un par nombre-valor que identifica una serie de métricas específica, como FunctionName=checkout.
- TooManyRequestsException (429)
- El error que se devuelve cuando una invocación de Lambda se limita porque no hay concurrencia disponible.
- Task timed out (tarea con tiempo agotado)
- El mensaje de log que escribe Lambda cuando una invocación supera su tiempo de espera configurado.
- Malformed Lambda proxy response (respuesta proxy de Lambda mal formada)
- Un error de API Gateway (que se devuelve a los clientes como 502) cuando la salida de la función de una integración proxy tiene un formato incorrecto.
- Integration timeout (tiempo de espera de integración)
- El tiempo máximo que API Gateway espera la respuesta de un backend, 29 segundos por defecto, después del cual devuelve 504.
- Segment (segmento)
- El registro del trabajo realizado por un servicio para una solicitud rastreada, incluidos los tiempos, los detalles de la solicitud y los errores.
- Subsegment (subsegmento)
- Una parte más detallada de un segmento, como una llamada de destino o un bloque de código cronometrado.
- Annotation (anotación)
- Un par clave-valor indexado en un segmento que se puede usar en expresiones de filtro para buscar trazas.
- Metadata (metadatos)
- Datos clave-valor no indexados de cualquier tipo, guardados con un segmento para verlos pero no para buscarlos.
- Sampling rule (regla de muestreo)
- Una regla que define cuántas solicitudes de cierto tipo se rastrean, usando un reservorio y una tasa fija.
- Namespace (espacio de nombres)
- Un contenedor para métricas de CloudWatch, como MyShop/Checkout; el prefijo AWS/ está reservado para los servicios de AWS.
- PutMetricData
- La API de CloudWatch para publicar puntos de datos de métricas personalizadas o conjuntos de estadísticas.
- Embedded metric format (EMF, formato de métricas integradas)
- Un formato de log JSON estructurado del que CloudWatch Logs extrae métricas automáticamente.
- High-resolution metric (métrica de alta resolución)
- Una métrica personalizada almacenada con granularidad de un segundo al configurar StorageResolution en 1.
- Metric alarm (alarma de métrica)
- Una alarma de CloudWatch que cambia de estado cuando una métrica o expresión cruza un umbral durante un número determinado de períodos.
- Datapoints to alarm (puntos de datos para alarma)
- El número de puntos de datos que superan el umbral dentro de los períodos de evaluación necesarios para disparar ALARM (M de N).
- Composite alarm (alarma compuesta)
- Una alarma cuyo estado se calcula a partir de una regla que combina los estados de otras alarmas.
- Structured logging (logging estructurado)
- Escribir las entradas de log como campos consistentes y legibles por máquina, normalmente en JSON.
- Correlation ID (ID de correlación)
- Un identificador único que se propaga por todos los servicios que manejan una solicitud para poder vincular sus logs.
- Cold start (arranque en frío)
- La latencia adicional cuando Lambda crea e inicializa un nuevo entorno de ejecución antes de ejecutar el handler.
- Init Duration (duración de inicialización)
- El campo de la línea de log REPORT que muestra cuánto tardó la inicialización en una invocación que tuvo un arranque en frío.
- Provisioned concurrency (concurrencia aprovisionada)
- Entornos de ejecución preinicializados en una versión o alias que eliminan los arranques en frío, facturados mientras están configurados.
- Reserved concurrency (concurrencia reservada)
- Un ajuste gratuito que garantiza y limita las ejecuciones simultáneas de una función.
- Lambda SnapStart
- Una función para los runtimes compatibles que reanuda los nuevos entornos a partir de una instantánea de uno ya inicializado para acortar los arranques en frío.
- IteratorAge (antigüedad del iterador)
- La métrica que muestra la antigüedad de los registros que se procesan de un stream, lo que indica qué tan atrasado está un consumidor.
- Parallelization factor (factor de paralelización)
- Un ajuste del mapeo de fuente de eventos (de 1 a 10) para lotes simultáneos por shard, que conserva el orden por clave de partición.
- Enhanced fan-out
- Una función de Kinesis que da a cada consumidor registrado un rendimiento de lectura dedicado por shard.
- maxReceiveCount
- El número de veces que se puede recibir un mensaje de SQS antes de que la política de redrive lo mueva a la DLQ.
- DLQ redrive (reenvío desde la DLQ)
- Mover los mensajes de una cola de mensajes fallidos de vuelta a una cola de origen para reprocesarlos después de una corrección.
- Hot partition (partición caliente)
- Una partición que recibe una parte desproporcionada de las solicitudes y provoca limitación a pesar de que haya capacidad de la tabla sin usar.
- Write sharding (fragmentación de escrituras)
- Agregar un sufijo aleatorio o calculado a las claves de partición para repartir las escrituras entre más particiones.
- On-demand capacity (capacidad bajo demanda)
- Un modo de DynamoDB que se factura por solicitud y escala automáticamente sin planificación de capacidad.
- Adaptive capacity (capacidad adaptativa)
- La reasignación automática de rendimiento de DynamoDB a las particiones más ocupadas y el aislamiento de los elementos consultados con frecuencia.
- Burst capacity (capacidad de ráfaga)
- Capacidad no utilizada que DynamoDB conserva brevemente para absorber picos cortos de tráfico.
- API Gateway stage cache (caché de etapa de API Gateway)
- Una caché de REST API por etapa que devuelve respuestas de integración almacenadas durante un TTL de hasta 3,600 segundos.
- Cache key (clave de caché)
- Los atributos de la solicitud que se usan para decidir si una respuesta en caché corresponde a una nueva solicitud.
- CloudFront invalidation (invalidación de CloudFront)
- Una solicitud que elimina objetos de las cachés perimetrales de CloudFront antes de que expire su TTL.
- DynamoDB Accelerator (DAX)
- Una caché en memoria compatible con la API para DynamoDB que ofrece lecturas eventualmente consistentes en microsegundos.
Estudia Developer Associate gratis
Plan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.
Abrir el plan de estudioPlan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.