Serverløs backend med AWS Lambda & API Gateway · leksjon

Sikring av Lambda med VPC

Lær å plassere Lambda-funksjoner i en Virtual Private Cloud (VPC) for å kontrollere nettverkstilgang og koble til private ressurser.

Leksjon 3 av 412 trinn

Sikring av Lambda med VPC er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Serverløs backend med AWS Lambda & API Gateway, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Hvorfor bruke Lambda i en VPC?

Som standard kjører AWS Lambda-funksjoner i et sikkert, administrert AWS-nettverk. Noen ganger trenger imidlertid Lambda tilgang til ressurser som ikke er offentlig tilgjengelige, for eksempel en privat database eller en intern tjeneste.

I denne leksjonen ser vi på hvordan De kan plassere Lambda-funksjonene Deres i en Virtual Private Cloud (VPC) for å få bedre nettverkskontroll og tilgang til private ressurser.

Hva er en Virtual Private Cloud?

En AWS-Virtual Private Cloud (VPC) er som Deres eget isolerte, virtuelle nettverk i AWS-skyen. De definerer IP-adresseområdet, subnettene, rutetabellene og nettverksgatewayene.

  • Subnets: Inndelinger i VPC-en der De starter ressurser. De kan være public (med internettilgang) eller private (uten direkte internettilgang).
  • Security Groups: Fungerer som virtuelle brannmurer som kontrollerer innkommende og utgående trafikk for ressursene Deres.

Lambdas standardtilgang til nettverket

Når De oppretter en Lambda-funksjon uten å konfigurere VPC-innstillinger, kjører den i et administrert nettverksmiljø som eies av AWS. I dette standardoppsettet har Lambda-funksjonen direkte tilgang til det offentlige internettet og andre AWS-tjenester (som S3 og DynamoDB) via deres offentlige endepunkter.

Den kan imidlertid ikke få direkte tilgang til ressurser i private VPC-subnett.

Når bør De bruke VPC for Lambda?

Hovedgrunnen til å plassere en Lambda-funksjon i en VPC er å gi den sikker tilkobling til private ressurser i VPC-en. Vanlige scenarioer omfatter:

  • Tilgang til en Amazon RDS-instans (Relational Database Service) i et privat subnett.
  • Tilkobling til en Amazon ElastiCache-klynge.
  • Tilgang til private EC2-instanser eller containere.
  • Kommunikasjon med interne API-er eller tjenester som ikke er eksponert mot det offentlige internettet.

Viktige VPC-komponenter for Lambda

Når De konfigurerer Lambda for VPC, angir De to hovedkomponenter:

  • Subnets: De må velge minst to private subnets i ulike Availability Zones for høy tilgjengelighet. Lambda oppretter et Elastic Network Interface (ENI) i disse subnettene.
  • Security Groups: De knytter én eller flere security groups til Lambda-funksjonen. Disse kontrollerer nettverkstrafikken til og fra ENI-et, slik at det kan kommunisere med de private ressursene Deres.

Knytte Lambda til en VPC

De kan knytte Lambda-funksjonen Deres til en VPC via AWS Management Console, AWS CLI eller verktøy for Infrastructure as Code, som AWS SAM eller CloudFormation. Her er en konseptuell AWS CLI-kommando for å oppdatere en funksjons VPC-konfigurasjon:

Dette instruerer Lambda om å klargjøre nettverksgrensesnitt i de angitte subnettene og bruke security groups, slik at funksjonen kan koble seg til ressurser i denne VPC-en.

aws lambda update-function-configuration \
  --function-name MyVPCFunction \
  --vpc-config SubnetIds=subnet-0a1b2c3d,subnet-0e4f5g6h,SecurityGroupIds=sg-0123456789abcdef0

Utgående internettrafikk fra Lambda i VPC

Et viktig poeng er at når De plasserer en Lambda-funksjon i private subnets i en VPC, mister den sin standardtilgang til det offentlige internettet.

