ALIBABA CLOUD SLB, ALB, NLB → STACKIT · TUTORIAL

Alibaba SLB, ALB und NLB migrieren, Schritt für Schritt

Alibaba Cloud bietet drei Load Balancer an: den klassischen CLB, den ALB für HTTP, HTTPS und QUIC und den NLB für TCP, UDP und TCP/SSL. StackToIT bewertet jeden aus dem Terraform: CLB und NLB werden zu einem STACKIT Network Load Balancer, ALB zu einem STACKIT Application Load Balancer, jeweils RECONFIGURE, und die öffentliche Adresse ändert sich. Die eigentliche Arbeit steckt in den Listenern; der Lauf unten überlässt sie einem Architekten. Dieses Tutorial führt eine Demo-Umgebung von der Eingabe bis zu den Ausgabedateien.

Das Tutorial in vier Schritten

  1. 1. Notieren, was jeder Balancer tut

    Halten Sie je Load Balancer Typ, Listener und deren Protokoll fest. Bei Alibaba Cloud verarbeitet ALB HTTP, HTTPS und QUIC, NLB TCP, UDP und TCP mit SSL und CLB TCP, UDP, HTTP und HTTPS.

  2. 2. Die Bewertung ausführen

    Führen Sie im Ordner mit dem Terraform den unten gezeigten Befehl aus. Er liest die Dateien und verbindet sich mit keinem Cloud-Konto. Der Lauf in diesem Tutorial fand sieben Ressourcen und sieben Einheiten.

  3. 3. Drei Dateien lesen

    assessment.json für Klasse, Ziel und Begründung jeder Einheit, migration/technical-sequencing.md für die Reihenfolge und execution/manual/actions.md für die manuellen Schritte mit ihren Verantwortlichen.

  4. 4. Das Design ändern, wo das Ziel abweicht

    Bevor irgendjemand etwas anwendet, entscheiden Sie je Listener, ob das Ziel der Network Load Balancer oder der Application Load Balancer ist. Der Abschnitt zu den Änderungen nennt die Fälle.

Ein CLB mit Listener, ein ALB und ein NLB, bewertet

Eine kleine Alibaba-Cloud-Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links drei Blöcke der Eingabe, rechts das vom Lauf festgehaltene Ergebnis: ein Auszug aus assessment.json mit den Werten, wie der Lauf sie geschrieben hat. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "alicloud_slb_load_balancer" "classic" {
  load_balancer_name = "shop-classic"
  load_balancer_spec = "slb.s2.small"
  address_type       = "internet"
}

resource "alicloud_slb_listener" "classic_https" {
  load_balancer_id = alicloud_slb_load_balancer.classic.id
  frontend_port    = 443
  backend_port     = 8080
  protocol         = "https"
  bandwidth        = -1
}

resource "alicloud_alb_load_balancer" "web" {
  load_balancer_name     = "shop-web"
  load_balancer_edition  = "Standard"
  address_type           = "Internet"
  address_allocated_mode = "Fixed"
  vpc_id                 = alicloud_vpc.main.id
  zone_mappings {
    vswitch_id = alicloud_vswitch.app.id
    zone_id    = "eu-central-1a"
  }
  zone_mappings {
    vswitch_id = alicloud_vswitch.app_b.id
    zone_id    = "eu-central-1b"
  }
}
StackToIT-Bewertungassessment.json
[
  {
    "id": "alicloud_slb_load_balancer.classic",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT Network Load Balancer"
      },
      "reason": "A CLB or NLB load balancer becomes a STACKIT Network Load Balancer. Listeners and backends are rewritten, and the public address changes."
    }
  },
  {
    "id": "alicloud_alb_load_balancer.web",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT Application Load Balancer"
      },
      "reason": "An Application Load Balancer becomes a STACKIT Application Load Balancer. Listeners, rules and certificates are rewritten, and the public address changes."
    }
  },
  {
    "id": "alicloud_nlb_load_balancer.tcp",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT Network Load Balancer"
      },
      "reason": "A CLB or NLB load balancer becomes a STACKIT Network Load Balancer. Listeners and backends are rewritten, and the public address changes."
    }
  },
  {
    "id": "alicloud_slb_listener.classic_https",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "alicloud_slb_listener is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  }
]
  • Die Balancer werden bewertet

    Der klassische Load Balancer wird zu einem STACKIT Network Load Balancer, der ALB zu einem Application Load Balancer und der NLB zu einem Network Load Balancer, jeweils RECONFIGURE mit Konfidenz MEDIUM.

  • Der Listener nicht

    alicloud_slb_listener steht nicht im Katalog des Laufs. Er wird daher als MANUAL_REVIEW eingestuft, und der Lauf hält fest, dass davon nichts bewertet oder entworfen ist. Port, Protokoll und Backend-Port des Listeners sind genau das, was Sie von Hand neu aufbauen müssen.

  • Die Adresse ändert sich

    Die Begründungen aller drei Balancer sagen, dass sich die öffentliche Adresse ändert. Bei klassischem und Network Load Balancer werden zudem Listener und Backends neu geschrieben, beim ALB Listener, Regeln und Zertifikate.

