// dokumentacja openclaw

Instalacja OpenClaw na Microsoft Azure — VM z Bastion

OpenClaw na Microsoft Azure

Ten poradnik opisuje wdrożenie OpenClaw na maszynie wirtualnej Azure z systemem Linux, z hardeniongiem sieci i zarządzanym dostępem SSH przez Azure Bastion.

Wymagania wstępne

  • Subskrypcja Azure z uprawnieniami do tworzenia zasobów obliczeniowych i sieciowych.
  • Zainstalowane Azure CLI (az).
  • Para kluczy SSH — wygeneruj, jeśli nie posiadasz: ssh-keygen -t ed25519.
  • Około 20–30 minut na konfigurację.

Architektura wdrożenia

Konfiguracja obejmuje:

  • Resource Group — logiczny kontener na wszystkie zasoby.
  • Virtual Network — sieć z zakresem CIDR 10.40.0.0/16.
  • Podsieć VM — dla maszyny wirtualnej.
  • Podsieć Bastion — dedykowana podsieć dla Azure Bastion.
  • NSG (Network Security Group) — restrykcyjne reguły bezpieczeństwa.
  • Maszyna wirtualna — Standard_B2as_v2 z Ubuntu 24.04 LTS i dyskiem 64 GB.
  • Azure Bastion — zarządzane tunelowanie SSH (Standard SKU).

Reguły bezpieczeństwa sieci

NSG implementuje restrykcyjne reguły, priorytetyzując bezpieczeństwo:

  • Priorytet 100 — zezwolenie na SSH z podsieci Bastion.
  • Priorytet 110 — zablokowanie SSH z internetu.
  • Priorytet 120 — zablokowanie SSH z VNet.

VM nie otrzymuje publicznego adresu IP — cały dostęp kierowany jest przez zarządzane tunelowanie Azure Bastion.

Tworzenie zasobów

Ustaw zmienne środowiskowe i utwórz zasoby poleceniami Azure CLI:

# Zmienne
RG="openclaw-rg"
LOCATION="westeurope"
VM_NAME="openclaw-vm"

# Grupa zasobow
az group create -n "$RG" -l "$LOCATION"

# NSG z regulami
az network nsg create -g "$RG" -n openclaw-nsg
az network nsg rule create -g "$RG" --nsg-name openclaw-nsg \
  -n AllowBastionSSH --priority 100 --access Allow \
  --source-address-prefixes "10.40.1.0/24" --destination-port-ranges 22

# Virtual Network
az network vnet create -g "$RG" -n openclaw-vnet \
  --address-prefix 10.40.0.0/16 \
  --subnet-name vm-subnet --subnet-prefix 10.40.0.0/24

# Maszyna wirtualna
az vm create -g "$RG" -n "$VM_NAME" \
  --image Ubuntu2404 --size Standard_B2as_v2 \
  --os-disk-size-gb 64 --public-ip-address "" \
  --vnet-name openclaw-vnet --subnet vm-subnet \
  --nsg openclaw-nsg --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub

Instalacja OpenClaw

Po nawiązaniu połączenia przez Bastion:

# Dostep przez Azure Bastion
az network bastion ssh -g "$RG" -n openclaw-bastion \
  --target-resource-id /subscriptions/.../virtualMachines/$VM_NAME \
  --auth-type ssh-key --username azureuser --ssh-key ~/.ssh/id_ed25519

# Na maszynie wirtualnej:
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
openclaw gateway status

Koszty

Główne pozycje kosztowe:

  • Azure Bastion Standard SKU — ok. 140 USD/mies. (można obniżyć do Basic lub usunąć, gdy nie potrzebujesz).
  • Maszyna wirtualna Standard_B2as_v2 — ok. 55 USD/mies.

Sposoby redukcji kosztów:

  • Dealokacja VM, gdy nie jest potrzebna (az vm deallocate).
  • Usunięcie Bastion, gdy nie korzystasz z SSH.
  • Zmiana SKU Bastion na Basic (tańszy, ale mniej funkcji).

Czyszczenie zasobów

Aby usunąć wszystkie zasoby jednym poleceniem:

az group delete -n "$RG" --yes --no-wait