Akamai Agent
개요
NetFUNNEL Akamai 에이전트는 Akamai EdgeWorker에서 NetFUNNEL 서버와 통신하는 NetFUNNEL 전용 클라이언트입니다.
EdgeWorker 생성
- 메뉴의 [EdgeWorkers]를 클릭합니다.
- [Create EdgeWorker ID]를 클릭합니다.
- 내용을 입력하고 [Create EdgeWorker ID]를 클릭하여 EdgeWorker를 생성합니다.
- 생성한 EdgeWorker를 선택하고 [Create version]을 클릭합니다.
- [Open editor]를 클릭합니다.
에이전트 코드 업로드
- https://agent-lib.stclab.com/agents/cdn/akamai/netfunnel-akamai-agent-latest.js 에서 netfunnel-akamai-agent.js 파일을 다운받으세요.
- [Code Bundle] 탭에 main.js 파일을 선택하고 netfunnel-akamai-agent.js파일의 내용을 붙여넣습니다.
- bundle.json 파일을 선택하고 아래 코드를 참고해 작성해주세요.
{
"edgeworker-version": "1.0.0",
"description" : "akamai-agent-1.0.0"
}
- [Create new version]을 클릭하여 버전을 생성합니다.
EdgeWorker 배포
- 생성이 완료되면 [Activate version]을 클릭합니다.
- [Production]을 선택하고 [Activate version]을 클릭하여 배포합니다.
- 배포가 완료되면 Current Status가 Complete가 됩니다.
Property 설정
Property 생성
이미 생성한 Property가 있다면 Property 설정 단계로 넘어가세요.
- 메뉴의 [Properties]를 클릭합니다.
- [New Property]를 클릭합니다.
- [Create Property]를 클릭합니다.
- [Guide me]를 클릭합니다.
- 내용을 입력하고 [Next] 버튼을 클릭합니다.
- 입력한 Hostname의 값이 정상적으로 등록되었는지 확인 후 [Next] 버튼을 클릭합니다.
- STEP1 단계에 진입합니다.
- 내용을 입력하고 [Validate] 버튼을 누르고, 환경에 맞는 EDGE CERTIFICATE를 선택합니다.
- [Continue]를 누르고 캐시 설정 후 [Next]를 클릭합니다.
- STEP2 단계에 진입합니다. [Next]를 클릭합니다.
- STEP3 단계에 진입합니다. [Activate]를 클릭합니다.
- 진행 완료 후 [Next]를 클릭합니다.
- STEP4 단계에 진입합니다. [Next]를 클릭합니다.
- STEP5 단계에 진입합니다. [Exit]를 클릭하여 Property 생성을 완료합니다.
Property 설정
Property 선택
- 메뉴의 [Properties]를 클릭합니다.
- 생성한 Property를 선택합니다.
- 수정할 버전을 선택합니다. (가장 위에 있는 버전을 선택하세요.)
Property Variables 설정
- 아래 표를 참고하여 Property Variables를 추가합니다.
| VARIABLE NAME | INITIAL VALUE |
|---|---|
| NF_CLIENT_ID | CLIENT_ID |
CLIENT_ID는 NetFUNNEL 콘솔에서 확인하세요.
Property Configuration Settings 설정
EdgeWorker Rule 추가
- Property Configuration Settings에서 [+Rules]를 클릭합니다.
- [Blank Rule Template]를 선택하고 입력창에 NF EdgeWorker라고 입력한 후 [Insert Rule]을 클릭합니다.
- Criteria에서 [+Match]를 클릭하고 다음과 같이 설정합니다.
- Path
- matches one of
- /*
- [+Match]를 클릭하고 다음과 같이 설정합니다.
- File Extension
- is not one of
- hdml, html을 제외한 모든 확장자를 선택합니다.
- 폰트, 동영상, 오디오, 문서 파일 등을 제외하기 위해 다음 확장자들도 추가합니다: woff, woff2, ttf, eot, otf, sfnt, svg, webp, avif, map, mp4, webm, ogg, ogv, flac, acc, docx, xls, xlsx, ppt, pptx, csv, xml, json
- Behaviors에서 [+Behavior]를 클릭하고 Standard property behavior를 선택합니다.
- EdgeWorkers를 선택하고 [Insert Behavior]를 클릭합니다.
- Identifier에서 이전에 생성한 EdgeWorker를 선택합니다.
Core Origin Rule 추가
- Property Configuration Settings에서 [+Rules]를 클릭합니다.
- [Blank Rule Template]를 선택하고 입력창에 NF Core Origin라고 입력 후 [Insert Rule]을 클릭합니다.
- Criteria에서 [+Match]를 클릭하고 다음과 같이 설정합니다.
- Path
- matches one of
- /ts.wseq
- Behaviors에서 [+Behavior]를 클릭하고 Standard property behavior를 선택합니다.
- Origin Server를 선택하고 [Insert Behavior]를 클릭합니다.
- 아래 표를 참고하여 설정해주세요. (표에 나오지 않은 항목은 기본값으로 설정하면 됩니다.)
| Origin Type | Your Origin |
|---|---|
| Origin Server Hostname | {CLIENT_ID}.netfunnel.stclab.com e.g. stclab-0601.netfunnel.stclab.com |
| Forward Host Header | Origin Hostname |
| Cache Key Hostname | Origin Hostname |
Setting Origin Rule 추가
- Property Configuration Settings에서 [+Rules]를 클릭합니다.
- [Blank Rule Template]를 선택하고 입력창에 NF Setting Origin라고 입력 후 [Insert Rule]을 클릭합니다.
- Criteria에서 [+Match]를 클릭하고 다음과 같이 설정합니다:
- Path
- matches one of
{{NF_SETTING_URL}}의 Path (e.g. /stclab-0601.netfunnel/nf-setting.json)
- Behaviors에서 [+Behavior]를 클릭하고 Standard property behavior를 선택합니다.
- Origin Server를 선택하고 [Insert Behavior]를 클릭합니다.
- 아래 표를 참고하여 설정해주세요. (표에 나오지 않은 항목은 기본값으로 설정하면 됩니다.)
| Origin Type | Your Origin |
|---|---|
| Origin Server Hostname | nf-setting-bucket.stclab.com |
| Forward Host Header | Origin Hostname |
| Cache Key Hostname | Origin Hostname |
Property 저장 및 활성화
- 우측 하단의 [Save] 버튼을 클릭합니다.
- 상단의 [Activate] 탭을 누르고 Production Network에서 [
Activate {version} on Production]을 클릭합니다. - Verifying이 완료되면 상단의 경고 메세지의 박스를 체크하고 [
Activate {version} on Production]을 클릭합니다. - 진행이 끝나면 Property의 활성화가 완료됩니다.
부가 기능
Good Bot 예외 처리
Property 설정을 통해 특정 User-Agent 값이 포함되어 있을 경우 에이전트 동작으로부터 예외 처리할 수 있습니다.
Property 설정
- EdgeWorker가 적용되어 있는 Property를 선택합니다.
- Property Configuration Settings에서 NF EdgeWorker를 선택합니다.
- Criteria에서 [+Match]를 클릭합니다.
- User Agent, is not one of를 선택합니다.
- 예외하고 싶은 굿 봇의 User-Agent를 추가합니다.
- 우측 하단의 [Save] 버튼을 클릭합니다.
- 상단의 [Activate] 탭을 누르고 Production Network에서 [
Activate {version} on Production]을 클릭합니다. - Verifying이 완료되면 상단의 경고 메세지의 박스를 체크하고 [
Activate {version} on Production]을 클릭합니다.
진입 키 자동 반납 처리
NetFUNNEL Akamai 에이전트는 진입 후 넷퍼넬 키를 자동으로 반납하여 다음 대기자가 진입할 수 있도록 처리하고 있습니다. 만약, 넷퍼넬 키를 바로 반납하지 않고 세그먼트에서 설정한 타임아웃 시간에 넷퍼넬 키를 반납하고 싶은 경우에 사용할 수 있는 기능입니다.
Property 설정
- EdgeWorker가 적용되어 있는 Property를 선택합니다.
- 아래 표를 참고하여 Property Variables를 추가합니다.
| VARIABLE NAME | INITIAL VALUE |
|---|---|
| NF_RETURN_KEY | true |
true(기본값)로 할 경우, 대기 완료 후 진입 시 에이전트에서 넷퍼넬 키를 자동으로 반납합니다. false로 할 경우 세그먼트에서 설정한 타임아웃 시간에 키가 반납 처리됩니다.
- 우측 하단의 [Save] 버튼을 클릭합니다.
- 상단의 [Activate] 탭을 누르고 Production Network에서 [
Activate {version} on Production]을 클릭합니다. - Verifying이 완료되면 상단의 경고 메세지의 박스를 체크하고 [
Activate {version} on Production]을 클릭합니다.
대기실 도메인 변경
NetFUNNEL 대기실 페이지의 도메인은 agent-lib.stclab.com입니다. 해당 도메인을 서비스 중인 도메인에 맞게 변경하려면 NetFUNNEL 서비스팀을 통해 원하는 도메인을 알려주시고, Property 설정을 변경해야 합니다.
Property 설정
- EdgeWorker가 적용되어 있는 Property를 선택합니다.
- 아래 표를 참고하여 Property Variables를 추가합니다.
| VARIABLE NAME | INITIAL VALUE |
|---|---|
| NF_VWR_PAGE_DOMAIN | http(s)://{CNAME_DOMAIN} e.g. https://wait.stclab.com |
- 우측 하단의 [Save] 버튼을 클릭합니다.
- 상단의 [Activate] 탭을 누르고 Production Network에서 [
Activate {version} on Production]을 클릭합니다. - Verifying이 완료되면 상단의 경고 메세지의 박스를 체크하고 [
Activate {version} on Production]을 클릭합니다.
쿠키 도메인 설정
NetFUNNEL 서버에서 발급한 키를 쿠키에 저장할 때 현재 페이지의 도메인을 기준으로 저장합니다. 만약 서로 다른 서브도메인 간에 키를 공유해야할 경우 메인 도메인이 쿠키에 저장되도록 설정합니다.
develop.stclab.com과 staging.stclab.com와 같이 서브도메인이 서로 다른 페이지에서 쿠키를 공유하도록 .stclab.com으로 설정합니다.
Property 설정
- EdgeWorker가 적용되어 있는 Property를 선택합니다.
- 아래 표를 참고하여 Property Variables를 추가합니다.
| VARIABLE NAME | INITIAL VALUE |
|---|---|
| NF_COOKIE_DOMAIN | .{MAIN_DOMAIN} e.g. .stclab.com |
- 우측 하단의 [Save] 버튼을 클릭합니다.
- 상단의 [Activate] 탭을 누르고 Production Network에서 [
Activate {version} on Production]을 클릭합니다. - Verifying이 완료되면 상단의 경고 메세지의 박스를 체크하고 [
Activate {version} on Production]을 클릭합니다.