기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
목표 비즈니스 성과
이 섹션에서는 다음 비즈니스 성과를 설명합니다.
-
애플리케이션 확장성 향상
-
애플리케이션 성능 향상
-
애플리케이션 가용성 향상
-
애플리케이션 보안 강화
-
운영 복잡성 감소
애플리케이션 확장성 향상
애플리케이션의 확장성은 데이터베이스의 동시 연결 처리 능력에 따라 달라집니다. 동시 연결 수는 데이터베이스 인스턴스 유형에 따라 달라집니다. 예를 들어, t3.small 인스턴스 유형은 187개의 동시 데이터베이스 연결을 지원할 수 있습니다. 데이터베이스에 대한 추가 클라이언트 연결 시도는 실패로 이어집니다. Amazon RDS 프록시 엔드포인트를 사용하여 데이터베이스와 상호 작용하면 다음 다이어그램과 같이 필요한 클라이언트 연결이 인스턴스 유형에서 지원하는 최대 연결을 초과하더라도 애플리케이션이 계속 작동할 수 있습니다.

RDS 프록시는 연결 풀링을 사용하기 때문에 RDS 프록시 엔드포인트를 사용하는 테스트 애플리케이션은 데이터베이스 인스턴스가 최대 187개의 동시 연결로 제한되더라도 2만 개의 클라이언트 연결로 확장할 수 있었습니다.
Amazon RDS 프록시는 규모 조정이 필요한 아키텍처에서 중요한 구성 요소입니다.
애플리케이션 성능 향상
유휴 연결은 트랜잭션을 처리하지 않지만 여전히 데이터베이스 서버의 메모리와 CPU를 사용하는 데이터베이스 연결입니다. 열린 트랜잭션이 있는 유휴 클라이언트 세션에서는 autovacuum 프로세스가 데드 튜플을 정리하지 못하도록 차단하기도 합니다. 데드 튜플로 인해 데이터베이스 테이블이 확장되어 SQL 쿼리 속도가 느려집니다. Amazon RDS for PostgreSQL 데이터베이스는 기본적으로 24시간 동안 유휴 연결을 열어 둡니다( idle_in_transaction_session_timeout
파라미터로 설정).
RDS 프록시는 기본적으로 30분 이상 유휴 상태인 경우 유휴 연결을 닫아 적극적으로 관리합니다(IdleClientTimeout 파라미터로 설정). 유휴 세션과 해당 세션이 사용하는 리소스를 더 빨리 정리하면 CPU, 메모리 및 autovacuum 프로세스에 미치는 영향이 줄어듭니다.
Amazon RDS 프록시는 유휴 연결을 효율적으로 관리하여 애플리케이션 성능을 개선합니다.
애플리케이션 가용성 향상
애플리케이션의 가용성은 데이터베이스 장애 조치 응답 시간에 따라 달라집니다. 데이터베이스 장애 조치 동안 처리 중인 트랜잭션으로 인해 애플리케이션에 오류가 발생합니다. 이로 인해 최종 사용자의 애플리케이션 가용성이 떨어집니다.
RDS 프록시는 데이터베이스 장애 조치를 인식합니다. 데이터베이스 장애 조치가 발생하면 RDS 프록시는 데이터베이스와의 새 연결을 생성할 수 있을 때까지 애플리케이션 측의 수신 요청을 대기열에 보관합니다. 이렇게 하면 처리 중인 트랜잭션의 오류를 방지하여 애플리케이션의 가용성을 높일 수 있습니다.
블로그 게시물 Improving application availability with Amazon RDS Proxy
Amazon RDS 프록시는 애플리케이션 가용성을 높이는 데 도움이 됩니다.
애플리케이션 보안 강화
RDS 프록시는 TLS/SSL 및 AWS Identity and Access Management (IAM)을 사용하므로 클라이언트 애플리케이션과 기본 Postgres 데이터베이스 간의 추가 보안 계층 역할을 할 수 있습니다. RDS 프록시를 사용하면 프록시에 대한 애플리케이션 연결에 더 강력한 보안 요구 사항(TLS 1.2 및 IAM 역할)을 사용할 수 있습니다.
RDS 프록시는에서 데이터베이스 자격 증명을 검색할 수 AWS Secrets Manager있으며 RDS 프록시 사용자에 대한 IAM 인증을 구성할 수 있습니다. 이렇게 하면 데이터베이스가 사용자 이름과 암호 등의 네이티브 인증 메커니즘을 사용하는 경우에도 데이터베이스 액세스에 IAM 인증을 적용할 수 있습니다. 따라서 애플리케이션에서 데이터베이스 보안 인증을 관리할 필요가 줄어들고 애플리케이션 보안 태세가 개선됩니다.
운영 복잡성 감소
고가용성과 로드 밸런싱을 제공하려면 연결 풀러를 추가 프록시 서버로 보완해야 합니다. 이 설정은 운영 복잡성을 증가시킵니다. 기존 프록시 서버는 배포, 패치 및 관리하기 어렵습니다. 이를 사용하면 시간과 에너지가 소모되므로 제품 개발에 투자하는 것이 더 나을 수 있습니다.
Amazon RDS 프록시를 사용하면 자체 프록시 서버를 패치하고 관리하는 추가 부담 없이 데이터베이스 프록시의 이점을 누릴 수 있습니다. RDS 프록시는 서버리스이며 워크로드에 맞게 자동으로 규모가 조정됩니다. RDS 프록시는 셀프 서비스 설정 옵션을 통해 개발자의 작업 속도를 높여 새 애플리케이션을 더 빠르게 제공할 수 있습니다.