콘텐츠로 이동

NetFUNNEL Akamai 에이전트는 Akamai EdgeWorkers에서 동작하며, 요청이 오리진 서버에 도달하기 전에 엣지에서 대기열을 제어합니다. 애플리케이션 코드를 수정하지 않고 Akamai Control Center 설정만으로 적용할 수 있습니다.

  • EdgeWorkers를 사용할 수 있는 Akamai Control Center 계정
  • 대기열을 적용할 서비스의 Akamai Property (또는 새로 만들 Property의 호스트 이름)
  • NetFUNNEL 콘솔에서 확인한 CLIENT_ID
  • NetFUNNEL Akamai 에이전트 코드

대기열 제어 지점은 NetFUNNEL 콘솔의 세그먼트 트리거 규칙을 통해 설정할 수 있습니다. 사용자가 접속한 페이지의 URL과 트리거 규칙을 비교하여 일치하는 경우 대기열이 적용됩니다.

  • 대기 전: 엣지로 요청 유입 → EdgeWorker 실행 → 트리거 규칙 매치
  • 대기 중: 넷퍼넬 서버 요청 → 넷퍼넬 키 발급 → 대기실 페이지로 이동
  • 대기 후: 서비스 페이지 진입 → 넷퍼넬 키 반납
  1. Akamai Control Center 메뉴에서 EdgeWorkers를 클릭합니다.
  2. Create EdgeWorker ID를 클릭하고 정보를 입력한 뒤, 다시 Create EdgeWorker ID를 클릭합니다.
  3. 생성한 EdgeWorker를 선택하고 Create version을 클릭합니다.
  4. Open editor를 클릭합니다.

Code Bundle 탭에서 아래 두 파일을 작성합니다.

  • main.js: NetFUNNEL Akamai 에이전트 코드를 그대로 붙여 넣습니다.
  • bundle.json: 아래와 같이 작성합니다.
bundle.json
{
"edgeworker-version": "1.0.0",
"description": "akamai-agent-1.0.0"
}

작성을 마치면 Create new version을 클릭합니다.

  1. 생성한 버전에서 Activate version을 클릭합니다.
  2. 네트워크로 Production을 선택하고 Activate version을 클릭합니다.
  3. Current Status가 Complete가 될 때까지 기다립니다.
  • 새 Property를 만드는 경우: New Property > Create Property > Guide me를 선택하고 호스트 이름을 입력합니다. 호스트 이름 검증, Edge Certificate 선택, 캐싱 설정을 거쳐 STEP 1~5를 완료한 뒤 Exit를 클릭합니다.
  • 기존 Property를 사용하는 경우: Properties에서 대상 Property를 선택하고, 가장 최신 버전을 엽니다.

Property의 Property Variables에 아래 변수를 추가합니다.

변수 값 설명
NF_CLIENT_ID {CLIENT_ID} NetFUNNEL 콘솔에서 확인한 클라이언트 아이디
NF_CLIENT_IP (비워 둠) 사용자 IP를 담는 변수. 아래 NF EdgeWorker 규칙에서 값을 채웁니다.

Property Configuration Settings에 아래 3개의 규칙을 추가합니다. 명시하지 않은 항목은 기본값을 사용합니다.

HTML 페이지 요청에서 사용자 IP를 변수에 저장하고, NetFUNNEL EdgeWorker를 실행합니다.

구분 항목 값
Criteria Path matches one of /*
Criteria File Extension is one of html
Behavior Set Variable Variable: PMUSER_NF_CLIENT_IP
Create Value From: Expression
Expression: {{builtin.AK_CLIENT_REAL_IP}}
Operation: None
Behavior EdgeWorkers Identifier: 3단계에서 생성한 EdgeWorker

대기열 처리 요청(/ts.wseq)을 NetFUNNEL 서버로 전달합니다.

구분 항목 값
Criteria Path matches one of /ts.wseq
Behavior Origin Server Origin Type: Your Origin
Origin Server Hostname: {CLIENT_ID}.netfunnel.stclab.com
Forward Host Header: Origin Hostname
Cache Key Hostname: Origin Hostname

NetFUNNEL 설정 파일 요청을 설정 파일 저장소로 전달합니다.

구분 항목 값
Criteria Path matches one of /{CLIENT_ID}.netfunnel/nf-setting.json
Behavior Origin Server Origin Type: Your Origin
Origin Server Hostname: nf-setting-bucket.stclab.com
Forward Host Header: Origin Hostname
Cache Key Hostname: Origin Hostname
  1. 화면 우측 하단의 Save를 클릭합니다.
  2. Activate 탭으로 이동해 Production Network의 Activate v{버전} on Production을 클릭합니다.
  3. 검증 결과의 경고 내용을 확인하고 체크한 뒤, 다시 Activate v{버전} on Production을 클릭합니다.

Property 변수와 규칙을 추가해 부가 기능을 사용할 수 있습니다.

기능 설정 위치 기본값 설명
선의의 봇 제외 NF EdgeWorker 규칙의 Criteria에 User Agent is not one of 추가 - 검색엔진 등 선의의 봇 User-Agent를 대기열 제어에서 제외합니다.
키 자동 반납 NF_RETURN_KEY 변수 true true: 진입 후 즉시 키를 반납합니다.
false: 세그먼트의 타임아웃 시점에 반납합니다.
대기실 도메인 NF_VWR_PAGE_DOMAIN 변수 agent-lib.stclab.com 대기실 페이지 도메인을 지정합니다. 형식: http(s)://{CNAME_DOMAIN}. 사용 전 STCLab에 도메인 등록을 요청해야 합니다.
쿠키 도메인 NF_COOKIE_DOMAIN 변수 현재 페이지 도메인 키 쿠키의 도메인을 지정합니다. 형식: .{MAIN_DOMAIN} (예: .stclab.com). 하위 도메인 간에 키를 공유할 때 사용합니다.

대기열 제어 지점은 NetFUNNEL 콘솔의 세그먼트 트리거 규칙을 통해 설정할 수 있습니다. 사용자가 접속한 페이지의 URL과 트리거 규칙을 비교하여 일치하는 경우 대기열이 적용됩니다.

트리거 규칙 설정 방법은 트리거 규칙 문서를 참고하세요.