Notice
Recent Posts
Recent Comments
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
07-15 02:41
Today
Total
관리 메뉴

해킹공주의 일상

DynamoDB에서 리소스 관리하는 방법 본문

사이드 프로젝트/클라우드

DynamoDB에서 리소스 관리하는 방법

7.3.7 2025. 2. 18. 19:50

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를 제한하기

 

 

📢 용량모드 확인하는 방법

Comments