[ AWS ] RDS Proxy 란?
AWS RDS Proxy는 Amazon RDS 데이터베이스 인스턴스에 대한 확장 가능한 프록시 서버로서, 데이터베이스 연결 관리를 단순화하고 애플리케이션의 가용성 및 확장성을 향상시키는 서비스입니다.
https://aws.amazon.com/ko/blogs/tech/case-study-lotteon-amazon-rds-connection-unbalance-resolve/
이해를 돕기 위해 예시를 들어보겠습니다.
상황
가정해 봅시다. 당신은 전자 상거래 웹 애플리케이션을 운영하고 있으며, 이 애플리케이션은 사용자가 상품을 검색하고 주문을 생성하는 데 사용됩니다. 데이터베이스는 Amazon RDS로 호스팅되어 있습니다.
RDS Proxy?
RDS Proxy는 Amazon RDS 데이터베이스 인스턴스에 대한 연결 관리를 담당합니다. 다수의 애플리케이션 서버 또는 Lambda 함수와 같은 클라이언트가 데이터베이스와 연결하려고 할 때 RDS Proxy는 이러한 연결을 관리하고 데이터베이스에 전달합니다.
이제 예시를 통해 RDS Proxy의 동작을 설명하겠습니다.
1. 여러 사용자가 웹 상점에 접속하고 제품을 검색하거나 주문을 생성합니다.
2. 각 사용자의 요청은 웹 애플리케이션 서버를 통해 Amazon RDS Proxy로 전달됩니다.
3. RDS Proxy는 이러한 요청을 Amazon RDS 데이터베이스 인스턴스로 중계합니다. 이때, RDS Proxy는 데이터베이스 인스턴스의 연결 풀을 관리하며, 연결을 재사용하거나 새로운 연결을 생성하여 데이터베이스에 안전하게 전달합니다.
4. 데이터베이스의 가용성을 유지하기 위해 Amazon RDS는 여러 가용 영역에 데이터베이스를 배포합니다. RDS Proxy는 이 다중 가용 영역 구성을 고려하여 요청을 적절한 데이터베이스 인스턴스로 라우팅합니다.
5. RDS Proxy는 또한 데이터베이스 엔진 인스턴스의 장애를 감지하고, 자동으로 다른 가용 영역에 있는 인스턴스로 트래픽을 전환하여 가용성을 유지합니다.
6. 모든 클라이언트 요청이 RDS Proxy를 통해 처리되므로, 데이터베이스 인스턴스의 부하가 분산되고 성능이 최적화됩니다.
RDS Proxy를 사용하면 데이터베이스 연결 관리가 간단해지고, 데이터베이스의 가용성과 확장성이 향상됩니다. 또한 데이터베이스 보안 및 모니터링 기능도 강화됩니다. RDS Proxy는 대규모 애플리케이션 환경에서 데이터베이스 연결 관리를 효과적으로 지원하며, 애플리케이션 성능과 신뢰성을 향상시키는 데 도움이 됩니다.