Befehl und Ausgabedateien

Der Lauf wurde im Eingabeordner gestartet; der Ausgabeordner liegt daneben, daher ../out. --offline unterbindet Netzwerkanfragen; --no-validate überspringt die OpenTofu-Validierung der Quelle, die Demo-Eingabe selbst wurde also nicht mit OpenTofu geprüft.

Befehlshell
# im Eingabeordner der Demo ausgeführt; der Ausgabeordner liegt daneben
stacktoit assess . ../out --offline --no-validate

# als Nächstes öffnen
../out/assessment.json
../out/migration/technical-sequencing.md
../out/execution/manual/actions.md
Wellen in technical-sequencing.mdtechnical-sequencing.md
## Wave 1 — 2 unit(s)

| Unit | Class | Target |
|---|---|---|
| `alicloud_slb_load_balancer.classic` | RECONFIGURE / MEDIUM | STACKIT Network Load Balancer |
| `alicloud_vpc.main` | RECONFIGURE / MEDIUM | STACKIT network |

## Wave 2 — 3 unit(s)

| Unit | Class | Target |
|---|---|---|
| `alicloud_slb_listener.classic_https` | MANUAL_REVIEW / LOW | — |
| `alicloud_vswitch.app` | RECONFIGURE / MEDIUM | STACKIT network |
| `alicloud_vswitch.app_b` | RECONFIGURE / MEDIUM | STACKIT network |

## Wave 3 — 2 unit(s)

| Unit | Class | Target |
|---|---|---|
| `alicloud_alb_load_balancer.web` | RECONFIGURE / MEDIUM | STACKIT Application Load Balancer |
| `alicloud_nlb_load_balancer.tcp` | RECONFIGURE / MEDIUM | STACKIT Network Load Balancer |
  • Die Reihenfolge folgt den Referenzen

    ALB und NLB liegen in Welle 3, weil sie die VPC und die beiden vSwitches referenzieren. Der klassische Balancer der Demo referenziert weder die VPC noch die vSwitches und landet daher in Welle 1.

  • Sieben manuelle Schritte

    Der Lauf entwirft für diese sieben Einheiten keine STACKIT-Ressource: 0 erzeugt, 7 beim Architekten. Jede ist ein manueller Schritt in execution/manual/actions.md.

So werden die Load Balancer zugeordnet

Alibaba-Cloud-RessourceSTACKIT-ZielMigrationsklasse
Classic Load Balancer (alicloud_slb_load_balancer)STACKIT Network Load BalancerRekonfigurieren
Application Load Balancer (alicloud_alb_load_balancer)STACKIT Application Load BalancerRekonfigurieren
Network Load Balancer (alicloud_nlb_load_balancer)STACKIT Network Load BalancerRekonfigurieren
CLB-Listener (alicloud_slb_listener)Entscheidung beim ArchitektenArchitekturentscheidung
vSwitchSTACKIT-Netzwerk mit eigenem Adressbereich, Zonenplatzierung prüfenRekonfigurieren

Klassen, wie der Lauf sie festgelegt hat. Der Lauf ordnet jeden klassischen Balancer dem Network Load Balancer zu, unabhängig von den Listener-Protokollen.

Was vor dem Anwenden zu ändern ist

