API Gateway aşamaları ve çalışma zamanı yapılandırması

AWS üzerinde Dağıtımları Otomatikleştirme

Dunieski Otano

Amazon Web Services Solutions Architect

Üç URL, tek API

url

  • Aynı checkout API'si için dev, staging ve prod gerekir
  • Her ortam farklı alt kaynaklara gider
  • Değerleri hardcode etmek ortam başına yeniden derleme zorlar
  • Aşama değişkenleri bunu çalışma anında çözer
AWS üzerinde Dağıtımları Otomatikleştirme

API Gateway aşaması nedir

api

  • Bir aşama, bir API'nin dağıtımıdır
  • Her aşamanın kendi URL'si vardır
  • Yaygın aşamalar: dev, staging, prod
  • Tek API tanımı, birçok aşama
AWS üzerinde Dağıtımları Otomatikleştirme

Dağıtımlar için aşamalar neden önemlidir

stages

  • Prod'u etkilemeden dev'de test et
  • Aynı API'yi ortamlar arasında terfi ettir
  • Diğerlerine dokunmadan bir aşamayı geri al
  • Her aşama kendi dağıtım geçmişini izler
AWS üzerinde Dağıtımları Otomatikleştirme

Aşama değişkenleri

  • Bir aşamayla sınırlı anahtar-değer çiftleri
  • ${stageVariables.varName} ile başvur
  • Ortam bazlı yapılandırma için kullan
  • Değerler farklıyken kod değişikliği gerekmez

variables

AWS üzerinde Dağıtımları Otomatikleştirme

Aşama değişkenleri iş başında

  • checkout-api -> dev aşaması: lambdaAlias = dev
  • checkout-api -> prod aşaması: lambdaAlias = prod
  • Entegrasyon çağrısı: payments:${stageVariables.lambdaAlias}
  • Tek API, iki farklı Lambda alias'ını çağırır

action

AWS üzerinde Dağıtımları Otomatikleştirme

Özel alan adları

  • Varsayılan URL çirkin: abc123.execute-api.us-east-1.amazonaws.com/dev
  • Özel alan adı: api.example.com
    • TLS için ACM sertifikası gerekir
  • Temel yol eşlemesi yolları aşamalara bağlar
    • api.example.com/v1 → prod aşaması

custom

AWS üzerinde Dağıtımları Otomatikleştirme

Hepsi nasıl bağlanıyor

all

  • Aşama değişkenleri <-> video 2.3'teki Lambda alias'ları
  • Aynı fikir ECS görev tanımı sürümleri ve DynamoDB tablo adları için de geçerli
  • Ortam başına onaylı sürümler, kod değişikliği yok
  • Bölüm 3 bunu servisler arasında genişletecek
AWS üzerinde Dağıtımları Otomatikleştirme

Hadi pratik yapalım!

AWS üzerinde Dağıtımları Otomatikleştirme

Preparing Video For Download...