Si vous êtes prêt à lire un peu, ansible pourrait être votre ami ici. Vous pourriez construire un playbook simple pour déployer vos paquets automatiquement, distribuer les fichiers de configuration et modifier les paramètres du système. Cloud-init pourrait également être utile ici, cependant je n'ai pas d'expérience avec cet outil. Un simple playbook ansible qui ne ferait que déployer vos paquets ressemblerait à (en considérant que tous sont disponibles dans les dépôts par défaut) :
- hosts: target_host
become: true
vars_files:
- /path/to/vars/file/if/needed
tasks:
- name: Install Dependencies
apt:
pkg:
- php=version
- mysql
- java-default
- composer
- npm
- elasticsearch
Vous pouvez également effectuer une sauvegarde du système à l'aide de quelque chose comme clonezilla ou Veeam (le produit gratuit veeam pour Linux ne nécessite pas de redémarrage et vous permet de créer des supports de démarrage pour les restaurations), bien qu'à ce stade, vous devrez vous soucier de la correspondance entre le matériel sous-jacent et celui de votre VM existante.
Fondamentalement, je ne crois pas qu'il y ait une réponse simple à apporter à cette question. Il peut également être utile de vérifier auprès de votre fournisseur d'hébergement s'il dispose d'une fonctionnalité de clonage / création d'images (je sais que cela est facile à réaliser dans Azure).