Aller au contenu principal

Préparer un serveur sur AWS

Ce guide prépare une instance EC2 pour Bring Your Own Server, avec son pare-feu, son IP fixe et son stockage de sauvegarde. Skysize installe tout le reste sur le serveur.

Chaque étape comporte deux onglets : cliquez dans Console, ou collez depuis Ligne de commande. Votre choix s'applique à toute la page.

Les commandes s'exécutent dans CloudShell, l'icône de terminal en haut de la console AWS : vous n'avez ainsi rien à installer. Gardez le même onglet ouvert, car chaque bloc réutilise les valeurs de l'étape 1.

1. Choisir vos valeurs​

Choisissez la région la plus proche de vos utilisateurs, et la taille adaptée à votre usage.

UsageType d'instancevCPURAMDisque
Une branche de production et une de stagingm7i.large28 GB100 GB
Production avec des branches de staging et de développementm7i.xlarge416 GB200 GB

Évitez les types Graviton comme m7g ou t4g : ils sont ARM, et l'installateur refuse de s'y exécuter. Évitez t3 en production : il épuise ses crédits CPU sous une charge soutenue.

Sélectionnez votre région en haut à droite de la console AWS. Utilisez la même à chaque étape.

2. Créer le groupe de sécurité​

Le serveur a besoin de ces règles entrantes, et d'aucune autre :

TypePortSourcePourquoi
HTTP80Toute adresse (0.0.0.0/0)Certificats et redirections
HTTPS443Toute adresse (0.0.0.0/0)Vos sites Odoo

Skysize n'a besoin d'aucun port entrant qui lui soit propre. Il n'y a pas de règle SSH, car vous vous connectez avec Session Manager à l'étape 6. Laissez PostgreSQL (5432) fermé sauf si vous utilisez l'accès à la base de données en lecture seule. Conservez la règle sortante par défaut, qui autorise tout : le serveur en a besoin.

  1. Ouvrez EC2 → Security Groups → Create security group.
  2. Donnez au nom et à la description la valeur skysize-odoo, et conservez le VPC par défaut.
  3. Sous Inbound rules, ajoutez les deux règles ci-dessus.
  4. Cliquez sur Create security group.

3. Créer le bucket de sauvegarde et le rôle du serveur​

Skysize n'effectue aucune sauvegarde tant qu'un projet n'a pas de cible de sauvegarde. Cette étape crée un bucket privé et un rôle qui permet au serveur de l'utiliser, sans aucun secret à stocker.

Bucket

  1. Ouvrez S3 → Create bucket.
  2. Saisissez un nom unique sur l'ensemble d'AWS, par exemple skysize-odoo-backups- suivi de l'ID de votre compte.
  3. Laissez Block all public access activé, puis cliquez sur Create bucket.

Rôle

  1. Ouvrez IAM → Roles → Create role.
  2. Choisissez AWS service, puis EC2, et cliquez sur Next.
  3. Sélectionnez la politique AmazonSSMManagedInstanceCore, et cliquez sur Next.
  4. Nommez le rôle skysize-odoo, et cliquez sur Create role.
  5. Ouvrez le rôle, puis Add permissions → Create inline policy → JSON.
  6. Collez ceci, avec le nom de votre bucket à la place de YOUR_BUCKET, et nommez la politique backups :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetBucketLocation"],
"Resource": "arn:aws:s3:::YOUR_BUCKET"
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts"],
"Resource": "arn:aws:s3:::YOUR_BUCKET/*"
}
]
}

4. Lancer l'instance​

Utilisez Ubuntu 24.04 pour x86. Sur AWS, utilisez Ubuntu ou Debian : Amazon Linux, l'image proposée par défaut dans la console, n'est pas pris en charge et l'installateur le refuse. Les commandes de cette page sont écrites pour Ubuntu.

Ouvrez EC2 → Instances → Launch instances, et définissez :

ParamètreValeur
Nameskysize-odoo
Application and OS ImagesUbuntu, puis Ubuntu Server 24.04 LTS, architecture 64-bit (x86)
Instance typeLe type de l'étape 1
Key pairProceed without a key pair
Network settingsSelect existing security group : skysize-odoo. Laissez Auto-assign public IP activé.
Configure storageLa taille de disque de l'étape 1, type gp3
Advanced details → IAM instance profileskysize-odoo

Cliquez ensuite sur Launch instance.

5. Lui attribuer une IP fixe​

L'IP publique d'une instance change lorsqu'elle s'arrête et redémarre, ce qui casserait vos enregistrements DNS. Notez cette IP : vos enregistrements DNS pointeront vers elle.

  1. Ouvrez EC2 → Elastic IPs → Allocate Elastic IP address, et cliquez sur Allocate.
  2. Sélectionnez la nouvelle adresse, puis Actions → Associate Elastic IP address.
  3. Choisissez votre instance, et cliquez sur Associate.

6. Se connecter au serveur​

Dans la console EC2, sélectionnez l'instance et choisissez Connect → Session Manager → Connect. Cela ouvre un terminal dans votre navigateur, sans clé SSH ni port ouvert. La connexion peut mettre une minute ou deux à devenir disponible après le lancement. C'est ici que vous collez la commande d'installation de Skysize.

7. Définir la cible de sauvegarde​

Une fois votre projet créé, ouvrez ses Paramètres → Cible de sauvegarde, cliquez sur Ajouter une cible et renseignez :

ChampValeur
TypeAWS S3
BucketLe nom de votre bucket
RégionVotre région, par exemple us-east-2
PréfixeLe nom du projet
AuthentificationRôle IAM

Cliquez sur Tester pour la vérifier depuis votre serveur.

Envoyer des emails depuis Odoo​

AWS bloque par défaut le port 25 sortant. Utilisez un relais SMTP sur le port 587, comme Amazon SES. Voir Configurer l'email sortant.

Connecter le serveur à Skysize​

Votre serveur est prêt. Suivez Configurer votre propre serveur, à partir de l'étape d'enregistrement du serveur. En bref : enregistrez-le dans le tableau de bord, connectez-vous-y en SSH et collez la commande d'installation. Le statut passe à En ligne moins d'une minute après la fin de l'installateur.

Une fois votre premier projet lancé, ajoutez votre domaine.

En cas de problème​

Le tableau de bord indique que les ports 80 et 443 ne sont pas joignables. Vérifiez les règles de pare-feu ci-dessus, et que l'IP publique indiquée dans les paramètres du serveur est bien celle que vous avez notée. Cliquez ensuite sur Vérifier à nouveau.

Le serveur reste Hors ligne. Le serveur se connecte en sortie à Skysize, aucune règle entrante ne résout donc ce problème. Exécutez ces commandes sur le serveur :

sudo systemctl status skysize-agent
sudo journalctl -u skysize-agent -n 50
nc -zv cp.skysize.io 50051

Si l'installateur ne s'est pas terminé, ou si le jeton d'enrôlement a déjà été utilisé, utilisez Régénérer le jeton d'enrôlement sur la page du serveur et relancez la commande d'installation.

Le problème persiste ? Ouvrez Assistance dans le tableau de bord et joignez la sortie de ces commandes.