Etapy API Gateway i konfiguracja w czasie działania

Automatyzacja wdrożeń na AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Trzy adresy URL, jedno API

url

  • Ten sam checkout API musi działać na etapach dev, staging i prod
  • Każde środowisko korzysta z innych zasobów zewnętrznych
  • Zakodowanie wartości na stałe wymusza przebudowę dla każdego środowiska
  • Zmienne etapu rozwiązują to w czasie działania
Automatyzacja wdrożeń na AWS

Czym jest etap API Gateway?

api

  • Etap to wdrożenie API
  • Każdy etap ma własny adres URL
  • Typowe etapy: dev, staging, prod
  • Jedna definicja API, wiele etapów
Automatyzacja wdrożeń na AWS

Dlaczego etapy są ważne przy wdrożeniach

etapy

  • Testuj na dev bez wpływu na prod
  • Przenoś to samo API między środowiskami
  • Wycofaj zmiany na jednym etapie bez wpływu na inne
  • Każdy etap ma własną historię wdrożeń
Automatyzacja wdrożeń na AWS

Zmienne etapu

  • Para klucz-wartość przypisana do jednego etapu
  • Odwołanie: ${stageVariables.varName}
  • Służą do konfiguracji dla każdego środowiska
  • Zmiana wartości nie wymaga zmian w kodzie

zmienne

Automatyzacja wdrożeń na AWS

Zmienne etapu w praktyce

  • checkout-api -> etap dev: lambdaAlias = dev
  • checkout-api -> etap prod: lambdaAlias = prod
  • Integracja wywołuje payments:${stageVariables.lambdaAlias}
  • Jedno API trafia do dwóch różnych aliasów Lambda

akcja

Automatyzacja wdrożeń na AWS

Niestandardowe nazwy domen

  • Domyślny adres URL jest nieczytelny: abc123.execute-api.us-east-1.amazonaws.com/dev
  • Domena niestandardowa: api.example.com
    • Wymaga certyfikatu ACM dla TLS
  • Mapowanie ścieżek bazowych łączy ścieżki z etapami
    • api.example.com/v1 → etap prod

domena

Automatyzacja wdrożeń na AWS

Jak to się łączy

podsumowanie

  • Zmienne etapu <-> aliasy Lambda z filmu 2.3
  • Ta sama zasada dla wersji definicji zadań ECS i nazw tabel DynamoDB
  • Zatwierdzone wersje dla każdego środowiska, bez zmian w kodzie
  • Rozdział 3 rozwija ten temat na inne usługi
Automatyzacja wdrożeń na AWS

Czas na praktykę!

Automatyzacja wdrożeń na AWS

Preparing Video For Download...