Gateway
Gateway on VPC:n lähtevä reitti internetiin. Se on oma resurssinsa, ei VPC:n asetus: VPC:llä on enintään yksi, eikä VPC ilman sitä pääse internetiin lainkaan.
Saapuva tavoitettavuus on eri asia — siihen tarvitaan julkinen IP ja vastaavat säännöt suojausryhmässä.
Kolme yhteystilaa
VPC on aina täsmälleen yhdessä näistä. Gatewayn omaava VPC lähtee aina yhdestä julkisesta osoitteesta; valitsemasi asia on se, mistä tuo osoite tulee.
| Lähtevä internet-yhteys | Lähdeosoite, jonka vastapuoli näkee | Käytetyt julkiset IP:t | |
|---|---|---|---|
| Ei Gatewayta | Ei — eristetty | — | 0 |
| Gateway, oletusosoite | Kyllä | Alustan valitsema osoite. Ei näy missään, ja arvotaan uudelleen, jos gateway rakennetaan uudelleen | 0 |
| Gateway, itse nimeämäsi julkinen IP | Kyllä | Nimeämäsi julkinen IP — pysyvä, ja sinun | 1, tenantisi kiintiöstä |
"Ei Gatewayta" tarkoittaa resurssin puuttumista, ei tilaa eikä kytkintä, jonka voi sammuttaa. Osoitteetonta gatewayta ei ole olemassa: joko VPC:llä on gateway tai sillä ei ole.
Kumman haluat
- Oletusosoite — oikea valinta aina, kun vastapuolta ei kiinnosta, mistä osoitteesta saavut: pakettipeilit, julkiset API:t, lähettämäsi webhookit, ohjelmistopäivitykset. Saat sen pyytämällä gatewayta ja jättämällä osoitteen nimeämättä. Se ei maksa sinulle mitään: se ei käytä lainkaan julkisten IP-osoitteidesi kiintiötä, se ei näy yhdelläkään listallasi, sillä ei ole tunnusta eikä se koskaan päädy laskulle. Se, mihin se ei pysty, on pysyä samana — ks. varoitus alla.
- Itse nimeämäsi julkinen IP — valitse tämä, kun vastapuoli pitää lähdeosoitettasi sallittujen listalla tai kun osoite viedään DNS:ään: kumppanin API, asiakkaan palomuuri tai SFTP-päätepiste, joka hyväksyy vain tunnetut osoitteet. Osoite on oma julkinen IP, jonka valitset itse. Se näkyy julkisten IP-osoitteidesi listalla, se lasketaan tenantisi julkisten IP-osoitteiden kiintiöön, siitä laskutetaan julkisena IP:nä, ja se on kiinnitetty — se säilyttää osoitteensa, vaikka gateway tai VPC poistettaisiin ja rakennettaisiin uudelleen. Ks. Valitse osoite, jota gateway käyttää.
- Ei gatewayta — oikea vastaus VPC:lle, joka ei saa keskustella internetin kanssa lainkaan: eristetty taustakerros tai datankäsittelyverkko, johon päästään vain saman VPC:n muista resursseista. Se ei kuluta mitään.
Vain itse nimeämäsi osoite on turvallista julkaista tai antaa sallittujen listalle
Oletusosoite ei ole sinun, eikä se ole pysyvä. Alusta arpoo sen, se ei ole sinun omistamasi resurssi, se ei näy yhdelläkään julkisten IP-osoitteiden listalla, ja se arvotaan uudelleen aina, kun gateway tai VPC rakennetaan uudelleen. Se ei myöskään elä gatewayta pidempään.
Sitä ei siis saa koskaan antaa kumppanille sallittujen listalle, koskaan laittaa asiakkaan palomuuriin eikä koskaan julkaista DNS-tietueessa. Kun osoite vaihtuu — eikä mikään varoita siitä etukäteen — kyseistä liikennettä ei yksinkertaisesti enää hyväksytä.
Jos jonkun VPC:si ulkopuolisen on tiedettävä, mistä osoitteesta liikenteesi tulee, nimeä oma julkinen IP. Se on tämän sivun ainoa osoite, johon liittyy lupaus.
Gatewayn poistaminen maksaa enemmän kuin internet-yhteyden
VPC:n nimenselvitys (DNS) ja yhteys hallittuihin palveluihin kulkevat samaa reittiä. Kun poistat Gatewayn, VPC menettää kaikki kolme kerralla: ei lähtevää internet-yhteyttä, ei DNS:ää eikä yhteyttä hallittuihin palveluihin. VPC:n sisällä olevat resurssit jatkavat toimintaansa ja keskustelevat keskenään yksityisillä osoitteilla — mutta kaikki, mikä selvittää verkkonimen tai ottaa yhteyttä hallittuun palveluun, lakkaa toimimasta.
Siksi jokainen pinta vaatii aikomuksen ilmaisemista selvästi: vahvistus portaalissa, valitsin komentorivillä, hyväksytty suunnitelma Terraformissa.
Valitse yhteys VPC:tä luodessasi
VPC:tä luotaessa voit valita yhteyden — none tai public-ip. Jos jätät valinnan tekemättä, se tarkoittaa none: mitään ei provisioida, joten VPC ei koskaan saa lähtevää yhteyttä vain siksi, että kenttä jäi pois.
Portaalissa Verkko → VPC:t → Luo kysyy valinnan eikä esivalitse mitään.
fm network vpc create --name my-vpc --cidr 10.0.0.0/16 --gateway public-ip
fm network vpc create --name my-vpc --cidr 10.0.0.0/16 --gateway noneKomentorivillä yhdistetty valinta kirjoitetaan public-ip, ja myös public_ip hyväksytään. Se antaa VPC:lle gatewayn oletusosoitteella; oman julkisen IP:n nimeäminen tehdään gatewayssa itsessään, alla.
Tarkista gateway sen jälkeen, kun VPC on luotu
Luontihetken valinta toteutetaan parhaan yrityksen mukaan ja vasta sen jälkeen, kun VPC itse on olemassa. VPC luodaan ensin; gateway provisioidaan seuraavassa vaiheessa, ja sen epäonnistuminen ei tarkoituksella ole kohtalokas VPC:lle — alustan kapasiteettiraja, virhe lähtevää reittiä pystytettäessä tai epäonnistunut kirjaus jättää sinulle pyytämäsi VPC:n ilman gatewayta, ja luonti ilmoittaa siitä huolimatta onnistuneensa.
Varmista se siis jälkikäteen sen sijaan, että oletat:
fm network gateway get --vpc-id vpc-abc123tai katso VPC:n yhteyspaneelia portaalissa — se tarkistaa asian puolestasi ja varoittaa, jos tekemääsi valintaa ei otettu käyttöön. Jos VPC jäi ilman gatewayta, mitään ei ole kulutettu eikä mikään ole rikki: lisää sellainen komennolla fm network gateway create (alla).
Terraform toimii tarkoituksella toisin. frostmoln_vpc-resurssilla ei ole yhteysargumenttia, koska VPC, joka loisi gatewayn sivussa, omistaisi objektin, jota Terraform ei hallitse. Terraformissa yhteysvalinta on kyseisen resurssin olemassaolo tai puuttuminen.
Tällä on merkitystä VPC:lle, joka ei saanut alkuaan Terraformista, ja virhetilanne on hiljaisempi kuin odottaisi. Jos VPC:llä on jo gateway — valittu luontihetkellä tai alustan liittämä silloin, kun julkinen IP kytkettiin — frostmoln_gateway-resurssin määrittäminen sille ei välttämättä epäonnistu. Resurssi, joka ei nimeä public_ip_id-arvoa, ottaa haltuunsa jo olemassa olevan gatewayn: Terraform raportoi luonnin, jota se ei tehnyt, ja VPC jatkaa ulospäin sillä osoitteella, joka gatewaylla jo oli — alustan arpomalla tai aiemmin portaalista tai komentoriviltä valitulla, mutta ei sellaisella, jonka tämä konfiguraatio nimeää. Määrittely hylätään yleensä virheellä GATEWAY_EXISTS vain silloin, kun resurssi nimeää public_ip_id-arvon, jota olemassa olevalla gatewaylla ei ole. Hallitaksesi jo olemassa olevaa gatewayta tuo se sen sijaan, että määrittäisit uuden.
Riippumatta siitä, miten VPC aloittaa, alla oleva gateway-resurssi on tapa lisätä, muuttaa tai poistaa yhteys jälkikäteen — luontihetken valintaa ei voi antaa uudelleen jo olemassa olevalle VPC:lle.
Lisää Gateway olemassa olevaan VPC:hen
Lisääminen ei riko mitään: instanssit jatkavat toimintaansa ja säilyttävät osoitteensa, ne saavat yksinkertaisesti reitin ulos.
Portaalissa
Avaa Verkko → VPC:t ja sitten VPC. Gateway -paneeli näyttää, onko VPC:llä sellainen ja mistä osoitteesta sen lähtevä liikenne näyttää tulevan. Kun lisäät sellaisen, kysytään mistä osoite tulee: alustan oletusosoitteesta vai jostakin omasta julkisesta IP:stäsi, jonka sitten valitset listalta. Kun gateway on olemassa, paneeli tarjoaa Poista Gateway — ja niin kauan kuin gateway on oletusosoitteessa, myös Ota osoite omakseni, joka kuvataan kohdassa Ota gatewayn osoite omaksesi.
Komentoriviltä
fm network gateway hallitsee VPC:n gatewayta:
# Kaikki tenantin gatewayt. VPC ilman gatewayta puuttuu listalta kokonaan.
fm network gateway list
# Yhden VPC:n gateway
fm network gateway get --vpc-id vpc-abc123
# Anna VPC:lle lähtevä yhteys oletusosoitteella — --mode on pakollinen eikä
# sillä ole koskaan oletusarvoa
fm network gateway create --vpc-id vpc-abc123 --mode public-ip
# ...tai ulos jo hallussasi olevan julkisen IP:n kautta
fm network gateway create --vpc-id vpc-abc123 --mode public-ip --public-ip-id pip-xyz789
# Osoita olemassa oleva gateway toiseen omaan julkiseen IP:hen — --yes
# vahvistaa katkoksen
fm network gateway set-mode --vpc-id vpc-abc123 \
--mode public-ip --public-ip-id pip-xyz789 --yes
# Poista se — --yes vahvistaa internetin, DNS:n ja hallittujen palveluiden menetyksen
fm network gateway delete --vpc-id vpc-abc123 --yes--mode ottaa arvon public-ip (myös public_ip hyväksytään) eikä sillä ole koskaan oletusarvoa: yhteys on ilmaistu valinta, ei koskaan jotain, minkä VPC saa siksi, että valitsin unohtui. --public-ip-id kertoo, minkä julkisen IP:n kautta VPC menee ulos, ja se on valinnainen:
- Jätä se pois, niin gateway ottaa alustan oletusosoitteen. Sinulle ei varata mitään, mitään ei ilmesty komennon
fm network public-ip listtuloksiin eikä mistään laskuteta. Osoite ei ole pysyvä. - Nimeä osoite, niin siitä julkisesta IP:stä tulee VPC:n lähdeosoite — listattu, kiintiöösi laskettu, julkisena IP:nä laskutettu ja kiinnitetty.
--public-ip-id:n pois jättäminen ei varaa osoitetta puolestasi
Ennen se varasi. Enää ei: pois jätetty --public-ip-id tarkoittaa nyt "käytä alustan oletusosoitetta", joka on piilossa ja laskuttamaton — ei "varaa julkinen IP puolestani". Gatewayn luominen osoitetta nimeämättä ei tuota julkisten IP-osoitteidesi listalle mitään, eikä siellä ole mitään, jonka voisi turvallisesti antaa sallittujen listalle.
Vanhaa toimintaa vasten kirjoitetut skriptit toimivat yhä ja pitävät VPC:n yhteydessä; muutos on se, että ne eivät enää tuota osoitetta, jonka voisi hakea, julkaista tai antaa kumppanille. Jos omasi luotti siihen, varaa julkinen IP ja nimeä se erikseen.
Hyvä tietää skriptatessa:
get -o jsontuottaa aina listan, jossa on nolla tai yksi gateway — saman muodon kuinlist— joten samajqtoimii vastauksesta riippumatta:bashfm network gateway get --vpc-id vpc-abc123 -o json | jq -r '.[0].mode // empty'createVPC:lle, jolla on jo gateway, on idempotentti toisto: se kertoo olemassa olevan gatewayn, eikä mitään luoda tai kuluteta. Myös se, ettei nimeä mitään osoitetta, on toisto — pois jätetty osoite tarkoittaa "säilytä se osoite, joka gatewaylla on", joten se ei koskaan vaihda olemassa olevan gatewayn osoitetta. Vaincreate, joka nimeää eri osoitteen, hylätään (GATEWAY_EXISTS); käytä siihenset-mode-komentoa. Sama sääntö saa Terraformin ottamaan haltuunsa gatewayn, jota se ei luonut.set-mode, joka pyytää sitä mitä gatewaylla jo on, ei tee mitään eikä vaadi--yes.set-modeilman valitsinta--public-ip-idei koskaan vie osoitetta pois. Sen pois jättäminen tarkoittaa "pidä se osoite, joka gatewaylla on", ei "palaa oletusosoitteeseen" — muutoin jokainen työkalu, joka ei ole koskaan kuullut valitsimesta, irrottaisi valitsemasi osoitteen selkäsi takana. Valitun osoitteen palauttaminen on tietoinen teko, ja se kuvataan kohdassa Palauta valittu osoite.deletepäättyy nollasta poikkeavaan paluuarvoon, jos--vpc-id:n olemassaoloa ei voida varmistaa. Tyhjä gateway-haku näyttää samalta silloin, kun VPC:llä ei ole gatewayta, kun tunnus on tuntematon ja kun VPC kuuluu toiselle tenantille — joten vanhaan tai väärin kirjoitettuun tunnukseen osoittava alasajoskripti saa tietää, ettei se tehnyt mitään, sen sijaan että sille kerrottaisiin gatewayn olevan poissa, vaikka se on yhä kiinni.Samasta syystä
getkertoo, ettei VPC:llä ole gatewayta, sen sijaan että se epäonnistuisi. Käytä sen parinafm network vpc get <vpc-id>, joka puolestaan kertoo puuttuvasta VPC:stä.
Terraformilla
resource "frostmoln_gateway" "main" {
vpc_id = frostmoln_vpc.main.id
mode = "public_ip"
}
# Osoite, josta lähtevä liikenne näyttää tulevan. Gatewaylla, jolla ei ole
# public_ip_id:tä, tämä on alustan osoite — lue se vianselvitystä varten,
# älä koskaan julkaistavaksi.
output "gateway_source_address" {
value = frostmoln_gateway.main.source_address
}public_ip_id kertoo, minkä osoitteen kautta liikenne menee ulos, ja se on se, minkä määrität silloin, kun osoitteen on oltava pysyvä:
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
}public_ip_idon valinnainen. Jos jätät sen pois, gateway käyttää alustan oletusosoitetta: VPC:llä on lähtevä yhteys, tenantillesi ei varata mitään eikä mistään laskuteta. Attribuutti jää arvoon null — alusta ei raportoi mitään tunnusta takaisin, koska raportoitavaa sinun resurssiasi ei ole.Ideana on määrittää se omana
frostmoln_public_ip-resurssinaan. Silloin osoite elää gatewayta pidempään: poista ja luo uudelleenfrostmoln_gateway.maintai koko VPC, ja samafrostmoln_public_ipliitetään takaisin samalla osoitteella.Attribuutin poistaminen ei palauta osoitetta. Terraform säilyttää kirjatun arvon eikä suunnittele muutosta, koska pois jätetty
public_ip_idtarkoittaa "pidä se, mikä sinulla on" eikä "palaa alustan osoitteeseen". Jos haluat siirtää gatewayn toiseen osoitteeseen, anna se toinen osoite; jos haluat palata alustan osoitteeseen, ks. Palauta valittu osoite.public_ip_id:n muutos tehdään paikallaan — ei koskaan poistona ja uudelleenluontina. Se kuitenkin antaa VPC:n lähtevälle liikenteelle uuden osoitteen ja katkaisee käynnissä olevat yhteydet, joten se vaatiiacknowledge_connectivity_loss = true.modeottaa arvonpublic_ip. Kaikki muu hylätään jo suunnitelmaa validoitaessa, joten konfiguraatio, joka yhä asettaa sen, epäonnistuu ennen kuin mitään otetaan käyttöön. Huomaa kirjoitusasu: komentorivi hyväksyy lisäksi väliviivallisen muodonpublic-ip, joten komentoriviltä kopioitu arvo on kirjoitettava tähän alaviivalla.acknowledge_connectivity_losson valinnainen totuusarvo, joka virittää resurssin poistoa taipublic_ip_id:n muutosta varten. Tarjoaja hylkää molemmat ilman sitä, jo ennen kuin yhtään pyyntöä lähetetään. Aseta se arvoontrue, aja apply, tee sitten poisto tai muutos — ja poista rivi jälkeenpäin. Paikalleen jätettynä se poistaa suojauksen resurssin loppuiäksi: myöhempiterraform destroy -target, poistettu moduuli taivpc_id:n muutos katkaisisi VPC:n yhteyden ilman, että suunnitelmassa lukee muuta kuin tavallinen "will be destroyed".vpc_idon se, joka pakottaa korvaamisen — ja korvaaminen poistaa olemassa olevan gatewayn ensin, mikä hylätään, ellei vahvistusta ole jo otettu käyttöön.source_address,statusjaoriginovat vain luettavia.public_ip_id:n muutoksen jälkeen alusta kirjaa osoitteen uudelleen, joten se suunnitellaan muodossa "(known after apply)".Tuo gateway sen omalla tunnuksella tai VPC:n tunnuksella (gateway, josta ei ole tallennettua merkintää, on osoitettavissa vain VPC:n tunnuksella). Tuotu gateway ei ole koskaan valmiiksi vahvistettu.
bashterraform import frostmoln_gateway.main vpc-abc123
Järjestä liitetyt osoitteet gatewayn suhteen
Johonkin liitetty osoite edellyttää, että VPC:llä on gateway — mutta mikään liitoksen tekevä resurssi ei viittaa frostmoln_gateway-resurssiin, joten Terraform ei näe niiden välillä yhteyttä ja ajaa ne rinnakkain. Tämä koskee resursseja frostmoln_public_ip (sen instance_id-attribuutin kautta), frostmoln_public_ip_association, frostmoln_load_balancer ja frostmoln_kubernetes_cluster (public_ip_id). Kumpi tahansa voi voittaa, ja molemmat väärät järjestykset kostautuvat:
- Purkaessa gateway voi mennä ensin, jolloin sen poisto hylätään virheellä
GATEWAY_IN_USE— destroy pysähtyy puoliväliin, osa pinosta jo poistettuna. - Luotaessa liitos voi tapahtua ensin, jolloin alusta liittää oman gatewayn kantamaan sitä. Oma
frostmoln_gatewayjoko törmää siihen (GATEWAY_EXISTS, jos se nimeääpublic_ip_id-arvon) tai ottaa sen hiljaisesti haltuunsa, kuten yllä.
Tämä pätee, kun gateway on samassa konfiguraatiossa oleva frostmoln_gateway-resurssi. data "frostmoln_gateway" ei voi kantaa järjestystä — tietolähde luetaan, sitä ei koskaan luoda eikä poisteta, joten siitä riippuminen vain siirtää lukemista eikä järjestä mitään. Jos gateway ei ole sinun hallittavanasi, tuo se ensin.
Ilmaise järjestys itse sillä resurssilla, joka tekee liitoksen:
resource "frostmoln_public_ip_association" "web" {
public_ip_id = frostmoln_public_ip.web.id
instance_id = frostmoln_instance.web.id
depends_on = [frostmoln_gateway.main]
}Sama rivi kuuluu mihin tahansa muuhun niistä: frostmoln_public_ip-resurssiin, jonka oma instance_id tekee liitoksen, frostmoln_load_balancer-resurssiin, jolla on scheme = "public", tai frostmoln_kubernetes_cluster-resurssiin, joka nimeää public_ip_id-arvon. Jos gateway on toisessa moduulissa, kohdista riippuvuus moduuliin: depends_on = [module.network].
Neljä asiaa ennen kuin kopioit sen:
- Se kuuluu liitokseen, ei varaukseen. Pelkästään varattu osoite ei riipu mistään — eikä
frostmoln_public_ip-tietolähteellä haetulla osoitteella ole varausresurssia, johon sen ripustaisi. - Älä koskaan aseta sitä osoitteeseen, jonka
frostmoln_gateway.public_ip_idnimeää. Gateway riippuu jo kyseisestä osoitteesta, joten riippuvuus toiseen suuntaan onCycle:-virhe jo plan-vaiheessa. Kyseinen osoite on jo oikeassa järjestyksessä. - Älä koskaan kirjoita sitä toisin päin — gatewaylle, osoitteet lueteltuina. Se on houkutteleva virhe, koska juuri gatewayn on oltava olemassa ensin; mutta
depends_onjärjestää sen resurssin, jolla se on, joten se kääntää molemmat järjestykset ja tekee joskus onnistuneesta kilpajuoksusta purkamisen, joka epäonnistuu joka kerta. - Se muuttaa vain järjestystä. Mitään ei luoda eikä vapauteta — eikä se viritä gatewayn omaa poistoa, joka vaatii yhä ensin
acknowledge_connectivity_loss-asetuksen.
Jos gateway on jo otettu haltuun, merkki siitä on origin: se on implicit_public_ip tai vpc_create eikä explicit, ja source_address on osoite, jota et koskaan valinnut. Mitään ei tarvitse tuoda eikä rakentaa uudelleen — resurssi on jo Terraformin tilassa. Lisää järjestys, jottei tämä voi toistua, ja anna sitten gatewaylle tarkoittamasi osoite asettamalla public_ip_id, joka otetaan käyttöön paikan päällä ja vaatii acknowledge_connectivity_loss = true.
Jos haluat lukea gatewayn, jota et hallitse — sellaisen, joka valittiin VPC:tä luotaessa tai jonka alusta liitti julkisen IP:n yhteydessä — käytä tietolähdettä:
data "frostmoln_gateway" "production" {
vpc_id = frostmoln_vpc.production.id
}
# Turvallista antaa kumppanille VAIN, jos tällä gatewaylla on public_ip_id.
# Ilman sitä arvo on alustan osoite, joka arvotaan uudelleen, kun gateway
# rakennetaan uudelleen.
output "gateway_source_address" {
value = data.frostmoln_gateway.production.source_address
}Valitse osoite, jota gateway käyttää
Jokaisella Gatewaylla on yksi lähdeosoite. Se on joko alustan tai jokin julkisista IP-osoitteistasi — sama resurssi, jonka itse varaat, listaat ja vapautat. Sinä päätät kumpi:
- Nimeä hallussasi oleva osoite. Varaa julkinen IP (tai käytä uudelleen
available-tilassa olevaa) ja nimeä se, kun luot gatewayn, tai osoita olemassa oleva gateway siihen. Kyseinen osoite näkyy julkisten IP-osoitteidesi listalla, lasketaan kiintiöösi, laskutetaan julkisena IP:nä ja on kiinnitetty gatewayhin. - Tai älä nimeä mitään. Gateway ottaa alustan osoitteen. Sinulle ei varata mitään, mitään ei listata, kiintiötä ei kuluteta eikä mistään laskuteta — ja osoite ei ole pysyvä.
Miksi nimetä osoite itse
Koska osoite on sinun resurssisi, se elää gatewayta pidempään. Poista Gateway tai poista VPC ja rakenna se alusta uudelleen: julkinen IP pysyy varattuna tenantillesi, säilyttää tunnuksensa ja säilyttää osoitteensa, ja kun osoitat uuden gatewayn siihen, saat täsmälleen saman osoitteen kuin ennen.
Juuri se tekee osoitteesta turvallisen antaa eteenpäin:
- kumppanille tai toimittajalle, joka lisää liikenteesi lähdeosoitteen sallittujen listalle,
- asiakkaalle, jonka palomuuri hyväksyy vain tunnetut lähteet,
- julkaisemaasi DNS-tietueeseen.
Alustan oletusosoite ei anna tällaista lupausta. Se ei ole sinun, se ei ole yhdelläkään listalla, se arvotaan uudelleen, jos gateway tai VPC rakennetaan uudelleen, eikä se elä gatewayta pidempään. Älä koskaan anna sitä kenellekään, joka aikoo lisätä sen sallittujen listalle, äläkä koskaan julkaise sitä.
Palauta valittu osoite
Toiseen suuntaan — omasta julkisesta IP:stä takaisin alustan osoitteeseen — siirrytään tietoisesti, koska yksikään asiakassovellus ei voi tehdä sitä vahingossa. Osoitteen pois jättäminen luetaan merkityksessä "pidä se, mikä sinulla on", joten paluutie on poistaa gateway ja luoda se uudelleen osoitetta nimeämättä:
fm network gateway delete --vpc-id vpc-abc123 --yes
fm network gateway create --vpc-id vpc-abc123 --mode public-ipJulkinen IP palaa listallesi tunnuksineen ja osoitteineen available-tilan osoitteena, joka on yhä hallussasi — sen vapauttaminen on erillinen ja lopullinen teko. Komentojen välissä VPC:llä ei ole lähtevää internet-yhteyttä, DNS:ää eikä yhteyttä hallittuihin palveluihin, joten käsittele sitä lyhyenä huoltokatkona.
Kun osoite on kiinni gatewayssa
Gatewayn käytössä oleva julkinen IP on varattu, joten:
- sitä ei voi liittää instanssiin — anna instanssille toinen osoite, ja
- sitä ei voi vapauttaa — vapauttaminen luovuttaa osoitteen lopullisesti, mikä on juuri se, mitä gateway on estämässä.
Irrota se ensin, niin molemmat onnistuvat taas. Irrottaminen tarkoittaa: osoita gateway toiseen julkiseen IP:hen tai poista gateway. Osoitteesta tulee silloin taas aivan tavallinen available-tilan julkinen IP — yhä varattuna tenantillesi ja yhä kiintiöösi laskettuna, kunnes vapautat sen.
Se ei ohita instanssin omaa julkista IP:tä
Instanssi, jolla on oma julkinen IP, menee yhä ulos sen osoitteen kautta. Gatewayn osoite on lähde vain sellaisten instanssien liikenteelle, joilla ei ole omaa. Osoitteen valinta gatewaylle ei siis muuta mitenkään sitä, miltä julkisesti näkyvät instanssisi näyttävät ulospäin.
Ota gatewayn osoite omaksesi
Gateway, joka on alustan oletusosoitteessa, voi saada täsmälleen saman osoitteen muutetuksi omistamaksesi julkiseksi IP:ksi ilman että osoite vaihtuu. Se on tämän sivun ainoa toimenpide, joka ei muuta liikenteessäsi mitään:
- Osoite pysyy täsmälleen samana. Mitään ei siirretä eikä käynnistetä uudelleen; katkosta ei tule.
- Sen jälkeen se näkyy julkisten IP-osoitteidesi listalla ja on kiinnitetty, joten se säilyy, vaikka Gateway tai VPC luotaisiin uudelleen — sama lupaus kuin osoitteen itse nimetessäsi.
- Siitä lähtien se lasketaan julkisten IP-osoitteidesi kiintiöön ja siitä laskutetaan kuten mistä tahansa julkisesta IP:stä. Juuri siksi tämä on sinun valintasi eikä jotain, joka tehdään puolestasi.
fm network gateway adopt-public-ip --vpc-id vpc-abc123Portaalissa VPC:n Gateway -paneeli tarjoaa toiminnon Ota osoite omakseni.
Tämä on oikea siirto silloin, kun osoite, jota ei ollut koskaan tarkoitus julkaista, on jo julkaistu — se on ainoa tie oletusosoitteesta pysyvään osoitteeseen, joka ei muuta itse osoitetta, joten sen jo sisältävät sallittujen listat ja DNS-tietueet toimivat edelleen.
Kahdesti ottaminen on vaaratonta — toisella kerralla mikään ei muutu ja sama osoite raportoidaan. Se koskee vain gatewayta, joka ei jo mene ulos valitsemasi julkisen IP:n kautta; sellaisella ei ole mitään otettavaa. Myöskään gatewaylla, joka on yhä
Mitä gateway kertoo
| Kenttä | Merkitys |
|---|---|
| Tila (mode) | public_ip. |
| Lähdeosoite | Julkinen osoite, josta lähtevä liikenne näyttää tulevan. Turvallista lisätä sallittujen listalle vain silloin, kun alla näkyy julkinen IP; muutoin se on alustan osoite, ja se vaihtuu. Tyhjä, kun osoitetta ei vielä tiedetä. |
| Julkinen IP | Julkinen IP, jonka kautta gateway menee ulos, kun olet nimennyt sellaisen. Sen osoite on lähdeosoite, ja se jää sinulle, kun gateway poistuu. Tyhjä tarkoittaa, että gateway on alustan oletusosoitteessa — siinä, jota et saa julkaista. |
| Tila (status) | Havaittu alustalta, ei tallennetuista asetuksista: active tai detached. |
| Alkuperä | Kuka gatewayn pyysi (ks. alla). |
Alkuperän arvot:
explicit— luotu suoraan portaalista, komentoriviltä, Terraformilla tai API:n kautta, osoitetta nimeämättä.explicit_public_ip— luotu suoraan kutenexplicit, ja julkinen IP, jonka kautta se menee ulos, on sinun nimeämäsi. Pidetään erillään siksi, että kyseinen osoite on sinun oma resurssisi: se palautetaan sinulle eikä alustalle, kun gateway päästää siitä irti.implicit_public_ip— alusta lisäsi sen, koska tähän VPC:hen liitettiin julkinen IP. Saapuva ja lähtevä liikenne kulkevat samaa reittiä, joten julkisen IP:n liittäminen gatewayttomaan VPC:hen antaa sille gatewayn.vpc_create— se tuli VPC:n mukana, VPC:n luontihetkellä tehdystä yhteysvalinnasta. Vain se valinta kirjaa tämän alkuperän.legacy— tuntematon. Gatewayn pyytäjästä ei ole merkintää. Yleensä syynä on se, että VPC on resurssia vanhempi, mutta ei aina — lue se merkityksessä "tuntematon", älä koskaan "vanha".
Lähdeosoitteen vaihtaminen
Gatewayn osoittaminen toiseen omaan julkiseen IP:hen tehdään paikallaan: gateway säilyttää identiteettinsä, eikä mitään poisteta ja luoda uudelleen. Kyseessä on kuitenkin katkos — ei hiljainen vaihto:
- Lähdeosoite muuttuu. Kaikki, mikä pitää vanhaa osoitettasi sallittujen listalla, lakkaa hyväksymästä liikennettäsi, kunnes uusi osoite on lisätty vastapuolen päässä. Koska nimeät uuden osoitteen itse, tämä on se tapaus, jossa tiedät sen etukäteen.
- Käynnissä olevat yhteydet katkeavat. Vaihdon aikana auki olevat istunnot katkeavat ja ne on muodostettava uudelleen.
- Se vaatii nimenomaisen vahvistuksen, ja juuri sen se vahvistaa: muuttuneen lähdeosoitteen ja katkenneet yhteydet.
Kyseessä ei ole poisto. Itse internet-yhteys jatkuu, eivätkä DNS ja yhteys hallittuihin palveluihin kuulu siihen, mitä muutos maksaa.
Osoitteen nimeäminen kuluttaa yhden osoitteen tenantisi kiintiöstä ja päätyy laskullesi julkisena IP:nä. Osoite, josta siirryt pois, irrotetaan: se pysyy varattuna tenantillesi, säilyttää osoitteensa ja palaa available-tilaan, joten myöhempi paluu voi käyttää täsmälleen samaa osoitetta.
Portaali — VPC:n Gateway -paneeli, ja vahvista.
Komentorivi:
bashfm network gateway set-mode --vpc-id vpc-abc123 \ --mode public-ip --public-ip-id pip-xyz789 --yesTerraform — ota ensin käyttöön
acknowledge_connectivity_loss = true, muuta sittenpublic_ip_idja aja apply uudelleen, ja poista lopuksi vahvistusrivi.
Käsittele sitä lyhyenä huoltokatkona. Alusta varaa muutoksen tarvitseman ennen kuin se purkaa vanhan osoitteen, joten jos muutosta ei voida tehdä, se hylätään ja VPC jää täsmälleen ennalleen.
Gatewayn poistaminen
Tämä poistaa myös DNS:n ja yhteyden hallittuihin palveluihin
VPC menettää lähtevän internet-yhteyden, nimenselvityksen ja yhteyden hallittuihin palveluihin yhtä aikaa. Sisällä olevat resurssit jatkavat toimintaansa; kaikki, mikä selvittää nimen tai keskustelee hallitun palvelun kanssa, lakkaa toimimasta.
Portaali — Poista Gateway VPC:llä ja vahvista.
Komentorivi —
--yeson vahvistus, ja komento kieltäytyy ilman sitä:bashfm network gateway delete --vpc-id vpc-abc123 --yesTerraform — aseta
acknowledge_connectivity_loss = trueja aja apply, poista sitten resurssi (tai ajaterraform destroy). Ilman että se on ensin otettu käyttöön, poisto epäonnistuu sen sijaan, että VPC:n yhteys katkaistaisiin hiljaisesti.
Poisto hylätään niin kauan kuin VPC:n julkiset IP-osoitteet ovat riippuvaisia gatewaysta. Irrota ne ensin — se on ilmaista, peruutettavissa ja riittää tarkistuksen läpäisyyn:
fm network public-ip disassociate <public-ip-id>Myös vapauttaminen läpäisee tarkistuksen, mutta vapauttaminen on lopullista: osoite palaa alustalle, jaetaan uudelleen seuraavalle pyytäjälle, etkä saa sitä takaisin. Vapauta vain osoite, jota et varmasti enää koskaan halua.
VPC:n poistaminen poistaa sen gatewayn sen mukana.
Gatewayn oma osoite ei kuulu näihin esteisiin. Jos se on oma julkinen IP:si, se irrotetaan puolestasi, kun gateway poistuu, ja se jää varatuksi tenantillesi available-tilan julkisena IP:nä samalla osoitteella — gatewayn poistaminen ei luovuta sitä, sen tekee vain julkisen IP:n vapauttaminen. Jos se on alustan oletusosoite, se yksinkertaisesti poistuu gatewayn mukana; sinulle kuuluvaa säilytettävää ei ollut koskaan.
Yksi poikkeus, vanhemmissa VPC:issä. Gateway, jonka Alkuperä on vpc_create, voi pitää hallussaan julkista IP:tä, jonka alusta varasi VPC:tä luotaessa — ajalta ennen kuin osoitteen nimeäminen oli ainoa tapa saada oma. Et ole koskaan pyytänyt pysyvää osoitetta, joten juuri se vapautetaan, kun gateway poistetaan, sen sijaan että se jäisi varatuksi ja laskutettavaksi. Vapauttaminen on lopullista. Jos kyseisellä osoitteella on merkitystä jollekulle VPC:si ulkopuolella, kirjaa se ylös ennen gatewayn poistamista.
Jos pyyntö hylätään
Jokainen hylkäys kantaa mukanaan koneluettavan koodin viestin ohella. Täsmää koodiin, älä viestiin — sanamuoto saa parantua, koodi ei. Kaikki nämä koodit nimettiin uudelleen resurssin mukana: entinen EGRESS_* on nyt GATEWAY_*, eikä mikään vastaa vanhaan kirjoitusasuun.
| Mitä näet | Koodi | Mitä se tarkoittaa |
|---|---|---|
| VPC:llä on jo Gateway | GATEWAY_EXISTS | VPC:llä on enintään yksi. Vaihda sen käyttämä osoite sen sijaan, että lisäisit toisen. Terraformissa tämä laukeaa vain, kun resurssi nimeää public_ip_id-arvon; sellainen joka ei nimeä, ottaa olemassa olevan gatewayn hiljaisesti haltuunsa — ks. Järjestä liitetyt osoitteet gatewayn suhteen. |
| Julkiset IP-osoitteet ovat yhä riippuvaisia gatewaysta | GATEWAY_IN_USE | Irrota VPC:n julkiset IP-osoitteet — ilmaista ja peruutettavissa — ja poista sitten gateway. Myös vapauttaminen toimii, mutta on lopullista. Terraformissa tämä on yleensä järjestysongelma — ks. Järjestä liitetyt osoitteet gatewayn suhteen — ellei osoitetta pidä hallussaan VPC:n hallittu resurssi, jolloin viesti kertoo sen. |
| Alueella ei ole vapaita julkisia osoitteita | GATEWAY_POOL_EXHAUSTED | Alustan kapasiteettiraja, ei sinun kiintiösi — lisäkiintiön pyytäminen ei auta. Yritä myöhemmin uudelleen. |
| Julkisten IP-osoitteiden kiintiösi on täynnä | kiintiövirhe, ei gateway-virhe | Vain osoitteen nimeäminen — tai omaksi ottaminen — kuluttaa kiintiötä, joten tämä ei koskaan estä oletusosoitteella toimivaa gatewayta. Vapauta osoite, jota et käytä, tai pyydä lisää kiintiötä. |
| Julkista IP:tä ei voi käyttää lähdeosoitteena | GATEWAY_PUBLIC_IP_UNAVAILABLE | Nimeämäsi osoite on liitetty instanssiin tai kuormantasaajaan, se on jo kiinni toisen VPC:n gatewayssa, tai se ei ole osoite, joka voi kantaa VPC:n liikennettä. Vapauta se tai valitse toinen. Viesti kertoo, mikä kolmesta on kyseessä. |
| Gatewayn poistoa ei vahvistettu | GATEWAY_LOSS_NOT_ACKED | Poisto vie mukanaan internetin, DNS:n ja yhteyden hallittuihin palveluihin, joten se on sanottava ääneen: --yes komentorivillä, acknowledge_connectivity_loss = true Terraformissa. |
| Tilan vaihtoa ei vahvistettu | GATEWAY_MODE_SWITCH_NOT_ACKED | Tilan vaihto antaa VPC:lle uuden osoitteen ja katkaisee avoimet yhteydet. Erotettu poistosta, koska palaat verkkoon etkä pimene. |
| Lähdeosoitteen vaihtoa ei vahvistettu | GATEWAY_SOURCE_ADDRESS_CHANGE_NOT_ACKED | Gatewayn osoittaminen toiseen julkiseen IP:hen muuttaa osoitteen, jonka vastapuoli näkee, ja katkaisee kesken olevat yhteydet; vahvista se samalla tavalla. |
| Julkinen IP on gatewayn hallussa | PUBLIC_IP_IN_USE_BY_GATEWAY | Palautetaan julkisella IP:llä, ei gatewaylla: osoitetta, jonka kautta gateway menee ulos, ei voi liittää instanssiin eikä vapauttaa. Irrota se ensin gatewaysta. |