09 mars 2018

S'amuser avec une machine virtuelle dans le cloud

Crédit image Sam Johnston (1)
Je suis un gros consommateur des outils Google : le moteur de recherche, la messagerie, le drive, le calendrier, etc. C'est donc assez naturellement que je me suis retrouvé à une présentation des services proposés par la plateforme Google Cloud : cloud.google.com

Je précise que ce billet n'est malheureusement pas sponsorisé.

J'ai découvert que l'on pouvait faire fonctionner gratuitement une (petite) machine virtuelle dans le cloud Google. Ce billet s'adresse donc aux personnes souhaitant découvrir le monde des machines virtuelles hébergées sur un datacenter situé quelque part dans le monde.

Avertissements : Philosophiquement, j'aime tout le monde : j'utilise Windows quotidiennement, ainsi que plusieurs distributions GNU/Linux Mint, j'ai un compte Facebook personnel, j'aime l'association Framasoft (y compris son initiative de dégooglisation d'internet), j'utilise Twitter, j'aime Mastodon, j'essaye de sensibiliser mon entourage et mes lecteurs à la protection de leur vie privée, tout en mettant mes connaissances au service de la justice et des enquêteurs, je mange de la viande et je roule en vélo pour mon bien être et celui de la planète. Vous l'avez compris, je suis plein de contradictions, que j'assume plus ou moins. J'évolue lentement mais sûrement. Je reste ouvert à toutes les discussions, je teste tous les environnements, les hébergeurs, les différentes solutions et outils. Et je garde ce que je trouve pratique par rapport à mes usages. Je ne suis pas sponsorisé par Google, je ne travaille pas pour Google (Larry, if you're reading me...), je ne suis pas responsable des manipulations que vous allez faire chez Google, ni du coût que cela pourrait entraîner pour votre carte bancaire. Si vous ne comprenez pas ce que je présente comme concepts ou comme commandes, il vaut mieux rester spectateur et ne toucher à rien.

Prérequis : Vous devez disposer d'un compte Google, et accepter de confier le numéro de votre carte bancaire à Google, qui s'engage à ne pas la débiter si vous restez dans les limites indiquées lors de l'essai gratuit (bien lire les conditions, pas le droit de miner des cryptomonnaies...).

Démarrage :
- Connectez-vous à votre compte Google.
- Rendez vous sur https://cloud.google.com et cliquez sur "essai gratuit".
- Remplissez les informations demandées, en lisant attentivement les conditions.

Je vous propose de suivre le didacticiel "Essayer Compute Engine", en créant une instance ayant les caractéristiques suivantes :
- Zone aux États-Unis (datacenter us-east* par exemple)
- Type de machine : micro (1 vCPU partagé) avec 0.6 Go de mémoire
- Disque de démarrage : Debian GNU/Linux 9 à 30 Go (cliquez sur Modifier pour augmenter la taille du disque).

Ces caractéristiques correspondent, au moment où j'écris ce billet, aux conditions d'une machine gratuite (cf https://cloud.google.com/free/ section Google Compute Engine) :
- 1 instance f1-micro par mois (aux États-Unis uniquement, excepté en Virginie du Nord)
- 30 Go de stockage HDD par mois, 5 Go de stockage d'instantanés par mois
- 1 Go de sorties réseau par mois, de l'Amérique du Nord vers toutes les autres régions (sauf l'Australie et la Chine)
Attention de bien rester dans ces conditions (ou de vérifier qu'elles sont toujours valables), sinon Google facturera des frais.

Le menu principal de Google Cloud Platform est situé en haut à gauche (icone avec 3 barres horizontales).

Dans le sous menu "Réseau VPC / Règles de pare-feu", vérifiez et adaptez vos règles d'accès en fonction de vos besoins.

Votre machine est accessible dans le sous menu "Compute Engine / Instances de VM". Vous pouvez ouvrir un terminal par l'onglet SSH de votre instance (par exemple "Ouvrir dans la fenêtre du navigateur"). Vous êtes alors connectés avec votre login Google à une machine virtuelle fonctionnant sous Debian. Votre compte peut utiliser la commande sudo.

Du fait des limitations mémoires de cette configuration gratuite, je vous recommande de commencer par créer un fichier de swap (surtout si vous installez ensuite un environnement graphique) :
$ free -m
$ sudo fallocate -l 4096m /file.swap
$ sudo chmod 600 /file.swap
$ sudo mkswap /file.swap
$ sudo swapon /file.swap
$ free -m

Si la dernière commande montre que le fichier swap est bien pris en compte, ajoutez la ligne suivante à la fin de votre fichier /etc/fstab :
/file.swap none swap sw 0 0
et redémarrez l'instance.

Une mise à jour des paquets Debian me semble ensuite être un bon début :
$ sudo apt-get update
$ sudo apt-get upgrade

Personnellement, j'ai choisi d'installer l'environnement graphique LXDE :
$ sudo apt-get install task-lxde-desktop
Rem : Curieusement, pour moi ça plante à chaque fois à "Setting up dbus...", ce qui m'oblige à redémarrer l'instance, m'y reconnecter en ssh, puis à lancer la commande :
$ sudo dpkg --configure -a

Puis l'accès distant xrdp :
$ sudo apt-get install xrdp
$ sudo apt-get install tigervnc-standalone-server
$ sudo adduser zythom

Ce qui permet de se connecter à distance depuis un poste Windows avec le compte "zythom" sur l'adresse IP que vous trouverez affichée dans votre interface Google Cloud Platform près de votre instance. Dans la mire xrdp, sélectionnez le choix de session Xvnc.

Gardez un œil sur la facturation, et amusez-vous bien !

Pour ma part, je vais aller regarder un peu le sous menu TPU Cloud et faire du Machine Learning avec TensorFlow... La carte bancaire va chauffer ;-)

----------------------------------------
(1) Crédit image : Sam Johnston — modification of the Wikipedia file, Cloud computing.svg, created by Sam Johnston using OmniGroup's OmniGraffle and Inkscape (includes Computer.svg by Sasa Stefanovic), CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=21576051








4 commentaires:

  1. Pour aller voir chez le leader du marché, Amazon Web Services propose aussi un niveau de ressources utilisable gratuitement pendant 1 an https://aws.amazon.com/fr/free/

    RépondreSupprimer
  2. Je vous conseille Xpra plutôt que VNC/xrdp.

    RépondreSupprimer
    Réponses
    1. plutot xrdp/xorgxrdp/RDP que xrdp/vnc :)

      Supprimer
    2. Sur une machine limitée et headless, mais ou l'on veut avoir à travers le réseau le confort d'applicatifs graphiques, il est aussi possible de ne pas installer d'environnement de bureau complet et juste le driver X frame-buffer (package xvfb et ses dépendances)... puis son applicatif graphique habituel.

      A l'utilisation, du ssh avec X11 forwarding (et compression à la volée) fonctionne très bien.

      Supprimer

Lectrice, admiratrice, avocate, magistrate, programmeuse, dessinatrice, chère consœur, femmes de tous les pays, lecteur, j'ai toute confiance en vous pour prendre bien soin de vérifier que votre prose est compatible avec les normes orthographiques et grammaticales en vigueur. Et si vous pouviez éviter les propos insultants ou haineux, je vous en serais reconnaissant.
N'hésitez pas à respecter ces quelques règles qui peuvent même s'appliquer en dehors de ce blog.

Les commentaires sur ce blog sont modérés. Votre message apparaîtra sur le blog dès que le modérateur l'aura approuvé. Merci de votre patience.