InfoGrab DocsInfoGrab Docs

외부 스토리지

요약

n8n은 워크플로 실행에서 생성된 바이너리 데이터를 외부에 저장할 수 있습니다. n8n은 향후 다른 데이터 유형에 대한 외부 스토리지도 도입할 예정입니다. n8n은 워크플로 실행에서 생성된 바이너리 데이터의 외부 저장소로 AWS S3를 지원합니다.

기능 가용성
  • 셀프 호스팅 Enterprise 플랜에서 사용 가능
  • Cloud Enterprise에서 이 기능에 대한 접근을 원하시면 n8n에 문의하세요.

n8n은 워크플로 실행에서 생성된 바이너리 데이터를 외부에 저장할 수 있습니다. 이 기능은 대량의 바이너리 데이터를 저장하기 위해 파일시스템에 의존하는 것을 방지하는 데 유용합니다.

n8n은 향후 다른 데이터 유형에 대한 외부 스토리지도 도입할 예정입니다.

S3에 n8n 바이너리 데이터 저장#

n8n은 워크플로 실행에서 생성된 바이너리 데이터의 외부 저장소로 AWS S3를 지원합니다. Cloudflare R2 및 Backblaze B2와 같은 다른 S3 호환 서비스를 사용할 수 있지만, n8n은 이들을 공식적으로 지원하지 않습니다.

Enterprise 전용 기능

외부 스토리지를 사용하려면 Enterprise 라이선스 키가 필요합니다. 라이선스 키가 만료되고 S3 모드를 유지하는 경우, 인스턴스는 S3 버킷에서 읽기는 가능하지만 쓰기는 불가능합니다.

설정#

AWS 문서를 따라 버킷을 생성하고 구성하세요. 다음 정책을 사용할 수 있으며, <bucket-name>을 생성한 버킷 이름으로 교체하세요:

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "VisualEditor0",
   "Effect": "Allow",
   "Action": ["s3:*"],
   "Resource": ["arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*"]
  }
 ]
}

S3가 오래된 바이너리 데이터를 자동으로 삭제하도록 버킷 수준 수명 주기 구성을 설정하세요. n8n은 바이너리 데이터 정리를 S3에 위임하므로, 바이너리 데이터를 무기한 보존하려는 경우가 아니라면 수명 주기 구성 설정이 필요합니다.

버킷 생성을 완료하면 호스트, 버킷 이름과 리전, 액세스 키 ID와 시크릿 액세스 키를 얻게 됩니다. 이것들을 n8n의 환경에 설정해야 합니다:

export N8N_EXTERNAL_STORAGE_S3_HOST=... # example: s3.us-east-1.amazonaws.com
export N8N_EXTERNAL_STORAGE_S3_BUCKET_NAME=...
export N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION=...
export N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY=...
export N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET=...
리전 없음

제공업체에 리전이 필요하지 않은 경우, N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION'auto'로 설정할 수 있습니다.

S3 버킷 리전 형식 검증 및 업데이트 (v2.6.4 이상)#

n8n v2.6.4부터 환경 변수 N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION의 값은 다음 조건을 충족해야 합니다:

  • 영숫자 문자(a-z, A-Z, 0-9)와 하이픈(-)만 포함.
  • 밑줄(_) 또는 기타 특수 문자를 포함하지 않음.

이 조건이 충족되지 않으면, 스토리지 엔드포인트에 도달 가능하고 이전 버전에서 정상적으로 작동하던 경우에도 n8n이 연결 오류와 함께 시작에 실패합니다.

n8n을 v2.6.4로 업그레이드한 후 S3 연결이 실패하면, 리전 값이 이 조건을 충족하는지 확인하고 n8n을 재배포하세요.

n8n에 바이너리 데이터를 S3에 저장하도록 지시합니다:

export N8N_AVAILABLE_BINARY_DATA_MODES=filesystem,s3
export N8N_DEFAULT_BINARY_DATA_MODE=s3
인증 자동 감지

S3 호출 인증을 위한 자격 증명을 자동으로 감지하려면 N8N_EXTERNAL_STORAGE_S3_AUTH_AUTO_DETECTtrue로 설정하세요. 이렇게 하면 기본 자격 증명 제공자 체인이 사용됩니다.

