Skip to content

Latest commit

 

History

History
121 lines (77 loc) · 4.9 KB

PCA_PRA.md

File metadata and controls

121 lines (77 loc) · 4.9 KB

Plan de continuité d'activité / Plan de reprise d'activité

Prérequis

Récupérer l'archive de la base de données

Si la base de données est à restaurer

Sur Scalingo, à parir de l'application à restaurer, accéder à l'archive de la base de données: Ressources / Addons / PostgreSQL / Go to dashboard / BACKUPS

Télécharger la dernière archive non comrompue.

Récupérer le contenu du stockage s3

Si le stockage s3 est à restaurer.

Récupérer la dernière archive sur github (archivé tous les lundis matin):

Créaton d'un environnement sur le PaaS Scalingo

Création de l'application

FIXME : qu'est-ce qu'est Scalingo

  • Rendez-vous sur dashboard.scalingo.com
  • Cliquer sur créer une application
  • Créer une application avec le nom de votre choix, ex: "apilos-production"
  • Choisir le déployement Scalingo git server
  • Invitez vos collaborateurs sur le projet nouvellement créé Settings / Collaborators Une fois les invitations acceptées, vous serez en capacité de transférer la propriété du projet, ceci transfert aussi la facturation

Création de base de données

A partir de l'application sur Scalingo

  • Accéder à la gestion des Addons Ressources / Addons / Add an addon
  • Choisir PostgreSQL
  • Choisir un plan (éviter le plan gratuit)
  • Clicker sur Provision Addons

Création d'un utilisateur en lecture seule

Nécessaire pour le pluggin explorer de l'application

  • Accéder à la gestion des utilisateurs de la base de données Ressources / Addons / PostgreSQL / Go to dashboard / USERS
  • Créer un utilisateur en lecture seule sur la base de données
  • Garder les identifiants, ils vous serviront pour configurer les variables d'environnement

Restoration de la base de donnée

  • récupérer le DSN SCALINGO_POSTGRESQL_URL dans les variables d'environnement de votre nouvelle application
  • Créer un tunnel ssh sur le réseau de votre application Scalingo (doc https://doc.scalingo.com/platform/databases/access), Astuce : il faudra modifier l'URL et le port de la variable d'environnement SCALINGO_POSTGRESQL_URL en local avec les données fourni par le tunnel ssh
  • Restaurer la base de données avec la commande pg_restore, ex: pg_restore -d "${DB_URL}" --clean --no-acl --no-owner --no-privileges <dump_file.pgsql>
  • Conseil, vérifier la présence des données sur la nouvelle base de données grâce à un client psql

Sockage Objet S3

FIXME : stockage s3, pourquoi faire

Restoration du Sockage Objet S3

Accéder au fournisseur de stockage s3 (Scaleway)

  • Créer un bucket Stockage / Object Storage / Créer un bucket
  • Nommer le bucket
  • Choisir un lieu de stockage
  • Sélectionner la visibilité privé
  • Activé le versionnage du bucket
  • Dézipper l'archive
  • Configurer un client aws s3 locallement pour accéder au bucket nouvellement créé (doc scaleway: https://www.scaleway.com/en/docs/storage/object/api-cli/object-storage-aws-cli/)
  • Copier le contenu de l'archive dans le bucket

Ajout d'un addon Redis

  • Accéder à la gestion des Addons Ressources / Addons / Add an addon
  • Choisir Redis
  • Choisir un plan (éviter le plan gratuit)
  • Clicker sur Provision Addons

Deployer l'application

Configurer les variables d'environnement

  • Prenez le contenu de fichier .env.template
  • Adapter les valeurs de chaque variable d'environnement pour l'environnement souhaité

Déployer via le repositories git de Saclingo

Suivre la procédure de scalingo : https://doc.scalingo.com/platform/deployment/deploy-with-git

Configurer

Configurer les entrées DNS

Sur votre fournisseur de DNS (ex: alwaysdata)

Adapté la configuration réseau sur Scalingo

A partir de l'application sur Scalingo

  • Accéder aux paramètres réseau de l'application Settings / Domains / SSL / Add
  • Ajouter l'URL de l'application
  • Modifier la configuration SSL dans Settings / Routing
  • Activé l'option Force HTTPS
  • Modifier la variable d'environnement ALLOWED_HOSTS pour ajouter l'url de l'application

Architecture double : SIAP et Webapp indépendante

La WebApp APiLos est déployée 2 fois, 1 dépendante du SIAP et 1 indépendante, cf. Architecture APiLos

Il sera donc peut-être nécessaire d'appliquer la procédure ci-dessus 2 fois excepté pour les briques logiciel qui sont partagées:

  • Base de données PostgreSQL
  • Stockage Object S3
  • La variable d'environnement ENVIRONMENT