본문 바로가기

클라우드/AWS

[AWS] VPC lambda는 적합한가

뻔한 말이지만 필요하면 쓰는 것이 적합하다. "VPC에 넣지 않고서는 lambda로 도저히 해결할 수 없는데?"라는 상황이 와야지만 넣는 것이 적합하다는 것이다. 대표적인 예시로 private subnet 내부에 위치한 RDS에 접근해야 하는 상황이 있다.

 

난 무작정 VPC에 넣는 것이 이득이라는 생각에 VPC lambda를 공부해보고 직접 구현해봤지만, 문득 DynamoDB와 lambda를 연동하면서 잘못됐다는 것을 깨달았다. 아직 초보자인 나의 관점에서 봤을 때, 보안적으로 가장 중요한 부분은 단연 DB라고 생각한다. 그렇다면 적어도 일반 lambda를 사용하는 것보다 VPC lambda를 사용하는 것이 DynamoDB와 연동할 때 보안적으로 이점이 있어야 한다고 생각했다.

 

SDK를 사용하여 lambda와 DynamoDB가 통신할 때, public internet을 경유하지 않고 AWS 내부의 네트워크를 통하게 된다. 굳이 lambda를 VPC에 넣고 gateway endpoint를 통해 DynamoDB와 연동할 이유가 없다는 것이다. lambda가 public internet을 통한 통신이 가능하다고 해서 SDK를 사용한 통신도 public internet을 통할 것이라고 생각했던 것이 큰 문제였다.

 

해당 레퍼런스를 참고하면 큰 도움이 될 것 같다.