728x90
RDS 암호화
데이터 암호화
- RDS와 Aurora의 데이터는 볼륨에 암호화되며, AWS KMS를 사용해 마스터와 모든 복제본이 암호화됩니다.
- 암호화되지 않은 데이터베이스는 읽기 전용 복제본을 암호화할 수 없으며, 암호화된 데이터베이스로 전환하려면 스냅샷을 이용해 복원해야 합니다.
전송 중 데이터 암호화
- RDS와 Aurora는 기본적으로 전송 중 데이터 암호화를 지원하며, 클라이언트는 AWS TLS 루트 인증서를 사용해야 합니다.
데이터베이스 인증
- 전통적인 사용자 이름과 패스워드 조합을 사용할 수 있지만, AWS IAM 역할을 사용해 인증할 수도 있습니다. 이 경우 IAM 역할이 데이터베이스에 접근 권한을 부여합니다.
네트워크 액세스 제어
- 보안 그룹을 사용해 데이터베이스에 대한 네트워크 액세스를 통제할 수 있으며, 특정 포트, IP, 보안 그룹을 허용하거나 차단할 수 있습니다.
RDS Porxy
RDS 프록시 개념
- RDS 프록시는 애플리케이션과 데이터베이스 간의 연결을 효율적으로 관리해 데이터베이스 리소스 부담을 줄이고, 장애 조치 시 최대 66%까지 시간을 단축시킬 수 있습니다.
- 서버리스로 운영되며, 오토 스케일링이 가능하고 다중 AZ 지원을 제공합니다.
- IAM 인증을 강제할 수 있으며, 자격 증명은 AWS Secrets Manager에 안전하게 저장됩니다.
- RDS 프록시는 Lambda 함수와 함께 사용할 때 유용하며, 다수의 Lambda 함수 연결을 효과적으로 관리할 수 있습니다.
⭐️ RDS Proxy를 사용하는 이유
Lambda 함수는 증식합니다. 여러 개가 생성되고 사라지는 속도가 매우 빠르고 RDS 데이터베이스 인스턴스에 수만개의 Lambda 함수가 순식간에 발생했다 사라지며 연결을 개방한다고 생각해봅니다. 개방된 연결에 타임아웃도 생길 테니 연결은 난장판이 됩니다.
Lambda 함수가 RDS 데이터베이스에 직접 연결될 경우, 수많은 Lambda 함수가 동시에 RDS에 연결을 시도하게 됩니다.
이로 인해 데이터베이스에 많은 연결이 열리게 되고, 이 과정에서 데이터베이스 자원이 부족해지거나 연결 시간이 초과되는 문제가 발생할 수 있습니다.
위 이유로,
RDS 프록시는 Lambda 함수들이 RDS 데이터베이스와 직접 연결되지 않고, 프록시를 통해 연결되도록 중개 역할을 할 것입니다.
Lambda 함수들이 필요로 하는 연결들을 하나의 연결 풀로 관리하여, 실제로 RDS 데이터베이스에 연결되는 수를 줄입니다.
즉, RDS 프록시는 Lambda 함수들이 무분별하게 많은 연결을 생성하지 않도록 조정하여, 데이터베이스의 부하를 줄이고 효율성을 높입니다.
Lambda 함수가 RDS 프록시를 통해 연결되면, 데이터베이스에 부담을 주는 연결 수를 효과적으로 줄일 수 있고, 이로 인해 발생할 수 있는 연결 시간 초과 문제도 해결됩니다.
728x90
'Cloud' 카테고리의 다른 글
[AWS] ElasticCache:고성능 인메모리 캐싱 서비스 (1) | 2024.09.10 |
---|---|
[AWS] RDS, Aurora 의 백업, 복원, 복제 요약 (0) | 2024.08.14 |
[AWS] Aurora 개념 (0) | 2024.08.13 |
[AWS] RDS와 RDS Custom은 어떤 차이점이 있을까? (0) | 2024.08.13 |
[AWS] RDS 개요 및 읽기 전용 복제본과 다중 AZ와 실습 영상 (0) | 2024.08.09 |