[VPS Oracle] Introduction de l'offre Cloud d'Oracle
Sommaire
VPS Oracle - Cet article fait partie d'une série.
Introduction de la série #
Cet article est le premier d’une série consacrée à l’hébergement de services gratuits à vie sur un serveur privé. L’objectif est de faire découvrir le monde de l’informatique au plus grand nombre tout en partageant des connaissances utiles. Je suis intimement convaincu qu’il est plus facile de comprendre un sujet lorsqu’on y trouve un intérêt et qu’on est prêt à investir un peu de temps. C’est pourquoi je vous montrerai comment créer vous-même votre propre serveur de jeu, serveur VPN, serveur cloud, etc, avec pour seule dépense : un peu de temps.
Etant donné que ces articles visent le plus grand nombre, je m’efforcerai du vulgariser au maximum les détails techniques et je considérerai que les lecteurs utilisent un ordinateur Windows 10 ou 11 à jour.
Utilisateurs de Linux : vous êtes suffisamment intelligents pour adapter ces articles à votre système d’exploitation.
Utilisateurs de MacOS, vous êtes suffisamment riches pour acheter un service payant donnant le même résultat ou un autre ordinateur avec Windows.
N’oubliez pas que certains outils ou logiciels peuvent changer dans le temps, c’est pourquoi le plus important est de comprendre la méthodologie afin de pouvoir l’adapter à vos besoins.
J’espère que ces articles vous seront utiles et que vous apprendrez des choses !
Oracle Cloud Infrastructure (OCI) #
Présentation #
Oracle est une entreprise américaine spécialisée dans la vente de services informatique, notamment le système de gestion de base de données Oracle Database, le serveur d’applications Oracle Weblogic, le progiciel Oracle E-Business et l’offre de cloud computing Oracle Cloud Infrastructure (OCI)
C’est cette dernière qui va nous intéresser car OCI propose des services “Always Free”, c’est-à-dire gratuit à vie. En se rendant sur cette page on peut consulter tous les services éligible à cette offre, il y en a beaucoup et en réalité ceux qui vont nous intéresser correspondent aux catégories “compute
” et “storage
”.
Ces catégories correspondent à la puissance de calcul et à l’espace de stockage que nous offre Oracle. Généralement on parle de “Virtual Private Server” (VPS), c’est-à-dire un serveur privé virtuel.
Ce qu’il faut comprendre c’est qu’Oracle ne nous donne pas un serveur physique, en effet ce type de machine coûte très chère (comptez 5000 euros pour un serveur professionnel premier prix). Ce que nous met à disposition Oracle ce sont des machines virtuelles (en anglais ”virtual machines”, qu’on contracte souvent par “VM”).
Une VM c’est simplement un ordinateur simulé par un autre ordinateur plus puissant !
Ça peut paraître bizarre mais en réalité c’est très pratique car un ordinateur peut simuler plusieurs VMs, chaque VM peut avoir un rôle différent avec des caractéristiques différentes. On peut allouer une certaine puissance de calcul et un espace de stockage à une VM et le modifier à tout moment.
Cela permet d’être très flexible et de gérer facilement tous nos services depuis une seule machine.
L’offre “Always Free” #
Avec l’offre “Always Free” d’OCI, voici à quoi nous avons droit :
Si on résume :
- Il est possible de créer 4 VMs de type Ampere A1 ou 2 VMs de type Standard.E2.1.Micro
- Nous disposons de 4 OCPUs (on peut comparer ça à un cœur de processeur, c’est la puissance de calcul)
- Nous disposons de 24 Go de RAM
- Nous disposons de 200 Go de stockage
- Chaque VM se verra allouée au minimum 47 Go de stockage pour son bon fonctionnement
Nous pouvons faire ce que l’on veut de ces ressources, nous pouvons créer 4 ou 2 VMs et répartir les ressources équitablement ou bien en créer seulement 1 avec toutes les ressources disponibles.
Evidemment moins une VM a de ressources, moins celle-ci sera puissante, il faut donc bien choisir les ressources à allouer en fonction de notre besoin.
Toutes ces ressources sont largement suffisantes pour créer un serveur de jeu, un serveur cloud, et même un serveur VPN !
Pourquoi une telle offre ? #
Si vous prenez le temps de regarder les concurrents d’Oracle avec des services similaires, vous vous rendrez compte qu’aucun d’entre eux ne propose une offre “Always Free” aussi généreuse, alors pourquoi ?
Et bien c’est simple, Oracle est un des géants du Net mais l’entreprise a pris beaucoup de retard sur le marché du Cloud comparé à ses concurrents :
Dans un milieu aussi concurrentiel, avec des acteurs qui proposent des prix très bas (comme Amazon avec AWS), qui proposent un écosystème unique largement utilisé (ce que fait Microsoft avec Azure ou Google avec son Cloud), la seule façon de rester compétitif c’est d’attirer du monde.
La stratégie d’Oracle est de proposer ses services “Always Free” pour attirer un maximum de monde, leur but est de vous habituer à leur plateforme, leurs technologies, leurs services jusqu’à ce que vous franchissiez le pas. Et ainsi transformer un maximum d’utilisateurs “Always Free” en futurs clients.
Ce n’est pas un problème en soit, c’est la stratégie de beaucoup d’entreprise de vous proposer des services gratuits super efficaces mais limités, il faut simplement en avoir conscience.
Dans notre cas, ça nous arrange bien !
Inconvénients de l’offre #
Même si l’offre est vraiment très propre, elle n’est pas non plus parfaite. Il y a certains inconvénients qu’il faut garder en tête :
- Pour créer un compte, il faudra renseigner vos informations personnelles et bancaires or les cartes virtuelles ne sont pas acceptées, il faudra mettre votre vraie carte bleu (plus d’informations sont données par la suite).
- Vous avez accès à toutes les fonctionnalités, si vous utilisez des services payants par mégarde vous serez automatiquement débités.
- Si vous avez des problèmes avec vos services “Always Free”, ne comptez pas sur le support d’Oracle pour vous aider. Comme vous ne rapportez rien à l’entreprise, vous n’êtes clairement pas prioritaire voir même pris en compte.
- Il se peut qu’un jour Oracle retire l’offre et vous demande de payer pour continuer à utiliser des services auparavant “Always Free”.
Création d’un compte Oracle #
Maintenant que vous savez tout sur l’offre, nous allons voir comment créer notre compte Oracle, puis créer notre première VM (instance) et enfin comment l’administrer.
Tout d’abord, rendez vous sur la page d’accueil d’OCI et cliquez sur “Démarrer gratuitement” :
Renseignez vos informations et validez le captcha, ici première chose un peu bizarre mais vous devez renseignez votre nom et prénom en majuscules (il y a une raison que j’explique plus loin) :
Vérifiez votre adresse mail :
Vous devriez arriver sur cette page :
Créez un mot de passe robuste, confirmez le, puis sélectionnez le champ “Individual” (pour un usage personnel).
Créez un nom d’utilisateur pour votre compte (c’est ce nom qui vous sera demandé pour vous connecter) et choisissez votre région.
Vous devez maintenant renseigner votre adresse et numéro de téléphone, tout comme votre nom et prénom renseignez les en majuscules :
Vous allez maintenant devoir renseignez vos informations bancaires, comme précisé par Oracle vous ne serez pas prélevé, en revanche vous allez devoir faire face au système de vérification Cybersource qui est … comment dire … assez stupide.
En effet, ce système va vérifier l’exactitude des informations renseignées depuis le début (nom, prénom, adresse, téléphone…) par rapport à celles inscrites sur votre carte bleue.
De plus ce système est sensible à la casse, or les informations transmises par les banques européennes sont généralement en majuscules, d’où ma recommandation depuis le début.
Je me suis arraché les cheveux plusieurs jours avant de trouver la solution et voici quelques informations supplémentaires que j’ai pu trouver :
- Ne créez pas votre compte avec un VPN actif, Cybersource peut le détecter et considérer cette action comme frauduleuse.
- N’utilisez pas de cartes virtuelles ou pré-payées, Cybersource ne sera pas capable de vérifier la carte.
Avant de continuer vérifiez bien vos informations :
Et ajoutez votre carte bancaire :
Si après tout cela vous obtenez cette erreur, ne comptez pas sur le service client d’Oracle, eux-mêmes ne savent pas comment fonctionne Cybersource, vous allez devoir faire plusieurs tentatives par vous-même, bonne chance !
Si tout c’est bien passé vous recevrez un mail pour vous indiquer que votre compte Oracle est créé !
Lors de votre première connexion Oracle vous demandera de paramétrer l’authentification à deux facteurs. C’est très simple, il suffit d’installer sur votre smartphone une application OTP (One Time Password) comme FreeOTP ou Google Authenticator et de scanner le QR Code donné par Oracle.
Vous obtiendrez un code à 6 chiffres qui change toutes les 60 secondes, c’est ce chiffre que vous devrez renseigner lorsque vous vous connectez à votre compte Oracle.
Création d’une instance #
Ici, nous allos décrire comment créer une instance avec pour exemple un serveur de jeu (Minecraft) : Une fois arrivé sur votre Dashboard Oracle Cloud, rendez-vous dans l’onglet Compute > Instances :
Puis créez une nouvelle instance :
Renommer votre instance et choisissez votre compartiment (un compartiment est juste une façon de regrouper des choses ensembles, vous pouvez laisser le compartiment root par défaut). Laissez Oracle choisir le domaine et ne touchez pas au paramètre de sécurité, mais ouvrez le choix des images :
Assurez-vous de choisir une image avec la mention “Always-Free-eligible
”.
Pour ma part je choisis une image Oracle Linux 8
:
Pour le type d’instance je choisis une VM Ampere A1
:
Puis choisissez les ressources à allouer à votre serveur Minecraft. Généralement un seul OCPU est suffisant, mais la RAM dépend de votre serveur :
Vanilla | Plugins | Mods |
---|---|---|
Minimal : 2 Go | Minimal : 3 Go | Minimal : 4 Go |
Recommandé : 4 Go | Recommandé : 6 Go | Recommandé : 8-10 Go |
Pour cet exemple je vais paramétrer le serveur avec 1 OCPU et 10 Go de RAM :
Normalement vous possédez déjà un réseau virtuel, sélectionnez-le et laissez les paramètres par défaut :
Vous pouvez créer un autre réseau virtuel, si vous créez plusieurs instances dans le même réseau virtuel, ces instances pourront communiquer entre elles. Si vous voulez cloisonner vos instances vous devrez les placer dans des réseaux virtuels différents (attention vous ne pouvez créer que deux réseaux virtuels). Vous pouvez laisser les paramètres par défaut :
Si vous êtes familier avec SSH, vous pouvez déposer votre clé publique. Dans notre cas, nous allons générer une paire de clés, puis télécharger la clé privée sur notre machine personnelle.
Voici à quoi ressemble le fichier :
Laissez les paramètres par défaut pour le Boot Volume (pour faire simple Oracle gère le chiffrement du volume d’initialisation de votre instance, c’est une couche de sécurité supplémentaire) :
Puis attachez un espace de stockage à votre instance. Vous devrez en créer un nouveau, lui donner un nom, l’associer à un compartiment et définir sa taille.
Si vous laissez le choix par défaut votre instance disposera de 47 Go d’espace, ce qui est largement suffisant, si vous choisissez “Custom” vous pourrez mettre plus d’espace.
Vous pouvez laisser les autres paramètres par défaut et attacher votre espace de stockage :
Et voilà ! Tous les paramètres de votre instance sont configurés, vous pouvez la créer.
Si vous voyez ce message en rouge lorsque vous essayez de créer votre instance, cela signifie qu’Oracle n’a actuellement plus de place pour créer des VMs dans votre région. Il n’y a pas d’autres solutions que d’attendre et de réessayer… Jusqu’à réussir.
Généralement il suffit d’attendre quelques minutes, quelques heures, parfois quelques jours, mais ne désespérez pas il y aura de la place pour votre instance. Dans mon cas j’ai attendu ~30 minutes.
Une fois l’instance créée vous serez redirigé vers sa page (ici l’instance est en train d’être provisionnée) :
Après quelques minutes l’instance est prête à être utilisée :
Vous pouvez retrouver toutes vos VMs dans l’onglet “Instances” :
Accéder à son instance #
Bien maintenant que notre VM est créée, il faut s’y connecter à distance !
Si vous n’avez jamais administré un serveur, sachez qu’un serveur dispose rarement d’une interface graphique qu’on appelle GUI (”Graphical User Interface”), cela permet de gagner de l’espace de stockage et des performances.
Ceci veut dire qu’il n’y a aucun bouton ou fenêtres, la seule chose d’affiché est du texte, c’est ce qu’on appelle une CLI (”Command Line Interface”).
Voici à quoi ressemble une CLI :
Pour indiquer une action à votre serveur, à la place d’appuyer sur un bouton on va lui envoyer des commandes, voici une liste de 5 commandes de base à retenir :
# Permet de changer de répertoire, comme si on se baladait dans les dossiers de notre machine
cd [repertoire]
# Permet de lister les dossiers et fichiers du répertoire courant
ls
# Permet d'éditer ou de créer un fichier
nano [fichier]
# Permet de supprimer un fichier
rm [fichier]
# Permet de créer un répertoire
mkdir [répertoire]
Il existe énormément de commandes possibles et le but n’est pas de les retenir, celles-ci seront suffisantes pour créer notre serveur Minecraft. Pour les curieux voici une liste de commandes utilisées pour administrer un serveur Linux : Kinsta
D’accord super, mais comment fait-on pour avoir accès à la CLI de notre serveur ?
C’est là qu’intervient le protocole SSH.
Le protocole SSH #
Un terminal va permettre d’exécuter des commandes sur la machine distante depuis sa propre machine. L’administration à distance est aujourd’hui vitale lorsque l’on gère des serveurs, vous imaginez bien que l’on ne va pas se déplacer physiquement pour effectuer une opération, surtout si nous devons administrer des milliers de serveurs parfois dans plusieurs pays.
SSH apporte beaucoup fonctionnalités mais ce protocole est surtout utilisé car il dispose de nombreux mécanismes de sécurité.
Quelques liens pour en apprendre plus sur SSH :
- IT-Connect (🇫🇷)
- Ionos (🇫🇷)
- Techtarget (🇬🇧)
- Keyfactor (🇬🇧)
Via cmd / powershell #
Le protocole SSH est installé de base sur les dernières versions de Windows 10 et 11. Pour vous connecter, ouvrez un shell de type cmd ou powershell dans le dossier contenant votre clé SSH.
Pour cela vous pouvez appuyer sur la touche Windows
et tapez le nom “cmd” ou “powershell”.
Il faudra vous placer dans le bon répertoire avec la commande cd
→ Exemple : cd C:\Users\[votre nom d'utilisateur]\Desktop\Server_Minecraft
Vous pouvez également faire un clic droit tout en maintenant la touche Shift
:
La commande pour se connecter à votre serveur est :
ssh opc@[ip] -i [cle_ssh]
Par exemple :
ssh opc@69.69.69.69 -i ssh-key-2024-06-05.key
Acceptez le “fingerprint” en tapant “yes” si on vous le demande. Si vous obtenez une erreur de type “bad permissions” c’est que votre clé SSH à des droits trop importants. Pour régler ce problème, rendez-vous dans les propriétés de votre clé SSH puis dans l’onglet Sécurité, sélectionnez le groupe Utilisateurs et supprimer l’héritage.
Plus personnes ne peut utiliser la clé, il faut maintenant vous rajouter :
Et vous donner tous les droits :
Vous pouvez désormais vous connecter à votre serveur Minecraft en SSH, l’encadré en rouge vous indique que vous êtes connecté en tant que l’utilisateur opc
sur le réseau virtuel virtual-network-1
, vous vous trouvez dans le répertoire /home/opc
qui correspond à ~
:
Via PuTTY #
Le procédé ci-dessus est un peu compliqué mais pratique car il n’y a besoin de rien installer sur votre machine. Il existe cependant des outils pour simplifier la connexion SSH, le plus connu est PuTTY.
Rendez-vous sur la page d’installation de PuTTY et télécharger l’installeur :
Une fois PuTTY installé, lancez l’application “PuTTYgen” et appuyez sur “Load” :
Chargez votre clé SSH privée :
Puis sauvegardez cette clé privée dans un format .ppk (utilisable par PuTTY) :
Vous obtiendrez ce genre de fichier :
Ouvrez maintenant l’application “PuTTY” et rendez-vous dans l’onglet Connection > SSH> Auth, importez le fichier .ppk précédemment créé :
Puis dans l’onglet “Session” renseignez les paramètres SSH et sauvegardez la session :
Vous n’aurez pas besoin de retaper tous les paramètres SSH désormais, il vous suffira de “Load” la session que vous venez de sauvegarder.
Lorsque vous vous connectez au serveur, acceptez le fingerprint :
Et voilà ! Vous êtes connectés au serveur en SSH !
Transférer des fichiers #
Vous savez maintenant comment accéder à votre instance et vous avez appris quelques commandes pour administrer votre serveur, mais comment faire pour transférer des fichiers de votre machine locale à votre serveur ou inversement ?
C’est là qu’intervient le protocole FTP !
Le protocole FTP #
Comme son nom l’indique, le “File Transfer Protocol” (FTP) est un protocole de transfert de fichiers. Il permet l’échange de données entre un ordinateur, le client FTP, et un serveur, l’hôte FTP. Ce serveur héberge les données de votre site web ou de vos applications afin de faciliter leur mise en ligne, leur migration ou leur partage, dans notre cas c’est le serveur Minecraft !
Via FileZilla #
Nous allons utiliser le logiciel FileZilla pour transférer des fichiers via le protocole FTP. Pour cela il faut d’abord télécharger le logiciel sur notre machine locale via cette page.
Une fois FileZilla installé il suffit de paramétrer la connexion à notre serveur Minecraft comme suit :
- Ouvrez le gestionnaire de site
- Créez un nouveau site
- Nommer le site
- Sélectionner le bon protocole (ici SFTP)
- Renseignez l’adresse IP de votre serveur
- Renseignez le port à utiliser (ici 22)
- Choisissez l’authentification avec un fichier de clef
- Renseignez le nom d’utilisateur
- Renseignez le fichier de clef
- Enregistrez les paramètres
Lorsque vous vous connectez en FTP à votre serveur voici ce que vous voyez :
- L’arbre des dossiers de votre machine locale
- L’arbre des dossiers de votre serveur
- Les fichiers du répertoire courant de votre machine locale
- Les fichiers du répertoire courant de votre serveur
Pour tester le bon fonctionnement, je crée un fichier texte sur ma machine locale puis je le transfère sur mon serveur :
Depuis mon accès SSH, je liste les fichiers (avec ls
) et j’affiche le contenu de celui-ci (avec cat
), je vois bien que le fichier texte a été transféré.
Conclusion #
Dans cet article je vous ai présenté l’offre “Always Free” d’Oracle Cloud Infrastructure qui nous permet de créer notre propre serveur privé.
Cet article pose les bases qui vous permettront de suivre sans problèmes les prochains tutos. N’hésitez pas à le relire si vous avez des difficultés avec OCI.
Après la lecture de cet article vous devriez désormais posséder des notions d’administration systèmes et réseaux tel que :
- La création d’une VM et l’allocation de ses ressources
- Les protocoles d’administrations à distance comme SSH et FTP
- Les commandes de base pour interagir avec un système Linux en CLI
J’espère que vous aurez apprécié la lecture de l’article, si c’est le cas n’hésitez pas à le liker et à le partager à vos amis !