InfoGrab DocsInfoGrab Docs

Amazon Web Services에 n8n 호스팅하기

이 호스팅 가이드는 Amazon Web Services(AWS)로 n8n을 셀프 호스팅하는 방법을 보여줍니다. 필요한 리소스와 리버스 프록시를 관리하기 위해 쿠버네티스를 사용하여, 데이터베이스 백엔드로 Postgres를 사용하는 n8n을 다룹니다. 호스팅 옵션 # AWS는 n8n을 호스팅하기에 적합한 여러 방법을 제공하며, 여기에는 EC2(가상 머신)와 EKS(쿠버네티스로 실행되는 컨테이너)가 포함됩니다. 이 가이드에서는 호스팅 옵션으로 EKS 를 사용합니다. 쿠버네티스를 사용하려면 추가적인 복잡성과 구성이 필요하지만, 수요 변화에 따라 n8n을 확장하는 데 가장 좋은 방법입니다. 사전 준비 사항 # 이 가이드의 단계는 AWS UI와 EKS용 eksctl CLI 도구 를 함께 사용합니다. eksctl 문서에는 언급되어 있지 않지만, AWS CLI 도구도 설치 하고 해당 도구의 인증을 구성 해야 합니다. 참고 이 섹션의 상세 내용은 n8n 공식 문서 를 참조하세요. 참고 이 섹션의 상세 내용은 n8n 공식 문서 를 참조하세요. 클러스터 생성 # eksctl 도구를 사용하여 다음 명령으로 이름과 리전을 지정해 클러스터를 생성합니다. eksctl create cluster --name n8n --region <your-aws-region> 클러스터를 생성하는 데 다소 시간이 걸릴 수 있습니다. 클러스터가 생성되면 eksctl이 자동으로 kubectl 컨텍스트를 해당 클러스터로 설정합니다. 구성 리포지터리 클론 # 쿠버네티스와 n8n에는 일련의 구성 파일이 필요합니다. 이 리포지터리 에서 클론할 수 있습니다. 아래 단계는 각 파일의 역할과 변경해야 할 설정을 설명합니다. 다음 명령으로 리포지터리를 클론합니다. git clone https://github.com/n8n-io/n8n-hosting.git 그리고 디렉터리를 변경합니다. cd n8n-hosting/kubernetes Postgres 구성 # 대규모 n8n 배포의 경우, Postgres는 SQLite보다 더 견고한 데이터베이스 백엔드를 제공합니다. 영구 스토리지용 볼륨 구성 # 파드가 재시작되는 사이에도 데이터를 유지하려면 Postgres 배포에 영구 볼륨이 필요합니다. AWS의 기본 스토리지 클래스인 gp3 가 이 목적에 적합합니다. 이는 postgres-claim0-persistentvolumeclaim.yaml 매니페스트에 정의되어 있습니다. … spec: storageClassName: gp3 accessModes: - ReadWriteOnce … Postgres 환경 변수 # Postgres는 컨테이너에서 실행되는 애플리케이션에 전달할 몇 가지 환경 변수를 설정해야 합니다. 예시 postgres-secret.yaml 파일에는 사용자 세부 정보와 사용할 데이터베이스에 대해 자신의 값으로 교체해야 하는 자리 표시자가 들어 있습니다. PostgreSQL은 설정 및 관리를 위해 루트 사용자( POSTGRES_USER )를 사용하지만, n8n을 위해서는 별도의 루트가 아닌 사용