본문 바로가기

AWS7

DynamoDB TTL 설정하기 DynamoDB에서 기본제공해주는 TTL(Time To Live)은 데이터를 자동으로 삭제해주는 기능이다 TTL을 epoch 시간 값으로 저장하면 그 시간이 지났을때, 48시간내에 해당데이터가 삭제된다 직접 해보면 이해가 더 잘된다. 먼저 test라는 테이블을 만들자 아직 데이터는 하나도 넣지않은상태이다 그다음 테이블 세부정보화면에 TTL(Time to live) 속성 에서 TTL 관리를 누른다 TTL 속성칸에 본인이 TTL을 걸고싶은 속성명을 입력하면된다 나는 deleteTime 을 입력했다 TTL이 적용됐다 이제 항목으로가서 항목만들기를 누르고 데이터를 넣어보자 TTL은 epoch 시간 값을 넣어야한다 나는 이렇게 데이터를 저장했다. deleteTime 속성에 (TTL) 이 자동으로 붙었다 TTL 속.. 2019. 12. 5.
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.
API gateway {"message":"Missing Authentication Token"} 해결하기 요즘 회사일 때문에 너무 정신이없어서 거의 한달간 포스팅을 못했다.. 같은핑계대지말고 다시 열심히 포스팅하자 API gateway를 처음 사용할때, 잘모르는 경우 {"message":"Missing Authentication Token"} 라는 메시지를 볼수있다 , 그냥 URL을 잘못입력했기때문에 나오는 메시지다 찾아보면 공식문서에 바로 쓰여있다 기본적으로 오류 응답에는 오류를 설명하는 짧은 설명이 포함되어 있습니다. 예를 들어 *정의되지 않은 API 리소스에 대한 작업을 호출할 경우 { "message": "Missing Authentication Token" } 메시지를 포함하는 오류 응답이 수신됩니다. API Gateway를 처음 사용할 경우 실제로 무엇이 잘못되었는지 이해하기 어려울 수 있습니다... 2019. 9. 27.
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.
AWS Windows Device Simulator 시작하기 나는 iot 기기가 따로 없어서 윈도우 시뮬레이터를 이용해서 AWS IOT 와 통신하는 테스트해보기로 했다. AWS의 자습서 설명이 꽤 자세하게 나와있다 하지만 생략되거나 대충설명하는부분이 있기때문에,, 두시간동안 해본것을 정리해서 포스팅하려고한다 꼭 나처럼 하지않아도 작동할수도있다, 하지만 일단 이 글대로 따라하면 되긴할것이다 쓸데없는 과정이 몇개있을수도있지만 일단 이렇게 했더니 작동하더라.. 하는식으로 보면 좋을듯 공식문서를 옆에 켜두고 이 글이랑 비교해가면서 같이보기를 권장한다 윈도우 10 노트북으로 테스트를 진행했다 준비물 - 와이파이말고 이더넷(랜선)으로 인터넷연결 진행하다보면 이더넷으로만 가능하다는 메시지가 콘솔창에 뜨는데 와이파이상태에서 다시 테스트해본결과 잘된다., 근데 안될때도 있다,, .. 2019. 7. 10.
AWS 서버리스 아키텍쳐 개인 프로젝트를 진행하면서 AWS ec2와 lightsail을 사용한 적은 있었으나 서버리스 아키텍처는 처음들어봤고, 또 사용해 본 적이 없어서 새로 공부 중이다 서버리스 서비스를 제공하는 곳이 몇 군데 있지만 일단 가장 대중적인 AWS를 이용하기로 했다 공부한 내용을 정리하는 차원에서 글을 쓰기때문에 아직 깊게 공부하지 못했고 오류가 있을 수도 있으니 주의.. 잘못된 내용 지적환영합니다 서버리스 아키텍처는 무엇일까? 서버리스(serverless)라는 말만 들어보면 서버가 없는 건가? 하는 생각이 든다 물론 서버가 없으면 서비스를 할수가 없기 때문에 진짜 없는 건 아니고 마치 서버가 없는 것처럼 "너네는 서버 신경 쓰지 마라 내가(AWS) 다 알아서 관리해줄게!!" 이런 느낌이다 왜 나온 것일까? 여기저.. 2019. 6. 24.