Compte AWS et démarrer avec Lightsail
Ensuite, si vous utilisez AWS comme suggéré, vous devrez vous créer un compte. De plus, vous devrez ensuite configurer une instance de serveur en utilisant Lightsail, soit la solution VPS (Virtual Private Server) de AWS.
Vous aurez besoin d'une carte de crédit pour créer votre compte. La majeure partie des hébergeurs le requiert, cela sert à la fois de validation d'identité, de validation du sérieux de l'inscription et dans le cas où vous utiliseriez des services payants, de facturer.
L'option que je vous propose ne vous coûtera rien pour les 3 premiers mois dans le cas du VPS et si vous utilisez d'autres services d'Amazon, plusieurs de ces services sont gratuits pendant 12 mois (pour une version de base).
- Rendez vous à https://aws.amazon.com/fr/
- Appuyez sur
Créer un compte AWS
dans le haut à droite - Complétez les étapes d'inscription
- Lorsque l'inscription est terminée, cliquez sur
Accéder à la console de gestion AWS
Vous serez maintenant dans la console de gestion AWS vous donnant accès à tous les services offerts par AWS.
Changer de région
AWS permet de déployer des services dans plusieurs régions du monde. Vous pouvez changer votre région par défaut à l'aide du menu Région
Vous pouvez changer pour la région Canada - Central
Créer une instance Lightsail
- Faites une recherche pour le service Lightsail et sélectionnez le service
- Appuyez sur
Create an instance
- Configurez les paramètres de l'instance. De mon côté, j'ai choisi les valeurs suivantes
OS
: LinuxDistro
: Amazon Linux 2. Il s'agit d'une version de Linux optimizée pour AWS. J'ai eu de meilleures performances sur un serveur avec des ressources limitées en utilisant AL2 plutôt que Ubuntu par exemple.Dual Stack
: cela vous donnera une adresse IPv4 publiqueTaille du serveur
: Serveur à 7$/mois. Le démarrage et la configuration initiale d'un projet .NET sont trop gourmands pour 512 mb. Il serait surement possible de la faire, par exemple en augmentant le swap sur le serveur ou encore en envoyant les images pré-construites sur le serveur, mais je vous recommande au moins 1 GB.Instance name
: nommez l'instance avec un nom unique
- Attendez que votre instance soit prête (
Instance status
) - Accédez à votre instance et vous pourrez y voir ces informations afin d'y accéder, en plus des options de configuration.
Se connecter à l'instance
Vous pouvez vous connecter à votre instance par terminal, à l'aide de SSH.
Console web
Il existe une console web que vous pouvez utiliser en appuyant sur le bouton Connect using SSH
, sous le titre Use your browser
.
C'est une bonne façon de démarrer rapidement, mais l'expérience demeurre celle d'un terminal au travers d'une interface Web!
Via votre terminal
Pour vous connecter en utilisant votre terminal, dans le bas de la page, téléchargez la clé SSH à l'aide du lien "Download default key".
-
Télécharger la clé SSH
-
Modifier les permissions (les clé SSH doivent avoir des permissions restrictives)
chmod 600 LightsailDefaultKey-ca-central-1.pem
Sur Windows, dans powershell:
icacls LightsailDefaultKey-ca-central-1.pem /inheritance:r /grant:r "$($env:USERNAME):(R)"
-
Obtenez votre adresse IPv4 publique à partir du tableau de bord de votre instance Lightsail
-
Connectez vous en faisant référence à la clé
ssh -i LightsailDefaultKey-ca-central-1.pem ec2-user@<IP-PUBLIQUE>
-
You're in!
Configurer l'instance
Une fois connecté par terminal, il vous faudra configurer un minimum le serveur.
Installer Docker
sudo yum update
sudo yum install docker
sudo usermod -a -G docker ec2-user
id ec2-user
newgrp docker
Installer git
sudo yum install git
Installer docker compose
sudo mkdir -p /usr/local/lib/docker/cli-plugins/
sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
sudo systemctl enable docker.service
sudo systemctl start docker.service
Cloner votre repo et démarrer le conteneur
cd ~
mkdir apps
cd apps
git clone [url-de-votre-repo]
cd [dossier repo]
docker compose up
Il est possible qu'au premier lancement les migrations ne s'exécutent pas. Réessayez (CTRL+C et docker compose up) une seconde fois.
Vous devriez pouvoir accéder à l'aide de l'IP publique à l'application!
Pour exécuter en mode "detatched" (en arrière-plan) (vous pouvez faire CTRL+C pour fermer):
docker compose up -d
Stopper un conteneur
Pour arrêter un conteneur, vous n'avez qu'à exécuter (dans le bon dossier)
docker compose stop
Accéder à votre app
Vous pouvez utiliser l'adresse IP publique dans votre navigateur pour tenter d'accéder à l'application.