[AWS] Elasticache를 배치할 Subnet에 대한 명확한 기준 설정

들어가며

전체 아키텍처를 설계하는 과정에서 요소 하나를 배치하는 위치는 정말 중요하다.

특히 네트워크 설계 등 상세 설계가 이루어진 후라면 더욱 더 변경이 어려울 수 있다.

 

문제 인식

팀 프로젝트에서 아키텍처를 구성하며 실제로 구축까지 완료해야 했는데 우리의 아키텍처에서 붉은 박스 영역을 보면 ElastiCache를 배치할 Private Subnet 중 Application Subent, DB Subnet 어디에 배치해야할지 감이 잡히지 않았다.

 

문제 원인

누구나 Application과 DB 사이에서 중간 역할을 한다는 것을 알 수 있을텐데 이 부분에 대한 명확한 기준이 있지 않으면 언젠가 또 다른 서비스에서 같은 고민을 할 것 같았다.

 

문제 해결

해당 서비스의 책임에 대해 깊게 생각하면서 ElastiCache는 어떤 역할을 할 수 있는지에 대해 고민했다.

ElastiCache는 캐시로 사용할 수도 있고 DB로 사용할 수도 있을 것이고 우리 서비스는 DB에 대한 캐시로 사용할 것이었다.

따라서 캐시로 사용한다면 Application Subnet, DB로 사용한다면 DB Subnet에 배치하면 된다는 명확한 기준을 세울 수 있었다.

 

간단하게 명확한 기준을 세운다는 부분에 대해 인지하기 전까진 감이 잡히지 않았지만 다시 생각해보면 정말 쉬운 문제였다.

 

아키텍처 구성이 아니더라도 어느 기술을 도입하더라도 그 기술의 책임과 역할에 대해 생각하면 좋을 것 같다.