Fermer

avril 11, 2022

Configuration gratuite du développement à distance de VS Code sur Amazon EC2


Le développement à distance est simplement un développement sur un serveur distant. Une connexion SSH est établie entre votre machine locale et un serveur dans le cloud. SSH signifie secure shell ou secure socket shell — un protocole pour communiquer en toute sécurité entre deux ordinateurs via un terminal.

Amazon Elastic Compute Cloud (EC2) fournit des ressources informatiques évolutives pour créer des applications (serveurs) sans avoir à assumer les responsabilités de gestion d'un ordinateur physique. Dans notre cas, nous utiliserons l'éditeur Visual Studio Code et le connecterons via une connexion SSH à l'instance EC2.

Dans cet article, nous allons créer une instance de niveau gratuit AWS EC2 et la connecter à l'éditeur de code VS via lePlug-in SSH distant.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :

  1. Un système d'exploitation basé sur Linux ou Windows 10 avec WSL2 installé.
  2. Un client SSH installé sur votre machine. Cela devrait être standard sur la plupart des machines Linux. Si ce n'est pas le cas, veuillez consulter ceciliste des clients pris en charge.
  3. Un compte AWS activé. Si vous n'en avez pas,suivez le tuto officiel.

Avantages et inconvénients du développement à distance

Mais avant d'entrer dans le comment, regardons le pourquoi. Voici quelques avantages et inconvénients du développement sur le serveur.

Tout d'abord, les avantages :

  • Portabilité : vous pouvez coder à partir de n'importe quel appareil avec accès à Internet. Votre code n'est pas lié à votre machine locale, en tant que tel, vous pouvez coder de n'importe où en utilisant n'importe quel appareil disponible pour le moment.

  • Pouvoir : vous pouvez facilement faire évoluer votre serveur distant en fonction de vos charges de travail. Il est assez simple de démarrer une RAM de 32 GoAMD EPYCexemple pour certaines charges de travail de science des données.

  • Synchronisation Prod-Dev : en ayant un environnement de développement distant similaire à votre environnement de production, vous pouvez minimiser les problèmes de déploiement.

  • Développement transparent : le codage à distance vous donne la possibilité de créer des environnements spécialement adaptés au projet en cours. Par exemple, un projet peut nécessiter différentes versions de MySQL, C++ et des bibliothèques système telles que LibPng et ImageMagick. La gestion de différentes versions de ceux-ci peut s'avérer plutôt mouvementée, car les bogues qui surgissent à cause de cela ne peuvent pas être facilement reproduits.

  • Fiabilité : un serveur cloud est bien plus fiable que votre machine locale ne pourra jamais l'être. Selon vos configurations, les données de votre serveur peuvent être répliquées sur des serveurs situés dans différentes parties du monde.

Voyons maintenant les inconvénients.

La principale raison d'éviter de coder sur un environnement distant est la nécessité d'une connexion Internet pour accéder à votre serveur distant. Avec une connexion Internet rapide, l'expérience de développement à distance semble native lors de l'ouverture, de la création et de la saisie de fichiers, et de l'interaction avec la ligne de commande du serveur distant. Mais avec un réseau 3G lent, vous pourriez avoir des déconnexions au serveur, ce qui pourrait potentiellement entraîner une perte de travail allant de quelques secondes à quelques minutes.

Cela dit, passons au cœur de l'article : configurez une instance EC2 de niveau gratuit et connectez-la à notre éditeur de code VS local.

Création et configuration du serveur AWS

Passons en revue les étapes de création et de configuration de votre instance cloud.

Connectez-vous auConsole de gestion AWS.

La console de gestion AWS

Cliquez surEC2 pour accéder au tableau de bord EC2. Clique leLancer l'instance bouton. Vous serez dirigé vers la page de choix d'AMI.

Tableau de bord EC2

Sur la page de sélection d'AMI, recherchezUbuntu et sélectionnez votre version préférée. Assurez-vous que l'architecture est définie sur x86. Nous utiliserons l'architecture x86 car elle offre une prise en charge logicielle plus large que celle d'ARM.

Page de choix AMI

Sélectionnert2.microcomme type d'instance.

Sélection du type d'instance

Laissez le reste des étapes sur leurs paramètres par défaut jusqu'à ce que vous arriviez à laajouter du stockage étape. Je vous recommande d'utiliser un minimum de 24 Go. Si vous développez pour Node.js, les bibliothèques npm prennent beaucoup de place, et en utiliser moins pourrait vous mettre dans une position difficile, il est donc plus sûr de pécher par excès de prudence.

Ajouter du stockage EC2

Une fois arrivé auConfigurer le groupe de sécuritéétape, vous devrez autoriser les connexions SSH entrantes, vous avez deux options :

  • Activer toutes les adresses IP entrantes : la sélection de cette option permettra à n'importe quelle adresse IP d'accéder à votre port SSH, si votre situation nécessite plus de commodité que de sécurité, choisissez cette option.
    Configuration du groupe de sécurité

  • Mon IP: si la sécurité est plus importante, choisissez cette option dans la liste déroulante pour limiter l'adresse IP à la vôtre uniquement.
    Configuration du groupe de sécurité IP propre

Une fois que vous avez cliquélancement , vous serez invité à sélectionner ou à créer une paire de clés SSH. SélectionnerCréer une nouvelle paire de clés . Nommez la paire de clés.

Créer une nouvelle paire de clés SSH

En cliquant sur leTélécharger la paire de clés vous obtiendrez le fichier de clé privée. Cela téléchargera unpémfichier, que vous devez stocker dans un répertoire pratique et prendre note de son chemin de répertoire.

