Skip to content

Hanterade databaser

Frostmoln kör hanterade PostgreSQL- och MySQL-instanser åt dig — plattformen tillhandahåller den virtuella maskinen, kopplar på beständig lagring, konfigurerar motorn och ger dig en färdig anslutning. Du hanterar dina data; vi hanterar infrastrukturen under.

Välja motor och version

Välj PostgreSQL eller MySQL när du skapar instansen. Varje motor erbjuder flera versioner, och rullgardinsmenyn vid skapandet är källan till sanning för vad du kan starta just nu — för närvarande ungefär PostgreSQL 14–17 och MySQL 8.0 / 8.4.

Varje version har en livscykelstatus:

StatusStartbar?Betydelse
currentJaNyaste fullt stödda utgåvan
supportedJaFullt stödd
deprecatedJa (markerad)Fortfarande startbar, visas med en (deprecated)-markering — planera att gå ifrån
eolNejSlut på livscykeln — dold från rullgardinsmenyn vid skapandet

Den rekommenderade versionen för varje motor är markerad med (Recommended). Versioner som nått slutet på livscykeln samt förhandsversioner erbjuds inte för nya instanser.

Dimensionering

Instansstorlekar använder storleksfamiljen db.gp1.<size> (generellt ändamål):

StorlekvCPURAM
db.gp1.micro11 GB
db.gp1.small24 GB
db.gp1.medium48 GB
db.gp1.large816 GB
db.gp1.xlarge1632 GB

Du väljer lagring separat (20–1000 GB). Dialogrutan vid skapandet visar den uppskattade kostnaden innan du bekräftar.

Skapa en instans

I portalen, gå till Databaser → Instanser → Skapa och välj motor, version, storlek, lagringsstorlek och vilket VPC + subnät instansen ansluts till. Aktivera valfritt hög tillgänglighet (se nedan).

Från CLI:n

Livscykelkommandon är motorspecifika (fm database postgres … / fm database mysql …); den motoröverskridande gruppen fm database … listar över alla motorer.

bash
fm database postgres instance create \
  --name app-db \
  --version 16 \
  --flavor db.gp1.medium \
  --storage 100 \
  --vpc my-vpc \
  --subnet my-subnet

# MySQL är symmetriskt:
fm database mysql instance create --name app-db --version 8.4 --flavor db.gp1.small --storage 40 --vpc my-vpc --subnet my-subnet

# Motoröverskridande vyer:
fm database instance list
fm database version list

Med Terraform

hcl
resource "frostmoln_postgres_instance" "app" {
  name             = "app-db"
  version          = "16"
  flavor_id        = "db.gp1.medium"
  storage_gb       = 100
  vpc_id           = frostmoln_vpc.main.id
  subnet_id        = frostmoln_subnet.main.id
  ha_enabled       = true
}

Anslut

Efter tillhandahållandet visar instansens detaljsida anslutningsuppgifterna bakom en Visa autentiseringsuppgifter-knapp:

  • Värd — instansens privata adress
  • Port5432 (PostgreSQL) eller 3306 (MySQL)
  • Användarnamnpgadmin (PostgreSQL) eller mysqladmin (MySQL)
  • Lösenord — genererat åt dig (kan roteras)
  • en färdig anslutnings-URI

Databaser är nåbara från instanser på samma VPC; flödet vid skapandet öppnar motorporten i instansens säkerhetsgrupp. Anslut som med vilken standardklient som helst:

bash
psql "host=<host> port=5432 user=pgadmin dbname=postgres"

Tips

Behandla administratörsuppgifterna som vilken hemlighet som helst — lagra dem i Secrets eller din applikations hemlighetslagring, inte i versionshanteringen.

Hög tillgänglighet

Aktivera hög tillgänglighet när du skapar instansen (HA-alternativet i portalen, --ha på CLI:n, eller ha_enabled = true i Terraform). Plattformen tillhandahåller en standby vid sidan av den primära så att instansen kan göra failover. HA väljs när instansen skapas.

Säkerhetskopior och återställning

PostgreSQL- och MySQL-instanser stöder schemalagda säkerhetskopior och säkerhetskopior on demand. De kräver ett aktivt val: portalens skapandeformulär kryssar i Enable Automated Backups åt dig, men på CLI:n anger du --backup och i Terraform sätter du backup_enabled = true — annars skapas instansen utan dem. Schemat anges som ett cron-uttryck (0 2 * * * som standard). Varje säkerhetskopia krypteras med din tenants egen säkerhetskopieringsnyckel innan den lämnar instansen.

Lagringstiden är minst 35 dagar och högst 90. Säkerhetskopior skrivs till oföränderlig, objektlåst lagring som behåller varje objekt i 35 dagar, så en kortare lagringstid skulle inte kunna radera något tidigare — API:et avvisar den. Att du själv raderar en säkerhetskopia får effekt för dig direkt; det lagrade objektet rensas när dess oföränderlighetsfönster har löpt ut.

I portalen använder du fliken Backups på instansen. En säkerhetskopia kan bara tas medan instansen är igång. Att återkalla din tenants säkerhetskopieringsnyckel (fm database backup-key revoke) stänger av både säkerhetskopiering och återställning för alla hanterade databaser i tenanten tills du aktiverar den igen.

Instanser som skapades innan säkerhetskopiorna lanserades

Agenten som tar säkerhetskopior följer med instansavbilden, så en instans som skapades innan hanterade säkerhetskopior lanserades saknar den: en säkerhetskopia på en sådan instans fastnar i creating och blir aldrig klar. Skapa en ny instans för att få säkerhetskopior.

bash
fm database postgres backup list <instance-id>
fm database postgres backup create <instance-id> --name pre-migration
fm database postgres backup delete <instance-id> <backup-id>
hcl
resource "frostmoln_postgres_instance" "app" {
  # … skapandeargument enligt ovan …
  backup_enabled        = true
  backup_schedule       = "0 2 * * *"
  backup_retention_days = 35
}

Återställning

Återställning är icke-destruktiv: den skapar en ny instans från säkerhetskopian och lämnar källan orörd. Återställning utgår från en säkerhetskopia — återställning till en tidpunkt (PITR) är ännu inte tillgänglig.

bash
fm database postgres restore <instance-id> --backup <backup-id> --target-name app-db-restored

Att radera en instans är permanent

Att radera en instans tar bort den och dess lagringsvolym. Ta en säkerhetskopia först om du kan behöva data — och behåll en egen logisk dump någonstans varaktigt, såsom objektlagring, om du vill ha en kopia utanför plattformen:

bash
pg_dump   "host=<host> user=pgadmin dbname=app"  > app.sql   # PostgreSQL
mysqldump -h <host> -u mysqladmin app            > app.sql   # MySQL

Livscykel och begränsningar

  • Versioner är fasta under instansens livstid — uppgraderingar på plats är ännu inte tillgängliga. För att gå över till en nyare större version, skapa en ny instans på den versionen och migrera dina data (t.ex. med pg_dump / mysqldump).
  • Radering är permanent och tar bort lagringsvolymen (se ovan).
  • En instans lever i ett VPC/subnät (en region).

Relaterat