Etapas de API Gateway y configuración en tiempo de ejecución

Automatización de despliegues en AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Tres URLs, una API

url

  • La misma API de checkout necesita dev, staging y prod
  • Cada entorno usa recursos downstream distintos
  • Fijar valores en código obliga a recompilar por entorno
  • Las variables de etapa lo resuelven en tiempo de ejecución
Automatización de despliegues en AWS

¿Qué es una etapa de API Gateway?

api

  • Una etapa es un despliegue de una API
  • Cada etapa tiene su propia URL
  • Etapas habituales: dev, staging, prod
  • Una definición de API, muchas etapas
Automatización de despliegues en AWS

Por qué las etapas importan al desplegar

stages

  • Probar en dev sin afectar a prod
  • Promocionar la misma API entre entornos
  • Revertir una etapa sin tocar las demás
  • Cada etapa guarda su historial de despliegues
Automatización de despliegues en AWS

Variables de etapa

  • Pares clave–valor con alcance a una etapa
  • Se referencian con ${stageVariables.varName}
  • Úsalas para configuración por entorno
  • Sin cambios de código cuando los valores difieren

variables

Automatización de despliegues en AWS

Variables de etapa en acción

  • checkout-api -> etapa dev: lambdaAlias = dev
  • checkout-api -> etapa prod: lambdaAlias = prod
  • La integración llama a payments:${stageVariables.lambdaAlias}
  • Una API usa dos alias de Lambda distintos

action

Automatización de despliegues en AWS

Dominios personalizados

  • La URL por defecto es fea: abc123.execute-api.us-east-1.amazonaws.com/dev
  • Dominio personalizado: api.example.com
    • Requiere un certificado ACM para TLS
  • El mapeo de ruta base vincula rutas a etapas
    • api.example.com/v1 → etapa prod

custom

Automatización de despliegues en AWS

Cómo encaja todo

all

  • Variables de etapa <-> alias de Lambda del vídeo 2.3
  • Misma idea para versiones de definiciones de tareas de ECS y nombres de tablas de DynamoDB
  • Versiones aprobadas por entorno, sin cambios de código
  • El capítulo 3 lo amplía entre servicios
Automatización de despliegues en AWS

¡Vamos a practicar!

Automatización de despliegues en AWS

Preparing Video For Download...