Da jeg først begyndte at bruge AWS EC2, tænkte jeg, at jeg lige var ved at spinde en server op. That’s what most tutorials said. Bare “start en instance” og du er god. Men hvad jeg ikke vidste var dette: EC2 er enkel på overfladen, men har en masse skjulte detaljer, der kan koste dig tid, penge og fornuft. Her er alt, hvad jeg ville ønske, at nogen fortalte mig, før jeg brugte EC2 for første gang - så du kan undgå de fejl, jeg lavede. Valg af den rigtige instanstype er ikke valgfri Den første beslutning, du træffer, er instanstypen. , der , der Og så videre. t2.micro t3.medium m5.large Jeg har valgt den billigste - Frie dyr, ikke sandt? t2.micro Men min app fortsatte med at kollapse. Jeg forstod ikke, hvordan “burstable” instanser fungerer. : What I learned t2.micro bruger CPU-kreditter. Du tjener kreditter over tid og bruger dem, når din app har brug for mere CPU. Hvis du kører en langvarig proces (såsom en opbygning eller script), kan du køre ud af kreditter hurtigt. Når du løber ud, bliver din instans meget langsom. : What to do instead Hvis du bare eksperimenterer eller er vært for et statisk websted, er t2.micro okay. Hvis du har brug for noget mere stabilt til baggrundsopgaver, skal du bruge t3- eller m-serien. Altid matche instansen til din faktiske arbejdsbyrde – ikke prisen. Sikkerhedsgrupper er firewalls (og de betyder noget) Da jeg startede min EC2-instans, kunne jeg ikke SSH ind i den. Jeg troede det var brækket. Men det var kun den EC2's version af en firewall - blokerer min adgang. security group : What I learned Som standard blokerer EC2 al indgående trafik. Du skal manuelt åbne porte, selv for SSH (port 22) eller HTTP (port 80). Hvis du vil besøge din app i en browser, skal du tillade port 80 (eller 443 for HTTPS). : What to do instead Når du opretter din instans, skal du tilføje en regel for at tillade SSH fra din IP. For offentlige hjemmesider tillader HTTP og HTTPS. Lad være med at åbne alle havne for verden, det kræver problemer. EC2 er bare en tom server Da jeg kom ind i min instans, skrev jeg Sådan kører du min Node app node “Kommando ikke fundet”. Jeg forsøgte Det virkede heller ikke. git pull Så ramte det mig – EC2 er bare en Intet kommer forudinstalleret. bare OS : What I learned Du skal installere alt: Node, Python, Git, Nginx, hvad som helst. Der er ingen GUI, kun en terminal. Det er som at leje en computer fra skyen. : What to do instead Brug et start script til at automatisere den indledende installation. Eller opret din egen brugerdefinerede AMI, når alt er konfigureret, som du vil. Hvis du distribuerer ofte, kan du overveje at bruge Elastic Beanstalk eller AWS AMI-billeder med forudinstallerede stacks. EC2 gemmer ikke dine data, medmindre du fortæller det Jeg genstartede engang min EC2-instans, og alle mine app-filer var væk. er gået. Hvorfor? jeg brugte - som tørrer rent på stop/start. ephemeral storage : What I learned EC2 har to hovedtyper af lagring: Instance Store (midlertidig) og EBS (permanent). Kun EBS-volumer gemmer dine data efter nedlukning. Nogle AMI'er indstilles som standard til instance store, medmindre de ændres. : What to do instead Brug altid EBS til noget vigtigt. Tag regelmæssigt snapshots af dit volumen. Hvis du har brug for endnu mere holdbarhed, overveje at gemme filer på S3 i stedet. Offentlige IP'er kan ændre sig (medmindre du bruger elastiske IP'er) Jeg byggede en dejlig lille app, implementerede den på EC2, og sendte IP til mine venner. Et par dage senere sagde de, at det ikke fungerede. Jeg tjekkede. den offentlige IP havde ændret sig. : What I learned EC2 tildeler en ny offentlig IP, hver gang du stopper og starter instansen. Hvis du vil have en stabil IP, skal du bruge en Elastic IP. : What to do instead Gå til EC2 > Elastic IPs og tildel en. Forbinde det med din instans. Opdater din DNS eller brug denne IP i din frontend-kode. Bemærk: Du vil blive opkrævet for uudnyttede Elastic IP'er, så frigiv dem, når de ikke er nødvendige. SSH nøglepar er alt Du kan ikke bare logge ind med et password. Når du starter instansen, anmoder AWS om en - Det af filen. key pair .pem Jeg slettede min tro på, at jeg ikke havde brug for det igen. Den store fejl. : What I learned Uden .pem-filen kan du ikke SSH ind i instansen. Hvis du mister det, skal du oprette en ny instans eller bruge en snapshot-løsning. : What to do instead Hold din nøgle sikker. Aldrig slette det, medmindre du er 100% færdig med instansen. Brug en password manager eller sikkerhedskopieringsværktøj. Du skal indstille Auto Shutdown eller du vil glemme Jeg forlod engang en EC2-instans, der kørte i en måned. Har ikke engang indset det. Indtil bogen kom. : What I learned EC2 opkræver den anden, men kun mens instansen kører. Der er ingen advarsel eller påmindelse, hvis noget forbliver i gang. : What to do instead Indstil en kalenderpåmindelse for at stoppe ubrugte instanser. Brug AWS Budgets til at få advarsler om udgifter. Du kan også konfigurere en Lambda-funktion til automatisk at stoppe idle EC2-instanser. EC2 er kraftfuld, men ikke altid det bedste valg Hvis du bare forsøger at være vært for et statisk websted, er EC2 overkill. Det samme gør sig gældende, hvis du ikke ønsker at styre Linux. : What I learned EC2 giver dig fuld kontrol – hvilket betyder fuldt ansvar. For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead Tænk over, hvad du rent faktisk har brug for. Hvis du bare tester noget, er EC2 i orden. Men tving ikke dig selv til at styre infrastrukturen, medmindre det giver mening. Afsluttende tanker EC2 er et kraftfuldt værktøj, men som de fleste AWS-tjenester forudsætter det, at du ved, hvad du laver. Dokumentationen gør ikke altid tingene enkle. Og en lille indstilling kan føre til timers debugging eller uventede omkostninger. Men når du forstår det grundlæggende - instanser, IP'er, lagring, firewalls - begynder EC2 at gøre mening. Det bliver et værktøj, du kan stole på. Bare husk: behandle EC2 som en ægte server. Og en lille forberedelse vil spare dig for en masse smerter senere.