Hvis Lambda trenger tilgang til eksterne tjenester (for eksempel et tredjeparts-API eller en annen AWS-tjeneste via det offentlige endepunktet) mens den befinner seg i et privat subnett, må De rute den utgående trafikken gjennom en NAT Gateway i et offentlig subnett. Dette gir internettilgang uten å eksponere Lambda direkte.

VPC-spesifikke IAM-tillatelser

For at Lambda-funksjonen Deres skal kunne koble seg til en VPC, trenger kjøringsrollen bestemte AWS Identity and Access Management (IAM)-tillatelser. Disse tillatelsene gjør det mulig for Lambda å opprette og administrere de nødvendige Elastic Network Interfaces (ENI-er) i VPC-en.

  • ec2:CreateNetworkInterface
  • ec2:DeleteNetworkInterface
  • ec2:DescribeNetworkInterfaces

Uten disse tillatelsene vil funksjonen ikke kunne knyttes til VPC-en.

Teste Lambda-funksjonen i VPC

Etter at De har konfigurert Lambda-funksjonen for VPC-tilgang, er det viktig å teste tilkoblingen. De kan:

  • Kalle funksjonen: Utløs Lambda-funksjonen og kontroller CloudWatch-loggene.
  • Se etter feil: Se etter nettverksrelaterte feil hvis funksjonen ikke kan koble seg til den private ressursen.
  • Bekrefte tilkoblingen: Hvis testen lykkes, bør loggene vise tegn på samhandling med den private databasen eller tjenesten.

Avveininger ved Lambda i VPC

Selv om det gir betydelige fordeler å plassere Lambda i en VPC, medfører det også noen hensyn:

  • Lengre cold start-tider: De første kjøringene av Lambda-funksjoner med VPC kan noen ganger være tregere på grunn av tiden det tar å konfigurere ENI-et.
  • Kostnader for NAT Gateway: Hvis Lambda trenger utgående internettilgang, medfører en NAT Gateway ekstra kostnader.
  • Nettverkskompleksitet: Administrasjon av subnett, ruting og security groups tilfører et ekstra lag med nettverkskompleksitet.

VPC Lambda-quiz

Hvilke av de følgende er gyldige grunner til å plassere en AWS Lambda-funksjon i en VPC? (Velg alle aktuelle alternativer)

Oppsummering: Sikring av Lambda med VPC

Vi har lært at konfigurering av Lambda-funksjoner i en VPC er avgjørende for sikker tilgang til private nettverksressurser. Dette innebærer å velge private subnett og security groups, samt å forstå konsekvensene for internettilgang (som krever en NAT Gateway).

Selv om dette tilfører nettverkskompleksitet og potensielt mer overhead ved cold start, er VPC-integrasjon viktig for å bygge sikre, datadrevne serverløse applikasjoner som samhandler med private AWS-tjenester.

Gratis å komme i gang

Lær deg Serverløs backend med AWS Lambda & API Gateway med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Sikring av Lambda med VPC» gratis?

Ja – hele teksten i «Sikring av Lambda med VPC» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Serverløs backend med AWS Lambda & API Gateway-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Hva lærer jeg i «Sikring av Lambda med VPC»?

Lær å plassere Lambda-funksjoner i en Virtual Private Cloud (VPC) for å kontrollere nettverkstilgang og koble til private ressurser. Du øver på Serverløs backend med AWS Lambda & API Gateway med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Serverløs backend med AWS Lambda & API Gateway?

Ingen tidligere erfaring er nødvendig. Serverløs backend med AWS Lambda & API Gateway på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Sikring av Lambda med VPC»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Serverløs backend med AWS Lambda & API Gateway-leksjonen?

Ja. Alle Serverløs backend med AWS Lambda & API Gateway-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. IAM-roller og tillatelser
  2. API Gateway-autoriseringsmekanismer
  3. Sikring av Lambda med VPC
  4. Beskytte hemmeligheter med AWS Secrets Manager
← Tilbake til Serverløs backend med AWS Lambda & API Gateway