Skip to content

Publika IP:er

En publik IP är en publik IPv4-adress som du allokerar till din tenant och associerar med en instans eller lastbalanserare för att göra den nåbar från internet — och flyttar mellan resurser efter behov.

Allokera, associera, frigör

bash
fm network public-ip allocate                       # reservera en adress
fm network public-ip associate <public-ip-id> <instance-id>
fm network public-ip disassociate <public-ip-id>          # frigör den, behåller den allokerad
fm network public-ip release <public-ip-id>               # lämnar tillbaka adressen — permanent
hcl
resource "frostmoln_public_ip" "web" {}

En publik IP är available när den är reserverad och in_use när den är associerad. För att använda en med en lastbalanserare, allokera den först och skicka med den när du skapar en lastbalanserare med publikt schema.

Efter associering, tillåt de relevanta inkommande portarna i resursens säkerhetsgrupp. Det kan ta en stund för en nyligen kopplad IP att visas på en instans — ladda om detaljsidan vid behov.

Flytta och frigör

Att disassociera frigör adressen från resursen samtidigt som den hålls reserverad för din tenant, så att du kan återkoppla den någon annanstans. Det är gratis och går att ångra.

En adress som inte håller något kan frigöras — men att frigöra är permanent: adressen går tillbaka till plattformen, delas ut på nytt till nästa som ber om en, och du kan inte få tillbaka den. Kontrollera vad som håller en adress innan du frigör den, i stället för att gissa utifrån en status:

bash
fm network public-ip get <public-ip-id>

En reserverad publik IP kan faktureras medan den hålls.

En publik IP som är kopplad till en VPC:s Gateway är upptagen och kan därför varken kopplas till en instans eller frigöras — se Använd en publik IP som en VPC:s utgående adress.

Publika IP-adresser och utgående trafik

En publik IP handlar om inkommande nåbarhet. Utgående är en separat resurs: VPC:ns Gateway. En VPC utan en har ingen väg ut mot internet — och varken DNS-uppslag eller anslutning till hanterade tjänster.

Båda går samma väg, så att koppla en publik IP i en VPC som saknar Gateway ger den VPC:n en. Den visas då tillsammans med VPC:n med ursprunget implicit_public_ip. Av samma skäl avvisas borttagning av en Gateway så länge publika IP-adresser i VPC:n fortfarande är beroende av den — koppla loss dem först, vilket är gratis, går att ångra och räcker för att klara kontrollen. Att frigöra dem klarar den också, men att frigöra är permanent och ger bort adresserna för gott.

En instans som har en egen publik IP går ut via den adressen. Gatewayens adress är källa endast för trafik från instanser som saknar en egen.

Använd en publik IP som en VPC:s utgående adress

En Gateway går ut via en adress som plattformen väljer — om du inte anger en egen publik IP, vilket är det som gör VPC:ns källadress fast och trygg att publicera.

bash
# Reservera adressen och skicka sedan en VPC:s utgående trafik via den
fm network public-ip allocate
fm network gateway create --vpc-id vpc-abc123 --mode public-ip --public-ip-id pip-xyz789

# Eller peka en befintlig gateway på den — --yes bekräftar avbrottet
fm network gateway set-mode --vpc-id vpc-abc123 \
  --mode public-ip --public-ip-id pip-xyz789 --yes
hcl
resource "frostmoln_public_ip" "gateway" {}

resource "frostmoln_gateway" "main" {
  vpc_id       = frostmoln_vpc.main.id
  mode         = "public_ip"
  public_ip_id = frostmoln_public_ip.gateway.id
}

I portalen är valet en väljare i VPC:ns panel Gateway under Nätverk → VPC:er.

Att ange en är valfritt — men att utelämna den tilldelar inte en åt dig. En gateway som skapas utan angiven adress använder plattformens adress: den syns i ingen av dina listor, den har inget id, den förbrukar ingen kvot och den når aldrig en faktura. Den lottas dessutom om ifall gatewayen eller VPC:n byggs upp på nytt, så ingenting utanför VPC:n bör någonsin få veta vilken den är.

Varför ange en egen

Eftersom adressen är din resurs överlever den gatewayen. Ta bort Gateway, eller radera VPC:n och bygg upp den igen: den publika IP-adressen förblir reserverad för din tenant, behåller sitt id och behåller sin adress. Peka den nya gatewayen på den så går VPC:n ut via samma adress som förut.

Det är det som gör adressen trygg att ge till en partner för deras tillåtelista, till en kunds brandvägg eller att publicera i DNS. Plattformens standardadress ger inget sådant löfte, och det gjorde inte heller det tillbakadragna läget med delad adress (nat).

En angiven adress debiteras som en publik IP och räknas mot din tenants kvot för publika IP-adresser — det är det du betalar för: en adress som ligger kvar.

Om en gateway redan använder plattformens adress och den adressen redan har publicerats kan du behålla den: att ta över gör exakt den adressen till en publik IP som är din, utan att den ändras. Se Gör gatewayens adress till din.

Medan den är kopplad

  • Den kan inte kopplas till en instans — använd en annan adress där.
  • Den kan inte frigöras — att frigöra den ger bort adressen för gott, vilket är just det gatewayen finns till för att förhindra.

För att ta reda på vilken VPC som håller den, fråga adressen själv:

bash
fm network public-ip get <public-ip-id>

Attached säger vad som har den, och för en adress som används för utgående trafik namnger raden Egress VPC den VPC vars Gateway du ska ändra.

Koppla loss den först: peka gatewayen på en annan publik IP, eller ta bort gatewayen. Adressen blir då en helt vanlig available publik IP igen — fortfarande reserverad och fortfarande räknad mot din kvot, tills du frigör den.

Att peka gatewayen tillbaka på plattformens adress görs genom att ta bort gatewayen och skapa den på nytt utan att ange någon adress — att utelämna adressen vid en ändring betyder "behåll den du har", aldrig "lämna tillbaka den". Se Lämna tillbaka en vald adress.

Relaterat