AZURE CACHE FOR REDIS → STACKIT KEY VALUE STORE · HANDLEIDING

Azure Cache for Redis naar STACKIT Valkey, in de praktijk

De Key Value Store van STACKIT draait Valkey, dat clients via het Redis-protocol bereiken; de meeste applicaties wijzigen dus een hostnaam en inloggegevens. Deze handleiding beoordeelt op 4 november 2026 twee Azure-caches, een kleine Standard-cache en een Premium-cache met shards, zones en persistentie, en laat zien wat de engine opstelt en wat de engine aan u overlaat.

De handleiding in het kort

  1. 1. De caches in Terraform beschrijven

    De demo heeft een virtueel netwerk, een subnet en twee azurerm_redis_cache-resources: redis-shop-ratelimit (Standard, family C) en redis-shop-sessions (Premium, twee shards, twee zones, RDB-persistentie, in het subnet geïnjecteerd).

  2. 2. Beoordelen

    Beide caches zijn RECONFIGURE met zekerheidsniveau MEDIUM en een doel in Key Value Store. De klasse betekent dat de dienst een STACKIT-tegenhanger heeft, maar dat de configuratie geen kopie is.

  3. 3. Het concept lezen

    Per cache schrijft de engine een stackit_valkey_instance en een stackit_valkey_credential, plus een gevoelige uitvoer voor het gegenereerde wachtwoord.

  4. 4. De variabelen invullen

    Plannaam, Valkey-versie en de lijst met toegestane client-CIDR's zijn variabelen zonder standaardwaarde. De CIDR-lijst heeft een validatie die een lege lijst weigert.

  5. 5. Beslissen wat geen tegenhanger heeft

    Sharding, uitsluitend privétoegang en het exacte evictiegedrag zijn beslissingen van de architect die in het architectenrapport staan.

  6. 6. De data plannen

    Caches worden meestal opnieuw opgebouwd. Moeten ze toch worden meegenomen, dan noemt het bestand voor dataverplaatsing de eenheid en laat het de methode open.

Een Standard-cache wordt een Valkey-instance

Links: de cache van het niveau Standard zoals geschreven. Rechts: de blokken van de STACKIT-Terraform die de engine ervoor schreef, zonder de beoordelingsopmerkingen die erboven in het bestand staan.

Azure-invoermain.tf
resource "azurerm_redis_cache" "ratelimit" {
  name                = "redis-shop-ratelimit"
  location            = azurerm_resource_group.cache.location
  resource_group_name = azurerm_resource_group.cache.name
  capacity            = 1
  family              = "C"
  sku_name            = "Standard"
  minimum_tls_version = "1.2"
}
STACKIT-Terraform van StackToITterraform/data.tf
resource "stackit_valkey_instance" "ratelimit" {
  project_id = var.project_id
  name       = "redis-shop-ratelimit"
  plan_name  = var.ratelimit_plan_name
  version    = var.ratelimit_version
  parameters = {
    sgw_acl = join(",", var.ratelimit_allowed_cidrs)
  }
}

resource "stackit_valkey_credential" "ratelimit" {
  project_id  = var.project_id
  instance_id = stackit_valkey_instance.ratelimit.instance_id
}

output "ratelimit_valkey_credential_password" {
  description = "The password STACKIT generated for the credential stackit_valkey_credential.ratelimit of azurerm_redis_cache.ratelimit. Sensitive: tofu output hides it from the plan, the state holds it in plain text."
  value       = stackit_valkey_credential.ratelimit.password
  sensitive   = true
}
  • Grootte en family worden niet overgenomen

    Capaciteit 1 van family C wordt niet vertaald naar een plan. Het concept noemt plan_name als variabele en vermeldt dat de cachegrootte aan u is om te kiezen. Het niveau geeft aan dat het doel een replica-plan nodig heeft, omdat hoge beschikbaarheid op STACKIT het plan is.

  • De toegangslijst vervangt de netwerkgrens

    De variabele voor toegestane CIDR's heeft geen standaardwaarde. Zonder lijst past STACKIT zijn standaardtoegangslijst toe, die de adresbereiken van STACKIT-klanten in het algemeen omvat. Het concept weigert daarom een lege lijst.

  • Het wachtwoord wordt gegenereerd

    De credential-resource geeft host, poort, gebruiker en wachtwoord terug. Het concept maakt het wachtwoord alleen beschikbaar als gevoelige uitvoer en maakt er geen secret voor aan: u leest het na de apply uit en geeft het vóór de cutover aan de clients.

Een Premium-cache met shards, zones en persistentie

Uit dezelfde run. Deze cache stelt bijna alles in waar een architect naar zou vragen. Het doelconcept bevat de instance, de toegangslijst en de credential, en de tabel hieronder laat zien wat er met de rest gebeurt.

