Sliter du med AI eller fullstack-utvikling? Ekspertene våre er her for å veilede deg: skreddersydde råd, teknisk integrasjon og mer. Ta kontakt på [email protected].

Konfigurer et eksternt utviklingsmiljø på en AWS Server med VSCode

Summary

Dette kurset handler om å sette opp eksterne utviklingsmiljøer (også kjent som "remote interpreters") slik at du kan kode lokalt, men kjøre koden på en ekstern server.

Eksterne utviklingsmiljøer har flere store fordeler:

I denne videoen viser vi hvordan du oppretter en serverinstans på AWS EC2 og deretter konfigurerer det eksterne utviklingsmiljøet i VSCode.

Her er kursets struktur:

Transcript

Hei, dette er Julien Salinas fra NLP Cloud.

I dag skal jeg vise deg hvordan du setter opp et eksternt utviklingsmiljø slik at du kan kode på din lokale maskin, men kjøre koden på en ekstern AWS-server.

Det er ingen forkunnskaper for dette kurset, så da setter vi i gang.

Hva mener vi med eksternt utviklingsmiljø? Det betyr egentlig at vi skal kode lokalt i VS Code, slik de fleste av oss gjør i dag.

Hvis du bruker et annet utviklingsmiljø, bør du sjekke om eksterne tolker eller eksterne utviklingsmiljøer støttes eller ikke, og vi skal faktisk kjøre koden eksternt på en AWS-instans.

Vi velger AWS i dag fordi jeg vet at de fleste av dere faktisk bruker AWS i den daglige produksjonsflyten, men hvis du bruker GCP eller Azure eller OVH eller Scaleware eller noe annet, vil prosessen være veldig lik.

Som du vil se, handler det om å klargjøre en instans, hente IP-adressen og bruke den lokalt i VS Code for å koble til instansen via SSH.

Hvorfor bruker vi egentlig eksterne utviklingsmiljøer? Den første grunnen er at vi ønsker å redusere kostnadene for vårt lokale utviklingsmiljø.

Det er ikke sikkert at du ønsker å kjøpe en svært kostbar MacBook Pro Ultra M2, for eksempel, og i så fall kan det være mer kostnadseffektivt for deg å kjøpe en rimeligere lokal maskin, men kjøre koden eksternt når du har behov for det.

En annen svært viktig grunn, spesielt for maskinlæringsingeniører, er at du noen ganger trenger tilgang til avansert maskinvare som for eksempel GPU-er, og denne maskinvaren er ikke nødvendigvis tilgjengelig på din lokale maskin.

Hvis du for eksempel vil ha tilgang til en A100 NVIDIA GPU eller H100, vil du helt sikkert ikke kunne få tilgang til slike GPU-er lokalt.

Som vi skal vise i dag, er det svært nyttig å gjøre dette, fordi du ellers ikke får tilgang til spesifikke maskiner for GPU-utvikling.

Sist, men ikke minst, er det faktum at du skal bruke et eksternt miljø flott fordi det faktisk er et helt isolert miljø, noe som betyr at hvis du vil installere bestemte biblioteker, rammeverk eller drivere, kan du gjøre det på den eksterne AWS-maskinen.

Og hvis du i morgen trenger å installere, la oss si, en ny versjon av NVIDIA-driverne og CUDA-verktøysettet eller Python-biblioteker eller lignende, trenger du bare å klargjøre en ny server, og du er helt sikker på at begge serverne ikke kommer til å forstyrre hverandre.

Begge konfigurasjonene kommer til å være helt isolerte.

Så du kan selvfølgelig også oppnå lignende ting med Docker eller til og med med virtuelle miljøer i Python, for eksempel.

Men tenk deg at du ønsker å installere flere versjoner av NVIDIA-driverne.

Dette kommer til å bli mye mer komplisert.

I så fall kan det være den eneste løsningen for deg å klargjøre flere eksterne miljøer.

Så det første vi skal gjøre nå, er å koble til AWS-konsollen og opprette en grunnleggende AWS-forekomst, en CPU-forekomst, og så skal vi bruke den lokalt fra VS Code.

Da setter vi i gang.

Jeg er nå på AWS-konsollen.

Hvis dette er første gang du bruker AWS, trenger du bare å opprette en konto med e-postpassord.

Jeg tror ikke de ber om for mye informasjon.

Nå kan du opprette en instans i EC2.

Vi skal klikke på launch instance.

Vi kan gi forekomsten et navn.

La oss for eksempel kalle det et utviklingsmiljø.

Ja vel.

Nå kommer den viktige delen.

Vi må velge et operativsystem for instansen vår.

Du vil virkelig velge Linux, og for min del liker jeg Ubuntu fordi det er standard, og jeg er sikker på at de nyeste driverne kommer til å være installert på Ubuntu, spesielt med NVIDIA-drivere, det kan virkelig hjelpe.

Så jeg klikker på Ubuntu her.

Hvis dette er første gang du bruker Linux, trenger du ikke bekymre deg.

Vi kommer ikke til å trenge så mange Linux-triks eller -kommandoer.

Vi kommer i utgangspunktet til å gjøre alt fra VS-kode, bortsett fra at det selvfølgelig kommer til å være Linux bak panseret, men jeg tror ikke det vil være noe stort problem for deg.

Du kan beholde 2204 LTS-versjonen som den er.

Nå skal vi velge en enkel CPU-forekomst.

På AWS har du for eksempel M5-instansen, M5 large, to CPU-er, åtte gigabyte minne.

