Zmagasz się z AI lub rozwojem full-stack? Nasi eksperci są tutaj, aby Cię poprowadzić: dostosowane porady, integracja techniczna i nie tylko. Skontaktuj się z nami pod adresem [email protected].

Konfiguracja zdalnego środowiska programistycznego na serwerze AWS za pomocą VSCode

Summary

Ten kurs dotyczy konfigurowania zdalnych środowisk programistycznych (znanych również jako "zdalne interpretery"), dzięki czemu można kodować lokalnie, ale wykonywać kod na zdalnym serwerze.

Zdalne środowiska programistyczne mają kilka ogromnych zalet:

W tym filmie pokazujemy, jak utworzyć instancję serwera na AWS EC2, a następnie skonfigurować zdalne środowisko programistyczne w VSCode.

Oto struktura kursu:

Transcript

Cześć, tu Julien Salinas z NLP Cloud.

Dzisiaj pokażę, jak skonfigurować zdalne środowisko programistyczne, aby móc kodować na komputerze lokalnym, ale wykonywać kod na zdalnym serwerze AWS.

Nie ma żadnych wymagań wstępnych dla tego kursu, więc zaczynamy.

Co rozumiemy przez zdalne środowisko programistyczne? W rzeczywistości oznacza to, że będziemy kodować lokalnie w VS Code, jak większość z nas dzisiaj.

Jeśli korzystasz z innego środowiska programistycznego, powinieneś sprawdzić, czy zdalne interpretery lub zdalne środowiska programistyczne są obsługiwane, czy nie, a my faktycznie wykonamy kod zdalnie na instancji AWS.

Wybieramy dziś AWS, ponieważ wiem, że większość z was faktycznie korzysta z AWS w codziennej pracy produkcyjnej, ale jeśli korzystacie z GCP, Azure, OVH, Scaleware lub czegokolwiek innego, proces będzie bardzo podobny.

Jak zobaczysz, będzie to polegało na udostępnieniu instancji, pobraniu adresu IP i użyciu go lokalnie w VS Code, aby połączyć się przez SSH z instancją.

Dlaczego właściwie używamy zdalnego środowiska programistycznego? Pierwszym powodem jest to, że chcemy być w stanie obniżyć koszty naszego lokalnego środowiska programistycznego.

Być może nie chcesz kupować bardzo drogiego, wysokiej klasy MacBooka Pro Ultra M2, na przykład, i w takim przypadku bardziej opłacalne może być zakupienie niższej klasy maszyny lokalnej, ale wykonywanie kodu zdalnie, kiedy tylko zajdzie taka potrzeba.

Drugim bardzo ważnym powodem, szczególnie dla inżynierów uczenia maszynowego, jest to, że czasami będziesz potrzebować dostępu do wysokiej klasy sprzętu, takiego jak na przykład procesory graficzne, a ten sprzęt niekoniecznie jest dostępny na twoim komputerze lokalnym.

Na przykład, jeśli chcesz mieć dostęp do procesora graficznego NVIDIA A100 lub H100, z pewnością nie będziesz w stanie uzyskać dostępu do takich procesorów graficznych lokalnie.

Jak pokażemy dzisiaj, jest to bardzo przydatne, ponieważ w przeciwnym razie po prostu nie można uzyskać dostępu do określonych maszyn do rozwoju GPU.

Wreszcie, fakt, że zamierzasz korzystać ze zdalnego środowiska jest świetny, ponieważ jest to w rzeczywistości doskonale odizolowane środowisko, co oznacza, że jeśli chcesz zainstalować określone biblioteki, frameworki lub sterowniki, możesz to zrobić na zdalnej maszynie AWS.

A jeśli jutro będziesz musiał zainstalować, powiedzmy, inną wersję sterowników NVIDIA i zestawu narzędzi CUDA lub bibliotek Python, po prostu musisz udostępnić drugi serwer i masz całkowitą pewność, że oba serwery nie będą ze sobą kolidować.

Obie konfiguracje będą doskonale odizolowane.

Można więc oczywiście osiągnąć podobne rzeczy za pomocą Dockera, a nawet wirtualnych środowisk w Pythonie.

