Konfigurering av VPC og nettverk
Opprett en AWS Virtual Private Cloud, delnett og sikkerhetsgrupper med Terraform for å gi infrastrukturen et sikkert og isolert nettverksgrunnlag.
Konfigurering av VPC og nettverk er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hvorfor en egendefinert VPC?
Alle AWS-kontoer leveres med en standard-VPC, men produksjonsinfrastruktur fortjener et nettverk De utformer selv. En VPC (Virtual Private Cloud) er en isolert del av AWS-skyen der De kontrollerer IP-områder, subnett, ruting og brannmurer.
Med Terraform beskriver De hele nettverket som kode, slik at det kan gjenskapes på tvers av regioner og kontoer.
Deklarere VPC-ressursen
aws_vpc-ressursen er roten i nettverket. CIDR-blokken definerer det private IP-området. En /16-blokk gir omtrent 65 000 adresser som kan deles opp i subnett.
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "main-vpc"
}
}Offentlige og private subnett
Subnett deler VPC-området opp i mindre blokker som er knyttet til en tilgjengelighetssone.
- Offentlig subnett – ruter til en internettgateway og brukes for lastbalansere og bastionverter.
- Privat subnett – har ingen direkte rute til internett og egner seg for databaser og applikasjonsservere.
Opprette et offentlig subnett
Hvert subnett trenger sin egen CIDR (en del av VPC-området) og en tilgjengelighetssone. Når map_public_ip_on_launch settes til true, tilordnes offentlige IP-adresser automatisk til instanser som startes her.
resource "aws_subnet" "public" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "us-east-1a"
map_public_ip_on_launch = true
tags = {
Name = "public-subnet"
}
}Internettgatewayen
En internettgateway (IGW) gjør det mulig for ressurser i et offentlig subnett å nå internett. Den kobles direkte til VPC-en.
resource "aws_internet_gateway" "gw" {
vpc_id = aws_vpc.main.id
tags = {
Name = "main-igw"
}
}Rutetabeller
Et subnett blir først virkelig offentlig når en rutetabell sender trafikk til 0.0.0.0/0 via internettgatewayen. Rutetabeller kobler destinasjons-CIDR-er til mål.
resource "aws_route_table" "public" {
vpc_id = aws_vpc.main.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.gw.id
}
}Knytte ruter til subnett
Rutetabeller gjør ingenting før de er knyttet til et subnett. Ressursen aws_route_table_association kobler dem sammen.
resource "aws_route_table_association" "public" {
subnet_id = aws_subnet.public.id
route_table_id = aws_route_table.public.id
}Sikkerhetsgrupper som brannmurer
En sikkerhetsgruppe er en tilstandsbevisst virtuell brannmur rundt en instans. Tilstandsbevisst betyr at returtrafikk for en tillatt innkommende forespørsel tillates automatisk, slik at De vanligvis bare trenger å angi de innkommende reglene De bryr Dem om.
Definere en sikkerhetsgruppe for nettet
Nedenfor tillater vi innkommende HTTP fra alle steder og all utgående trafikk. I reelle distribusjoner bør De begrense kilde-CIDR-en så mye som mulig.
resource "aws_security_group" "web" {
name = "web-sg"
vpc_id = aws_vpc.main.id
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}Koble en instans til nettverket
Koble subnettet og sikkerhetsgruppen til en EC2-instans via subnet_id og vpc_security_group_ids. Dette plasserer serveren i det egendefinerte nettverket.
resource "aws_instance" "app" {
ami = "ami-0abcd1234"
instance_type = "t3.micro"
subnet_id = aws_subnet.public.id
vpc_security_group_ids = [aws_security_group.web.id]
}Eksportere nettverks-ID-er
Gjør viktige ID-er tilgjengelige som outputs, slik at andre moduler eller teamet kan referere til dem etter apply.
output "vpc_id" {
value = aws_vpc.main.id
}
output "public_subnet_id" {
value = aws_subnet.public.id
}Kort sjekk
Test forståelsen Deres av VPC-ruting.
Oppsummering: Nettverksgrunnlaget Deres
De har bygget et komplett nettverk i Terraform:
- aws_vpc med et CIDR-område.
- Subnett på tvers av tilgjengelighetssoner, offentlige eller private.
- Internet gateway samt rutetabeller for offentlig tilgang.
- Sikkerhetsgrupper som tilstandsbevisste brannmurer.
Dette nettverket er ryggraden som alle andre AWS-ressurser kobles til.
Lær deg DevOps-bootcamp med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 142
- Leksjoner
- 568
Ofte stilte spørsmål
Er leksjonen «Konfigurering av VPC og nettverk» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Konfigurering av VPC og nettverk», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.
Hva lærer jeg i «Konfigurering av VPC og nettverk»?
Opprett en AWS Virtual Private Cloud, delnett og sikkerhetsgrupper med Terraform for å gi infrastrukturen et sikkert og isolert nettverksgrunnlag. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med DevOps-bootcamp?
Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Konfigurering av VPC og nettverk»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?
Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Konfigurering av AWS Provider
- Klargjøring av EC2-instanser
- Håndtering av S3-bøtter og IAM
- Konfigurering av VPC og nettverk