Ensimmäisen EC2-instanssin käynnistäminen
Käytte läpi käynnistystoiminnon, valitsette AMI:n ja instanssityypin, määritätte avainparit ja muodostatte yhteyden SSH:lla.
Ensimmäisen EC2-instanssin käynnistäminen on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mikä Amazon EC2 on?
Amazon Elastic Compute Cloud (EC2) tarjoaa pilvessä muokattavan kokoisia virtuaalikoneita, joita kutsutaan instansseiksi. Valitset käyttöjärjestelmän, suorittimen, muistin, tallennustilan ja verkkokapasiteetin. EC2 on AWS:n keskeinen laskentapalvelu — lähes kaikki pysyvää ja tilallista laskentaa tarvitsevat arkkitehtuurit käyttävät EC2:ta suoraan tai sen päälle rakennettujen palvelujen (ECS, EKS, EMR) kautta. Instanssit toimivat VPC:ssäsi, ja ne voidaan käynnistää, pysäyttää, käynnistää uudelleen tai lopettaa tarpeen mukaan.
Amazon Machine Images (AMI:t)
Amazon Machine Image (AMI) on mallipohja, joka määrittää EC2-instanssin käyttöjärjestelmän, ohjelmistot ja asetukset. AWS tarjoaa tuhansia AMI:ita (Amazon Linux 2023, Ubuntu, Windows Server), Marketplace-toimittajat julkaisevat valmiiksi määritettyjä ohjelmistoja sisältäviä AMI:ita, ja voit luoda omia mukautettuja AMI:ita ottamalla käynnissä olevasta instanssista vedoksen. Kun käynnistät instanssin, valitset AMI:n — se määrittää juuritaltioin sisällön ja arkkitehtuurin (x86_64 tai 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 textEC2:n käynnistystoiminto vaihe vaiheelta
Konsolin EC2:n käynnistystoiminto opastaa seuraavien vaiheiden läpi: 1) nimi ja tunnisteet; 2) AMI:n valinta; 3) instanssityyppi (suorittimen ja muistin yhdistelmä); 4) SSH-yhteyden avainpari; 5) verkkoasetukset (VPC, aliverkko, suojausryhmä); 6) tallennustila (juuri-EBS-taltion koko ja tyyppi); 7) lisäasetukset (IAM-rooli, käyttäjätietoskripti, metatietoasetukset). Kun ymmärrät jokaisen vaiheen, osaat vastata luottavaisemmin määrityksiin perustuvissa koetehtävissä.
# 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.shAvainparit SSH-tunnistautumista varten
Avainpari koostuu julkisesta avaimesta (jonka AWS tallentaa) ja yksityisestä avaimesta (jonka lataat itse — vain kerran). Kun käynnistät EC2-instanssin, AWS lisää julkisen avaimen oletuskäyttäjän ~/.ssh/authorized_keys-tiedostoon (esimerkiksi ec2-user Amazon Linuxissa ja ubuntu Ubuntussa). Yhdistät instanssiin yksityisellä avaimella: ssh -i my-key.pem ec2-user@<public-ip>. Jos kadotat yksityisen avaimen, et voi muodostaa SSH-yhteyttä instanssiin, ellet käytä vaihtoehtona Systems Manager Session Manageria.
# 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.67Instanssin elinkaaren tilat
EC2-instanssi käy läpi useita tiloja. Pending: instanssi käynnistyy (laskutusta ei vielä ole). Running: instanssi on aktiivinen (laskutus tapahtuu sekunti- tai tuntiperusteisesti). Stopping: siirtyminen pysäytettyyn tilaan on käynnissä (vain EBS-taustaiset instanssit). Stopped: instanssi on pois päältä — maksat vain liitetystä EBS-tallennustilasta. Terminated: instanssi on poistettu pysyvästi — sitä ei voi käynnistää uudelleen. Näiden tilojen ymmärtäminen on tärkeää laskutuksen (On-Demand-maksuja kertyy vain Running-tilassa) ja arkkitehtuurin kannalta (Spot-instanssit lopetetaan siirtymättä Stopped-tilaan).
# 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-0abcdef1234567890EC2:n julkiset ja yksityiset IP-osoitteet
Julkisten aliverkkojen instanssit saavat oletusarvoisesti julkisen IPv4-osoitteen (dynaaminen — muuttuu pysäytyksen ja käynnistyksen yhteydessä) sekä yksityisen IPv4-osoitteen (säilyy pysäytyksen ja käynnistyksen yli VPC:n sisällä). Jos tarvitset pysyvän julkisen IP-osoitteen, varaa Elastic IP (EIP) — staattinen julkinen IPv4-osoite, jonka omistat, kunnes vapautat sen. EIP:t ovat maksuttomia, kun ne on liitetty käynnissä olevaan instanssiin, mutta niistä veloitetaan, jos niitä ei ole liitetty tai jos käynnissä olevaan instanssiin on liitetty useampi kuin yksi.
# 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-12345678Käyttäjätiedot: käynnistysskriptit
Käyttäjätiedot ovat shell-skripti (tai cloud-init-määritys), joka suoritetaan kerran, kun instanssi käynnistetään ensimmäisen kerran. Niiden avulla voit asentaa paketteja, määrittää ohjelmistoja tai hakea sovelluskoodia S3:sta. Käyttäjätiedot suoritetaan root-käyttäjänä, eikä niitä oletusarvoisesti suoriteta uudelleen uudelleenkäynnistyksen yhteydessä. Ne välitetään base64-koodattuna tekstinä käynnistysmäärityksen kautta. Kun pidät käyttäjätiedot lyhyinä ja käytät raskaisiin valmistelutoimiin valmiiksi luotuja AMI:ita, automaattisen skaalauksen käynnistysajat lyhenevät.
#!/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 httpdYhdistäminen: SSH vai Systems Manager
EC2-instansseihin pääsee ensisijaisesti kahdella tavalla. SSH: edellyttää portin 22 avaamista suojausryhmässä ja yksityistä avaintiedostoa. AWS Systems Manager Session Manager: tarjoaa selaimella tai CLI:llä käytettävän komentotulkin avaamatta portteja, ilman avainparia ja täydellisen CloudTrail-lokituksen kera. Session Manager edellyttää SSM-agenttia (joka on esiasennettu Amazon Linux- ja Windows Server -AMI:hin) sekä IAM-roolia, jolla on AmazonSSMManagedInstanceCore-käytäntö. Session Manager on tuotantoinstanssien suositeltu käyttötapa.
# Start a Session Manager session (no SSH needed)
aws ssm start-session --target i-0abcdef1234567890EC2-instanssin metatiedot
EC2 Instance Metadata Service (IMDS) on HTTP-päätepiste osoitteessa 169.254.169.254, johon pääsee vain instanssin sisältä. Se tarjoaa ajonaikaisia tietoja, kuten instanssin tunnuksen, AMI-tunnuksen, julkisen IP-osoitteen, IAM-roolin tunnistetiedot ja saatavuusalueen. IMDSv2 (nykyinen suositeltu käytäntö) edellyttää istuntokohtaista tunnistetta, mikä estää palvelinpuolen pyyntöjen väärentämiseen (SSRF) perustuvia hyökkäyksiä lukemasta metatietoja haavoittuvan sovelluksen kautta. Määritä instanssit aina vaatimaan IMDSv2:ta.
# 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-idSijoitteluryhmät
Sijoitteluryhmät määrittävät, miten instanssit jaetaan taustalla olevan laitteiston kesken. Cluster: sijoittaa instanssit lähelle toisiaan yhteen saatavuusalueeseen erittäin pienen verkkoviiveen ja suuren kaistanleveyden saavuttamiseksi — ihanteellinen HPC:lle. Spread: sijoittaa kukin instanssi erilliselle laitteistolle korreloituneiden häiriöiden vähentämiseksi — ihanteellinen pienille kriittisille instanssiryhmille (enintään 7 instanssia saatavuusaluetta kohden). Partition: jakaa instanssit loogisiin osioihin erillisillä palvelinkaapeilla — ihanteellinen suurille hajautetuille järjestelmille, kuten Hadoopille ja Cassandralla, joissa palvelinkaappitietoisuus on tärkeää.
# Create a cluster placement group
aws ec2 create-placement-group \
--group-name HighPerfCluster \
--strategy clusterEC2:n lopetussuojaus
Lopetussuojaus estää instanssin tahattoman lopettamisen konsolin, CLI:n tai API:n kautta. Ota se käyttöön, kun käynnistät kriittisiä instansseja. Huomaa, että vaikka lopetussuojaus olisi käytössä, Auto Scaling Groups voi silti lopettaa instansseja skaalauksen pienentämisen yhteydessä, ellet määritä instanssisuojausta erikseen. Juuri-EBS-taltion DeleteOnTermination-määrite määrittää, poistetaanko taltio automaattisesti instanssin lopettamisen yhteydessä — suositeltu käytäntö on true juuritaltioille ja false säilytettäville datatal t ioille.
# Enable termination protection
aws ec2 modify-instance-attribute \
--instance-id i-0abcdef1234567890 \
--disable-api-terminationPikatarkistus
Testaa tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteiden ymmärtämisesi.
Oppitunnin yhteenveto
Tässä oppitunnissa opit, että EC2-instanssit käynnistetään AMI:sta, ja niille valitaan instanssityyppi, avainpari, suojausryhmä ja valinnaiset käyttäjätiedot, Elastic IP:t tarjoavat pysyvät julkiset osoitteet, kun taas tavalliset julkiset IP-osoitteet vaihtuvat pysäytyksen ja käynnistyksen yhteydessä ja Systems Manager Session Manager on tuotantoinstanssien suositeltu käyttötapa SSH:n sijaan. Seuraavaksi vertailemme instanssityyppejä ja hinnoittelumalleja.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”Ensimmäisen EC2-instanssin käynnistäminen” ilmainen?
Kyllä – oppitunnin ”Ensimmäisen EC2-instanssin käynnistäminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ensimmäisen EC2-instanssin käynnistäminen”?
Käytte läpi käynnistystoiminnon, valitsette AMI:n ja instanssityypin, määritätte avainparit ja muodostatte yhteyden SSH:lla. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Ensimmäisen EC2-instanssin käynnistäminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Ensimmäisen EC2-instanssin käynnistäminen
- Instanssityypit ja hinnoittelumallit
- Security Groupit ja avainparit
- EC2-tallennus: Instance Store ja EBS