Wyobraź sobie jednak, że chcesz zainstalować kilka wersji sterowników NVIDIA.

To będzie znacznie bardziej skomplikowane.

W takim przypadku jedynym rozwiązaniem może być aprowizacja kilku zdalnych środowisk.

Tak więc pierwszą rzeczą, którą teraz zrobimy, jest połączenie się z naszą konsolą AWS i utworzenie podstawowej instancji AWS, instancji CPU, a następnie użyjemy jej lokalnie z VS Code.

Zaczynamy.

Jestem teraz w mojej konsoli AWS.

Jeśli po raz pierwszy korzystasz z AWS, wystarczy utworzyć konto z hasłem e-mail.

Nie sądzę, by prosili o zbyt wiele informacji.

Teraz możesz utworzyć instancję w EC2.

Klikamy uruchom instancję.

Możemy nadać nazwę naszej instancji.

Nazwijmy je na przykład środowiskiem deweloperskim.

Dobrze.

Teraz najważniejsza część.

Musimy wybrać system operacyjny dla naszej instancji.

Naprawdę chcesz wybrać Linuksa i jeśli chodzi o mnie, naprawdę lubię Ubuntu, ponieważ jest standardem i jestem pewien, że najnowsze sterowniki zostaną zainstalowane na Ubuntu, szczególnie w przypadku sterowników NVIDIA, może to naprawdę pomóc.

Więc klikam tutaj Ubuntu.

Jeśli po raz pierwszy korzystasz z Linuksa, nie martw się.

Nie będziemy potrzebować zbyt wielu sztuczek lub poleceń Linuksa.

Zasadniczo zamierzamy zrobić wszystko z kodu VS, z wyjątkiem tego, że oczywiście za maską będzie Linux, ale nie sądzę, aby był to dla ciebie zbyt duży problem.

Wersję 2204 LTS można pozostawić bez zmian.

A teraz wybierzemy prostą instancję CPU.

Na przykład w AWS masz instancję M5, dużą M5, dwa procesory, osiem gigabajtów pamięci.

Idealny dla nas.

Może nawet zbyt wiele na dziś, ale w przyszłości będziesz musiał wybrać instancję, która idealnie pasuje do twoich potrzeb.

Dobrze.

Teraz musimy użyć pary kluczy SSH.

Jeśli więc po raz pierwszy korzystasz z SSH, musisz utworzyć własną parę kluczy w AWS, tworząc nową parę kluczy.

Nazwijmy ją testową parą kluczy.

Można wybrać format PEM, utworzyć parę kluczy.

A teraz pobieram go, przepraszam, na mój komputer.

Dobrze.

Nie trzeba tutaj zmieniać grupy zabezpieczeń.

Domyślnie port SSH będzie otwarty, co jest w porządku.

Tego właśnie potrzebujemy.

Osiem gigabajtów SSD to idealne rozwiązanie na dziś.

I możemy kliknąć uruchom instancję.

Dobrze.

Instancja jest już gotowa.

Jeśli jest to Twoja pierwsza instancja utworzona w AWS, być może będziesz musiał poprosić pomoc techniczną AWS o zwiększenie limitu.

Nie jestem do końca pewien.

W przypadku bardzo drogich instancji, takich jak instancje GPU, należy poprosić o uaktualnienie limitu.

W przypadku prostego przykładu M5 nie jestem pewien.

Ale jeśli pojawia się tutaj błąd z prośbą o zwiększenie limitu, to właśnie zamierzasz zrobić.

Oto nasz przykład.

Jak widać, już działa.

To było bardzo szybkie.

M5 duży.

Po prawej stronie mamy adres IP, którego będziemy używać.

Teraz, gdy mamy już utworzoną instancję i pobraną parę kluczy SSH na nasz komputer, musimy otworzyć VS Code i utworzyć połączenie SSH z naszym zdalnym serwerem.

Jeśli po raz pierwszy korzystasz z klienta SSH w systemie Windows, musisz go aktywować.

Oto samouczek od zespołu Windows, jak to zrobić.

Możesz po prostu wpisać w Google create SSH client on Windows, a znajdziesz wiele poradników.

