튜토리얼: CloudFront Functions를 사용하여 간단한 함수 생성 - Amazon CloudFront

튜토리얼: CloudFront Functions를 사용하여 간단한 함수 생성

이 자습서에서는 CloudFront 함수를 시작하는 방법을 설명합니다. 뷰어를 다른 URL로 리디렉션하고 사용자 지정 응답 헤더를 반환하는 간단한 함수를 만들 수 있습니다.

필수 조건

CloudFront 함수를 사용하려면 CloudFront 배포가 필요합니다. 계정이 없는 경우 기본 CloudFront 배포 시작하기 단원을 참조하십시오.

함수 생성

CloudFront 콘솔을 사용하여 뷰어를 다른 URL로 리디렉션하고 사용자 지정 응답 헤더를 반환하는 간단한 함수를 만들 수 있습니다.

CloudFront 함수를 생성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 탐색 창에서 함수를 선택한 후, 함수 생성을 선택합니다.

  3. 함수 생성 페이지에서 이름MyFunctionName과 같은 함수 이름을 입력합니다.

  4. (선택 사항) 설명에 Simple test function과 같은 기능에 대한 설명을 입력합니다.

  5. 런타임의 경우 선택한 기본 JavaScript 버전을 유지합니다.

  6. 함수 생성을 선택합니다.

  7. 다음 함수 코드를 복사합니다. 이 함수 코드는 최종 사용자를 다른 URL로 리디렉션하고 사용자 지정 응답 헤더도 반환합니다.

    function handler(event) { // NOTE: This example function is for a viewer request event trigger. // Choose viewer request for event trigger when you associate this function with a distribution. var response = { statusCode: 302, statusDescription: 'Found', headers: { 'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' }, 'location': { value: 'https://aws.amazon.com/cloudfront/' } } }; return response; }
  8. 함수 코드의 경우 코드를 코드 편집기에 붙여넣어 기본 코드를 대체합니다.

  9. 변경 사항 저장을 선택합니다.

  10. (선택 사항) 함수를 게시하기 전에 테스트할 수 있습니다. 이 자습서에서는 함수를 테스트하는 방법에 대해 설명하지 않습니다. 자세한 내용은 함수 테스트 단원을 참조하십시오.

  11. 게시 탭을 선택한 다음 게시 함수를 선택합니다. 함수를 CloudFront 배포와 연결하려면 먼저 함수를 게시해야 합니다.

  12. 다음으로 함수를 배포 또는 캐시 동작과 연결할 수 있습니다. MyFunctionName페이지에서 게시 탭을 선택합니다.

    주의

    다음 단계에서는 테스트에 사용할 배포 또는 캐시 동작을 선택합니다. 이 테스트 함수를 프로덕션 환경에서 사용되는 배포 또는 캐시 동작과 연결하지 마세요.

  13. Add association을 선택합니다.

  14. 연결 대화 상자에서 배포 및/또는 캐시 동작을 선택합니다. 이벤트 유형의 경우 기본값을 유지합니다.

  15. 연결 추가를 선택합니다.

    연결된 배포 테이블에 연결된 배포가 표시됩니다.

  16. 연결된 배포가 배포될 때까지 몇 분 정도 기다립니다. 그런 다음 배포 상태를 확인하려면 연결된 배포 테이블에서 해당 배포를 선택하고 배포 보기를 선택합니다.

    배포의 상태가 배포됨(Deployed)이면 함수가 작동하는지 확인할 준비가 된 것입니다.

함수 확인

함수를 배포한 후 해당 함수가 배포에서 작동하는지 확인할 수 있습니다.

함수를 확인하려면
  1. 웹 브라우저에서 배포의 도메인 이름(예: https://d111111abcdef8.cloudfront.net)으로 이동합니다.

    이 함수는 브라우저로 리디렉션을 반환하므로 브라우저가 자동으로 https://aws.amazon.com/cloudfront/(으)로 이동합니다.

  2. 명령줄 창에서 같은 curl 도구를 사용하여 배포의 도메인 이름으로 요청을 보낼 수 있습니다.

    curl -v https://d111111abcdef8.cloudfront.net/

    응답에는 리디렉션 응답(302 Found)과 함수가 추가한 사용자 지정 응답 헤더가 표시됩니다. 응답은 다음 예와 같이 보일 수 있습니다.

    curl -v https://d111111abcdef8.cloudfront.net/ > GET / HTTP/1.1 > Host: d111111abcdef8.cloudfront.net > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 302 Found < Server: CloudFront < Date: Tue, 16 Mar 2021 18:50:48 GMT < Content-Length: 0 < Connection: keep-alive < Location: https://aws.amazon.com/cloudfront/ < Cloudfront-Functions: generated-by-CloudFront-Functions < X-Cache: FunctionGeneratedResponse from cloudfront < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront) < X-Amz-Cf-Pop: PHX50-C2 < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==