Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

RDS, Aurora 인스턴스 유형 (type, class) 별 적용된 네트워크 대역폭 본문

AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식

RDS, Aurora 인스턴스 유형 (type, class) 별 적용된 네트워크 대역폭

`O` 2026. 7. 25. 13:49
728x90
반응형

이 페이지에서는 이전 게시글과 이어져서, RDS, Aurora Cluster, DocumentDB 의 각 인스턴스 유형별로 제한된 네트워크 대역폭에 대하여 다룬다.

2022.05.25 - [AWS 및 클라우드 지식/AWS RDS, Aurora 및 관련 지식] - RDS, Aurora 인스턴스 유형 (type, class)

 

[Instance class 별 설정된 네트워크 대역폭]

 

RDS, Aurora Cluster, DocumentDB 를 운영할 때, 각 instance class 별로 설정된 네트워크 대역폭은 아래의 Document 를 보면 확인 할 수 있다.

 

- RDS

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html

 

-  Aurora Cluster

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.Summary.html

 

- DocumentDB

 

https://docs.aws.amazon.com/ko_kr/documentdb/latest/devguide/db-instance-classes.html

 

[Instance class 별 설정된 네트워크 대역폭을 고려 해야 하는 이유]

 

실제로 RDS, Aurora Cluster, DocumentDB 를 운영하다 보면 CPU, Memory 사용량은 CloudWatch (CW) 의 CPUUtilization, FreeableMemory 등으로 자원사용량이 충분한지, 부족한지 알아 볼 수 있다.

 

그러나 각 instance class 별로 네트워크 사용량을 지표를 볼 때, CW 에서 더 심층적인 모니터링 요소 (메트릭) 를 확인 해야 할 경우가 있다.

 

예를 들어, 아래의 각 서비스별 CW 에서 볼 수 있는 네트워크 모니터링 메트릭은 아래와 같다.

 

- RDS

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html

 

"""

NetworkReceiveThroughput DB 인스턴스 수신 네트워크 트래픽(고객 데이터베이스 트래픽과 모니터링 및 복제에 사용된 Amazon RDS 트래픽 모두 포함). 모두 초당 바이트
NetworkTransmitThroughput DB 인스턴스 송신 네트워크 트래픽(고객 데이터베이스 트래픽과 모니터링 및 복제에 사용된 Amazon RDS 트래픽 모두 포함). 모두 초당 바이트

 

"""

 

-  Aurora Cluster

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html

 

"""

NetworkReceiveThroughput Aurora DB 클러스터의 각 인스턴스가 클라이언트에서 수신하는 네트워크 처리량입니다. 이 처리량에서 Aurora DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트 수(콘솔에 초당 메가바이트가 표시됨)
NetworkThroughput Aurora DB 클러스터의 각 인스턴스가 클라이언트에서 수신하고 클라이언트로 전송하는 네트워크 처리량입니다. 이 처리량에서 Aurora DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트
NetworkTransmitThroughput Aurora DB 클러스터의 각 인스턴스가 클라이언트로 전송하는 네트워크 처리량입니다. 이 처리량에서 DB 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트 수(콘솔에 초당 메가바이트가 표시됨)

(...)

StorageNetworkReceiveThroughput DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템에서 수신하는 네트워크 처리량입니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트
StorageNetworkThroughput Aurora DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템과 송수신하는 네트워크 처리량입니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트
StorageNetworkTransmitThroughput Aurora DB 클러스터의 각 인스턴스가 Aurora 스토리지 하위 시스템으로 전송하는 네트워크 처리량입니다. Aurora MySQL 및 Aurora PostgreSQL 초당 바이트

 

"""

 

- DocumentDB

 

https://docs.aws.amazon.com/ko_kr/documentdb/latest/devguide/db-instance-classes.html

 

"""

NetworkReceiveThroughput 클러스터의 인스턴스 하나가 클라이언트에서 수신하는 네트워크 처리량(bps) 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
NetworkThroughput Amazon DocumentDB 클러스터의 각 인스턴스에서 클라이언트에서 수신 및 클라이언트로 전송된 네트워크 처리량(초당 바이트)입니다. 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
NetworkTransmitThroughput 클러스터의 인스턴스 하나가 클라이언트로 전송하는 네트워크 처리량(bps). 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다.
ReadIOPS 초당 평균 디스크 읽기 I/O 연산 수 Amazon DocumentDB는 1분 간격으로 IOPS에 대한 읽기 및 쓰기를 별도로 보고합니다.
ReadThroughput 초당 디스크에서 읽은 평균 바이트 수입니다.
StorageNetworkReceiveThroughput 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 수신한 네트워크 처리량(초당 바이트)입니다.
StorageNetworkTransmitThroughput 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 전송한 네트워크 처리량(초당 바이트)입니다.
StorageNetworkThroughput Amazon DocumentDB 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 수신 및 전송한 네트워크 처리량(초당 바이트)입니다.

"""

 

위의 내용과 같이 Network 사용량을 볼 수 있지만 여기서 추가로 필요로하는 사항이 있다.

 

CPU, Memory 는 사용량이 급증해서 위의 CW 지표로 이에 대한 메트릭이 보이면, 많이 사용된다 아니다를 직관적으로 알 수 있다.

 

그러나 이 네트워크쪽은 사용량은 보여줘도 기존 대역폭을 넘어서 burst (평소보다 짧은 시간 동안 정해진 리소스 한도 이상으로 순간적으로 성능을 끌어올려 쓰는 상황) 가 일어나는지 아닌지에 대한 메트릭이 아직 없기 때문에 현재 instance class 에서 네트워크 대역폭 사용량이 충분한지 아닌지에 대해서 직관적으로 알지 못하고 위의 사용량을 직접 계산하거나 CPU, Memory 사용량은 정상인데 처리량이 떨어지는지 등으로 현재 사용중인 네트워크 처리량이 각 instance class 별로 허용된 대역폭범위안에 포함될 수 있는지 확인 해야 한다.

 

실제 서비스 장애가 발생하지 않더라도, burst 가 주기적 또는 자주 발생하는 건 좋지 않다. 이는 현재 instance class 의 네트워크 처리량이 실제 서비스 네트워크 처리 요청량을 한계치까지 받고 있다는 뜻이기 때문이다.

 

더 나아가, Burst 는 client <-> instance 뿐만 아니라 Aurora Cluster, DocumentDB 에서 내부적으로 instance <-> 공유 스토리간에서도 존재 할 수 있다. 이 사항은 StorageNetworkTransmitThroughput, StorageNetworkThroughput 로 사용량 자체를 확인 할 수 있을 뿐이지 실제 이 두 개체의 네트워크 처리량이 한계에 다다랐는지는 보여주지 못한다. 

 

또한 내부적인 burst 는 사용자가 확인하지 못한다. 이는 Support Case 등을 통해 AWS 측에 문의를 해서 확인을 요청 해야한다. 외부적으로 이에 대해서 따로 CW 메트릭으로 지원을 할지는 미지수다. 다만 실제 사용자의 운영서비스에서 장애가 이로 인해 발생 할 수도 있기 때문에 이후에 이에 대해서 지원을 할 수 있는 가능성은 있어 보인다.

728x90
반응형
Comments