본문 바로가기

Lambda3

EC2 Node서버에서 Lambda 접근하기 + secretAccessKey 관리 최근에 EC2 에 Node 소켓서버를 만들고 서버에서 Lambda함수를 호출해야되는 일이 생겼다. node서버는 Lambda에게 단순하게 값을 보내는 역할만 하면 되고, 나머지 로직은 Lambda가 데이터를 받아서 알아서 처리하게 할것이다. 처음에는 API Gateway를 이용해서 URL을 통해 접근할생각이었으나.. 찾아보니 aws-sdk 를 이용하면 EC2 node서버에서 Lambda를 바로 호출할수있다는것을 알게되었다. 일단 aws-sdk 를 설치하고 node서버에서 람다를 호출하는 예제를 찾아서 적용 해봤는데 잘 작동했다. 아래코드는 nodejs TCP 소켓서버에서 람다와 관련된부분만 적어놓은것이다 //server.js const AWS = require('aws-sdk');//SDK.. 2019. 10. 18.
AWS Lambda 주기적으로 자동실행하게하기 ※ Lambda 와 DynamoDB의 기본적인 사용법은 생략했습니다. 이번에 주기적으로 람다함수를 자동실행하게 하는방법을 찾던도중 CloudWatch Events 를 이용하면 람다를 자동으로 실행하게할수있다는것을 알게되었다. 람다는 cold start , warm start 라는게 존재하기때문에 오랫동안 실행되지않은 cold 상태의 람다함수는 예열된(?) warm 상태의 람다보다 실행이 오래걸린다 ( 사실 오래걸려봣자 1초 정도 차이남 ) 그래서 CloudWatch Events 를 이용해 주기적으로 람다함수를 실행하여 warm 상태를 유지하는데 사용하기도한다. ( 물론 사용을 더하는만큼 비용이 추가되긴할것이다 ) 하지만 나는 그냥 람다함수 자동실행을 위해 CloudWatch Events 를 사용하려고한다.. 2019. 8. 26.
AWS Lambda TimeZone ( TZ ) 설정 하기 람다는 기본적으로 시간이 UTC 기준이다. 그래서 시간관련 함수를실행해보면 console.log(process.env.TZ); // :UTC const date = new Date(Date.now()); console.log(date.toString()); // Mon Aug 26 2019 02:38:45 GMT+0000 (Coordinated Universal Time) console.log(date.toISOString()); // 2019-08-26T02:38:45.865Z console.log(date.toLocaleDateString()); // 8/26/2019 이렇게 UTC 기준으로 실행되는것을 볼수있다. timezone 을 한국으로 설정하기위해서는 nodejs 기준으로 process.env.. 2019. 8. 26.