EC2-förfrågningar har en tendens att förvandlas till en rörig visklekskedja. Någon pingar dig “kan du spinna upp en box?”, detaljer saknas och den enda “spårningen” är en halvt nedgrävd e-posttråd.
Marketing ops-team känner av det när kampanjmiljöer “behövs igår”. Byråägare fastnar i att översätta kundönskemål till tekniska ärenden. Och DevOps-ansvariga hamnar i copy-paste-arbete som automatisering av EC2-förfrågningar borde hantera automatiskt.
Det här arbetsflödet gör en rad i Google Sheets till en provisionerad EC2-instans, loggar resultatet och skickar en Gmail-bekräftelse med instans-ID. Du får se vad det löser, hur det körs och vad du behöver för att starta det säkert.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Gmail: logga och skicka EC2-förfrågningar
flowchart LR
subgraph sg0["Google Sheets Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Google Sheets Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Extract Instance Details", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Launch EC2 Instance", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Update Google Sheet", pos: "b", h: 48 }
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Send Confirmation Email", pos: "b", h: 48 }
n2 --> n3
n3 --> n4
n0 --> n1
n1 --> n2
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 n1,n3 database
Utmaningen: EC2-förfrågningar som försvinner i DM:ar
“Kan du starta en EC2-instans åt mig?” låter enkelt tills du jagar region, instanstyp, nyckelpar, namn och deadline via Slack, e-post och slumpmässiga anteckningar. Sen provisionerar du till slut, bara för att få nästa fråga: “Vad är instans-ID:t?” Multiplicera det med några förfrågningar per vecka och du lägger faktisk tid på småuppgifter. Det är inte svårt arbete, bara konstant arbete. Och ärligt talat är det precis den typen av sak som skapar onödiga misstag under en stressig vecka.
Det växer snabbt. Här brukar processen gå sönder.
- Du skriver om samma förfrågningsdetaljer i AWS-verktyg, vilket bjuder in stavfel och inkonsekvent namngivning.
- Det finns ingen tillförlitlig revisionslogg, så senare får du återskapa vem som bad om vad och varför.
- Folk följer upp eftersom de inte ser status, och “snabba frågor” börjar äta upp din kalender.
- När flera förfrågningar kommer in samtidigt är det lätt att missa en eller provisionera den med fel nyckelpar.
Lösningen: starta EC2 från ett kalkylark, bekräfta via Gmail
Det här n8n-arbetsflödet gör ett enkelt Google Sheet till ett lättviktigt system för EC2-förfrågningar. Någon lägger till en ny rad (eller uppdaterar en) med de instansdetaljer du kräver, och automatiseringen plockar upp den enligt schema. Den läser förfrågningsfälten, kontrollerar att det viktigaste finns med och provisionerar sedan EC2-instansen via ett SSH-baserat provisioneringssteg som kan anropa dina befintliga script eller AWS CLI. När AWS returnerar instansinformationen skriver arbetsflödet tillbaka instans-ID och status till samma kalkylark. Till sist skickar den en Gmail-bekräftelse till beställaren så att de får ID:t direkt, utan att behöva fråga dig två gånger.
Flödet börjar med att hämta startförfrågningar från Google Sheets. Därefter provisionerar det instansen via SSH och lägger tillbaka startloggen i kalkylarket. Gmail skickar bekräftelsemejlet direkt efteråt, så spårning och kommunikation hålls synkade.
Vad som förändras: före vs. efter
| Detta eliminerar | Effekten du märker |
|---|---|
|
|
Verklig effekt
Säg att du hanterar 10 EC2-förfrågningar i veckan. Manuellt kan varje förfrågan ta cirka 15 minuter att samla in detaljer, 10 minuter att starta och dubbelkolla och ytterligare 5 minuter för att skicka instans-ID:t och uppdatera dina anteckningar. Det blir ungefär 5 timmar per vecka. Med det här arbetsflödet lägger beställaren cirka 2 minuter på att fylla i en rad, och du lägger kanske totalt 20 minuter under veckan på att granska undantag. Resten körs och loggas automatiskt.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att samla in och lagra EC2-förfrågningar.
- Gmail för att skicka bekräftelsemejl till beställare.
- AWS IAM-åtkomst (skapa i AWS IAM med behörighet att starta EC2).
- SSH-åtkomst till en provisioneringsvärd (där AWS CLI/script körs).
Kompetensnivå: Medel. Du kopplar Google-/Gmail-autentisering och pekar SSH-steget mot ett provisioneringsscript eller ett AWS CLI-kommando du litar på.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödets flöde
Schemalagd kontroll av ditt förfrågningsark. Enligt schema letar n8n efter nya eller uppdaterade rader i Google Sheets som representerar EC2-startförfrågningar.
Förfrågningsdetaljer hämtas och förbereds. Arbetsflödet läser fält som region, instanstyp, nyckelparnamn och ett instansnamn, och formar datan så att provisionering blir repeterbar.
Provisionering körs via SSH. n8n ansluter till din provisioneringsmaskin (eller jump host) och kör kommandot eller scriptet som startar EC2-instansen, samtidigt som det fångar upp instans-ID och grundläggande status.
Loggning och bekräftelse sker direkt. Google Sheets uppdateras med instans-ID och status, och Gmail mejlar beställaren så att de kan gå vidare utan att be dig om bevis.
Du kan enkelt justera vilka kolumner som ska vara obligatoriska så att de matchar er interna förfrågningspolicy. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Ställ in arbetsflödet så att det körs automatiskt vid den angivna tiden, så att det kan kontrollera arket efter nya lanseringsförfrågningar.
- Lägg till eller öppna Scheduled Sheet Trigger.
- I Rule → Interval ställer ni in Trigger At Hour till
10. - Koppla Scheduled Sheet Trigger till Fetch Launch Requests.
Steg 2: anslut Google Sheets
Konfigurera indata- och utdataarken som lagrar EC2-lanseringsförfrågningar och de resulterande instansposterna.
- Öppna Fetch Launch Requests och ställ in Document till
YOUR_EC2_SHEET_ID. - Ställ in Sheet Name till
Launch_Requests. - Ställ in Authentication till
serviceAccount. - Inloggningsuppgift krävs: anslut era googleApi-inloggningsuppgifter.
- Öppna Append Launch Record och ställ in Operation till
append. - Ställ in Document till
YOUR_EC2_SHEET_IDoch Sheet Name tillLaunched_Instances. - I Columns behåller ni de mappade uttrycken, som
{{ $json.instance_id }},{{ $json.instance_name }}och{{ $now.toISO() }}. - Inloggningsuppgift krävs: anslut era googleApi-inloggningsuppgifter.
Steg 3: sätt upp SSH-provisioneringen
Konfigurera det Terraform-baserade EC2-provisioneringskommandot som körs på er SSH-värd.
- Öppna Provision EC2 via SSH och ställ in Authentication till
privateKey. - Ställ in Command till hela skriptet i noden, inklusive variabler som
{{ $json.server_user }},{{ $json.server_ip }},{{ $json.workspace_name }}och{{ $json.pwd }}. - Verifiera att Terraform-sökvägen i kommandot är korrekt:
cd /path/to/terraform/project. - Inloggningsuppgift krävs: anslut era sshPrivateKey-inloggningsuppgifter.
⚠️ Vanlig fallgrop: säkerställ att er SSH-värd kan köra Terraform och har nätverksåtkomst till AWS. Om sökvägen eller workspace-kommandona misslyckas kommer instansen inte att starta.
Steg 4: konfigurera utdataåtgärderna
Logga lanseringsdetaljerna och notifiera beställaren via e-post efter att provisioneringen är klar.
- Bekräfta att Provision EC2 via SSH är kopplad till Append Launch Record och därefter till Dispatch Confirmation Email.
- I Dispatch Confirmation Email ställer ni in Send To till
{{ $json.requester_email }}. - Ställ in Subject till
✅ AWS EC2 Instance Launched Successfully - {{ $json.instance_name }}. - Behåll HTML-Message-brödtexten exakt som den är angiven för att inkludera instansdetaljer och länken till AWS Console.
- Inloggningsuppgift krävs: anslut era gmailOAuth2-inloggningsuppgifter.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett kontrollerat test för att verifiera sekvensen för EC2-lansering, loggning och e-postnotifiering.
- Använd Scheduled Sheet Trigger → Execute Workflow för att köra ett manuellt test.
- Kontrollera att Fetch Launch Requests returnerar rader från
Launch_Requests. - Bekräfta att Provision EC2 via SSH slutförs utan fel och att Terraform apply körs korrekt.
- Verifiera att Append Launch Record lägger till en ny rad i
Launched_Instances. - Bekräfta att beställaren får e-postmeddelandet från Dispatch Confirmation Email.
- Slå på arbetsflödet till Active för användning i produktion.
Se upp med
- Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om saker slutar fungera: kontrollera först n8n-uppgiften för Google Sheets och din Google Cloud-samtyckes-/behörighetskonfiguration.
- Om du använder Wait-noder eller extern rendering varierar handläggningstiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata i all evighet.
Vanliga frågor
Cirka en timme om din Google- och AWS-åtkomst är redo.
Ja, men någon teknisk behöver sätta upp AWS-behörigheter och SSH-provisioneringssteget en gång. Efter det fyller beställarna bara i kalkylarket.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in AWS-kostnader för EC2-instanserna du startar (som varierar beroende på instanstyp och körtid).
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 hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.
Du kan lägga till fler obligatoriska kolumner i Google Sheets (som ägare, kostnadsställe eller datum för “radera efter”) och låta n8n stoppa provisionering när de är tomma. Många team anpassar också SSH-provisioneringskommandot för att tvinga taggar, begränsa instanstyper eller styra vissa regioner till andra AWS-konton. Om du vill att bekräftelser ska gå till en gemensam inkorg, justera Gmail-fältet “to” och inkludera beställaren i CC.
Oftast beror det på att Googles auktorisering har gått ut, eller att kalkylarket flyttades till en annan Drive-plats och behörigheterna inte längre matchar. Återanslut Google Sheets-uppgiften i n8n och bekräfta sedan att kontot kan redigera filen. Om arbetsflödet plötsligt inte hittar fliken, kontrollera att bladnamnet och kalkylarks-ID:t fortfarande matchar vad noden förväntar sig.
För de flesta små team klarar den utan problem dussintals förfrågningar per dag.
Ofta, ja. Det här arbetsflödet bygger på ett SSH-provisioneringssteg, och n8n är helt enkelt mer bekvämt när du behöver “riktig” driftautomation som rör infrastruktur. Du får också mer kontroll över förgreningar och validering utan att betala extra för varje väg. Zapier och Make kan fungera för enkla notifieringar, men de är inte lika smidiga när du behöver hård kontroll över hur instanser skapas. Om du är osäker, prata med en automationsexpert och mappa det mot din risknivå.
När detta väl är igång slutar EC2-förfrågningar att vara avbrott och blir en strukturerad, loggad process. Arbetsflödet tar hand om de repetitiva delarna så att du kan fokusera på det arbete som faktiskt kräver ditt omdöme.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.