Dostęp do prywatnych zasobów w VPC

Serverless Applications with AWS Lambda

Claudio Canales

Senior DevOps Engineer

Czym jest VPC?

  • VPC to twoja prywatna sieć w AWS.
  • Zapewnia przestrzeń adresową, routing i kontrolę zapory sieciowej.
  • Ty decydujesz, jak zasoby się ze sobą łączą.

Przegląd komponentów VPC

Serverless Applications with AWS Lambda

Prosta analogia: osiedle zamknięte

  • Podsieci to osiedla.
  • Grupy zabezpieczeń to zasady wjazdu.
  • NAT to wspólne wyjście na publiczny internet.

Analogia z osiedlem zamkniętym

Serverless Applications with AWS Lambda

Po co uruchamiać Lambda w VPC?

  • Dostęp do prywatnych zasobów, takich jak wewnętrzne usługi czy bazy danych.
  • Grupy zabezpieczeń kontrolują, z czym Lambda może się łączyć.

Prywatny dostęp Lambda w VPC

Serverless Applications with AWS Lambda

Co konfigurujesz

  • Wybierz podsieci.
  • Wybierz grupę zabezpieczeń.
  • Lambda otrzymuje adres IP w twoim VPC i może łączyć się z prywatnymi punktami końcowymi.

Konfiguracja VPC — dane wejściowe i efekty

Serverless Applications with AWS Lambda

Podsieci: gdzie działa twoja funkcja

  • Podsieci decydują, gdzie funkcja jest umieszczona w sieci.
  • Podsieci prywatne nie mają bezpośredniej trasy do internetu.
  • Wybierz podsieci z dostępem do zasobów, których potrzebuje twój handler.

Wpływ wyboru podsieci

Serverless Applications with AWS Lambda

Grupy zabezpieczeń: reguły zapory

  • Grupy zabezpieczeń to reguły zapory dla interfejsu sieciowego.
  • Kontrolują ruch przychodzący i wychodzący.
  • Reguły ruchu wychodzącego często decydują, czy Lambda może połączyć się z bazą danych.

Analogia grupy zabezpieczeń jako bramkarza

Serverless Applications with AWS Lambda

ENI i zimne starty

  • ENI = Elastic Network Interface.
  • Przed wywołaniem handlera Lambda może potrzebować czasu na utworzenie i podłączenie ENI.
  • Ta dodatkowa konfiguracja sieci może wydłużyć zimny start.

Sekwencja zimnego startu ENI

Serverless Applications with AWS Lambda

ENI w analogii: podłączanie kabla sieciowego

  • ENI = połączenie sieciowe twojej funkcji.
  • Jest tworzone w wybranej podsieci.
  • Im więcej konfiguracji, tym wolniejszy zimny start.

Analogia ENI do podłączania kabla sieciowego

Serverless Applications with AWS Lambda

Wychodzący dostęp do internetu

  • Podsieci prywatne zazwyczaj nie mają dostępu do publicznego internetu.
  • Bez trasy wychodzącej wywołania publicznych API przekroczą limit czasu.
  • Najczęstsze rozwiązanie: brama NAT.

Przepływ ruchu wychodzącego przez bramę NAT

Serverless Applications with AWS Lambda

Kiedy potrzebny jest NAT?

  • NAT jest potrzebny przy wywoływaniu publicznych punktów końcowych.
  • Jeśli korzystasz wyłącznie z zasobów prywatnych w VPC, NAT może być zbędny.

Diagram decyzji o potrzebie NAT

Serverless Applications with AWS Lambda

Typowe objawy błędnej konfiguracji sieci

  • Przekroczenia limitu czasu wskazują na brakujące trasy lub brak NAT.
  • Odmowy połączeń wskazują na reguły grup zabezpieczeń.

Lista kontrolna objawów problemów sieciowych

Serverless Applications with AWS Lambda

Najlepsze praktyki

  • VPC stosuj tylko do połączeń prywatnych.
  • Utrzymuj konfigurację możliwie prostą.
  • Monitoruj opóźnienia zimnego startu i błędy połączeń.

Najlepsze praktyki VPC

Serverless Applications with AWS Lambda

Najważniejsze wnioski

  • VPC zapewnia Lambda prywatną sieć.
  • Konfigurujesz podsieci i grupy zabezpieczeń.
  • ENI mogą zwiększać narzut zimnego startu.
  • Podsieci prywatne potrzebują NAT do wychodzącego dostępu do internetu.

Kompromisy połączeń VPC

Serverless Applications with AWS Lambda

Czas na praktykę!

Serverless Applications with AWS Lambda

Preparing Video For Download...