Du FOSS, de l'auto-hébergement et du code !
Obtenez un bout d’internet gratuitement : VPS Oracle Free Tier sous Debian
Obtenez un bout d’internet gratuitement : VPS Oracle Free Tier sous Debian

Obtenez un bout d’internet gratuitement : VPS Oracle Free Tier sous Debian

Oracle Cloud propose une offre gratuite pour obtenir des VPS (virtual private server) gratuitement et à vie : voici un guide vous aider à obtenir 2 petits serveurs AMD.

Je ne suis pas sponsorisé par Oracle, bien au contraire ! Je suis développeur Java, je sais donc trop bien qu’ils ont souvent représenté le mal. Je vous conseil vivement de vous tourner vers des solutions locales et loin des GAFAM. Il y a forcément des alternatives éthiques (adoptez un Chatons) près de chez vous ! Mais il est toujours utile d’avoir des serveurs sous la mains pour expérimenter.

Je vous préviens aussi, c’est loin d’être facile. Le formulaire d’inscription est un parcours du combattant et il n’y a clairement pas assez d’instances disponible pour tout le monde. Mais à force d’insister, j’ai réussi à les avoir.

L’offre gratuite propose donc au choix :

  • 2 machines virtuelles AMD 2 CPUs et 1 Go de mémoire
  • 1 machine ARM avec 4 CPUs et 24 Go de mémoire

J’ai essayé pendant une semaine avec des scripts qui font la demande toute les minutes et il est malheureusement impossible (du moins dans la location eu-paris-1) d’obtenir une machine ARM (prévenez moi si vous y arrivez !). Nous allons donc nous concentrer sur les machines AMD.

Inscription

Rendez-vous sur : https://signup.cloud.oracle.com

Une fois l’e-mail confirmé, nous arrivons sur le même formulaire en plus velu :

La région est définie ici, il est possible que le data center de Paris soit saturé, il existe aussi Marseille, je n’ai pas essayé. Attention : Il est impossible de la modifier après ça !

Une fois l’adresse choisie, il faut valider un moyen de paiement :

Très peu de cartes de crédits ont fonctionné dans mon cas. Il semblerait aussi qu’il y ait une vérification sur l’adresse postale : il faut s’assurer de rentrer la même adresse que celle présente sur votre RIB. Pour valider le moyen de paiement, ils vont vous prélever une somme ridicule qui vous sera remboursée instantanément.

Il vous faut aussi une application Authenticator pour valider l’authentification à 2 facteurs. Il en existe plusieurs dont celle d’Oracle, mais on préférera utiliser une application Open Source (Aegis, Auth ou Yubico par exemple).

Il faut donc scanner le QRCode avec l’application lorsque cela vous est proposé.

Authentification

Pour le login, il faut repartir de https://cloud.oracle.com, renseigner votre Cloud Account Name avec le Nom du Compte Cloud rentré avant de confirmer la carte. On est alors redirigé vers une adresse de ce type : https://idcs-{AccountId}.identity.oraclecloud.com/ui/v1/signin

Il faut alors renseigner l’adresse mail et le mot de passe, puis valider la double authentification sur votre appli Authenticator.

Si jamais (comme moi) vous réussissez à perdre votre Authenticator : il faut savoir qu’il existe une URL sécrète (dénichée au fin fond de leur forum) qui permet de paramétrer la double authentification (remplacez {AccountId} par le précédent) : https://idcs-{AccountId}.identity.oraclecloud.com/ui/v1/myconsole?root=my-info&my-info=my_profile_security

Création d’un Virtual Cloud Network

Si vous êtes arrivé jusqu’ici : bravo !

Mais vous n’êtes pas encore au bout tunnel SSH… Dans le menu Networking, dans Virtual cloud networks, cliquez sur Start VCN Wizard, choisisez Create VCN with Internet Connectivity.

Renseignez un nom et validez la création.

Firewall

Dans le menu Networking, dans Virtual cloud networks, sélectionnez votre VCN. Dans le menu de gauche se trouve Security Lists, les règles du firewall sont dans le Default_Security_List_for_{VcnName}. Seul le port 22 (SSH) est ouvert par défaut. Il faut ouvrir les ports souhaités (80 HTTP, 443 HTTPS….).

Ajout d’une Image Debian bootable

Difficulté suivante : installer une Debian car Oracle Cloud ne propose que des distributions non libres. Pour avoir démarré une Ubuntu j’ai remarqué que des services Oracle tournaient sur la machine. Sûrement pour la supervision mais de toute façon, j’ai besoin d’utiliser une Debian 11 pour y installer Yunohost.

Nous allons donc utiliser My images. Ici aussi, ce n’est pas simple. Il faut télécharger la Debian 11, la version genericCloud en amd64 avec l’extension qcow2 : https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.qcow2. Il faut créer un Bucket dans le menu Storage et uploader ce fichier.

Dans le menu Object Detail de ce fichier, il faut copier l’URL (ici: https://objectstorage.eu-paris-1.oraclecloud.com/n/axj5pdfebkrs/b/nosbzh/o/debian11debian-11-genericcloud-amd64.qcow2).

Dans le menu Compute il faut créer une Custom Image, coller l’URL de l’object storage (l’option Import from an Object Storage bucket ne fonctionne pas…) et sélectionner QCOW2 et Import Image.

Lorsque l’image est prête, nous pouvons enfin essayer de démarrer une instance.

Création de l’instance AMD

Dans Compute, Instances il faut créer une instance. Il faut éditer Image and shape et selectionner une image. Donc dans My images, sélectionner votre Debian 11.

Le serveur AMD est sélectionné par défaut. N’oubliez pas de déposer votre clé SSH publique (souvent ~/.ssh/id_rsa.pub sinon https://doc.ubuntu-fr.org/ssh#authentification_par_un_systeme_de_cles_publiqueprivee).

Il y a beaucoup de chances que vous obteniez le message suivant : Out of capacity for shape VM.Standard.E2.1.Micro in availability domain AD-1.

Il faut donc réessayer de temps en temps, ce blog est la preuve que ça finit par fonctionner.

Il faut bien faire attention à n’utiliser que des services gratuits (pas plus de 2 instances AMD). Après 4 mois d’utilisation on ne m’a toujours rien prélevé, malgré l’estimation erronée d’Oracle :

Pour les plus pressé

Il existe un script en PHP pour faire cette demande toute les minutes par exemple. Il faut le configurer comme ceci : https://github.com/hitrov/oci-arm-host-capacity. Je n’ai jamais réussi à l’exécuter…

Heureusement, il existe une implémentation en Go qui fonctionne avec la même configuration : https://github.com/aattwwss/oci-instance-go

# retry every 1 minute
go run . -t=1

Conclusion

Voici le résultat lorsque tout se passe correctement :

Vous pouvez désormais vous connecter en SSH sur votre machine :

ssh debian@{IPv4 address}

J’espère que ça vous permettra de mettre un pied dans l’auto-hébergement sans dépenser un centime !

2 commentaires

  1. Ping :YunoHost : l’auto-hébergement pour les nuls ! - Picman Blog

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *