설치 및 초기화
이 가이드는 NetFUNNEL CloudFront 에이전트의 설치 및 초기화 과정을 설명합니다.
1단계: Client ID 가져오기
- NetFUNNEL 콘솔로 이동
- 우측 상단의 프로필 아이콘 클릭
통합 자격 증명(Integration Credentials) 메뉴 선택Client ID복사
Client ID 확인 위치
콘솔 화면 우측 상단의 프로필 아이콘을 클릭한 후, 통합 자격 증명 메뉴에서 확인할 수 있습니다.
2단계: IAM 설정
IAM 역할 생성
- AWS IAM 콘솔 → [역할] 클릭
- [역할 생성] 클릭
- 신뢰할 수 있는 엔터티: AWS 서비스 선택
- 사용 사례: Lambda 선택
- [다음: 권한] 클릭
Trust Entity 설정
- 역할 생성 후 [Trust Entity] 탭 클릭
- Trust Entity 편집 후 아래 JSON 붙여넣기:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"edgelambda.amazonaws.com",
"lambda.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
정책 첨부
- [권한] 탭 클릭
- [권한 추가] → [인라인 정책 만들기] 클릭
- JSON 탭에 아래 정책 붙여넣기 (Lambda 함수가 CloudWatch 로그를 생성하고 쓸 수 있도록 함):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
3단계: Lambda 함수 생성
리전 선택
Lambda 함수는 us-east-1 (N. Virginia) 리전에서 생성해야 합니다. 이는 AWS의 요구 사항으로, 이 리전은 함수를 전 세계적으로 복제하기 위한 중앙 위치 역할을 하기 때문입니다.
Lambda 함수 생성
- us-east-1 리전의 Lambda 콘솔로 이동
- [함수 생성] 클릭
- [처음부터 작성] 선택
- 함수 이름 입력 (예: "netfunnel-agent")
- 런타임: Node.js 선택
- 위에서 생성한 IAM 역할 선택
- [함수 생성] 클릭
Lambda 함수 설정
- https://agent-lib.stclab.com/agents/cdn/cloudfront/netfunnel-cloudfront-agent-latest.js 에서
netfunnel-cloudfront-agent.js파일 다운로드 - [코드] 탭에서 코드 소스에
netfunnel-cloudfront-agent.js파일 업로드 index.mjs파일 열고 아래 코드 작성:
import handleEvent from './netfunnel-cloudfront-agent.js';
const config = {
clientID: "{{CLIENT_ID}}",
}
export const handler = async (event) => {
return await handleEvent(event, config)
};
CLIENT_ID는 NetFUNNEL 콘솔에서 확인하세요.
package.json파일 생성 후 아래 코드 붙여넣기:
{
"name": "cloudfront-agent",
"type": "module",
"dependencies": {}
}
- [Deploy] 버튼 클릭
- [버전] 탭 → [새 버전 발행] 클릭
4단계: CloudFront 설정
Lambda@Edge 연결
- Lambda@Edge를 적용할 CloudFront Distribution 선택
- [동작] 탭에서 항목 선택 후 [편집] 클릭
- 하단의 함수 연결에서:
- 뷰어 요청: 생성한 Lambda 함수 ARN 입력 (버전 포함, 예:
:1) - 뷰어 응답: 생성한 Lambda 함수 ARN 입력 (버전 포함, 예:
:1)
- 뷰어 요청: 생성한 Lambda 함수 ARN 입력 (버전 포함, 예:
- [변경 사항 저장] 클릭
CloudFront 무효화
- [무효화] 탭 클릭
- [무효화 생성] 클릭
- 객체 경로:
/*입력 - [무효화 생성] 클릭
- 무효화 완료 후 CloudFront에 Lambda@Edge 연결이 적용됩니다