DevOps-bootcamp · leksjon

Konfigurering av VPC og nettverk

Opprett en AWS Virtual Private Cloud, delnett og sikkerhetsgrupper med Terraform for å gi infrastrukturen et sikkert og isolert nettverksgrunnlag.

Leksjon 4 av 413 trinn

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.

Gratis å komme i gang

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

  1. Konfigurering av AWS Provider
  2. Klargjøring av EC2-instanser
  3. Håndtering av S3-bøtter og IAM
  4. Konfigurering av VPC og nettverk
← Tilbake til DevOps-bootcamp