함수 생성 - Amazon CloudFront

함수 생성

함수는 두 단계로 생성합니다.

  1. 함수 코드를 JavaScript로 생성합니다. CloudFront 콘솔의 기본 예제를 사용하거나, 직접 작성할 수 있습니다. 자세한 정보는 다음 주제를 참조하세요.

  2. CloudFront를 사용하여 함수를 생성하고 코드를 포함합니다. 코드는 함수 내에 존재합니다(참조용이 아님).

Console
함수를 만들려면
  1. CloudFront 콘솔(https://console.aws.amazon.com/cloudfront/v4/home#/functions)에 로그인하고 함수 페이지를 엽니다.

  2. 함수 생성(Create function)을 선택합니다.

  3. AWS 계정 내에서 고유한 함수 이름을 입력한 다음 JavaScript 버전을 선택하고 계속을 선택합니다. 새 함수의 세부 정보 페이지가 나타납니다.

    참고

    함수에서 키 값 페어를 사용하려면 JavaScript 런타임 2.0을 선택해야 합니다.

  4. 함수 코드 섹션에서 빌드 탭을 선택하고 함수 코드를 입력합니다. 빌드 탭에 포함된 샘플 코드는 함수 코드의 기본 구문을 보여줍니다.

  5. Save changes(변경 사항 저장)를 선택합니다.

  6. 함수 코드에서 키 값 페어를 사용하는 경우 키 값 저장소를 연결해야 합니다.

    함수를 처음 생성할 때 키 값 저장소를 연결할 수 있습니다. 또는 나중에 함수를 업데이트하여 연결할 수도 있습니다.

    지금 키 값 저장소를 연결하려면 다음 단계를 따르세요.

    • KeyValueStore 연결 섹션에서 기존 KeyValueStore 연결을 선택합니다.

    • 함수의 키 값 페어가 들어 있는 키 값 저장소를 선택한 다음 KeyValueStore 연결을 선택합니다.

    CloudFront는 저장소를 함수와 즉시 연결하므로 함수를 저장하지 않아도 됩니다.

CLI

CLI를 사용하는 경우 일반적으로 먼저 파일에 함수 코드를 생성한 다음 AWS CLI로 함수를 생성합니다.

함수를 만들려면
  1. 함수 코드를 파일로 만든 다음 컴퓨터가 연결할 수 있는 디렉터리에 저장합니다.

  2. 다음 예제와 같이 명령을 실행합니다. 이 예제에서는 fileb:// 표기법을 사용하여 파일을 전달합니다. 명령을 더 쉽게 읽을 수 있도록 줄 바꿈도 포함되어 있습니다.

    aws cloudfront create-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js
    참고
    • Runtime - JavaScript의 버전입니다. 함수에 키 값 페어를 사용하려면 버전 2.0을 지정해야 합니다.

    • KeyValueStoreAssociations - 함수에서 키 값 페어를 사용하는 경우 함수를 처음 생성할 때 키 값 저장소를 연결할 수 있습니다. 또는 update-function을 사용하여 나중에 연결할 수도 있습니다. 각 함수에 키 값 저장소가 하나만 연결될 수 있기 때문에 Quantity는 항상 1입니다.

    명령이 제대로 실행되면 다음과 비슷한 출력이 표시됩니다.

    ETag: ETVABCEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years Runtime: cloudfront-js-2.0 KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: CreatedTime: '2021-04-18T20:38:56.915000+00:00' FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge LastModifiedTime: '2023-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge

    대부분의 정보는 요청에서 반복된 내용입니다. 기타 정보는 CloudFront에 의해 추가됩니다.

    참고
    • ETag - 이 값은 키 값 저장소를 수정할 때마다 변경됩니다. 나중에 이 값과 함수 이름을 사용하여 함수를 참조할 수 있습니다. 항상 현재 ETag를 사용하도록 하세요.

    • FunctionARN - CloudFront 함수의 ARN입니다.

    • 111122223333 – AWS 계정입니다.

    • Stage - 함수의 스테이지(LIVE 또는 DEVELOPMENT)입니다.

    • Status - 함수의 상태(PUBLISHED 또는 UNPUBLISHED)입니다.

생성한 함수는 DEVELOPMENT 스테이지에 추가됩니다. 함수를 게시하기 전에 함수를 테스트하는 것이 좋습니다. 함수를 게시하고 나면 함수가 LIVE 스테이지로 변경됩니다.