Azure-invoermain.tf
resource "azurerm_redis_cache" "sessions" {
  name                          = "redis-shop-sessions"
  location                      = azurerm_resource_group.cache.location
  resource_group_name           = azurerm_resource_group.cache.name
  capacity                      = 1
  family                        = "P"
  sku_name                      = "Premium"
  non_ssl_port_enabled          = false
  minimum_tls_version           = "1.2"
  public_network_access_enabled = false
  subnet_id                     = azurerm_subnet.cache.id
  shard_count                   = 2
  zones                         = ["1", "2"]

  redis_configuration {
    maxmemory_policy      = "allkeys-lru"
    rdb_backup_enabled    = true
    rdb_backup_frequency  = 60
    rdb_backup_max_snapshot_count = 1
    rdb_storage_connection_string = var.rdb_connection_string
  }
}
STACKIT-Terraform van StackToITterraform/data.tf
resource "stackit_valkey_instance" "sessions" {
  project_id = var.project_id
  name       = "redis-shop-sessions"
  plan_name  = var.sessions_plan_name
  version    = var.sessions_version
  parameters = {
    sgw_acl = join(",", var.sessions_allowed_cidrs)
  }
}

resource "stackit_valkey_credential" "sessions" {
  project_id  = var.project_id
  instance_id = stackit_valkey_instance.sessions.instance_id
}
  • Tien openstaande punten bij één cache

    Het architectenrapport laat 10 kritieke punten van deze cache aan een medewerker over (daarachter staan 12 bronattributen: blootstelling, back-upinstellingen, maxmemory-beleid, aantal shards, SKU, zones, de connection string voor back-ups, locatie, naam en resourcegroep), tegenover 4 punten bij de Standard-cache. In dat verschil zit de beoordelingstijd.

  • Uitsluitend privé wordt een toegangslijst

    Een Valkey-instance staat niet binnen het projectnetwerk. Die heeft een eigen hostnaam en IPv4-adres en is bereikbaar vanuit STACKIT-adresbereiken en alles wat u aan de toegangslijst toevoegt. Het rapport adviseert de lijst te beperken tot de egress-adressen van de applicatie en de instance nooit voor alle adressen open te zetten.

  • Persistentie staat niet in het blok

    Het rapport adviseert de snapshotfrequentie over te nemen in de parameter snapshot, maar het opgestelde blok stelt alleen de toegangslijst in. Voeg de parameter handmatig toe nadat u de frequentie hebt gekozen.

Wat elke Azure Redis-instelling wordt

Azure-instelling (sessions-cache)Op STACKIT Key Value StoreIn de run
sku_name Premium, family P, capacity 1Een plan, single of replica, met vCPU, RAM en schijfVariabele plan_name, grootte niet overgenomen
shard_count = 2Plannen zijn Single of Replica; geen shardingGemeld als niet ondersteund; de keyspace moet in één primary passen of de applicatie shardt zelf
zones = [1, 2]Replica-plannen: drie nodes verdeeld over meerdere availability zones van de regioDe pagina met serviceplannen van STACKIT vermeldt dit; plannen met één node hebben die redundantie niet, dus kies een replica-plan
non_ssl_port_enabled = false, minimaal TLS 1.2TLS wordt afgedwongen, clients verbinden via rediss://Waarschuwing; er is geen TLS-attribuut om in te stellen
subnet_id, publieke netwerktoegang uitEigen host en IPv4-adres, toegangslijstVariabele voor toegestane CIDR's, beslissing vastgelegd
rdb_backup_frequency, maximaal aantal snapshotsRDB-persistentie, back-ups door de dienst elke 4 uur, 14 dagen bewaardOpenstaande instellingen; de parameter snapshot voegt u zelf toe
rdb_storage_connection_stringBack-ups worden door de dienst zelf gemaakt; er is geen storage account om mee te verbindenInstelling voor het omgaan met secrets, blijft ter beoordeling

Linkerkolom uit de demo-invoer, middelste kolom uit de documentatie van STACKIT Key Value Store en het architectenrapport van de run, rechterkolom uit de run.

Controles voordat de eerste client verbindt

  • Het plan is een replica-plan waar de bron replica's had

    STACKIT beschrijft single-instances als niet bedoeld voor productie, en het instancetype kan later niet meer worden gewijzigd.

  • De Valkey-versie past bij de clientbibliotheken

    STACKIT adviseert de nieuwste versie te kiezen die uw clients ondersteunen; zelfs kleine versieverschillen kunnen voorkomen dat sommige clients verbinden.

  • De toegangslijst is smal

    Alleen de egress-adressen van de applicaties, nooit 0.0.0.0/0.

  • Clients gebruiken TLS

    Connection strings beginnen met rediss:// en de host komt uit de credential.

  • Eviction en verloop zijn getest

    Het maxmemory-beleid van de bron is een openstaande instelling. Test het cachegedrag van de applicatie onder geheugendruk vóór de cutover.

  • Beheercommando's zijn uitgeprobeerd

    Een opmerking in het concept vermeldt dat een test in een STACKIT-project het commando CONFIG weigerde voor een servicekey. Als een client of tool daarvan afhangt, zoek dat dan uit vóór de cutover.

