Avvio della prima istanza EC2
Seguirete la procedura guidata di avvio, sceglierete un'AMI e un tipo di istanza, configurerete le key pair e vi connetterete tramite SSH.
Avvio della prima istanza EC2 è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Che cos'è Amazon EC2?
Amazon Elastic Compute Cloud (EC2) fornisce macchine virtuali ridimensionabili nel cloud, chiamate istanze. Può scegliere il sistema operativo, la CPU, la memoria, lo storage e la capacità di rete. EC2 è il servizio di calcolo fondamentale di AWS: quasi tutte le architetture che richiedono capacità di calcolo persistente e con stato si basano direttamente su EC2 o su servizi costruiti sopra di esso (ECS, EKS, EMR). Le istanze vengono eseguite all'interno del VPC e possono essere avviate, arrestate, riavviate o terminate su richiesta.
Amazon Machine Images (AMI)
Un'Amazon Machine Image (AMI) è un modello che definisce il sistema operativo, il software e la configurazione di un'istanza EC2. AWS fornisce migliaia di AMI (Amazon Linux 2023, Ubuntu, Windows Server), i fornitori del Marketplace pubblicano AMI con software preconfigurato e può creare AMI personalizzate acquisendo un'istanza in esecuzione. Quando avvia un'istanza, seleziona un'AMI: questa determina il contenuto del volume root e l'architettura (x86_64 o 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 textLa procedura guidata di avvio di EC2: passo per passo
La procedura guidata di avvio di EC2 nella console la guida attraverso questi passaggi: 1) nome e tag; 2) selezione dell'AMI; 3) tipo di istanza (combinazione di CPU e memoria); 4) key pair per l'accesso SSH; 5) impostazioni di rete (VPC, subnet, security group); 6) storage (dimensioni e tipo del volume EBS root); 7) impostazioni avanzate (ruolo IAM, script user data, opzioni dei metadati). Comprendere ogni passaggio consente di rispondere con sicurezza alle domande d'esame basate sulla configurazione.
# 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.shKey pair per l'autenticazione SSH
Una key pair è composta da una chiave pubblica (memorizzata da AWS) e da una chiave privata (scaricata da Lei, una sola volta). Quando avvia un'istanza EC2, AWS inserisce la chiave pubblica nel file ~/.ssh/authorized_keys dell'utente predefinito (ad esempio ec2-user per Amazon Linux, ubuntu per Ubuntu). Per connettersi utilizzi la chiave privata: ssh -i my-key.pem ec2-user@<public-ip>. Se perde la chiave privata, non potrà collegarsi all'istanza tramite SSH, a meno di utilizzare Systems Manager Session Manager come alternativa.
# 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.67Stati del ciclo di vita di un'istanza
Un'istanza EC2 attraversa diversi stati. Pending: l'istanza è in fase di avvio (non viene addebitato alcun costo). Running: l'istanza è attiva (con addebito al secondo o all'ora). Stopping: transizione verso lo stato arrestato (solo per istanze basate su EBS). Stopped: l'istanza è spenta; paga solo lo storage EBS collegato. Terminated: l'istanza è stata eliminata definitivamente e non può essere riavviata. Comprendere questi stati è importante per la fatturazione (i costi On-Demand maturano solo nello stato Running) e per l'architettura (le istanze Spot vengono terminate senza passare per lo stato 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-0abcdef1234567890Indirizzi IP pubblici e privati di EC2
Per impostazione predefinita, le istanze nelle subnet pubbliche ricevono un indirizzo IPv4 pubblico (dinamico, cambia dopo un arresto e un nuovo avvio) e un indirizzo IPv4 privato (persistente dopo arresto e nuovo avvio all'interno del VPC). Per ottenere un IP pubblico persistente, allochi un Elastic IP (EIP), ovvero un indirizzo IPv4 pubblico statico che rimane di Sua proprietà finché non lo rilascia. Gli EIP sono gratuiti quando sono collegati a un'istanza in esecuzione, ma vengono addebitati quando non sono collegati o quando ne ha più di uno per istanza in esecuzione.
# 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-12345678User data: script di bootstrap
User data è uno script shell (o una configurazione cloud-init) che viene eseguito una volta, al primo avvio di un'istanza. Lo utilizzi per installare pacchetti, configurare software o recuperare il codice dell'applicazione da S3. User data viene eseguito come root e, per impostazione predefinita, non viene rieseguito dopo un riavvio. Viene passato come testo codificato in base64 tramite la configurazione di avvio. Mantenere user data breve e affidarsi ad AMI preconfigurate per le attività più onerose accelera i tempi di avvio dell'auto scaling.
#!/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 httpdConnessione: SSH e Systems Manager a confronto
Esistono due modi principali per accedere alle istanze EC2. SSH: richiede che la porta 22 sia aperta nel security group e che si disponga del file della chiave privata. AWS Systems Manager Session Manager: fornisce l'accesso a una shell tramite browser o CLI senza aprire porte, senza key pair e con un audit trail completo tramite CloudTrail. Session Manager richiede l'agente SSM (preinstallato nelle AMI Amazon Linux e Windows Server) e un ruolo IAM con la policy AmazonSSMManagedInstanceCore. Session Manager è il metodo di accesso preferito per le istanze di produzione.
# Start a Session Manager session (no SSH needed)
aws ssm start-session --target i-0abcdef1234567890Metadati dell'istanza EC2
EC2 Instance Metadata Service (IMDS) è un endpoint HTTP all'indirizzo 169.254.169.254, accessibile solo dall'interno dell'istanza. Fornisce informazioni di runtime: ID dell'istanza, ID dell'AMI, IP pubblico, credenziali del ruolo IAM, Availability Zone e altro. IMDSv2 (la best practice attuale) richiede un token associato a una sessione e impedisce agli attacchi di server-side request forgery (SSRF) di leggere i metadati tramite un'applicazione vulnerabile. Configuri sempre le istanze in modo che richiedano IMDSv2.
# 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-idPlacement group
I placement group controllano il modo in cui le istanze vengono distribuite sull'hardware sottostante. Cluster: raggruppa le istanze vicine all'interno di una AZ per ottenere latenza di rete estremamente bassa e larghezza di banda elevata, ideale per l'HPC. Spread: colloca ogni istanza su hardware distinto per ridurre i guasti correlati, ideale per piccoli gruppi di istanze critiche (massimo 7 per AZ). Partition: suddivide le istanze in partizioni logiche su rack separati, ideale per sistemi distribuiti di grandi dimensioni come Hadoop o Cassandra, in cui la consapevolezza della disposizione sui rack è importante.
# Create a cluster placement group
aws ec2 create-placement-group \
--group-name HighPerfCluster \
--strategy clusterProtezione dalla terminazione di EC2
La protezione dalla terminazione impedisce che un'istanza venga terminata accidentalmente tramite console, CLI o API. La abiliti quando avvia istanze critiche. Nota: anche con la protezione dalla terminazione abilitata, gli Auto Scaling Group possono comunque terminare le istanze durante gli eventi di scale-in, a meno che non configuri separatamente la protezione dell'istanza. L'attributo DeleteOnTermination del volume EBS root controlla se il volume viene eliminato automaticamente quando l'istanza viene terminata: la best practice consiste nell'impostare true per i volumi root e false per i volumi dati che desidera conservare.
# Enable termination protection
aws ec2 modify-instance-attribute \
--instance-id i-0abcdef1234567890 \
--disable-api-terminationVerifica rapida
Verifichi la comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che: le istanze EC2 vengono avviate da AMI con un tipo di istanza, una key pair, un security group e, facoltativamente, user data; gli Elastic IP forniscono indirizzi pubblici persistenti, mentre gli IP pubblici standard cambiano dopo arresto e nuovo avvio; infine, Systems Manager Session Manager è il metodo di accesso preferito rispetto a SSH per le istanze di produzione. Ora confronteremo i tipi di istanza e i modelli di prezzo.
Domande Frequenti
La lezione «Avvio della prima istanza EC2» è gratuita?
Sì — il testo completo di «Avvio della prima istanza EC2» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Avvio della prima istanza EC2»?
Seguirete la procedura guidata di avvio, sceglierete un'AMI e un tipo di istanza, configurerete le key pair e vi connetterete tramite SSH. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Avvio della prima istanza EC2»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Avvio della prima istanza EC2
- Tipi di istanza e modelli di prezzo
- Security group e key pair
- Archiviazione EC2: Instance Store ed EBS