반응형
AWS Lambda 함수 간의 Internal Call을 사용하기 위해, 두 함수가 동일한 VPC 내에 위치해 있다면,
VPC 내의 리소스 간 AWS SDK를 통해 통신이 가능하다.
아래 예제를 통해 Nodejs에서 AWS SDK를 사용하여 Lambda 함수에서 다른 Lambda 함수를 호출하는 방법을 확인해보자
const AWS = require('aws-sdk');
const lambda = new AWS.Lambda();
exports.handler = async (event) => {
const params = {
FunctionName: 'target-lambda-function-name', // 호출할 Lambda 함수의 이름
InvocationType: 'RequestResponse', // 동기 호출
Payload: JSON.stringify({ key1: 'value1', key2: 'value2' }), // 전달할 데이터
};
try {
const response = await lambda.invoke(params).promise();
console.log(response);
return response.Payload;
} catch (error) {
console.error(error);
throw error;
}
};
이때 Lambda 함수가 다른 Lambda 함수를 호출하려면 적절한 IAM 권한이 필요하다.
-> Lambda 함수의 실행 역할에 lambda:InvokeFunction 권한을 포함시켜야 한다.
또한 Lambda 함수가 VPC 내에서 다른 AWS 리소스와 통신하려면, 해당 VPC에 대한 충분한 네트워크 설정이 필요하다
ex) NAT 게이트웨이 또는 VPC 엔드포인트를 구성
반응형
'Applied > AWS' 카테고리의 다른 글
DynamoDB query range와 promise.all 성능 비교 (0) | 2024.01.24 |
---|---|
Java에서 aws lambda로 internal invoke 시키기 (0) | 2024.01.20 |
[AWS] Lambda에서 S3 파일 읽기 실습 (0) | 2022.12.02 |
[AWS] KMS(Key Management Service) 실습 (0) | 2022.11.30 |
Yaml 파일이란? (0) | 2022.09.20 |