Цей курс присвячений налаштуванню віддалених середовищ розробки (також відомих як "віддалені інтерпретатори"), щоб ви могли писати код локально, але виконувати його на віддаленому сервері.
Віддалене середовище розробки має кілька великих переваг:
У цьому відео ми покажемо, як створити екземпляр сервера на AWS EC2, а потім налаштувати середовище віддаленої розробки у VSCode.
Ось структура курсу:
Привіт, це Хуліан Салінас з NLP Cloud.
Сьогодні я покажу вам, як налаштувати віддалене середовище розробки, щоб ви могли писати код на своїй локальній машині, але виконувати його на віддаленому сервері AWS.
Цей курс не потребує попередньої підготовки, тож почнемо.
Що ми маємо на увазі під віддаленим середовищем розробки? Насправді це означає, що ми будемо кодувати локально у VS Code, як і більшість з нас сьогодні.
Якщо ви використовуєте інше середовище розробки, вам слід перевірити, чи підтримуються віддалені інтерпретатори або віддалені середовища розробки, і ми будемо виконувати код віддалено на екземплярі AWS.
Сьогодні ми обираємо AWS, тому що я знаю, що більшість з вас використовує AWS у своєму повсякденному виробничому процесі, але якщо ви використовуєте GCP або Azure, або OVH, або Scaleware, або будь-що інше, процес буде дуже схожим.
Як ви побачите, мова піде про створення екземпляра, отримання IP-адреси і використання її локально в VS Code для підключення через SSH до екземпляра.
Чому ми використовуємо віддалене середовище розробки? Перша причина полягає в тому, що ми хочемо мати можливість зменшити вартість нашого локального середовища розробки.
Можливо, ви не захочете купувати дуже дорогий висококласний MacBook Pro Ultra M2, як, наприклад, цей, і в такому випадку, можливо, вам буде вигідніше придбати локальну машину нижчого класу, але виконувати свій код віддалено, коли вам це потрібно.
Друга дуже важлива причина, особливо для інженерів машинного навчання, полягає в тому, що іноді вам знадобиться доступ до висококласного обладнання, наприклад, графічних процесорів, а це обладнання не обов'язково є на вашому локальному комп'ютері.
Наприклад, якщо ви хочете отримати доступ до графічного процесора NVIDIA A100 або H100, напевно ви не зможете отримати доступ до таких графічних процесорів локально.
Як ми покажемо сьогодні, це дуже корисно, оскільки інакше ви просто не зможете отримати доступ до конкретних машин для розробки GPU.
Нарешті, той факт, що ви збираєтеся використовувати віддалене середовище, є чудовим, тому що це фактично повністю ізольоване середовище, а це означає, що якщо ви хочете встановити певні бібліотеки, фреймворки або драйвери, ви можете зробити це на своїй віддаленій машині AWS.
І якщо завтра вам потрібно буде встановити, скажімо, іншу версію драйверів NVIDIA та інструментарію CUDA або бібліотек Python, щось подібне, ви просто забезпечите другий сервер і будете абсолютно впевнені, що обидва сервери не будуть заважати.
Обидві конфігурації будуть ідеально ізольовані.
Звичайно, ви також можете досягти подібних речей за допомогою Docker або навіть віртуальних середовищ на Python, наприклад.
Але уявіть, що ви хочете встановити кілька версій драйверів NVIDIA.
Це буде набагато складніше.
І в такому випадку створення декількох віддалених середовищ може бути єдиним рішенням для вас.
Отже, перше, що ми зараз зробимо, це підключимося до нашої консолі AWS і створимо базовий екземпляр AWS, екземпляр процесора, а потім будемо використовувати його локально з VS Code.
Поїхали.
Зараз я на своїй консолі AWS.
Якщо ви вперше використовуєте AWS, вам просто потрібно створити обліковий запис з паролем на електронну пошту.
Я не думаю, що вони просять занадто багато інформації.
Тепер ви можете створити екземпляр в EC2.
Ми натиснемо запустити екземпляр.
Ми можемо дати ім'я нашому екземпляру.
Назвемо це, наприклад, середовищем розробника.
Гаразд.
Тепер найважливіша частина.
Нам потрібно вибрати операційну систему для нашого екземпляра.
Ви дійсно хочете вибрати Linux, і що стосується мене, мені дуже подобається Ubuntu, тому що вона є стандартною, і я впевнений, що на Ubuntu будуть встановлені найновіші драйвери, особливо з драйверами NVIDIA, це може дійсно допомогти.
Тож я натискаю Ubuntu тут.
Якщо ви вперше використовуєте Linux, не хвилюйтеся.
Нам не знадобиться багато трюків або команд Linux.
Ми збираємося робити все з коду VS, за винятком того, що, звичайно, за капотом буде Linux, але я не думаю, що це буде занадто великою проблемою для вас.
Ви можете залишити версію 2204 LTS як є.
А зараз ми виберемо простий екземпляр процесора.
Наприклад, на AWS у вас є екземпляр M5, M5 big, два процесори, вісім гігабайт пам'яті.
Ідеально для нас.
Можливо, навіть забагато для сьогоднішнього дня, але в майбутньому вам доведеться вибрати екземпляр, який ідеально відповідатиме вашим потребам.
Гаразд.
Тепер нам потрібно використати пару ключів SSH.
Отже, якщо ви вперше використовуєте SSH, вам потрібно створити власну пару ключів на AWS, створіть нову пару ключів.
Назвемо її тестовою парою ключів.
Ви можете вибрати формат PEM, створити пару ключів.
І зараз я завантажую його, вибачте, на свій комп'ютер.
Гаразд.
Тут не потрібно змінювати групу безпеки.
За замовчуванням порт SSH буде відкритим, що є нормальним.
Це те, що нам потрібно.
Вісім гігабайт SSD - ідеальний варіант на сьогоднішній день.
І ми можемо натиснути запустити екземпляр.
Гаразд.
Екземпляр вже готовий.
Якщо це ваш перший екземпляр, створений на AWS, можливо, вам доведеться звернутися до служби підтримки AWS, щоб оновити вашу квоту.
Я не зовсім впевнений.
Для дуже дорогих екземплярів, наприклад, екземплярів з графічним процесором, вам доведеться попросити про підвищення квоти.
Щодо простого прикладу M5, я не впевнений.
Але якщо ви отримуєте помилку, просячи збільшити квоту, саме це вам і потрібно зробити.
Ось наш приклад.
Як бачите, він вже працює.
Це було дуже швидко.
М5 великий.
А тут, праворуч, у нас є IP-адреса, яку ми будемо використовувати.
Тепер, коли ми створили наш екземпляр і завантажили пару ключів SSH на нашу машину, нам потрібно відкрити VS Code і створити SSH-з'єднання з нашим віддаленим сервером.
Якщо ви вперше використовуєте SSH-клієнт у Windows, вам потрібно його активувати.
Ось підручник від команди Windows про те, як це зробити.
Ви можете просто набрати в Google "створити SSH-клієнт" в Windows, і ви знайдете безліч навчальних посібників.
Ось офіційна версія.
Якщо ви подивитеся трохи нижче, це дуже просто.
Вам просто потрібно активувати щось у програмах Windows.
Якщо ви використовуєте Linux, він встановлений за замовчуванням.
Тож зараз я працюю у VS Code.
Внизу ліворуч ви можете побачити цю кнопку тут.
Я натискаю підключити поточне вікно до хосту.
Якщо ви вперше використовуєте цей модуль віддаленого підключення, можливо, VS Code збирається завантажити плагін.
Тому вам може знадобитися кілька секунд, перш ніж ви отримаєте доступ до цієї функції.
Я налаштовую хости, натискаю налаштувати хости.
Сьогодні я використовую Windows, тому ось де знаходиться моя конфігурація.
А тут - конфігураційний файл, який мені потрібно заповнити.
Отже, найголовніше, нам потрібно отримати IP-адресу нашого екземпляра і вставити її сюди.
Чудово.
Ми можемо дати ім'я нашому зв'язку, але воно існує лише для нас.
Назвемо його DevHouse.
Ім'я користувача - це ім'я користувача, яке використовується SSH-клієнтом для підключення до екземпляра.
Враховуючи, що ми надали сервер Ubuntu, ім'я користувача за замовчуванням - Ubuntu.
І коли я завантажив пару ключів, пару ключів SSH, я поклав її на свій робочий стіл у Windows.
Отже, саме тут VS Code збирається отримати ключ.
Ви можете зберегти файл, а тепер натисніть внизу, щоб знову підключити поточне вікно до хосту.
DevHouse - це те, що ми щойно створили.
Вам доведеться почекати тут.
Дуже добре.
Ви бачите, що VS Code просить мене обмінятися ключами.
Тож так, це перший раз, коли ми підключаємося до цього екземпляру.
Тому з міркувань безпеки ми повинні прийняти цей новий відбиток пальця.
Добре.
Це не здається дуже драматичним, але ми зараз знаходимося на нашому віддаленому екземплярі AWS.
І ви можете це побачити, тому що внизу ліворуч ви бачите SSH.
Для того, щоб перевірити це, ви можете відкрити термінал вгорі, натиснути новий термінал.
І тут ви можете побачити, що цей термінал абсолютно не є терміналом моєї локальної машини з Windows.
Я на машині Ubuntu.
І якщо я захочу, я можу використовувати деякі команди Linux, як зазвичай у Linux, наприклад, списки каталогів.
У нас тут нічого немає, тому ми можемо створити каталог.
Припустимо, ми хочемо створити середовище розробки, щоб зробити пару тестів.
І тепер у нас є наша нова папка з тестом.
Або ви хочете зробити все за допомогою командного рядка, або, що ще краще, ви хочете використовувати графічний інтерфейс VS Code для перегляду вашого файлу, як зазвичай.
Отже, ви натискаєте вгорі, відкриваєте папку.
А тут ви можете побачити тестовий каталог, який я щойно створив.
Тепер VS Code знову відкривається, але цього разу в конкретній папці, яку я згадував.
І відтепер ви можете продовжувати розробку, як зазвичай, на своїй локальній машині, за винятком того, що ваш код буде виконуватися на AWS.
Тож давайте спробуємо.
Наприклад, давайте створимо просту програму на Python, яка говорить привіт, новий файл, test.py, друк, привіт
Збережи файл.
І тепер у вашій консолі ми можемо запустити файл.
Привіт.
Отже, ви щойно успішно запустили свій перший віддалений код на AWS.
Це все на сьогодні.
Тепер ви можете використовувати своє віддалене середовище розробки стільки, скільки захочете.
Не забувайте вимикати свій екземпляр AWS, коли він вам більше не потрібен.
До зустрічі.