Perfekt for oss.

Kanskje til og med for mye i dag, men i fremtiden må du velge den instansen som passer perfekt til dine behov.

Ja vel.

Nå må vi bruke et SSH-nøkkelpar.

Så hvis dette er første gang du bruker SSH her, må du opprette ditt eget nøkkelpar på AWS, create new key pair.

La oss kalle det testnøkkelparet.

Du kan velge PEM-format og opprette nøkkelpar.

Og nå laster jeg den ned, beklager, på maskinen min.

Ja vel.

Du trenger ikke å endre sikkerhetsgruppen her.

Som standard vil SSH-porten være åpen, noe som er greit.

Det er det vi trenger.

Åtte gigabyte SSD er perfekt i dag.

Og vi kan klikke på launch instance.

Ja vel.

Instansen er klar nå.

Hvis dette er første gang du oppretter en instans på AWS, må du kanskje be AWS-støtte om å oppgradere kvoten din.

Jeg er ikke helt sikker.

For svært dyre instanser, som GPU-instanser, må du be om en kvoteoppgradering.

For en enkel M5 er jeg ikke sikker.

Men hvis du får en feilmelding her, der du blir bedt om å øke kvoten, er det det du skal gjøre.

Her er vårt eksempel.

Som du ser, er den allerede i gang.

Det gikk veldig fort.

M5 stor.

Og her til høyre har vi IP-adressen vi skal bruke.

Nå som vi har opprettet instansen vår og lastet ned SSH-nøkkelparet på maskinen vår, er det bare å åpne VS Code og opprette SSH-tilkoblingen til den eksterne serveren.

Hvis dette er første gang du bruker en SSH-klient i Windows, må du aktivere den.

Her er en veiledning fra Windows-teamet om hvordan du gjør det.

Du kan ganske enkelt skrive "create SSH client on Windows" på Google, så finner du mange veiledninger.

Her er den offisielle.

Hvis du blar litt nedover, er det veldig enkelt.

Du trenger bare å aktivere noe i Windows-applikasjonene.

Hvis du bruker Linux, er det installert som standard.

Så nå er jeg i VS Code.

Nederst til venstre ser du denne knappen.

Jeg klikker på koble det aktuelle vinduet til verten.

Hvis dette er første gang du bruker denne eksterne tilkoblingsmodulen, kan det hende at VS Code skal laste ned plugin-modulen.

Det kan derfor ta noen sekunder før du får tilgang til funksjonen.

Jeg konfigurerer vertene ved å klikke på Konfigurer vertene.

Jeg bruker Windows i dag, så her er konfigurasjonen min.

Og her er konfigurasjonsfilen jeg må fylle ut.

Det viktigste er at vi finner IP-adressen til forekomsten vår og limer den inn her.

Perfekt.

Vi kan gi forbindelsen vår et navn, men det er bare for oss.

La oss kalle det DevHouse.

Brukernavnet er brukernavnet som SSH-klienten bruker for å koble til instansen.

Siden vi har klargjort Ubuntu-serveren, er brukernavnet Ubuntu som standard.

Og da jeg lastet ned nøkkelparet, SSH-nøkkelparet, la jeg det på skrivebordet mitt i Windows.

Det er altså her VS Code skal hente nøkkelen.

Du kan lagre filen og nå klikke nederst, koble gjeldende vindu til verten igjen.

DevHouse er det vi nettopp har skapt.

Du må vente her.

Veldig bra.

Du kan se at VS Code ber meg om en nøkkelutveksling.

Så ja, dette er første gang vi kobler oss til denne forekomsten.

Av sikkerhetsgrunner må vi derfor akseptere dette nye fingeravtrykket.

Bra.

Det virker ikke så dramatisk, men nå er vi faktisk på vår eksterne AWS-instans.

Og du kan se det fordi du kan se SSH nederst til venstre.

For å sjekke det, kan du åpne en terminal øverst og klikke på ny terminal.

Og her kan du se at denne terminalen absolutt ikke er terminalen på min lokale Windows-maskin.

Jeg bruker en Ubuntu-maskin.

Og hvis jeg vil, kan jeg bruke noen Linux-kommandoer som vanlig på Linux, for eksempel liste opp kataloger.

Vi har ingenting her, så vi kan opprette en katalog.

La oss si at vi ønsker å opprette et utviklingsmiljø for å utføre et par tester.

Nå har vi opprettet den nye testmappen vår her.

Enten vil du gjøre alt med kommandolinjen, eller kanskje enda bedre, du vil bruke det grafiske grensesnittet fra VS Code til å bla gjennom filen som vanlig.

Klikk øverst, åpne mappe.

Og her kan du se testkatalogen jeg nettopp opprettet.

Nå åpnes VS Code igjen, men denne gangen i den spesifikke mappen jeg nevnte.

Og fra nå av kan du begynne å utvikle som vanlig, som om du var på din lokale maskin, bortsett fra at koden din skal kjøres på AWS.

Så la oss gjøre et forsøk.

La oss for eksempel lage et enkelt Python-program som sier hello, new file, test.py, print, hello.

Lagre filen.

I konsollen kan vi nå kjøre filen.

Hallo.

Så du har nettopp kjørt din første eksterne kode på AWS.

Det var alt for i dag.

Nå kan du bruke det eksterne utviklingsmiljøet så mye du vil.

Ikke glem å slå av AWS-forekomsten når du ikke trenger den lenger.

Vi ses snart.