Serverless-kehitys AWS Lambdalla · Oppitunti

Lambda VPC:ssä yksityisiä resursseja varten

Ymmärrätte, miten Lambda-funktiot määritetään toimimaan VPC:n sisällä, mikä mahdollistaa turvallisen pääsyn yksityisiin resursseihin, kuten tietokantoihin ja sisäisiin palveluihin

Oppitunti 1/412 vaihetta

Lambda VPC:ssä yksityisiä resursseja varten on ilmainen Serverless-kehitys AWS Lambdalla-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Serverless-kehitys AWS Lambdalla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Miksi Lambda tarvitsee VPC:n

Oletusarvoisesti AWS Lambda -funktiot suoritetaan AWS:n hallinnoimassa verkossa. Tämä verkko tarjoaa internet-yhteyden, mutta eristää funktion yksityisistä AWS-resursseistasi.

Jotta voit käyttää turvallisesti esimerkiksi tietokantoja (kuten Amazon RDS:ää tai VPC:ssä olevia DynamoDB-tauluja) tai sisäisiä palveluita, jotka eivät ole julkisesti saatavilla, Lambda-funktion on toimittava omassa Virtual Private Cloudissasi (VPC).

Yksityisen pilven perusteet

Virtual Private Cloud (VPC) on kuin oma eristetty yksityinen verkkosi AWS:ssä. Määrität sen IP-osoitealueen, aliverkot ja verkkoyhdyskäytävät.

  • Aliverkot: VPC:n sisäisiä osioita. Yksityisissä aliverkoissa isännöidään resursseja, joiden ei pitäisi olla julkisesti saatavilla.
  • Security Groups: Toimivat virtuaalisina palomuureina ja hallitsevat VPC:n resurssien saapuvaa ja lähtevää liikennettä.

Yksityisten resurssien käyttäminen

Kuvitellaan, että sinulla on tietokanta, joka sisältää arkaluonteisia asiakastietoja. Et halua altistaa sitä julkiselle internetille.

Jos Lambda-funktiosi tarvitsee lukea tällaisesta tietokannasta tai kirjoittaa siihen, muodostaa yhteyden EC2-instanssiin tai käyttää vain VPC:ssäsi sijaitsevaa sisäistä API-päätepistettä, myös Lambda-funktio on sijoitettava kyseiseen VPC:hen.

Lambdan verkkoliitäntä

Kun määrität Lambda-funktion suoritettavaksi VPC:ssä, AWS luo funktiolle Elastic Network Interface (ENI) -verkkoliitännän määritettyihin aliverkkoihin.

Tämä ENI antaa Lambda-funktiollesi yksityisen IP-osoitteen ja mahdollistaa viestinnän muiden VPC:si resurssien kanssa samalla tavalla kuin EC2-instanssi viestisi.

Aliverkot ja Security Groups

Kun liität Lambdan VPC:hen, määrität seuraavat:

  • Aliverkot: Korkean käytettävyyden takaamiseksi vähintään kaksi yksityistä aliverkkoa eri saatavuusalueilla. Lambda-funktiot otetaan käyttöön näiden välillä.
  • Security Groups: Yksi tai useampi security group, joka hallitsee Lambda-funktion sallittua verkkoliikennettä. Varmista, että ne sallivat viestinnän yksityisten resurssiesi kanssa.

Lambdan liittäminen VPC:hen

Kun luot tai määrität Lambda-funktiota AWS Management Consolessa, löydät "VPC"-osion "Advanced settings"- tai "Configuration"-kohdasta.

Tässä osiossa valitset haluamasi VPC:n, vähintään kaksi aliverkkoa (redundanssia varten) ja sopivat security groupit. AWS huolehtii ENI:n luomisesta automaattisesti.

VPC:tä varten valmis funktio

Tämä yksinkertainen Python Lambda -funktio ei muodosta todellisuudessa yhteyttä tietokantaan, mutta se näyttää sellaisen funktion rakenteen, joka voisi toimia VPC:ssä ja käsitellä yksityisiä resursseja. Jos funktio olisi VPC:ssä, se voisi aloittaa yhteyden muodostamisen yksityiseen tietokantaan.

Kokeile suorittaa tämä esimerkki:

import json

