Akamai 통합 가이드
NetFUNNEL Akamai 에이전트는 Akamai EdgeWorker에서 NetFUNNEL 서버와 통신하는 NetFUNNEL 전용 클라이언트입니다.
1. EdgeWorker 설정
1.1 EdgeWorker 생성
Akamai 콘솔에서 EdgeWorkers로 이동합니다.
Create EdgeWorker ID를 클릭합니다.
내용을 입력하고 Create EdgeWorker ID를 클릭하여 EdgeWorker를 생성합니다.
생성한 EdgeWorker를 선택하고 Create version을 클릭합니다.
Open editor를 클릭합니다.
1.2 에이전트 코드 업로드
에이전트 파일을 다운로드합니다.
DownloadCode Bundle 탭에서
main.js파일을 선택하고netfunnel-akamai-agent-latest.js파일의 내용을 붙여넣습니다.bundle.json파일을 선택하고 아래 코드를 작성합니다.Create new version을 클릭하여 버전을 생성합니다.
{
"edgeworker-version": "1.0.0",
"description": "akamai-agent-1.0.0"
}
1.3 EdgeWorker 배포
생성이 완료되면 Activate version을 클릭합니다.
Production을 선택하고 Activate version을 클릭하여 배포합니다.
배포가 완료되면 Current Status가 Complete가 됩니다.
2. Property 설정
2.1 Property 생성
이미 생성한 Property가 있다면 2.2 Property 설정 단계로 넘어가세요.
Akamai 콘솔에서 Properties로 이동합니다.
New Property를 클릭합니다.
Create Property를 클릭합니다.
Guide me를 클릭합니다.
내용을 입력하고 Next 버튼을 클릭합니다.
입력한 Hostname의 값이 정상적으로 등록되었는지 확인 후 Next 버튼을 클릭합니다.
STEP1 단계에서 내용을 입력하고 Validate 버튼을 누르고, 환경에 맞는 EDGE CERTIFICATE를 선택합니다.
Continue를 누르고 캐시 설정 후 Next를 클릭합니다.
STEP2~STEP5 단계를 순서대로 진행하고 Exit를 클릭하여 Property 생성을 완료합니다.
2.2 Property 설정
2.2.1 Property 선택
Properties 메뉴로 이동합니다.
생성한 Property를 선택합니다.
수정할 버전을 선택합니다. (가장 위에 있는 버전을 선택하시면 됩니다.)
2.2.2 Property Variables 설정
CLIENT_ID는 NetFUNNEL 콘솔에서 확인하세요.
Variable Name | Initial Value |
|---|---|
NF_CLIENT_ID | {CLIENT_ID} |
2.3 Property Configuration Settings 설정
2.3.1 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, jsonBehaviors에서 + Behavior를 클릭하고 Standard property behavior를 선택합니다.
EdgeWorkers를 선택하고 Insert Behavior를 클릭합니다.
Identifier에서 이전에 생성한 EdgeWorker를 선택합니다.
2.3.2 Core Origin Rule 추가
Property Configuration Settings에서 + Rules를 클릭합니다.
Blank Rule Template를 선택하고 입력창에
NF Core Origin라고 입력 후 Insert Rule을 클릭합니다.Criteria에서 + Match를 클릭하고 다음과 같이 설정합니다. - Path - matches one of -
/ts.wseqBehaviors에서 + Behavior를 클릭하고 Standard property behavior를 선택합니다.
Origin Server를 선택하고 Insert Behavior를 클릭합니다.
항목 | 값 |
|---|---|
Origin Type | Your Origin |
Origin Server Hostname | {CLIENT_ID}.netfunnel.stclab.com |
Forward Host Header | Origin Hostname |
Cache Key Hostname | Origin Hostname |
2.3.3 Setting Origin Rule 추가
Property Configuration Settings에서 + Rules를 클릭합니다.
Blank Rule Template를 선택하고 입력창에
NF Setting Origin라고 입력 후 Insert Rule을 클릭합니다.Criteria에서 + Match를 클릭하고 다음과 같이 설정합니다. - Path - matches one of -
/{{serviceName}}.netfunnel/nf-setting.jsonBehaviors에서 + 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 |
2.3 Property 저장 및 활성화
우측 하단의 Save 버튼을 클릭합니다.
상단의 Activate 탭을 누르고 Production Network에서 Activate `{{VERSION}}` on Production을 클릭합니다.
Verifying이 완료되면 상단의 경고 메시지의 박스를 체크하고 Activate `{{VERSION}}` on Production을 클릭합니다.
진행이 끝나면 Property의 활성화가 완료됩니다.
3. 부가 기능
3.1 Good Bot 예외 처리
Property 설정을 통해 특정 User-Agent 값이 포함되어 있을 경우 에이전트 동작으로부터 예외 처리할 수 있습니다.
3.1.1 Property 설정
EdgeWorker가 적용되어 있는 Property를 선택합니다.
Property Configuration Settings에서 NF EdgeWorker를 선택합니다.
Criteria에서 + Match를 클릭합니다.
User Agent, is not one of를 선택합니다.
예외하고 싶은 굿 봇의 User-Agent를 추가합니다.
Google, Microsoft, Yahoo, Apple, Facebook 봇을 예외 처리한 예시입니다.Googlebot, Bingbot, Slurp, Applebot, facebookexternalhit
3.2 진입 키 자동 반납 처리
NetFUNNEL Akamai 에이전트는 진입 후 넷퍼넬 키를 자동으로 반납하여 다음 대기자가 진입할 수 있도록 처리하고 있습니다. 만약 넷퍼넬 키를 바로 반납하지 않고 세그먼트에서 설정한 타임아웃 시간에 넷퍼넬 키를 반납하고 싶은 경우에 사용할 수 있는 기능입니다.
3.2.1 Property 설정
EdgeWorker가 적용되어 있는 Property를 선택합니다.
Variable Name | Initial Value |
|---|---|
NF_RETURN_KEY | true |
true (기본값): 대기 완료 후 진입 시 에이전트에서 넷퍼넬 키를 자동으로 반납합니다.false: 세그먼트에서 설정한 타임아웃 시간에 키가 반납 처리됩니다.
3.3 대기실 도메인 변경
NetFUNNEL 대기실 페이지의 도메인은 agent-lib.stclab.com입니다. 해당 도메인을 서비스 중인 도메인에 맞게 변경하려면 NetFUNNEL 서비스팀을 통해 원하는 도메인을 알려주시고, Property 설정을 변경해야 합니다.
3.3.1 Property 설정
EdgeWorker가 적용되어 있는 Property를 선택합니다.
Variable Name | Initial Value |
|---|---|
NF_VWR_PAGE_DOMAIN | http(s)://{CLIENT_ID}.stclab.com |
3.4 쿠키 도메인 설정
NetFUNNEL 서버에서 발급한 키를 쿠키에 저장할 때 현재 페이지의 도메인을 기준으로 저장합니다. 만약 서로 다른 서브도메인 간에 키를 공유해야할 경우 메인 도메인이 쿠키에 저장되도록 설정합니다.develop.stclab.com과 staging.stclab.com와 같이 서브도메인이 서로 다른 페이지에서 쿠키를 공유하도록 .stclab.com으로 설정합니다.
3.4.1 Property 설정
EdgeWorker가 적용되어 있는 Property를 선택합니다.
Variable Name | Initial Value |
|---|---|
NF_COOKIE_DOMAIN | 예시: .stclab.com |
4. 트리거 규칙 설정
대기열 제어 지점은 NetFUNNEL 콘솔의 세그먼트 트리거 규칙을 통해 설정할 수 있습니다. 사용자가 접속한 페이지의 URL과 트리거 규칙을 비교하여 일치하는 경우 대기열이 적용됩니다.
트리거 규칙 설정 방법은 트리거 규칙 설정 가이드를 참고하세요.