Ensuite, cliquez surLancer des instances et votre instance EC2 lancera le processus de création. Rendez-vous sur la page des instances et vous devriez trouver votre instance nouvellement créée.

Instances EC2 en cours d'exécution

Enfin, cliquez sur l'instance pour accéder à sa page de détails et notez son adresse DNS IPv4 publique.

Détails de l'instance EC2

Nous appellerons cette adresse le « nom d'hôte » de l'instance.

Installation et configuration de l'extension de code Visual Studio

Maintenant que nous avons créé avec succès une instance EC2, examinons ce que nous devons faire dans Visual Studio Code. Si Visual Studio Code n'est pas installé sur votre ordinateur, rendez-vous sur leurpage de téléchargementet récupérez le bon package pour votre système.

Installez l'extension distante SSH VS Code

Une fois VS Code installé, ouvrez leExtensiononglet dans l'éditeur (vous pouvez éventuellement utiliser le raccourciCtrl+Changement+X) et recherchez "ssh distant" sur le marché des extensions.

Localisez et installez l'extension Remote-SSH, en vous assurant qu'il s'agit de la bonne extension (créée par Microsoft avec 4,3 millions d'installations au moment de la rédaction).

Configuration de l'extension SSH distante

Cliquez sur le nouveau bouton dans le coin inférieur gauche de l'éditeur. Cela ouvrira la palette de commandes, où vous devez sélectionnerRemote-SSH : Ouvrir le fichier de configuration.

Liste déroulante de configuration ouverte SSH à distance

Un fichier de configuration SSH apparaîtra (sélectionnez celui de l'utilisateur actuel si l'extension reconnaît plusieurs fichiers de configuration), dans lequel vous pouvez saisir la configuration suivante :

Hôte VS Code-chut-nom d'hôte du didacticiel>Fichier d'identité de l'utilisateur ubuntu> 
  • Héberger peut être n'importe quel nom. Cela apparaîtra dans VS Code.
  • Nom d'hôte est l'adresse IP du serveur. Nous l'avons noté lors de la création de l'instance EC2.
  • Utilisateurest le nom d'utilisateur Ubuntu par défaut (ubuntudans ce cas).
  • IdentityFileest le chemin complet vers la clé privée (lepémfichier) que nous avons téléchargé précédemment.

Test de la configuration

Clique lessh distantbouton dans le coin inférieur gauche et cliquez surSe connecter à l'hôtedans la liste déroulante qui apparaît.

Connexion SSH à distance à l'hôte

Une autre liste déroulante apparaîtra. Sélectionnez la configuration d'hôte que vous avez créée à l'étape précédente (Tutoriel VS Code-ssh ). Si tout va bien, une nouvelle fenêtre d'édition devrait s'afficher vous demandant de sélectionner votre répertoire de travail.

Avec cela, vous avez configuré votre environnement de développement à distance. Créons maintenant une application de démonstration simple à l'aide de Node.js.

Créer un serveur de nœud de démonstration

Ouvrez le terminal avec le raccourci :Ctrl+Changement+`puis installez Node.js avec les commandes ci-dessous :

sudo aptemettre à joursudo apte installernodejs

Ensuite, créez unindex.jsfichier dans un nouveau répertoiretest:

 mkdir test && CD test && toucheindex.js

Mettez le contenu suivant dans leindex.jsdossier:


constantehttp= exiger('http');

constantenom d'hôte= '127.0.0.1';
constantePort= 3000;

constanteserveur=http.créer un serveur((demande,résolution) => {résolution.statusCode = 200;résolution.setHeader('Type de contenu', 'texte simple');résolution.finir('Bonjour le monde');
});serveur.Ecoutez(Port,nom d'hôte, () => {
  console.Journal(`Serveur fonctionnant sur http://${nom d'hôte}:${Port}/`);
});

Exécutez ce serveur de test avec la commande suivante dans le terminal du serveur :

index de nœud.js

Une fois que vous avez exécuté ce code, une petite fenêtre contextuelle apparaîtra dans le coin inférieur droit de votre éditeur de code VS, illustré ci-dessous.

Ports redirigés

Vous avez deux options,Ouvrir dans le navigateuretAperçu dans l'éditeur . Quel que soit celui que vous choisissez, vous constaterez que le port du serveur a été transmis à votre hôte local et est accessible avechôte local : 3000.

Bonjour serveur du monde

Dépannage

Si vous avez rencontré jusqu'à présent des problèmes de connexion à l'instance que vous avez créée, voici quelques conseils de dépannage :

  1. Vérifiez le fichier de configuration et assurez-vous que le chemin du fichier de clé privée est correct.
  2. Assurez-vous que le nom d'hôte est correct.
  3. Vérifiez les paramètres de pare-feu de votre instance AWS. Si vous le configurez pour autoriser une adresse IP spécifique, assurez-vous que votre adresse IP actuelle n'a pas changé.
  4. Si vous redémarriez l'instance AWS, son adresse IP changerait, alors n'oubliez pas de mettre à jour le fichier de configuration avec la nouvelle adresse IP.

Conclusion

Dans ce didacticiel, nous avons créé une instance AWS t2.micro de niveau gratuit. Nous l'avons configuré pour autoriser les connexions SSH à partir de notre machine locale et nous y sommes connectés via l'extension SSH distante. Enfin, nous avons pu accéder au serveur de transfert de port que nous avons créé sur l'environnement distant.




Source link