Cloud & IT Cert Prep · Lektion

Starta Er första EC2-instans

Gå igenom startguiden, välj en AMI och en instanstyp, konfigurera nyckelpar och anslut via SSH.

Lektion 1 av 413 steg

Starta Er första EC2-instans är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad är Amazon EC2?

Amazon Elastic Compute Cloud (EC2) tillhandahåller skalbara virtuella datorer i molnet som kallas instanser. Ni väljer operativsystem, CPU, minne, lagring och nätverkskapacitet. EC2 är den grundläggande datortjänsten i AWS – nästan alla arkitekturer som behöver beständig, tillståndsbevarande datorkapacitet använder EC2 direkt eller via tjänster som bygger ovanpå EC2 (ECS, EKS och EMR). Instanser körs i er VPC och kan startas, stoppas, startas om eller avslutas på begäran.

Amazon Machine Images (AMI:er)

En Amazon Machine Image (AMI) är en mall som definierar operativsystemet, programvaran och konfigurationen för en EC2-instans. AWS tillhandahåller tusentals AMI:er (Amazon Linux 2023, Ubuntu och Windows Server), leverantörer på Marketplace publicerar AMI:er med förkonfigurerad programvara och ni kan skapa egna anpassade AMI:er genom att avbilda en instans som körs. När ni startar en instans väljer ni en AMI – den avgör rotvolymens innehåll och arkitekturen (x86_64 eller ARM).

# Find latest Amazon Linux 2023 AMI in us-east-1
aws ec2 describe-images \
  --owners amazon \
  --filters 'Name=name,Values=al2023-ami-*-x86_64' \
  --query 'sort_by(Images, &CreationDate)[-1].ImageId' \
  --output text

EC2-startguiden: steg för steg

EC2-startguiden i konsolen vägleder er genom följande steg: 1) namn och taggar, 2) val av AMI, 3) instanstyp (kombination av CPU och minne), 4) nyckelpar för SSH-åtkomst, 5) nätverksinställningar (VPC, undernät och säkerhetsgrupp), 6) lagring (storlek och typ för rotvolymen i EBS), 7) avancerade inställningar (IAM-roll, user data-skript och metadataalternativ). När ni förstår varje steg kan ni tryggt besvara provfrågor som bygger på konfigurationer.

# Equivalent CLI launch
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --key-name MyKeyPair \
  --security-group-ids sg-12345678 \
  --subnet-id subnet-12345678 \
  --iam-instance-profile Name=MyEC2Role \
  --user-data file://user-data.sh

Nyckelpar för SSH-autentisering

Ett nyckelpar består av en offentlig nyckel (som lagras av AWS) och en privat nyckel (som ni laddar ned – endast en gång). När ni startar en EC2-instans lägger AWS in den offentliga nyckeln i filen ~/.ssh/authorized_keys för standardanvändaren (t.ex. ec2-user för Amazon Linux och ubuntu för Ubuntu). Ni ansluter med den privata nyckeln: ssh -i my-key.pem ec2-user@<public-ip>. Om ni förlorar den privata nyckeln kan ni inte ansluta till instansen via SSH, såvida ni inte använder Systems Manager Session Manager som alternativ.

# Generate a new key pair and save the private key
aws ec2 create-key-pair \
  --key-name MyKeyPair \
  --query 'KeyMaterial' \
  --output text > MyKeyPair.pem
chmod 400 MyKeyPair.pem

# Connect to the instance
ssh -i MyKeyPair.pem ec2-user@54.123.45.67

Instansens livscykeltillstånd

En EC2-instans går igenom flera tillstånd. Pending: instansen startas (ingen debitering). Running: instansen är aktiv (debiteras per sekund eller timme). Stopping: övergång till stoppad (endast för EBS-baserade instanser). Stopped: instansen är avstängd – ni betalar endast för ansluten EBS-lagring. Terminated: permanent borttagen – kan inte startas igen. Det är viktigt att förstå dessa tillstånd för debiteringen (On-Demand-kostnader uppstår endast när instansen är i tillståndet Running) och arkitekturen (Spot-instanser avslutas utan att övergå till Stopped).

# Stop and start an instance
aws ec2 stop-instances --instance-ids i-0abcdef1234567890
aws ec2 start-instances --instance-ids i-0abcdef1234567890

# Terminate permanently
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890

EC2:s offentliga och privata IP-adresser

Som standard får instanser i offentliga undernät en offentlig IPv4-adress (dynamisk – ändras när instansen stoppas och startas) och en privat IPv4-adress (beständig när instansen stoppas och startas inom VPC:n). Om ni behöver en beständig offentlig IP-adress tilldelar ni en Elastic IP (EIP) – en statisk offentlig IPv4-adress som ni äger tills ni frigör den. EIP:er är kostnadsfria när de är kopplade till en instans som körs, men debiteras när de inte är kopplade eller när ni har fler än en per instans som körs.

