AWS CDK Typescript를 사용한 AWS ECS에서 자체 호스팅 N8N

발행: (2025년 12월 19일 오전 01:04 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

AWS ECS와 AWS CDK Typescript를 사용한 자체 호스팅 N8N의 표지 이미지

📋 요약

이 저장소는 AWS Cloud Development Kit (CDK) 를 사용하여 AWS에 자체 호스팅 N8N 워크플로 자동화 플랫폼을 배포하기 위한 인프라스트럭처 코드(IaC) 솔루션을 제공합니다.
이 솔루션은 확장 가능하고, 비용 최적화되며, 고가용성을 갖춘 아키텍처를 구현하며, 다음을 활용합니다:

  • AWS ECS Fargate
  • PostgreSQL RDS 인스턴스
  • ElastiCache Redis 를 이용한 큐 관리

📑 목차

🏗️ 아키텍처 개요

Architecture Flow

핵심 구성 요소

  • VPC with Multi‑AZ Subnets – 다중 가용 영역에 걸친 퍼블릭, 프라이빗, 격리 서브넷을 포함하는 격리된 네트워크.
  • Network Load Balancer (NLB) – HTTPS 트래픽을 N8N 메인‑서비스 인스턴스로 분산.
  • ECS Fargate Cluster – 자동 스케일링이 가능한 컨테이너화된 N8N 서비스를 실행.
  • RDS PostgreSQL – 워크플로 데이터 영속성을 위한 다중 AZ 관리형 데이터베이스.
  • ElastiCache Redis – BullMQ 작업‑큐 관리를 위한 인‑메모리 캐시.
  • AWS Cloud Map – 내부 서비스‑간 통신을 위한 서비스 디스커버리.

🔍 솔루션 심층 분석

상세 아키텍처 다이어그램

🚀 CDK 스택 배포 및 테스트

📋 사전 요구 사항

배포하기 전에 다음이 준비되어 있는지 확인하세요:

  • AWS CLI가 설치되고 구성되어 있어야 합니다 (aws configure).
  • Node.js 16+pnpm이 설치되어 있어야 합니다.
  • AWS CDK CLI가 설치되어 있어야 합니다 (npm install -g aws-cdk).
  • 적절한 권한을 가진 AWS 계정이 필요합니다.
  • Route 53 hosted zone (선택 사항, 맞춤 도메인 사용 시).

⚙️ 환경 설정

1. 리포지토리 복제

git clone 
cd aws-cdk-self-hosted-n8n-infra

2. 의존성 설치

pnpm install

3. 환경 변수 구성

프로젝트 루트에 .env 파일을 생성합니다:

CDK_DEFAULT_ACCOUNT=your-aws-account-id
CDK_DEFAULT_REGION=your-aws-region
HOSTED_ZONE_NAME=example.com
HOSTED_ZONE_ID=Z1234567890ABC

🚀 배포 단계

1. CloudFormation 템플릿 합성

pnpm run synth

2. 변경 사항 검토

pnpm run diff

3. 스택 배포

pnpm run deploy

✅ 배포 확인

배포가 성공적으로 완료된 후, AWS 콘솔에서 리소스를 확인합니다.

1. ECS 클러스터

ECS Cluster

ECS 클러스터에는 구성된 작업 정의와 용량 공급자를 사용하여 두 개의 N8N 서비스가 모두 실행 중인 것이 표시됩니다.

2. 메인 서비스

Main Service

N8N 메인 서비스는 실행 중인 작업, 자동 스케일링 구성 및 상태 정보를 표시합니다.

3. 워커 서비스

Worker Service

워커 서비스는 동시성 설정과 함께 대기 중인 작업을 처리하는 활성 워커들을 보여줍니다.

4. 네트워크 로드 밸런서

NLB

추가 검증 단계(예: N8N 워크플로 테스트, 스택 정리, 결론, 참고 자료)는 동일한 패턴을 따르며 변경되지 않은 상태로 남겨둡니다.

NLB 리스너 및 DNS

NLB는 리스너 구성 및 Route 53에서 별칭 레코드를 생성하는 데 사용되는 DNS 이름을 표시합니다.

5. 대상 그룹

Target Group

대상 그룹은 등록된 ECS 작업을 상태 확인 결과 및 라우팅 구성과 함께 표시합니다.

🧪 N8N 워크플로우 테스트

1. N8N UI 접근

구성된 경우 NLB DNS 이름 또는 사용자 지정 도메인으로 이동합니다:

https://n8n.simflexcloud.com

N8N 인터페이스

N8N 인터페이스에는 워크플로우 편집기가 표시되며, 여기서 자동화 워크플로우를 생성, 테스트 및 모니터링할 수 있습니다.

2. 테스트 워크플로우 만들기

예시 워크플로우: 인터넷에서 영감을 주는 인용구를 매일 Slack에 전송합니다.

3. 실행 확인

Slack 통합

Slack 통합은 메시지가 구성된 Slack 채널에 전달되는 성공적인 워크플로우 실행을 보여줍니다.

🧹 Cleanup Stack

지속적인 AWS 비용을 방지하려면 모든 리소스를 삭제하십시오:

# Destroy the CDK stack
pnpm run destroy

🎉 결론

이 CDK 솔루션은 AWS ECS에서 N8N을 실행하기 위한 확장 가능하고 비용 최적화된 인프라스트럭처‑코드(AWS CDK)를 제공합니다.

📚 참고 문헌

Back to Blog

관련 글

더 보기 »