In modernen IT-Umgebungen ist Automatisierung unverzichtbar – das gilt auch für das Bereitstellen von Cloud-Ressourcen. In diesem Beitrag zeige ich, wie Sie mit der Hetzner Cloud API einen neuen Server direkt per PHP-Script erstellen können.
🔧 Voraussetzungen
Um das folgende Beispiel zu nutzen, benötigen Sie:
- Einen aktiven Hetzner Cloud Account
- Ein gültiges API-Token (aus der Hetzner Console)
- Optional: Ein SSH-Key zur Einbindung beim Erstellen
- PHP mit aktivierter
cURL
-Unterstützung
🔐 API-Token erstellen
- Anmeldung unter: https://console.hetzner.cloud
- Navigieren zu: Access → API Tokens
- Neuen Token generieren und sicher speichern
📄 PHP-Beispiel: Server erstellen
<?php
$apiToken = 'dein_api_token_hier';
$data = [
'name' => 'mein-server',
'server_type' => 'cx21',
'image' => 'ubuntu-22.04',
'location' => 'nbg1',
'ssh_keys' => ['mein-ssh-key-name']
];
$ch = curl_init('https://api.hetzner.cloud/v1/servers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiToken
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Fehler: ' . curl_error($ch);
} else {
$result = json_decode($response, true);
echo "Server-ID: " . $result['server']['id'];
}
curl_close($ch);
📝 Hinweise
- Der Server-Typ
cx21
bietet 2 vCPU, 4 GB RAM - Das Beispiel verwendet
ubuntu-22.04
als Basis-Image - Standort
nbg1
steht für Nürnberg (weitere:fsn1
,hel1
) - SSH-Schlüssel müssen vorher in der Cloud Console hinterlegt sein
- Alternativ zu
location
kann auchdatacenter
verwendet werden
👉 Vollständige API-Doku: https://docs.hetzner.cloud
📬 API testen mit Postman
Bevor Sie ein eigenes PHP-Script schreiben, lohnt es sich, die API-Anfragen vorab mit einem Tool wie Postman zu testen. So können Sie Syntax, Header und Datenstruktur prüfen – ganz ohne Code.
So geht’s:
- Postman öffnen und eine neue
POST
-Anfrage anlegen:
URL:https://api.hetzner.cloud/v1/servers
- Header setzen:
Content-Type
:application/json
Authorization
:Bearer dein_api_token
- Body (raw, JSON) einfügen:
{
"name": "test-server",
"server_type": "cx21",
"image": "ubuntu-22.04",
"location": "nbg1"
}
- Anfrage absenden und prüfen, ob die Antwort erfolgreich ist (
HTTP 201 Created
)
Vorteile von Postman:
- Schnell und ohne Entwicklungsumgebung nutzbar
- Fehlerquellen (z. B. Header vergessen, JSON-Format falsch) lassen sich sofort erkennen
- Ideal für erste Tests und zum Verständnis der API-Struktur
🧩 API zuerst testen – dann automatisieren
Durch den Einsatz von Postman als Zwischenschritt lassen sich viele typische Probleme vermeiden. Sobald die Konfiguration funktioniert, kann das Ganze einfach in PHP, Python, Bash oder ein anderes Automatisierungstool überführt werden.
🧠 Fazit
Mit wenigen Zeilen PHP lässt sich ein Server in der Hetzner Cloud automatisiert erstellen – ideal für Testsysteme, CI/CD-Umgebungen oder Self-Service-Lösungen im Unternehmen.
📞 Unterstützung benötigt?
Sie möchten individuelle Automatisierungen mit der Hetzner Cloud API umsetzen?
Ich unterstütze Sie gerne bei der Entwicklung effizienter Infrastruktur-Lösungen.
👉 Jetzt Kontakt aufnehmen