Create ECA Function

최신 업데이트:2024-09-03 15:10:10

이 가이드에서는 CDNetworks 에지 클라우드 앱 함수 컴퓨팅 플랫폼에서 서버리스 함수를 생성하는 방법을 안내합니다.

서버리스 함수란 무엇인가요?

서버리스 아키텍처에서 함수는 특정 작업 또는 로직을 수행하도록 설계된 자체 포함된 코드 블록입니다. HTTP 요청, 데이터베이스 작업, 메시지 큐 또는 파일 업로드와 같은 이벤트에 의해 트리거됩니다. 서버리스 플랫폼은 다양한 트래픽 요구 사항을 처리하기 위해 이러한 함수를 자동으로 확장합니다. 각 함수 실행은 독립적이고 상태 비저장 방식으로, 이전 호출의 상태를 유지하지 않습니다. 영구 데이터 스토리지의 경우 데이터베이스 또는 객체 스토리지와 같은 외부 서비스를 사용해야 합니다.

함수는 서버리스 아키텍처의 핵심 구성 요소입니다. 개발자는 함수 코드를 작성하고 서버리스 플랫폼에 배포합니다. 서버리스 플랫폼은 함수의 실행, 확장 및 리소스 할당을 처리합니다. 이러한 접근 방식을 종종 “서버리스 함수” 또는 “Function-as-a-Service”(FaaS)라고 합니다. 기존 서버 아키텍처와 달리 서버리스 아키텍처를 사용하면 개발자가 기본 서버 및 인프라를 관리하지 않고도 비즈니스 로직 작성에 집중할 수 있습니다.

V8 엔진을 기반으로 구축된 에지 클라우드 앱 함수 컴퓨팅은 밀리초 수준의 콜드 스타트와 리소스 격리를 갖춘 경량의 고성능 서버리스 런타임 환경을 제공합니다. 높은 동시성 시나리오에서 함수 코드의 실행 효율성을 크게 높이기 위해 런타임 컨텍스트 전환을 최적화했습니다. V8 기술의 초저 지연 콜드 스타트 기능을 활용하여 요청 시 함수를 빠르게 로드하고 서로 간섭 없이 서로 다른 기능 간에 빠르게 전환할 수 있습니다.

서버리스 함수 생성 시작

서버리스 함수를 생성하기 전에 CDNetworks 플랫폼에서 유효하고 구성된 CDN 가속 도메인이 있는지 확인하세요.

  1. CDNetworks 콘솔에 로그인하고 에지 애플리케이션 제품을 선택한 다음 에지 클라우드 앱 메뉴 모음 아래의 함수 목록 페이지로 이동합니다.
  2. 함수 생성을 클릭하여 함수 생성 페이지에 액세스합니다.
  3. 함수에 대한 다음 기본 정보를 제공합니다.
    • 함수 이름: 함수의 전역적으로 고유한 내부 식별자입니다. 소문자 영문자, 숫자, 밑줄(_), 하이픈(-)만 허용되며 길이는 3~32자여야 합니다. 예: image-resizer 또는 user-auth.
    • 함수 별칭: 콘솔에서 쉽게 식별할 수 있는 사용자 친화적인 별칭입니다. 영어 또는 중국어로 지정할 수 있으며 숫자, 밑줄(_), 하이픈(-)을 포함할 수 있으며 길이는 3~64자여야 합니다. 예: “이미지 크기 조정기” 또는 “사용자 인증”.
    • 테스트 도메인: 계정 아래의 도메인을 테스트 도메인으로 선택합니다. 이 도메인은 온라인 디버깅에 사용되며 테스트 환경에서만 적용되며 실시간 프로덕션 트래픽에는 영향을 미치지 않습니다.
  4. 함수 생성 방법을 선택합니다. 에지 클라우드 앱은 두 가지 접근 방식을 지원합니다.
  • 템플릿 사용: 플랫폼은 다양한 일반적인 기능을 다루는 다양한 사전 구축된 함수 템플릿을 제공합니다. 이러한 템플릿을 사용하면 처음부터 코드를 작성하지 않고도 새 함수 콘텐츠를 빠르게 빌드할 수 있습니다. 스트림 M3u8 재작성, 웹 링크 재작성 및 집계된 요청 및 응답과 같은 기능에 대한 함수를 빠르게 생성할 수 있습니다. 각 템플릿에는 사용법을 이해하는 데 도움이 되는 자세한 지침이 제공됩니다. 함수를 생성할 템플릿을 선택하면 CloudIDE 인터페이스에 해당 샘플 코드가 표시됩니다. 템플릿 라이브러리는 지속적으로 업데이트 및 확장되며 새로운 템플릿이 개발 중입니다.

  • 템플릿 없음: 더 사용자 지정된 함수를 생성해야 하거나 처음부터 함수를 빌드하려는 경우 "템플릿 없음"으로 함수를 생성하도록 선택할 수 있습니다. 그러면 코드를 자유롭게 작성할 수 있는 빈 CloudIDE 인터페이스로 이동합니다.