def lambda_handler(event, context):
    # This function would typically connect to a private resource
    # if configured within a VPC.
    # For example:
    # import pymysql # Database connector
    # conn = pymysql.connect(host='your-private-db-endpoint', user='admin', password='password', database='mydatabase')
    # with conn.cursor() as cursor:
    #     cursor.execute("SELECT * FROM users")
    #     result = cursor.fetchall()

    message = "Hello from a Lambda function in a VPC context!"
    print(message)

    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

Lähtevä internet-liikenne VPC:stä

Jos yksityisessä aliverkossa toimivan Lambda-funktiosi on käytettävä internetiä (esimerkiksi kutsuttava ulkoisia API-rajapintoja tai haettava päivityksiä), sillä ei ole siihen suoraa yhteyttä.

Tarvitset NAT Gatewayn (Network Address Translation Gateway), joka otetaan käyttöön VPC:si julkisessa aliverkossa. Yksityisten aliverkkojesi liikenne kulkee NAT Gatewayn kautta internetiin.

VPC-päätepisteet AWS-palveluille

Kun Lambda-funktio käyttää tietyissä AWS-palveluissa, kuten S3:ssa, DynamoDB:ssä tai SQS:ssä, olevia resursseja yksityisestä aliverkosta, voit käyttää VPC Endpoints -päätepisteitä NAT Gatewayn sijaan.

VPC Endpoints mahdollistavat Lambdan yksityisen viestinnän näiden palveluiden kanssa ilman julkisen internetin kautta kulkemista, mikä voi parantaa tietoturvaa ja pienentää kustannuksia.

Tärkeitä huomioita

Vaikka Lambda-funktioiden suorittaminen VPC:ssä on tehokasta, sillä on seuraavia vaikutuksia:

  • Kylmäkäynnistykset: Lambdan tarvitsema aika ENI:n luomiseen voi joskus pidentää kylmäkäynnistyksen viivettä.
  • IP-osoitteiden hallinta: Jokainen ENI käyttää yksityistä IP-osoitetta aliverkostasi, joten varmista, että IP-osoitteita on riittävästi.
  • Verkon lisäkuormitus: Aliverkkojen, security groupien ja mahdollisten NAT Gateway -yhdyskäytävien hallinta lisää määritysten monimutkaisuutta.

Pikatarkistus: VPC:n hyödyt

Olet oppinut, miksi ja miten Lambda-funktiot voivat toimia VPC:ssä. Testataan seuraavaksi ymmärrystäsi.

Oppitunnin yhteenveto

Tässä oppitunnissa opit, että Lambda-funktioiden määrittäminen VPC:n sisään mahdollistaa niiden turvallisen pääsyn yksityisiin resursseihin, kuten tietokantoihin ja sisäisiin palveluihin.

Käsittelimme, miten Lambda käyttää Elastic Network Interface (ENI) -verkkoliitäntöjä yhteyden muodostamiseen aliverkkoihin ja security groupeihin sekä mitä internet-yhteydessä (NAT Gateway) ja yksityisten AWS-palveluiden käytössä (VPC Endpoints) on otettava huomioon. Tämä määritys on tärkeä turvallisten ja yritystason palvelimettomien sovellusten rakentamisessa.

Aloita maksutta

Opi Serverless-kehitys AWS Lambdalla tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Lambda VPC:ssä yksityisiä resursseja varten” ilmainen?

Kyllä – oppitunnin ”Lambda VPC:ssä yksityisiä resursseja varten” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Serverless-kehitys AWS Lambdalla-kurssin, päivitä CoddyKit PROhon. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Lambda VPC:ssä yksityisiä resursseja varten”?

Ymmärrätte, miten Lambda-funktiot määritetään toimimaan VPC:n sisällä, mikä mahdollistaa turvallisen pääsyn yksityisiin resursseihin, kuten tietokantoihin ja sisäisiin palveluihin Harjoittelet Serverless-kehitys AWS Lambdalla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Serverless-kehitys AWS Lambdalla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Serverless-kehitys AWS Lambdalla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Lambda VPC:ssä yksityisiä resursseja varten”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Serverless-kehitys AWS Lambdalla-oppitunnilla?

Kyllä. Jokainen Serverless-kehitys AWS Lambdalla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Lambda VPC:ssä yksityisiä resursseja varten
  2. Tietokantojen käyttäminen VPC:ssä
  3. Verkon tietoturvan parhaat käytännöt
  4. NAT-yhdyskäytävät ja internet-yhteys VPC:stä
← Takaisin: Serverless-kehitys AWS Lambdalla