새 구성을 로드하려면 서버를 재시작하세요.

사용법#

S3를 활성화하면 n8n은 새로운 바이너리 데이터를 S3 버킷에 쓰고 읽습니다. n8n은 다음 형식으로 바이너리 데이터를 S3 버킷에 씁니다:

workflows/{workflowId}/executions/{executionId}/binary_data/{binaryFileId}

filesystemN8N_AVAILABLE_BINARY_DATA_MODES에 옵션으로 남아 있는 경우, n8n은 파일시스템에 저장된 이전 바이너리 데이터를 계속 파일시스템에서 읽습니다.

S3에 바이너리 데이터를 저장한 후 나중에 파일시스템 모드로 전환하면, s3N8N_AVAILABLE_BINARY_DATA_MODES에 계속 나열되어 있고 S3 자격 증명이 유효한 한, 인스턴스는 S3에 저장된 모든 데이터를 계속 읽습니다.

바이너리 데이터 정리

바이너리 데이터 정리는 현재 활성화된 바이너리 데이터 모드를 기준으로 동작합니다. 예를 들어, 인스턴스가 S3에 데이터를 저장하다가 나중에 파일시스템 모드로 전환한 경우, n8n은 파일시스템의 바이너리 데이터만 정리합니다. 이 동작은 향후 변경될 수 있습니다.

S3 스토리지 업그레이드 모범 사례#

S3 또는 S3 호환 스토리지를 사용할 때:

  1. 프로토콜 비호환성을 방지하려면 모든 n8n 구성 요소(main, worker, runner)를 동일한 버전으로 동시에 업그레이드하세요.
  2. HTTP를 통한 온프레미스 또는 S3 호환 스토리지의 경우, N8N_EXTERNAL_STORAGE_S3_PROTOCOL=http를 설정하고 호스트 구성에 프로토콜을 포함하세요.
  3. 지원되는 환경 변수 이름만 사용하세요: 액세스 키에는 N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY를 사용합니다.

최신 n8n 버전은 더 엄격한 유효성 검사 및 프로토콜 처리를 적용합니다. 업그레이드 후 이전 구성을 업데이트해야 할 수 있습니다.

외부 스토리지

n8n v2.25
원문 보기
요약

n8n은 워크플로 실행에서 생성된 바이너리 데이터를 외부에 저장할 수 있습니다. n8n은 향후 다른 데이터 유형에 대한 외부 스토리지도 도입할 예정입니다. n8n은 워크플로 실행에서 생성된 바이너리 데이터의 외부 저장소로 AWS S3를 지원합니다.

기능 가용성
  • 셀프 호스팅 Enterprise 플랜에서 사용 가능
  • Cloud Enterprise에서 이 기능에 대한 접근을 원하시면 n8n에 문의하세요.

n8n은 워크플로 실행에서 생성된 바이너리 데이터를 외부에 저장할 수 있습니다. 이 기능은 대량의 바이너리 데이터를 저장하기 위해 파일시스템에 의존하는 것을 방지하는 데 유용합니다.

n8n은 향후 다른 데이터 유형에 대한 외부 스토리지도 도입할 예정입니다.

S3에 n8n 바이너리 데이터 저장#

n8n은 워크플로 실행에서 생성된 바이너리 데이터의 외부 저장소로 AWS S3를 지원합니다. Cloudflare R2 및 Backblaze B2와 같은 다른 S3 호환 서비스를 사용할 수 있지만, n8n은 이들을 공식적으로 지원하지 않습니다.

Enterprise 전용 기능

외부 스토리지를 사용하려면 Enterprise 라이선스 키가 필요합니다. 라이선스 키가 만료되고 S3 모드를 유지하는 경우, 인스턴스는 S3 버킷에서 읽기는 가능하지만 쓰기는 불가능합니다.

설정#

AWS 문서를 따라 버킷을 생성하고 구성하세요. 다음 정책을 사용할 수 있으며, <bucket-name>을 생성한 버킷 이름으로 교체하세요:

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "VisualEditor0",
   "Effect": "Allow",
   "Action": ["s3:*"],
   "Resource": ["arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*"]
  }
 ]
}

