AWS CDK Typescript를 사용한 AWS ECS에서 자체 호스팅 N8N
Source: Dev.to

📋 요약
이 저장소는 AWS Cloud Development Kit (CDK) 를 사용하여 AWS에 자체 호스팅 N8N 워크플로 자동화 플랫폼을 배포하기 위한 인프라스트럭처 코드(IaC) 솔루션을 제공합니다.
이 솔루션은 확장 가능하고, 비용 최적화되며, 고가용성을 갖춘 아키텍처를 구현하며, 다음을 활용합니다:
- AWS ECS Fargate
- PostgreSQL RDS 인스턴스
- ElastiCache Redis 를 이용한 큐 관리
📑 목차
- 📋 초록
- 📑 목차
- 🏗️ 아키텍처 개요
- 🔍 솔루션 심층 분석
- 🚀 CDK 스택 배포 및 테스트
- 📋 전제 조건
- ⚙️ 환경 설정
- 🚀 배포 단계
- ✅ 배포 확인
- 🧪 N8N 워크플로 테스트
- 🧹 스택 정리
- 🎉 결론
- 📚 참고 자료
🏗️ 아키텍처 개요
핵심 구성 요소
- 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 클러스터에는 구성된 작업 정의와 용량 공급자를 사용하여 두 개의 N8N 서비스가 모두 실행 중인 것이 표시됩니다.
2. 메인 서비스
N8N 메인 서비스는 실행 중인 작업, 자동 스케일링 구성 및 상태 정보를 표시합니다.
3. 워커 서비스
워커 서비스는 동시성 설정과 함께 대기 중인 작업을 처리하는 활성 워커들을 보여줍니다.
4. 네트워크 로드 밸런서
추가 검증 단계(예: N8N 워크플로 테스트, 스택 정리, 결론, 참고 자료)는 동일한 패턴을 따르며 변경되지 않은 상태로 남겨둡니다.
NLB 리스너 및 DNS
NLB는 리스너 구성 및 Route 53에서 별칭 레코드를 생성하는 데 사용되는 DNS 이름을 표시합니다.
5. 대상 그룹

대상 그룹은 등록된 ECS 작업을 상태 확인 결과 및 라우팅 구성과 함께 표시합니다.
🧪 N8N 워크플로우 테스트
1. N8N UI 접근
구성된 경우 NLB DNS 이름 또는 사용자 지정 도메인으로 이동합니다:
https://n8n.simflexcloud.com

N8N 인터페이스에는 워크플로우 편집기가 표시되며, 여기서 자동화 워크플로우를 생성, 테스트 및 모니터링할 수 있습니다.
2. 테스트 워크플로우 만들기
예시 워크플로우: 인터넷에서 영감을 주는 인용구를 매일 Slack에 전송합니다.
3. 실행 확인

Slack 통합은 메시지가 구성된 Slack 채널에 전달되는 성공적인 워크플로우 실행을 보여줍니다.
🧹 Cleanup Stack
지속적인 AWS 비용을 방지하려면 모든 리소스를 삭제하십시오:
# Destroy the CDK stack
pnpm run destroy
🎉 결론
이 CDK 솔루션은 AWS ECS에서 N8N을 실행하기 위한 확장 가능하고 비용 최적화된 인프라스트럭처‑코드(AWS CDK)를 제공합니다.