Aussagen zum Ziel stammen von den unter Quellen genannten STACKIT-Seiten, gelesen am Tag der Erstellung.

  • HTTPS auf einem klassischen Balancer

    Der Demo-Listener spricht HTTPS. Die Seite zum STACKIT Network Load Balancer beschreibt Layer-4-Verkehr, während TLS-Offloading, Routing nach Host, Pfad, Header oder Query, Cookie-Persistenz und WebSocket als Funktionen des Application Load Balancers geführt werden. Behandeln Sie einen CLB mit HTTP- oder HTTPS-Listenern als Kandidaten für den Application Load Balancer und entscheiden Sie je Listener. Das ist unsere Lesart beider Seiten, keine Aussage des Laufs.

  • UDP und TCP mit SSL

    Bei Alibaba Cloud verarbeitet der NLB UDP und TCP mit SSL. Die Seite zum STACKIT Network Load Balancer nennt an einer Stelle Layer-4-TCP und im Listener-Abschnitt TCP und UDP; prüfen Sie UDP daher in der aktuellen Dokumentation. Die STACKIT-Seite hält außerdem fest, dass der Network Load Balancer nur auf Layer 4 arbeitet und die Verschlüsselung Ihre Aufgabe ist; ein TCP/SSL-Listener braucht also TLS-Terminierung auf den Backends oder den Wechsel zum Application Load Balancer.

  • Adresse und DNS

    Die Balancer-Begründungen halten fest, dass sich die öffentliche Adresse ändert. Mit ihr ändern sich Freigabelisten und DNS-Einträge, die die alte Adresse nennen. Der STACKIT Network Load Balancer nutzt eine selbst verwaltete statische externe IP oder eine ephemere; die statische wird bei der Erstellung festgelegt und lässt sich nicht ändern.

  • Private Balancer

    Die Funktionsliste des Application Load Balancers enthält einen Betrieb ausschließlich im privaten Netzwerk. Die Seite zum Network Load Balancer beschreibt nur öffentliche IPs. Der Demo-NLB setzt address_type Intranet; der Lauf ordnet ihn trotzdem dem Network Load Balancer zu, und seine Begründung spricht weiter von einer öffentlichen Adresse. Ein privater Layer-4-Balancer braucht deshalb eine Designentscheidung.

  • Ziele und Health Checks

    Beim STACKIT Network Load Balancer hat jeder Listener genau einen Target Pool; ein Pool ist eine Gruppe von Zielen mit einem gemeinsamen Target-Pool-Port, aktive Health Checks sind standardmäßig eingeschaltet. Die ALB-Funktionsliste zeigt TCP-Health-Checks überall, HTTP-Health-Checks in API und SDK, aber noch nicht in Terraform und im Portal. Backend-Servergruppen und ihre Prüfungen bauen Sie aus den Quell-Listenern von Hand nach.

Fragen von Netzwerkteams

Wird jeder Alibaba-Cloud-Load-Balancer zum Network Load Balancer?

Nein. Der Lauf ordnet CLB und NLB dem Network Load Balancer zu und ALB dem Application Load Balancer. Ein CLB mit HTTP- oder HTTPS-Listenern verdient einen Abgleich mit den Funktionen des Application Load Balancers; das entscheiden Ihre Architekten.

Warum ist der Listener als MANUAL_REVIEW eingestuft?

alicloud_slb_listener steht nicht im Katalog dieses Builds, daher bewertet der Lauf nichts davon. Ports, Protokolle und Zertifikate bauen Sie aus der Quelle von Hand nach.

Bleibt die IP-Adresse gleich?

Nein. Die Begründungen aller drei Balancer sagen, dass sich die öffentliche Adresse ändert; planen Sie die DNS-Änderung und die Freigabelisten ein. Bei einem internen Balancer wie dem Demo-NLB ändert sich auch die private Adresse, und die aufrufenden Clients brauchen die neue.

Erzeugt StackToIT die STACKIT-Load-Balancer?

Für eine Alibaba-Cloud-Quelle in diesem Build nicht. Der Terraform-Ordner enthält nur terraform.tf, variables.tf und eine README, die Balancer erscheinen als manuelle Schritte.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.