Suojausryhmät
Suojausryhmä on tilallinen palomuuri, joka liitetään instansseihin ja kuormantasaajiin. Säännöt sallivat liikenteen; mitä tahansa ei ole nimenomaisesti sallittu, evätään. Koska ryhmät ovat tilallisia, sallitun yhteyden paluuliikenne sallitaan automaattisesti — sinun ei tarvitse lisätä vastaavaa käänteistä sääntöä.
Luo ryhmä ja säännöt
Luo VPC:hen rajattu ryhmä, lisää sitten säännöt. Jokaisella säännöllä on:
- Suunta —
ingress(sisäänpäin) taiegress(ulospäin). - Protokolla —
tcp,udp,icmptaiany. - Porttialue — esim.
443, tai alue (jätä pois ICMP:lle /any). - Lähde / kohde — CIDR (esim.
0.0.0.0/0mihin tahansa) tai viittaus toiseen suojausryhmään (salli liikenne kyseisen ryhmän jäseniltä, kätevää porrastetuille sovelluksille). - Toiminto —
allow(oletus) taideny, prioriteetilla (pienempi voittaa).
fm network security-group create --name web --vpc my-vpc
fm network security-group add-rule web \
--direction ingress --protocol tcp --port 443 --source 0.0.0.0/0resource "frostmoln_security_group" "web" {
vpc_id = frostmoln_vpc.main.id
name = "web"
}
resource "frostmoln_security_group_rule" "https" {
security_group_id = frostmoln_security_group.web.id
direction = "ingress"
protocol = "tcp"
port_range_min = 443
port_range_max = 443
remote_cidr = "0.0.0.0/0"
}Muuta instanssin suojausryhmiä
Voit korvata käynnissä olevan instanssin suojausryhmät luomatta sitä uudelleen. Laajuuksia on kaksi:
- Yhtenäinen (yleisin tapaus) — yksi joukko, joka koskee instanssin jokaista verkkoporttia.
- Porttikohtainen — eri joukko yksittäisiin portteihin usean verkkokortin instanssissa (esim. internetiin avoin frontend-verkkokortti ja hallintakortti, joka ei ole). Käytä tätä vain, kun porttien on todella erottava; muuten käytä yhtenäistä laajuutta.
Kaikki kolme asiakasta käyttävät korvaussemantiikkaa: antamastasi joukosta tulee täydellinen joukko — jokainen listaamaton ryhmä poistetaan.
Yhtenäinen (kaikki portit)
Avaa portaalissa instanssi ja muokkaa suojausryhmiä Verkko-välilehdellä. CLI:llä tai Terraformilla:
# Korvaa instanssin ryhmät kaikissa porteissa (suojausryhmien ID:t, ei nimet)
fm compute instance security-groups set <instance-id> \
--security-group <sg-id> --security-group <sg-id>
# Näytä nykyiset ryhmät (listaa porttikohtaisen erittelyn, kun portit eroavat)
fm compute instance security-groups get <instance-id>resource "frostmoln_instance" "web" {
# ... nimi, flavor, image, aliverkko ...
security_groups = [
frostmoln_security_group.web.id,
frostmoln_security_group.ssh.id,
]
}Porttikohtainen (usea verkkokortti, eri joukot)
Portaali näyttää porttikohtaisen editorin, kun instanssin portit kantavat eri joukkoja. Etsi portin ID komennon ... security-groups get tulosteesta (se listaa portit, kun ne eroavat), ja kohdista sitten yhteen porttiin — muut jätetään koskematta.
# Kohdista yhteen porttiin sen portin ID:llä
fm compute instance security-groups set <instance-id> \
--port <port-id> --security-group <sg-id>resource "frostmoln_instance_port_security_groups" "frontend_nic" {
instance_id = frostmoln_instance.web.id
port_id = "b1e0f6c2-1234-4a5b-9c8d-abcdef012345" # portin ID porttikohtaisesta listauksesta
security_groups = [frostmoln_security_group.web.id]
}Hallitse tiettyä porttia joko frostmoln_instance.security_groups (yhtenäinen) tai porttikohtaisen resurssin kautta — ei molemmilla.
Hyvä tietää
- Muutos on asynkroninen. Portaali ja CLI palaavat välittömästi ja päivitys tapahtuu taustalla — suorita
... security-groups getuudelleen varmistaaksesi.terraform applyodottaa, kunnes operaatio on valmis. - Tyhjä joukko poistaa kaikki ryhmät ja jättää kohteen VPC:n default-drop-tilaan (yleensä ei sisääntulevaa pääsyä). CLI vaatii tähän
--clear; Terraformissa asetasecurity_groups = []. frostmoln_instance_port_security_groups-resurssin tuhoaminen ei poista portin ryhmiä — se vain lopettaa niiden hallinnan Terraformissa. Tyhjentääksesi portin todella asetasecurity_groups = []ja suorita apply ensin, poista sitten resurssi.- Portti, jonka porttiturva on poistettu käytöstä, hylkää ei-tyhjän joukon — et voi liittää ryhmiä porttiin, jonka porttiturva on pois päältä.
Hyvät käytännöt
- Avaa vain tarvitsemasi portit; suosi kapeita lähde-CIDR-alueita
0.0.0.0/0:n sijaan. - Rajaa SSH (22) tunnettuihin hallinnollisiin osoitteisiin.
- Mallinna tasot viittaamalla ryhmiin — esim. anna
web-ryhmän tavoittaadb-ryhmä tietokantaportissa IP-alueiden sijaan.