Es gab folgende Aufgabe zu bewältigen: „Erstelle mit Terraform und Ansible eine Umgebung in der IONOS Cloud, unter Debian 13 und MariaDB 10.11 (als Database as a Service), um den CM darin aufzunehmen.“
Dieser Blogeintrag beschreibt die Erfahrungen bei der Erstellung dieser Umgebung.
Das „Warum“ dieses R&D‑Projekts ConSol CM in the IONOS Cloud ist schnell erklärt: „Infrastructure as a Service (IaaS) ist in vielen Fällen der einfache und preisgünstige Weg, um die Basis für geplante Projekte zu schaffen. Zudem ermöglichen Cloud‑Lösungen, punktgenau auf aktuelle Anforderungen zu reagieren: Während die dahintersteckenden Komponenten wie Server, Firewalls oder Load‑Balancer im Rechenzentrum des Anbieters zwar statisch sind, lassen sie sich im virtualisierten Cloud‑Umfeld dynamisch verändern – was Kunden die Möglichkeit gibt, die Ressourcen jederzeit bedarfsgerecht aufzustocken oder zu reduzieren. Des Weiteren bietet die IONOS Cloud Infrastructure as a Service (IaaS) made in Germany, was bei vielen europäischen Nutzern sehr gut ankommt.“
Die Software Terraform und Ansible liefern die passenden Antworten, um diesen Aufwand langfristig zu minimieren.
Als Werkzeuge standen das IONOS Terraform‑Plugin und Ansible zur Verfügung. Beides wurde in Visual Studio Code von Microsoft integriert.
Mit Terraform wurde umgesetzt
- 1 Server mit Debian 13 auf einer 100 GB‑SSD
- 1 Network Load Balancer (NLB)
- 1 Internet‑Access‑Point mit reservierter öffentlicher IP‑Adresse
- 1 Anschluss am Internet‑Access‑Point (Südseite)
- 1 Anschluss am NLB (Nordseite)
- 1 privates LAN
- 1 Anschluss am NLB (Südseite)
- 1 Anschluss am Debian‑Server
- 1 Anschluss am MariaDB‑Cluster
- 1 MariaDB‑Cluster (DaaS)
- 1 Web Application Firewall
- Web‑ und Intermediate‑Zertifikat für den CM‑Server
- Zertifikate zur Anmeldung für die Administratoren des Servers und später der CM‑Applikation
- Überwachungs‑ bzw. Monitoring‑Implementierung
Mit Ansible wurde im Anschluss umgesetzt
- OS‑Update nach der Terraform‑Installation
- Installation der fehlenden Pakete (nginx, net‑tools, MariaDB‑Client‑Tools, …)
- Installation der für den CM benötigten Ressourcen (JBoss, Java, …)
- Konfiguration der Komponenten mit Werten, die in Terraform gesetzt wurden (public hostname, MariaDB‑Cluster‑Name, Benutzernamen, …)
Was gab es bei diesem Setup dann an Herausforderungen zu bewältigen? Nun ja, die Antwort ist sowohl einfach als auch kompliziert. Je mehr man in die Details der einzelnen Tools (IONOS Terraform‑Provider und Ansible) geht, desto mehr Schwierigkeiten treten auf. Zum Beispiel das Monitoring via Terraform einzurichten: Die Basics gehen, aber bei weiterführenden Anforderungen wird es kompliziert, ebenso die Übergabe von in Terraform gesetzten bzw. angepassten Variablen an Ansible zur Weiterverarbeitung.
Als Fazit lässt sich sagen, dass fast alles so läuft, wie in der sehr ausführlichen Dokumentation des IONOS‑Terraform‑Providers beschrieben. Ansible ist und bleibt Ansible – oder, wie ein bekannter deutscher Süßwarenhersteller zu einem seiner Produkte sagt: „Quadratisch, praktisch, gut.“ Es hat auf jeden Fall sehr viel Spaß gemacht, mit diesen beiden Tools (IONOS Terraform‑Provider und Ansible) in Visual Studio Code dieses ConSol R&D‑Projekt umzusetzen.
english version:
There was the following task to tackle: “Create an environment in the IONOS Cloud with Terraform and Ansible, using Debian 13 and MariaDB 10.11 (as Database as a Service), in order to host the CM.”
This blog post describes the experiences gained while building that environment.
Why this R&D project “ConSol CM in the IONOS Cloud” was undertaken is easy to explain: “Infrastructure as a Service (IaaS) is often the simplest and most cost‑effective way to lay the foundation for planned projects. In addition, cloud solutions enable you to react precisely to current requirements: while the underlying components such as servers, firewalls or load balancers in the provider’s data centre are static, they can be changed dynamically in a virtualised cloud environment – giving customers the possibility to scale resources up or down on demand at any time. Furthermore, IONOS Cloud offers Infrastructure as a Service (IaaS) made in Germany, which is very well received by many European users.”
Terraform and Ansible provide the right answers to minimise that effort in the long term.
The tools used were the IONOS Terraform plugin and Ansible, both integrated into Microsoft’s Visual Studio Code.
Implemented with Terraform
- 1 server running Debian 13 on a 100 GB SSD
- 1 Network Load Balancer (NLB)
- 1 Internet Access Point with a reserved public IP address
- 1 connection to the Internet Access Point (south side)
- 1 connection to the NLB (north side)
- 1 private LAN
- 1 connection to the NLB (south side)
- 1 connection to the Debian server
- 1 connection to the MariaDB cluster
- 1 MariaDB cluster (DaaS)
- 1 Web Application Firewall
- Web and intermediate certificates for the CM server
- Certificates for administrator login to the server and later to the CM application
- Monitoring implementation
Implemented with Ansible (after Terraform)
- OS update following the Terraform deployment
- Installation of missing packages (nginx, net‑tools, MariaDB client tools, …)
- Installation of resources required by the CM (JBoss, Java, …)
- Configuration of the components using values set in Terraform (public hostname, MariaDB‑cluster name, usernames, …)
What challenges had to be overcome with this setup? The answer is both simple and complex. The more you dive into the details of the individual tools (the IONOS Terraform provider and Ansible), the more difficulties appear. For example, setting up monitoring via Terraform works for the basics, but becomes complicated for advanced requirements, and passing variables defined or modified in Terraform to Ansible for further processing also poses challenges.
In summary, almost everything works exactly as described in the very detailed IONOS‑Terraform‑Provider documentation. Ansible is and remains Ansible – or, as a well‑known German confectionery brand puts it about one of its products: “Quadratisch, praktisch, gut.” It was certainly a lot of fun to implement this ConSol R&D project with the two tools (IONOS Terraform provider and Ansible) inside Visual Studio Code.