함수 코드 작성

함수를 생성하면 페이지가 자동으로 CloudIDE 인터페이스로 리디렉션됩니다. CloudIDE 내에서 코드를 자유롭게 작성, 편집 및 디버깅할 수 있습니다. CloudIDE는 Visual Studio Code와 유사하게 간소화된 코딩 환경을 위해 구문 강조 표시, 자동 완성 및 오류 프롬프트와 같은 기능을 제공합니다. CloudIDE에 대한 자세한 내용은 CloudIDE 문서를 참조하세요.

참고
각 함수에는 복잡한 함수 로직을 더 잘 구성하고 관리하기 위해 여러 JavaScript 파일이 포함될 수 있습니다. 그러나 각 함수에는 진입점으로 index.js 파일이 포함되어야 합니다. 함수가 트리거되면 플랫폼은 index.js 파일에서 코드를 실행하기 시작합니다.

함수 테스트

CloudIDE에서 코드를 작성한 후 기본 제공 테스트 도구를 사용하여 함수를 테스트할 수 있습니다.

  1. 저장 및 테스트 버튼을 클릭하여 현재 코드 버전을 저장하고 Git 저장소에 자동으로 커밋하고 테스트 환경에 배포합니다. 또한 시뮬레이션된 테스트 플러그인을 초기화하여 함수 테스트를 용이하게 합니다.
  2. 고유한 테스트 링크가 생성되어 각 함수에 할당되고 테스트 페이지의 주소 표시줄에 표시됩니다. 이 링크는 테스트 요청을 테스트 환경의 함수 실행 구성 요소로 전달하는 중간 서비스를 가리킵니다. 결과는 처리되어 검토 및 분석을 위해 CloudIDE로 반환됩니다. 디버깅을 시작하려면 테스트하려는 URI 경로를 이 테스트 링크에 추가합니다. 예를 들어 /example 경로를 테스트하려면 http://dev.wsls.haplat.net:8123/cloudide/staging/test/xxxxxxxxxx/example과 같은 주소를 입력합니다. 이 URI에 해당하는 리소스가 실제로 존재하고 테스트 도메인에서 유효한지 확인하세요.
  3. 테스트 페이지의 각 탭에서 요청 메서드, 헤더 및 본문 콘텐츠를 구성하여 다양한 요청 시나리오를 시뮬레이션할 수 있습니다.
  4. 전송 버튼을 클릭하여 테스트 환경으로 요청을 전송하고 함수의 응답 및 디버깅 정보를 봅니다.


함수 배포

함수 작성 및 테스트를 완료하면 프로덕션 환경에 배포할 수 있습니다. 에지 클라우드 앱 플랫폼은 안전하고 안정적인 배포 프로세스를 보장하기 위해 그레이스케일 배포를 지원합니다. 함수 배포에 대한 자세한 내용은 함수 배포 문서를 참조하세요.

이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.