När jag först började använda AWS EC2 trodde jag att jag bara snurrade upp en server. Det är vad de flesta tutorials säger. Bara "lansera en instans" och du är bra. Men vad jag inte visste var detta: EC2 är enkel på ytan, men har en hel del dolda detaljer som kan kosta dig tid, pengar och förnuft. Här är allt jag önskar att någon berättade för mig innan jag använde EC2 för första gången – så att du kan undvika de misstag jag gjorde. Att välja rätt instanstyp är inte valfritt Det första beslutet du fattar är instanstypen. Du kommer att se namn som och och Och så vidare. t2.micro t3.medium m5.large Då valde jag den billigaste - Ett fritt djur, eller hur? t2.micro Men min app fortsatte att krascha. Jag förstod inte hur "burstable" instanser fungerar. : What I learned t2.micro använder CPU-krediter. Du tjänar krediter över tiden och spenderar dem när din app behöver mer CPU. Om du kör en lång löpande process (till exempel en byggnad eller skript), kan du köra ut av krediter snabbt. När du kör ut, blir din instans mycket långsam. : What to do instead Om du bara experimenterar eller värd en statisk webbplats, t2.micro är bra. Om du behöver något mer stabilt för bakgrundsuppgifter använder du t3- eller m-serien. Jämför alltid instansen med din faktiska arbetsbelastning – inte priset. Säkerhetsgrupper är brandväggar (och de spelar roll) När jag startade min EC2-instans kunde jag inte SSH in i den. Jag trodde den var trasig. Men det var bara den EC2-versionen av en brandvägg – blockerar min åtkomst. security group : What I learned Som standard blockerar EC2 all inkommande trafik. Du måste öppna portarna manuellt, även för SSH (port 22) eller HTTP (port 80). Om du vill besöka din app i en webbläsare måste du tillåta port 80 (eller 443 för HTTPS). : What to do instead När du konfigurerar instansen lägger du till en regel för att tillåta SSH från din IP. För offentliga webbplatser, tillåta HTTP och HTTPS. Öppna inte alla hamnar till världen.Det kräver problem. EC2 är bara en tom server När jag kom in i min instans, jag typade to run my Node app. node ”Kommandot hittades inte” Jag försökte Det fungerade inte heller. git pull Då slog det mig – EC2 är bara en Inget kommer förinstallerat. bare OS : What I learned Du behöver installera allt: Node, Python, Git, Nginx, vad som helst. Det finns ingen GUI, bara en terminal. Det är som att hyra en dator från molnet. : What to do instead Använd ett startskript för att automatisera den initiala installationen. Eller skapa din egen anpassade AMI när allt är konfigurerat som du vill. Om du distribuerar ofta kan du överväga att använda Elastic Beanstalk eller AWS AMI-bilder med förinstallerade stackar. EC2 lagrar inte dina data om du inte säger det till oss Jag startade om min EC2-instans en gång och alla mina appfiler var borta. Gone. Varför? jag använde - som torkar rent på stopp/start. ephemeral storage : What I learned EC2 har två huvudtyper av lagring: Instance Store (tillfällig) och EBS (permanent). Endast EBS-volymer behåller dina data efter avstängning. Vissa AMI-inställningar lagras som standard om de inte ändras. : What to do instead Använd alltid EBS för något viktigt. Ta snapshots av din volym regelbundet. Om du behöver ännu mer hållbarhet, överväga att lagra filer på S3 istället. Public IPs kan ändras (om du inte använder elastiska IPs) Jag byggde en trevlig liten app, distribuerade den på EC2 och skickade IP till mina vänner. Några dagar senare sa de att det inte fungerade. Jag kollade. den offentliga IP hade ändrats. : What I learned EC2 tilldelar en ny offentlig IP varje gång du stannar och startar instansen. Om du vill ha en stabil IP måste du använda en elastisk IP. : What to do instead Gå till EC2 > Elastic IPs och tilldela en. Anslut den till din instans. Uppdatera din DNS eller använd den här IP-adressen i din frontendkod. Obs!: Du debiteras för oanvända Elastic IP-adresser, så släpp dem när de inte behövs. SSH nyckelpar är allt Du kan inte bara logga in med ett lösenord. När du startar instansen ber AWS om en - det och filen. key pair .pem Jag tog bort min tanke att jag inte behövde den igen. Ett stort misstag. : What I learned Utan .pem-filen kan du inte SSH till instansen. Om du förlorar den måste du skapa en ny instans eller använda en snapshot-lösning. : What to do instead Förvara din nyckel säkert. Ta aldrig bort den om du inte är 100% klar med instansen. Använd en lösenordshanterare eller ett säkert backupverktyg. Du måste ställa in Auto Shutdown eller du kommer att glömma En gång lämnade jag en EC2-instans som körde i en månad. Har inte ens insett det. Tills lagen kom. : What I learned EC2 laddar med den andra, men bara medan instansen körs. Det finns ingen varning eller påminnelse om något förblir igång. : What to do instead Ställ in en kalender påminnelse för att stoppa oanvända instanser. Använd AWS Budgets för att få varningar om utgifter. Du kan också ställa in en Lambda-funktion för att automatiskt stoppa tomma EC2-instanser. EC2 är kraftfull, men inte alltid det bästa valet Om du bara försöker värd en statisk webbplats, är EC2 överkill. Samma sak om du inte vill hantera Linux. : What I learned EC2 ger dig full kontroll – vilket innebär fullt 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 på vad du verkligen behöver. Om du bara testar något, är EC2 bra. Men tvinga dig inte att hantera infrastrukturen om det inte är meningsfullt. Slutliga tankar EC2 är ett kraftfullt verktyg, men som de flesta AWS-tjänster förutsätter det att du vet vad du gör. Dokumentationen gör inte alltid saker enkla. Och en liten inställning kan leda till timmar av debugging eller oväntade kostnader. Men när du förstår grunderna – instanser, IP-adresser, lagring, brandväggar – börjar EC2 göra mening. Det blir ett verktyg du kan lita på. Kom bara ihåg: behandla EC2 som en riktig server. Och en liten förberedelse kommer att spara dig mycket smärta senare.