CloudFront Function 사용

4528 단어 tech
CloudFront Function이 공개됐다.같은 용도로 이미Lambda@Edge그러나 람바다를 사용하지 않고 클라우드 프론을 적용해 초경량의 운행 환경을 실현한다.
概要
참조)
  • Introducing CloudFront Functions – Run Your Code at the Edge with Low Latency at Any Scale
  • 특징.


    현존했어Lambda@Edge비교해 보면 주로 다음과 같은 특징이 있다.제한이 엄격하기 때문에 용도로 경로와 헤더의 전환, 방향을 바꾸는 등 약간의 용도가 있다.
  • JavaScript(ECMAScript 5.1 호환)...Node.js의 기술을 사용할 수 없습니다.
  • Viewer Request/응답만...Origin Request/응답 불가
  • 실행 시간 1ms
  • 2MB
  • 사용 가능 스토리지
  • 가방 크기 10KB
  • 네트워크 액세스, 파일 시스템 사용 불가
  • 참조불가 요청주체
  • 비용은 100만 달러당 0.1달러이다Lambda@Edge의 약 1/6 이하입니다.
    참조)Amazon CloudFront Pricing
    단, 현금이 있든 없든 오리진 리퀘스트/리스폰스에서 실행되는 뷰어 리퀘스트/리스폰스도 호출 횟수를 줄이는 경우가 있으니 구분해서 사용해야 한다.
    참조)CloudFront Function 표현Lambda@Edge더 싸요.그게 정말이야?!

    절차.


    람바다가 아니기 때문에 클라우드 프론트의 관리 콘솔 안에서 제작된다.

  • 관리 콘솔>CloudFront>Function

  • Create function에 함수 이름을 입력한 후 생성합니다.

  • Build 탭에서 코드를 입력한 후 Save 를 클릭합니다.참고: ECMAScript5.1과 호환되도록 새 설명을 사용할 수 없습니다.
    예) Vue자산 이외에라우팅 대상)의 경우입니다.
    function handler(event) {
        var request = event.request;
        if (!request.uri.match(/\.(css|gif|html|ico|img|jpg|js|json|png|svg|txt)$/)) {
            request.uri = '/index.html';
        }
        return request;
    }
    

  • Test 탭에서 테스트합니다.
    Stage에서 Development를 선택하면 편집 중인 코드를 선택하고 Live를 선택하면 디버깅된 코드를 실행할 수 있습니다.

  • "Publish"탭에서 "Publish"를 사용하여 편집 중인 코드를 해제합니다.(코드를 업데이트할 때도 마찬가지)

  • Asssociate 탭에서 할당 대상 CloudFront 릴리스, Event type 및 Behavior 를 선택하고 Add association 을 선택합니다.(지정된 Eventtype에 이미 있음)Lambda@Edge/CloudFront Function이 지정된 경우 무시됩니다.동일한 이벤트 type에 지정된 함수는 다음과 같습니다.Lambda@Edge/CloudFront Function에는 하나만 있습니다.)
  • 따라서 작성된 함수는 선택한 배포의 Edge Function Assiociations 설정에 지정됩니다.
    Behavior
    업데이트할 때도 "Publiish"를 Function에서만 수행Lambda@Edge이렇게 시간이 걸리지 않고 바로 반영할 수 있다.Lambda@Edge디버깅과 디버깅은 좀 힘들지만 제한 내에서 실행할 수 있는 작은 처리라면 이걸 사용하는 것이 좋다.

    좋은 웹페이지 즐겨찾기