Din EC2-flotta “går” sällan ner. Den degraderas. En instans sticker i CPU, en annan underkänns i en statuskontroll, och plötsligt jonglerar du dashboards, gissningar och en stressad omstart vid sämsta möjliga tillfälle.
Det är här EC2-hälsoautomation betalar sig. Driftansvariga märker det när beredskapen blir stökig, grundare märker det när kunder klagar och ett marknadsteam som kör kampanjer märker det när landningssidor segar. Du får proaktiva kontroller, automatiska omstarter och strukturerad rapportering utan att behöva leva i AWS.
Det här arbetsflödet övervakar produktionens EC2 var 5:e minut, startar om ohälsosamma instanser, loggar sedan incidenten till Google Sheets och meddelar dig via WhatsApp och e-post. Nedan ser du exakt vad det gör, vad du behöver och hur du anpassar det till din miljö.
Så fungerar den här automationen
Hela n8n-arbetsflödet, från trigger till slutlig output:
n8n Workflow Template: AWS EC2 + Google Sheets: hälsologgar och omstarter
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Instances", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Health Status", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Analyze Health Data"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send WhatsApp Alert"]
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email Alert", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Log to AlertsLog Sheet", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "End Workflow", pos: "b", h: 48 }
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get EC2 Instances"]
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Check Instance Status"]
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Restart Instance"]
n10 --> n4
n10 --> n5
n10 --> n6
n0 --> n8
n5 --> n7
n8 --> n1
n3 --> n10
n2 --> n3
n2 --> n1
n1 --> n9
n4 --> n7
n9 --> n2
n6 --> n7
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2 decision
class n6 database
class n4,n8,n9,n10 api
class n3 code
classDef customIcon fill:none,stroke:none
class n3,n4,n8,n9,n10 customIcon
Problemet: EC2-issues upptäcks för sent
De flesta team har inget “övervakningsproblem”. De har ett responsproblem. Du upptäcker ett avbrott efter ett kundärende, eller så ser du en topp i fel och lägger nästa timme på att lista ut vilken instans som strular. Samtidigt är åtgärden ofta enkel: starta om maskinen som hängt sig, eller starta om noden som fallerar systemkontroller. Det svåra är att fånga det snabbt, göra det konsekvent och ha en revisionslogg så att du kan svara på nästa fråga: “Hur ofta händer det här?”
Friktionen byggs på. Här brukar det fallera.
- Du slutar med att manuellt kontrollera instanshälsa i AWS-konsolen, vilket drar dig från det riktiga jobbet varje gång du får en känsla av att något är fel.
- Omstarter sker i panik, så ingen loggar vad som triggade omstarten eller hur mätvärdena såg ut.
- Statuskontroller, CPU-toppar och “stoppade” tillstånd finns på olika ställen, så du får halvt sammanhang och långsamma beslut.
- Beredskapslarm är antingen för otydliga (“instans ohälsosam”) eller för bullriga, vilket gör att folk lär sig att ignorera dem.
Lösningen: auto-kontroll, auto-omstart, och logga allt
Det här n8n-arbetsflödet körs på timer och behandlar EC2-hälsa som en rutin, inte som en brandövning. Var 5:e minut hämtar det en lista över dina produktionsmärkta EC2-instanser och kontrollerar sedan varje instans efter hälsosignaler som misslyckade statuskontroller, stoppade tillstånd eller ihållande hög CPU. Om en instans ser ohälsosam ut avgör arbetsflödet vad som ska göras utifrån dina trösklar, triggar en omstart via AWS API och skickar direkt ett incidentmeddelande till WhatsApp så att du ser det omedelbart. Det mejlar också en mer detaljerad sammanfattning (bra för morgonens genomgång) och lägger till en korrekt formaterad rad i Google Sheets så att du får en långsiktig incidentlogg för rapportering och revision.
Arbetsflödet börjar med en schemalagd trigger och en uppslagning av produktionsinstanser. Det loopar igenom instanser i batchar, kontrollerar hälsomätvärden och agerar först därefter. Till sist skickar det larm till WhatsApp och e-post och skriver en post i Google Sheets så att historiken bevaras.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du kör 15 EC2-instanser i produktion. En typisk manuell “är allt okej?”-kontroll tar kanske 3 minuter per instans när du klickat runt, så en full genomgång är cirka 45 minuter, och många team gör det ett par gånger per dag när det känns ostadigt. Med det här arbetsflödet är enda manuella steget att granska WhatsApp-larmet och e-postsammanfattningen; hälsokontrollerna körs var 5:e minut och Google Sheets-loggen uppdateras automatiskt. I praktiken går du från ungefär 1–2 timmar daglig kontroll till några minuters granskning, och du har fortfarande en spårbar historik.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger funkar bra)
- AWS (EC2) för instansinnehåll, mätvärden och omstarter
- Google Sheets för att lagra hälsologgar för rapportering
- Twilio WhatsApp API-nyckel (hämta den i din Twilio Console)
Kunskapsnivå: Medel. Du kopierar in credentials i n8n, bekräftar AWS-behörigheter och justerar några trösklar på ett säkert sätt.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En tidsstyrd trigger kör var 5:e minut. n8n startar arbetsflödet enligt schema, vilket gör att din övervakning är konsekvent även när teamet är upptaget (eller sover).
EC2-instanser hämtas och bearbetas i batchar. Arbetsflödet använder HTTP-förfrågningar för att hämta dina produktionsmärkta instanser och loopar sedan igenom dem med ett split-in-batches-upplägg så att det skalar utan att falla över när flottan växer.
Hälsan utvärderas med mätvärden och enkel logik. Det kontrollerar status- och prestandasignaler, kör en snabb kodbaserad analys mot dina trösklar och använder en If-bedömning för att routa friska instanser till loggning medan ohälsosamma flaggas för åtgärd.
Omstarter och notifieringar sker bara när det behövs. När en instans inte går igenom kontrollerna startar arbetsflödet om den via AWS API, skickar ett brådskande WhatsApp-meddelande (via Twilio), mejlar en detaljerad rapport till teamet och lägger till en rad i Google Sheets för långsiktig uppföljning.
Du kan enkelt ändra trösklarna och hur larm routas för att matcha ditt sätt att drifta. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Schedule Trigger
Ställ in workflowen att köras enligt ett fast schema så att EC2-hälsa kontrolleras automatiskt.
- Lägg till och öppna Timed Automation Trigger.
- Ställ in cron-uttrycket till
0 */5 * * *för att köra var 5:e minut. - Koppla Timed Automation Trigger till Retrieve EC2 Instances.
Tips: Om ni behöver ett annat schema, ändra cron-uttrycket i Timed Automation Trigger innan ni testar.
Steg 2: Anslut EC2-statusendpoints
Konfigurera HTTP-endpoints som hämtar instanser, kontrollerar hälsa och initierar omstarter.
- Öppna Retrieve EC2 Instances och ställ in URL till
https://devops.oneclicksales.xyz/ec2. - Öppna Query Instance Status och ställ in URL till
https://devops.oneclicksales.xyz/ec2status. - Öppna Restart Compute Node och ställ in URL till
https://devops.oneclicksales.xyz/ec2restart. - Säkerställ att Retrieve EC2 Instances är kopplad till Iterate Instance Batches och därefter till Query Instance Status.
⚠️ Vanlig fallgrop: Dessa HTTP-endpoints är platshållare för er infrastruktur. Ersätt dem med era faktiska API-endpoints innan aktivering.
Steg 3: Sätt upp bearbetning och hälsovalidering
Utvärdera instansens tillstånd, beräkna upptid och avgör när återställningsåtgärder krävs.
- Öppna Iterate Instance Batches för att bekräfta att den bearbetar batchar från Retrieve EC2 Instances.
- Konfigurera Validate Health State med villkoret Left Value
={{ $json.State.Name }}och Right Valuerunning, med notEquals. - Öppna Process Health Metrics och låt Mode vara
runOnceForEachItemmed den medföljande JavaScript-logiken för upptid och åtgärdsbeslut. - Koppla Validate Health State till Process Health Metrics och därefter till Restart Compute Node.
Steg 4: Konfigurera utdata och larmåtgärder
Skicka larm och logga återställningshändelser efter att en omstartsåtgärd har triggats.
- Öppna Dispatch WhatsApp Alert och bekräfta att URL är
https://api.twilio.com/2010-04-01/Accounts/{{ $credentials.accountSid }}/Messages.json, med body-parametrar som inkluderarBody-värdet🚨 EC2 Alert: Instance {{ $json.instanceId }} was unhealthy ({{ $json.instanceState }}) and has been restarted. Uptime: {{ $json.uptimeMinutes }} mins. - Inloggningsuppgifter krävs: Anslut era twilioApi-credentials i Dispatch WhatsApp Alert.
- Öppna Send Email Notification och ställ in Subject till
EC2 Health Alert - Instance Restarted, To Email till[YOUR_EMAIL]och From Email till[YOUR_EMAIL]. - Inloggningsuppgifter krävs: Anslut era smtp-credentials i Send Email Notification.
- Öppna Update Alerts Spreadsheet och ställ in Operation till
appendOrUpdate, Authentication tillserviceAccount, Document ID till[YOUR_ID]och Sheet Name tillSheet1. - Inloggningsuppgifter krävs: Anslut era googleApi-credentials i Update Alerts Spreadsheet.
- Restart Compute Node skickar utdata parallellt till Dispatch WhatsApp Alert och Send Email Notification och Update Alerts Spreadsheet.
- Säkerställ att varje larmnod kopplas till Finalize Workflow.
Tips: Ersätt platshållarna [YOUR_EMAIL] och [YOUR_ID] innan ni kör tester för att undvika leveransfel.
Steg 5: Testa och aktivera er workflow
Validera hela flödet från hälsokontroll till återställningsåtgärder och larm.
- Klicka på Execute Workflow för att köra ett manuellt test från Timed Automation Trigger.
- Verifiera att Retrieve EC2 Instances returnerar instansdata och flödar via Iterate Instance Batches till Query Instance Status.
- Bekräfta att ohälsosamma instanser passerar Validate Health State och triggar Process Health Metrics och Restart Compute Node.
- Kontrollera att larm skickas via Dispatch WhatsApp Alert och Send Email Notification, samt att loggar läggs till av Update Alerts Spreadsheet.
- När allt är validerat, växla workflowen till Active för produktionsbruk.
Vanliga fallgropar
- AWS-credentials kan löpa ut eller sakna exakt de EC2-behörigheter som krävs. Om det skapar fel, kontrollera först din IAM-policy för DescribeInstances, DescribeInstanceStatus och RebootInstances.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
- Twilio WhatsApp-inställningar är petiga med format för avsändare/mottagare och sandbox-godkännande. Om larm inte kommer fram, kontrollera loggarna i Twilio Console och verifiera dina WhatsApp-aktiverade nummer.
Vanliga frågor
Cirka 30 minuter om dina AWS-, Twilio- och Google-konton är klara.
Nej. Du klistrar mest in credentials och justerar några trösklar. Den enda “koden” finns redan med i arbetsflödet.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med Twilio WhatsApp-kostnader och eventuell AWS API-användning (oftast liten vid periodiska kontroller).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och ärligt talat är det ett smart sätt att börja. Du kan slå på ett dry-run-läge i HTTP-förfrågan Restart Compute Node så att den simulerar omstarter utan att göra ändringar. Vanliga anpassningar är att ändra produktions-tagfiltret i Retrieve EC2 Instances, justera logiken för CPU-tröskeln i Process Health Metrics och skicka larm till en annan WhatsApp-grupp genom att uppdatera payloaden i Dispatch WhatsApp Alert.
Oftast är det credentials som löpt ut eller en IAM-policy som saknar en behörighet. Bekräfta att nyckeln/rollen du använder kan DescribeInstances, DescribeInstanceStatus och RebootInstances, och spara sedan om credentials i HTTP Request-noderna. Om det bara fallerar ibland kan du slå i AWS rate limits när flottan är stor, så bearbeta mindre batchar eller sakta ner loopen något.
Mer än nog för de flesta små och medelstora flottor, och du kan skala genom att justera batchstorlek och schemaläggningsfrekvens.
För EC2-övervakning och självläkning är n8n oftast en bättre match eftersom du kan loopa igenom många instanser, lägga in grenlogik och köra var 5:e minut utan krångliga workarounds. Zapier och Make kan fungera för enkla “skicka mig ett larm”-case, men de är inte byggda för flotta-kontroller plus villkorsstyrda omstarter. Det finns också en kontrollaspekt: egen drift av n8n kan hålla din infra-automation närmare din miljö. Om du är osäker, mappa först “måste-ha” (auto-omstart, batchning, revisionslogg) och välj sedan verktyg. Prata med en automationsexpert om du inte är säker på vad som passar.
När det här väl rullar slutar “Startade vi om den?” vara ett mysterium. Du får lugnare drift, mer korrekt formaterade loggar och färre obehagliga överraskningar under veckan.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.