S3가 오래된 바이너리 데이터를 자동으로 삭제하도록 버킷 수준 수명 주기 구성을 설정하세요. n8n은 바이너리 데이터 정리를 S3에 위임하므로, 바이너리 데이터를 무기한 보존하려는 경우가 아니라면 수명 주기 구성 설정이 필요합니다.

버킷 생성을 완료하면 호스트, 버킷 이름과 리전, 액세스 키 ID와 시크릿 액세스 키를 얻게 됩니다. 이것들을 n8n의 환경에 설정해야 합니다:

export N8N_EXTERNAL_STORAGE_S3_HOST=... # example: s3.us-east-1.amazonaws.com
export N8N_EXTERNAL_STORAGE_S3_BUCKET_NAME=...
export N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION=...
export N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY=...
export N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET=...
리전 없음

제공업체에 리전이 필요하지 않은 경우, N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION'auto'로 설정할 수 있습니다.

S3 버킷 리전 형식 검증 및 업데이트 (v2.6.4 이상)#

n8n v2.6.4부터 환경 변수 N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION의 값은 다음 조건을 충족해야 합니다:

  • 영숫자 문자(a-z, A-Z, 0-9)와 하이픈(-)만 포함.
  • 밑줄(_) 또는 기타 특수 문자를 포함하지 않음.

이 조건이 충족되지 않으면, 스토리지 엔드포인트에 도달 가능하고 이전 버전에서 정상적으로 작동하던 경우에도 n8n이 연결 오류와 함께 시작에 실패합니다.

n8n을 v2.6.4로 업그레이드한 후 S3 연결이 실패하면, 리전 값이 이 조건을 충족하는지 확인하고 n8n을 재배포하세요.

n8n에 바이너리 데이터를 S3에 저장하도록 지시합니다:

export N8N_AVAILABLE_BINARY_DATA_MODES=filesystem,s3
export N8N_DEFAULT_BINARY_DATA_MODE=s3
인증 자동 감지

S3 호출 인증을 위한 자격 증명을 자동으로 감지하려면 N8N_EXTERNAL_STORAGE_S3_AUTH_AUTO_DETECTtrue로 설정하세요. 이렇게 하면 기본 자격 증명 제공자 체인이 사용됩니다.

새 구성을 로드하려면 서버를 재시작하세요.

사용법#

S3를 활성화하면 n8n은 새로운 바이너리 데이터를 S3 버킷에 쓰고 읽습니다. n8n은 다음 형식으로 바이너리 데이터를 S3 버킷에 씁니다:

workflows/{workflowId}/executions/{executionId}/binary_data/{binaryFileId}

filesystemN8N_AVAILABLE_BINARY_DATA_MODES에 옵션으로 남아 있는 경우, n8n은 파일시스템에 저장된 이전 바이너리 데이터를 계속 파일시스템에서 읽습니다.

S3에 바이너리 데이터를 저장한 후 나중에 파일시스템 모드로 전환하면, s3N8N_AVAILABLE_BINARY_DATA_MODES에 계속 나열되어 있고 S3 자격 증명이 유효한 한, 인스턴스는 S3에 저장된 모든 데이터를 계속 읽습니다.

바이너리 데이터 정리

바이너리 데이터 정리는 현재 활성화된 바이너리 데이터 모드를 기준으로 동작합니다. 예를 들어, 인스턴스가 S3에 데이터를 저장하다가 나중에 파일시스템 모드로 전환한 경우, n8n은 파일시스템의 바이너리 데이터만 정리합니다. 이 동작은 향후 변경될 수 있습니다.

S3 스토리지 업그레이드 모범 사례#

S3 또는 S3 호환 스토리지를 사용할 때:

  1. 프로토콜 비호환성을 방지하려면 모든 n8n 구성 요소(main, worker, runner)를 동일한 버전으로 동시에 업그레이드하세요.
  2. HTTP를 통한 온프레미스 또는 S3 호환 스토리지의 경우, N8N_EXTERNAL_STORAGE_S3_PROTOCOL=http를 설정하고 호스트 구성에 프로토콜을 포함하세요.
  3. 지원되는 환경 변수 이름만 사용하세요: 액세스 키에는 N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY를 사용합니다.

최신 n8n 버전은 더 엄격한 유효성 검사 및 프로토콜 처리를 적용합니다. 업그레이드 후 이전 구성을 업데이트해야 할 수 있습니다.