AWS CDK를 사용하여 Lambda 함수 URL(Function URLs)을 설정합니다.(L2 Constract에서)

8544 단어 AWSLambdaAWS CDKtech
며칠 전에 나는 AWS CDK를 사용하여 Lambda 함수 URL(Function URLs)을 설정합니다.(L1 Constract에서)라는 제목의 기사를 썼다
2022/04/22 저녁(JST)에 L2 Constract의 대응 v2가 추가되었습니다.21.0(참고로 BugFix에 가입하여 최신 버전은 v2.21.1)이 발매되었습니다.
https://github.com/aws/aws-cdk/releases/tag/v2.21.0
그래서 나는 즉시 시험해 보았다.
API 문서도 업데이트되었으니 여기를 참조하십시오.
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.FunctionUrl.html
아무튼 L2로 만든 부분은 이런 느낌이에요.
이번에는 람바다 모듈로 제작됐지만, 노드js를 위한 람바다 모듈에서도 사용할 수 있다.
    const lambdaUrlFunctionL2 = new lambda.Function(this, 'lambdaUrlL2', {
      runtime: lambda.Runtime.NODEJS_14_X,
      code: lambda.Code.fromAsset('lambda'),
      handler: 'index.endpointHandler',
      timeout: Duration.seconds(30),
    });
    const lambdaUrlFunctionL2Url = new lambda.FunctionUrl(this, 'lambdaUrlL2Url', {
      function: lambdaUrlFunctionL2,
      authType: lambda.FunctionUrlAuthType.NONE
    })

    new CfnOutput(this, 'TheLambdaUrlFunctionL2', {
      // The .url attributes will return the unique Function URL
      value: lambdaUrlFunctionL2Url.url,
    });
마지막 CfnOutput을 염두에 두고 있다.
API Gateway라면 만들 때 URL이 나오는데 이걸 붙여야 돼요.
실행하면 URL이 표시됩니다.
어, 이거 L1도 쓸 수 있는 거 아니야? (땀)

L1/L2 비교


비교해보면 이런 느낌이에요.
  • L1
  •     new CfnResource(this,  'lambda-url-cfn' , {
          type: 'AWS::Lambda::Url',
          properties: {
            TargetFunctionArn: lambdaUrlFunction.functionArn,
            AuthType: 'NONE'
          }
        });
        new CfnResource(this, 'lambda-url-Permision', {
          type: 'AWS::Lambda::Permission',
          properties: {
            FunctionName: lambdaUrlFunction.functionName,
            Principal: '*',
            Action: 'lambda:InvokeFunctionUrl',
            FunctionUrlAuthType: 'NONE'
          }
        });
    
    
    (ID 추가 방법을 재검토해야 함)
  • L2
  •     const lambdaUrlFunctionL2Url = new lambda.FunctionUrl(this, 'lambdaUrlL2Url', {
          function: lambdaUrlFunctionL2,
          authType: lambda.FunctionUrlAuthType.NONE
        })
    
    많이 줄었네요.
    권한 없는 설정이 큰 것 같아서요.
    맞춤형 제작이 필요하지 않으시다면 기준을 설정해 주십시오.
    어쨌든 이것은 내가 한 보도다.
    인증도 여전히 NONE이고 CORS의 설정도 진행되지 않았으며 이 부분은 계속됐다.
    그리고 있는 것 같지만 Output으로 써야 할 것 같아서 혼자 쓰면 안 되겠죠 w
    https://dev.classmethod.jp/articles/aws-cdk-original-library-reference/
    펀션 URLs가 새로운 시작을 하고 앞으로도 용례가 늘어나겠지만 계속 지켜보겠다.

    좋은 웹페이지 즐겨찾기