AWS/AWS 공부

[CDK] Stack 배포 시 Url 생성

Yuco 2023. 3. 31. 20:42

아래 코드는 AWS CDK를 사용하여 AWS Lambda 함수의 엔드포인트 URL을 생성하고 CDK 출력 (CDK Output)을 통해 출력하는 예시입니다. 이 URL은 Lambda 함수를 호출할 때 사용될 수 있습니다.

주로 이러한 URL을 생성하는 이유는 다음과 같습니다:

1. 애플리케이션과의 통합: Lambda 함수를 웹 애플리케이션 또는 다른 시스템과 통합할 때 해당 함수에 대한 엔드포인트 URL이 필요합니다. 이 URL을 사용하여 애플리케이션에서 Lambda 함수를 호출하거나 트리거할 수 있습니다.

2. 외부에 노출: Lambda 함수가 웹 애플리케이션에서 직접 호출될 수 있도록 URL을 외부에 노출해야 할 때 사용됩니다.

3. 크로스 오리진 리소스 공유 (CORS) 설정: 위 코드에서는 Lambda 함수의 엔드포인트 URL에 대해 CORS 설정을 추가하고, 허용된 원본 및 헤더를 지정합니다. 이를 통해 웹 브라우저에서 Lambda 함수에 대한 요청을 보낼 때 발생하는 교차 출처 요청 오류를 방지할 수 있습니다.

4. 인증 타입 지정: 위 코드에서는 함수 URL에 대한 인증 타입을 지정합니다. 이 예시에서는 인증이 필요하지 않음을 나타내는 FunctionUrlAuthType.NONE을 사용합니다. 이는 Lambda 함수가 공개적으로 액세스 가능한 경우에 사용될 수 있습니다.

이렇게 생성된 URL은 AWS Lambda 함수에 대한 액세스를 허용하고, 필요한 경우에는 애플리케이션에서 이 URL을 사용하여 함수를 호출할 수 있습니다.

 

const url = LambdaFunction.addFunctionUrl({
    invokeMode: InvokeMode.BUFFERED,
    cors: {
        allowedOrigins: ['*'],
        allowedHeaders: ['*'],
    },
    authType: FunctionUrlAuthType.NONE
})

new cdk.CfnOutput(this, 'LambdaFunction', {
    value: url.url,
})

 

'AWS > AWS 공부' 카테고리의 다른 글

[AWS] VPC(Virtual Private Cloud), 서브넷(Subnet)  (0) 2023.06.17
[AWS] 리전과 가용영역  (0) 2023.06.17
[CDK] DynamoDB 권한 추가  (0) 2023.03.31
[CDK] CDK Lambda 함수 배포  (0) 2023.03.29
[CDK] 개념 정리  (0) 2023.03.29