# Allocate an Elastic IP and associate it with an instance
aws ec2 allocate-address --domain vpc
aws ec2 associate-address \
  --instance-id i-0abcdef1234567890 \
  --allocation-id eipalloc-12345678

User data: bootstrap-skript

User data är ett shellskript (eller en cloud-init-konfiguration) som körs en gång när en instans startas för första gången. Använd det för att installera paket, konfigurera programvara eller hämta applikationskod från S3. User data körs som root och körs inte igen vid omstart som standard. Det skickas som base64-kodad text via startkonfigurationen. Genom att hålla user data kort och använda förberedda AMI:er för omfattande konfiguration kan ni förkorta starttiden vid automatisk skalning.

#!/bin/bash
# user-data.sh — runs on first boot
yum update -y
yum install -y httpd
echo '<h1>Hello from EC2</h1>' > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd

Anslutning: SSH jämfört med Systems Manager

Det finns två huvudsakliga sätt att få åtkomst till EC2-instanser. SSH: kräver att port 22 är öppen i säkerhetsgruppen och att ni har filen med den privata nyckeln. AWS Systems Manager Session Manager: ger skalåtkomst via webbläsare eller CLI utan att ni behöver öppna portar eller använda ett nyckelpar, samt med fullständig granskningslogg via CloudTrail. Session Manager kräver SSM-agenten (förinstallerad i AMI:er för Amazon Linux och Windows Server) och en IAM-roll med policyn AmazonSSMManagedInstanceCore. Session Manager är den rekommenderade åtkomstmetoden för produktionsinstanser.

# Start a Session Manager session (no SSH needed)
aws ssm start-session --target i-0abcdef1234567890

EC2-instansmetadata

EC2 Instance Metadata Service (IMDS) är en HTTP-slutpunkt på 169.254.169.254 som endast är åtkomlig från instansen. Den tillhandahåller information under körning: instans-ID, AMI-ID, offentlig IP-adress, autentiseringsuppgifter för IAM-roller, tillgänglighetszon med mera. IMDSv2 (den aktuella rekommenderade metoden) kräver en sessionsbaserad token, vilket förhindrar SSRF-attacker (server-side request forgery) från att läsa metadata via en sårbar applikation. Konfigurera alltid instanser så att IMDSv2 krävs.

# Get instance ID using IMDSv2
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600' -s)
curl -H "X-aws-ec2-metadata-token: $TOKEN" -s \
  http://169.254.169.254/latest/meta-data/instance-id

Placeringsgrupper

Placeringsgrupper styr hur instanser fördelas över den underliggande maskinvaran. Cluster: placerar instanser tätt tillsammans i en AZ för extremt låg nätverkslatens och hög bandbredd – idealiskt för HPC. Spread: placerar varje instans på separat maskinvara för att minska korrelerade fel – idealiskt för små, kritiska uppsättningar instanser (högst 7 per AZ). Partition: delar upp instanser i logiska partitioner på separata rack – idealiskt för stora distribuerade system som Hadoop eller Cassandra, där rackmedvetenhet är viktig.

# Create a cluster placement group
aws ec2 create-placement-group \
  --group-name HighPerfCluster \
  --strategy cluster

Skydd mot avslutning av EC2-instanser

Skydd mot avslutning förhindrar att en instans avslutas av misstag via konsolen, CLI eller API:t. Aktivera det när ni startar kritiska instanser. Observera att Auto Scaling Groups fortfarande kan avsluta instanser under nedskalningshändelser även när skydd mot avslutning är aktiverat, såvida ni inte konfigurerar instansskydd separat. Attributet DeleteOnTermination för rotvolymen i EBS styr om volymen raderas automatiskt när instansen avslutas – bästa praxis är true för rotvolymer och false för datavolymer som ni vill behålla.

# Enable termination protection
aws ec2 modify-instance-attribute \
  --instance-id i-0abcdef1234567890 \
  --disable-api-termination

Snabbtest

Testa er förståelse av koncepten i AWS Solutions Architect (SAA-C03) från den här lektionen.

Sammanfattning av lektionen

I den här lektionen lärde ni er att EC2-instanser startas från AMI:er med en vald instanstyp, ett nyckelpar, en säkerhetsgrupp och valfri user data, att Elastic IP-adresser tillhandahåller beständiga offentliga adresser medan vanliga offentliga IP-adresser ändras när instansen stoppas och startas och att Systems Manager Session Manager är den rekommenderade åtkomstmetoden framför SSH för produktionsinstanser. Nästa ämne är en jämförelse av instanstyper och prismodeller.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”Starta Er första EC2-instans” gratis?

Ja – hela texten till ”Starta Er första EC2-instans” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”Starta Er första EC2-instans”?

Gå igenom startguiden, välj en AMI och en instanstyp, konfigurera nyckelpar och anslut via SSH. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Starta Er första EC2-instans”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Starta Er första EC2-instans
  2. Instanstyper och prismodeller
  3. Säkerhetsgrupper och nyckelpar
  4. EC2-lagring: Instance Store jämfört med EBS
← Tillbaka till Cloud & IT Cert Prep