Stage API Gateway a konfigurace za běhu

Automatizace deploymentů na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Tři adresy URL, jedno API

url

  • Stejné checkout API potřebuje prostředí dev, staging a prod
  • Každé prostředí komunikuje s jinými navazujícími zdroji
  • Pevně zadané hodnoty vyžadují nové sestavení pro každé prostředí
  • Stage variables to řeší za běhu
Automatizace deploymentů na AWS

Co je stage v API Gateway

api

  • Stage je nasazení API
  • Každý stage má vlastní URL
  • Běžné stage: dev, staging, prod
  • Jedna definice API, mnoho stage
Automatizace deploymentů na AWS

Proč jsou stage důležité pro nasazení

stages

  • Testuj v dev bez dopadu na prod
  • Povyš stejné API do dalších prostředí
  • Vrať stage zpět, aniž ovlivníš ostatní
  • Každý stage má vlastní historii nasazení
Automatizace deploymentů na AWS

Stage variables

  • Páry klíč-hodnota platné pro jeden stage
  • Odkazuj na ně pomocí ${stageVariables.varName}
  • Použij je pro konfiguraci podle prostředí
  • Když se hodnoty liší, není třeba měnit kód

proměnné

Automatizace deploymentů na AWS

Stage variables v praxi

  • checkout-api -> stage dev: lambdaAlias = dev
  • checkout-api -> stage prod: lambdaAlias = prod
  • Integrace volá payments:${stageVariables.lambdaAlias}
  • Jedno API využívá dva různé Lambda aliasy

akce

Automatizace deploymentů na AWS

Vlastní názvy domén

  • Výchozí URL je nepřehledná: abc123.execute-api.us-east-1.amazonaws.com/dev
  • Vlastní doména: api.example.com
    • Vyžaduje certifikát ACM pro TLS
  • Mapování základní cesty spojuje cesty se stage
    • api.example.com/v1 → stage prod

vlastní

Automatizace deploymentů na AWS

Jak to všechno souvisí

vše

  • Stage variables <-> Lambda aliasy z videa 2.3
  • Stejný princip platí pro verze definic úloh ECS a názvy tabulek DynamoDB
  • Schválené verze pro každé prostředí, bez zásahů do kódu
  • Kapitola 3 tento koncept rozšiřuje na další služby
Automatizace deploymentů na AWS

Pojďme cvičit!

Automatizace deploymentů na AWS

Preparing Video For Download...