Oto oficjalna wersja.

Jeśli trochę poszperać, jest to bardzo proste.

Wystarczy aktywować coś w aplikacjach systemu Windows.

Jeśli korzystasz z systemu Linux, jest on instalowany domyślnie.

Więc jestem teraz w VS Code.

W lewym dolnym rogu znajduje się ten przycisk.

Klikam połącz bieżące okno z hostem.

Jeśli po raz pierwszy korzystasz z tego modułu zdalnego połączenia, być może VS Code pobierze wtyczkę.

Uzyskanie dostępu do tej funkcji może więc zająć kilka sekund.

Konfiguruję hosty, klikając skonfiguruj hosty.

Dzisiaj korzystam z systemu Windows, więc tutaj znajduje się moja konfiguracja.

Tutaj znajduje się plik konfiguracyjny, który muszę wypełnić.

Co najważniejsze, musimy pobrać adres IP naszej instancji i wkleić go tutaj.

Doskonale.

Możemy nadać nazwę naszemu połączeniu, ale to tylko dla nas.

Nazwijmy ją DevHouse.

Nazwa użytkownika to nazwa użytkownika używana przez klienta SSH do łączenia się z instancją.

Biorąc pod uwagę, że udostępniliśmy serwer Ubuntu, domyślną nazwą użytkownika jest Ubuntu.

A kiedy pobrałem parę kluczy, parę kluczy SSH, umieściłem ją na pulpicie w systemie Windows.

Jest to więc miejsce, w którym VS Code pobierze klucz.

Możesz zapisać plik i teraz kliknąć na dole, połączyć bieżące okno z hostem ponownie.

DevHouse jest tym, co właśnie stworzyliśmy.

Będziesz musiał poczekać tutaj.

Bardzo dobrze.

Widać, że VS Code prosi mnie o wymianę klucza.

Więc tak, po raz pierwszy łączymy się z tą instancją.

Ze względów bezpieczeństwa musimy zaakceptować ten nowy odcisk palca.

Dobrze.

Nie wydaje się to zbyt dramatyczne, ale oto jesteśmy teraz w naszej zdalnej instancji AWS.

Można to zobaczyć, ponieważ w lewym dolnym rogu widać SSH.

Aby to sprawdzić, możesz otworzyć terminal u góry, klikając nowy terminal.

I tutaj widać, że ten terminal absolutnie nie jest terminalem mojego lokalnego komputera z systemem Windows.

Używam komputera z systemem Ubuntu.

A jeśli chcę, mogę użyć niektórych poleceń Linuksa, jak zwykle w Linuksie, takich jak lista katalogów.

Nie mamy tu nic, więc możemy utworzyć katalog.

Załóżmy, że chcemy stworzyć środowisko programistyczne do przeprowadzenia kilku testów.

Teraz mamy tutaj utworzony nowy folder testowy.

Albo chcesz zrobić wszystko za pomocą wiersza poleceń, albo może nawet lepiej, chcesz użyć interfejsu graficznego z VS Code do przeglądania pliku w zwykły sposób.

Klikasz więc u góry, otwórz folder.

Tutaj możesz zobaczyć katalog testowy, który właśnie utworzyłem.

Teraz VS Code otwiera się ponownie, ale tym razem w określonym folderze, o którym wspomniałem.

Od tego momentu możesz rozpocząć tworzenie kodu w zwykły sposób, tak jakbyś był na swojej lokalnej maszynie, z wyjątkiem tego, że Twój kod będzie wykonywany w AWS.

Spróbujmy więc.

Dla przykładu, stwórzmy prosty program w Pythonie, mówiący hello, new file, test.py, print, hello

Zapisz plik.

A następnie w konsoli możemy teraz wykonać plik.

Witam.

Tak więc właśnie pomyślnie uruchomiłeś swój pierwszy zdalny kod w AWS.

To wszystko na dziś.

Możesz teraz korzystać ze zdalnego środowiska programistycznego tak często, jak chcesz.

Nie zapomnij wyłączyć instancji AWS, gdy już jej nie potrzebujesz.

Do zobaczenia wkrótce.