해킹공주의 일상
DynamoDB에서 리소스 관리하는 방법 본문
1. 개요
DB 점검 항목 중, 자원제한을 묻는 항목이 있는데, 해당 항목에 대해 DynamoDB 진단 하면서 얻은 지식을 공유해보겠다 . .
2. 관리 방안
먼저 DynamoDB에서 리소스 관리를 위한 주요 방법은 아래와 같다.
1. 용량 모드 선택:
- 프로비저닝된 용량 모드: 예상되는 읽기 및 쓰기 처리량을 미리 설정하여 리소스를 관리합니다. 이 모드에서는 읽기 및 쓰기 용량 단위(WCU/RCU)를 설정하여 성능을 제어할 수 있습니다.
- 온디맨드 용량 모드: 트래픽에 따라 자동으로 용량을 조정하지만, 급격한 트래픽 증가 시 제한이 발생할 수 있습니다. 따라서 트래픽 패턴을 모니터링하고 필요에 따라 프로비저닝된 용량 모드로 전환하는 것이 좋습니다.
2. 자동 확장(Auto Scaling) 설정:
프로비저닝된 용량 모드에서 Auto Scaling을 설정하면, 설정한 목표 사용률에 따라 읽기 및 쓰기 용량을 자동으로 조정하여 리소스를 효율적으로 관리할 수 있습니다.
3. 세분화된 액세스 제어(Fine-Grained Access Control):
IAM 정책을 활용하여 특정 사용자나 역할이 DynamoDB 테이블의 특정 항목이나 속성에만 접근하도록 제한할 수 있습니다. 이를 통해 데이터의 보안을 강화하고 불필요한 리소스 사용을 방지할 수 있습니다.
4. 리소스 기반 정책(Resource-Based Policies):
DynamoDB 테이블 및 스트림에 리소스 기반 정책을 적용하여 액세스 제어를 중앙 집중화하고 관리할 수 있습니다. 이를 통해 리소스 수준에서 권한을 세밀하게 설정할 수 있습니다.
5. 모니터링 및 알림 설정:
Amazon CloudWatch를 사용하여 DynamoDB의 사용량을 모니터링하고, 설정한 한도에 도달할 경우 알림을 받을 수 있습니다. 이를 통해 리소스 사용을 실시간으로 감지하고 대응할 수 있습니다.
위와 같은 내용이 있으나, 사실상 3,4는 처음에 할당할 때 액세스하는 사람을 제한해서 관리하겠다는 내용이고, 1번-온디맨드와 2번은 트래픽 조절로 성능을 조정하는 내용이고, 5번은 모니터링만 하겠다는거다. 그래서 사실은 프로비저닝 용량모드에서 WCU/RCU를 설정해서 제한할 경우에만 리소스 제한이 가능하다.
자동 확장(Auto Scaling)을 사용하면 ?
자동 확장(Auto Scaling)을 활성화하면, 설정한 최소 및 최대 WCU/RCU 값에 따라 DynamoDB가 자동으로 용량을 조정한다.
자동확장을 사용해서 설정한 최소/최대 WCU/RCU값과, 수동으로 설정한 WCU/RCU 설정 중 어떤걸 따라가는지는 확인이 필요하다 . .
아무튼, 프로비저닝 용량모드에서 WCU/RCU를 설정해서 제한하면 좋겠지만, 사전에 얼마나 사용할 지 확인이 어려운 경우에는 온디맨드모드를 사용하게 된다. 그래서 아래 두개 중 하나를 선택해서 리소스를 관리하도록 권고한다.
결론 !!
🏷️ 온디맨드 모드를 사용하고 있을 경우,
- CloudWatch를 통해 모니터링을 통해 리소스 사용량 검토 및 관리
🏷️ 프로비스저닝 모드를 사용하고 있을 경우,
- WCU/RCU를 제한하기
📢 용량모드 확인하는 방법
'사이드 프로젝트 > 클라우드' 카테고리의 다른 글
IAM Identify Center 패스워드 정책 설정 (0) | 2025.02.19 |
---|---|
CloudWatch와 CloudTrail 차이점 (0) | 2025.02.19 |
AWS Service Quotas와 Auto Scaling 차이점 (0) | 2025.02.18 |
IAM Identity Center와 IAM 차이점 (0) | 2025.02.17 |
관계형 데이터베이스와 DynamoDB의 차이점 (0) | 2025.02.13 |