De data verplaatsen, of niet

De run noemt beide caches stateful eenheden waarvan het mechanisme onbekend is. De run verplaatst niets.

  1. Opnieuw opbouwen als het kan

    Sessie- en rate-limitdata is meestal kortlevend. De koppelingsreden voor beide eenheden vermeldt dat data in de cache meestal opnieuw wordt opgebouwd in plaats van gemigreerd. Laat het verkeer de nieuwe instance vullen om die op te warmen.

  2. Exporteren uit Azure

    Import en export van RDB-snapshots in Azure bestaat voor de niveaus Premium en Enterprise, niet voor Basic en Standard. De Standard-cache in deze demo heeft zo'n export niet; de Premium-cache exporteert naar een page blob in een storage account.

  3. Terugzetten in STACKIT

    Het beheerde herstel van STACKIT richt zich op dezelfde instance en overschrijft die. Om een snapshot in een andere instance te laden, downloadt u de back-up, waarvoor een versleutelingssleutel nodig is, en zet u die zelf terug.

  4. Keys live kopiëren

    STACKIT publiceert een tutorial die keys kopieert door MIGRATE op de bron uit te voeren, waardoor ze direct naar het doel gaan, en die controleert met INFO KEYSPACE en een gesorteerde keydiff; gemiddeld ongeveer 50 seconden per GB. Die route werkt niet vanuit Azure: Microsoft noemt MIGRATE onder de commando's die Azure Cache for Redis uitschakelt. Exporteer voor de Premium-cache in plaats daarvan een RDB-bestand; voor de Standard-cache bouwt u opnieuw op of kopieert u met een tool aan de clientzijde.

  5. Overschakelen

    Stop de schrijvers op de bron, kopieer, controleer, schakel de connection strings om en houd de bron aan tot de controles slagen. Deze volgorde is algemene praktijk, geen uitvoer van de run.

Beslissingen die de architect neemt

  • Plan per cache

    Single of replica, vCPU, RAM en schijf, op basis van de werkelijke datagrootte en belasting. De planningspagina van STACKIT rekent met RAM van minstens 125 % van de datagrootte en een schijf van ongeveer driemaal de datagrootte, en een plan kan wel worden opgeschaald maar niet worden verkleind.

  • Keyspace met sharding

    In één primary laten passen, of in de applicatie sharden over meerdere instances.

  • Persistentie

    Snapshotfrequentie, en of een back-upherstel een herstelpad is waarop u rekent.

  • Blootstelling

    Welke CIDR's de instance bereiken en of dat acceptabel is voor een cache die privé was.

  • Timing

    Microsoft heeft een tijdlijn voor de uitfasering van Azure Cache for Redis aangekondigd en beveelt Azure Managed Redis aan. Of u rechtstreeks naar STACKIT overstapt, is een platformbeslissing, geen cache-instelling.

Vragen over Redis naar Valkey

Is Valkey compatibel met mijn Redis-clients?

De documentatie van STACKIT en de koppeling beschrijven Valkey als bereikbaar via het Redis-protocol, dus de meeste clients wijzigen host, poort, inloggegevens en TLS-gebruik. De versie blijft ertoe doen: test de clientbibliotheken tegen de Valkey-versie die u kiest.

Wat gebeurt er met een geclusterde Premium-cache?

De plannen van STACKIT zijn Single of Replica, zonder sharding. De engine meldt het aantal shards als zonder tegenhanger. De keyspace moet in één primary passen, of de applicatie verdeelt de keys over meerdere instances.

Neemt het concept mijn Azure-toegangskeys over?

Nee. Het AUTH-token, de gebruikers en de toegangslijst van de bron worden niet gekopieerd. STACKIT genereert per instance een credential en het concept maakt het wachtwoord beschikbaar als gevoelige uitvoer.

Waarom is de klasse RECONFIGURE en niet REPLATFORM?

De run heeft het zo bepaald: de dienst heeft een STACKIT-tegenhanger en de clients behouden het protocol, maar instellingen voor grootte, toegang en persistentie moeten opnieuw worden geconfigureerd in plaats van gekopieerd.

Bronnen

Uw volgende stap: STACKIT.

Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.

Laat uw gegevens achter, onze specialisten nemen contact met u op.

Liever zelf een e-mail sturen? connect@stacktoit.com

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring