Neptune Serverless DB 클러스터 및 인스턴스의 추가 구성 - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Neptune Serverless DB 클러스터 및 인스턴스의 추가 구성

Neptune Serverless DB 클러스터의 최소 및 최대 용량을 설정하는 것 외에도 고려해야 할 몇 가지 다른 구성 옵션이 있습니다.

DB 클러스터에서 서버리스 인스턴스와 프로비저닝된 인스턴스 결합

DB 클러스터는 서버리스만 사용할 필요는 없습니다. 서버리스 인스턴스와 프로비저닝된 인스턴스를 조합하여 만들 수 있습니다(혼합 구성).

예를 들어 서버리스 인스턴스에서 사용할 수 있는 것보다 많은 쓰기 용량이 필요하다고 가정하겠습니다. 이 경우 대규모로 프로비저닝된 라이터를 사용하여 클러스터를 설정하고 리더용 서버리스 인스턴스를 사용할 수 있습니다.

또는 클러스터의 쓰기 워크로드는 다양하지만 읽기 워크로드는 일정하다고 가정합니다. 이 경우 서버리스 라이터와 하나 이상의 프로비저닝된 리더로 클러스터를 설정할 수 있습니다.

혼합 구성 DB 클러스터를 생성하는 방법은 Amazon Neptune Serverless 사용에서 참조하세요.

Neptune Serverless 인스턴스의 승격 티어 설정

여러 개의 서버리스 인스턴스를 포함하는 클러스터 또는 프로비저닝된 인스턴스와 서버리스 인스턴스가 혼합된 클러스터의 경우 각 서버리스 인스턴스의 승격 티어 설정을 유의해야 합니다. 이 설정은 프로비저닝된 DB 인스턴스보다 서버리스 인스턴스에 대해 더 많은 동작을 제어합니다.

에서 데이터베이스 생성 AWS Management Console, 인스턴스 수정리더 추가 페이지의 추가 구성에서 장애 조치 우선 순위를 사용하여 이 설정을 지정합니다. 데이터베이스 페이지에서 선택 사항인 우선 순위 티어 열에 기존 인스턴스에 대해 이 속성이 표시됩니다. DB 클러스터 또는 인스턴스의 세부 정보 페이지에서도 이 속성을 확인할 수 있습니다.

프로비저닝된 인스턴스의 경우 티어 0~15를 선택하면 Neptune이 장애 조치 작업 중에 라이터로 승격할 리더 DB 인스턴스를 선택하는 순서만 결정됩니다. Neptune Serverless 리더 인스턴스의 경우 티어 번호에 따라 인스턴스를 라이터 인스턴스의 용량에 맞춰 스케일 업할지 아니면 자체 워크로드만을 기준으로 독립적으로 크기 조정할지도 결정됩니다.

티어 0 또는 1의 Neptune Serverless 리더 인스턴스는 장애 조치 시 라이터에서 인계받을 준비가 되도록 최소한 라이터 인스턴스만큼 높은 최소 용량으로 유지됩니다. 라이터가 프로비저닝된 인스턴스인 경우 Neptune은 상응하는 서버리스 용량을 추정하고 이 추정치를 서버리스 리더 인스턴스의 최소 용량으로 사용합니다.

티어 2~15의 Neptune Serverless 리더 인스턴스는 최소 용량에 대해 이러한 제약 조건을 갖고 있지 않으며 라이터와 관계없이 규모를 조정할 수 있습니다. 유휴 상태인 경우 클러스터의 용량 범위 에 NCU 지정된 최소값으로 축소됩니다. 하지만 읽기 워크로드가 급격히 급증하면 문제가 발생할 수 있습니다.

리더 용량을 라이터 용량에 맞게 조정합니다.

한 가지 명심해야 할 점은 과도한 복제 지연을 방지하기 위해 리더 인스턴스가 라이터 인스턴스의 속도를 따라잡을 수 있도록 해야 한다는 것입니다. 이는 서버리스 리더 인스턴스가 라이터 인스턴스와 동기화되어 자동으로 스케일 인되지 않는 2가지 상황에서 특히 문제가 됩니다.

  • 라이터가 프로비저닝되면 리더는 서버리스 상태가 됩니다.

  • 라이터가 서버리스이면 서버리스 리더는 승격 티어 2~15에 포함됩니다.

두 경우 모두 예상 라이터 용량과 일치하도록 최소 서버리스 용량을 설정하여 리더 작업 시간이 초과되어 재시작이 발생할 수 있는 일이 없도록 합니다. 프로비저닝된 라이터 인스턴스의 경우 프로비저닝된 인스턴스의 최소 용량과 일치하도록 최소 용량을 설정합니다. 서버리스 라이터의 경우 최적의 설정을 예측하기 어려울 수 있습니다.

인스턴스 용량 범위가 클러스터 수준에서 설정되기 때문에 모든 서버리스 인스턴스는 동일한 최소 및 최대 용량 설정으로 제어됩니다. 티어 0과 1의 리더 인스턴스는 라이터 인스턴스와 동기화되어 스케일 인되지만, 승격 티어 2~15의 인스턴스는 워크로드에 따라 서로 독립적으로 규모가 조정되며 라이터 인스턴스와도 독립적으로 규모 조정이 이뤄집니다. 최소 용량을 너무 낮게 설정하면 티어 2~15의 유휴 인스턴스를 너무 낮게 스케일 다운하여 라이터 작업의 급격한 증가를 처리할 수 있을 만큼 빠르게 규모를 조정할 수 없습니다.

제한 시간 값을 너무 높게 설정하면 안 됨

특히 서버리스 인스턴스에서 쿼리 제한 시간 값을 너무 높게 설정하면 예상치 못한 비용이 발생할 수 있습니다.

제한 시간을 적절하게 설정하지 않으면 강력하고 값비싼 인스턴스 유형이 필요하고 매우 오랫동안 계속 실행되는 쿼리가 실수로 실행되어 예상치 못한 비용이 발생할 수 있습니다. 대부분의 쿼리를 수용하고 예기치 않게 오래 실행되는 쿼리의 제한 시간만 발생시키는 쿼리 제한 시간 값을 사용하면 이러한 상황을 피할 수 있습니다.

이는 파라미터를 사용하여 설정된 일반 쿼리 제한 시간 값과 쿼리 힌트를 사용하여 설정된 쿼리별 제한 시간 값 모두에 해당됩니다.

Neptune Serverless 구성 최적화

Neptune Serverless DB 클러스터가 실행 중인 워크로드에 맞게 조정되지 않은 경우 최적으로 실행되지 않는 것을 알 수 있습니다. 메모리 문제 없이 규모를 조정할 수 있도록 최소 또는 최대 용량 설정을 조정할 수 있습니다.

  • 클러스터의 최소 용량 설정 증대 이렇게 하면 유휴 인스턴스가 애플리케이션 및 사용 설정된 기능에 필요한 용량보다 적은 메모리 용량으로 다시 규모가 조정되는 상황을 해결할 수 있습니다.

  • 클러스터의 최대 용량 설정 증대 이렇게 하면 사용량이 많은 데이터베이스가 워크로드를 처리할 수 있는 충분한 메모리 및 사용 설정된 모든 메모리 집약적인 기능으로 용량을 스케일 업할 수 없는 상황을 해결할 수 있습니다.

  • 해당 인스턴스의 워크로드를 변경합니다. 예를 들어 클러스터에 리더 인스턴스를 추가하여 읽기 로드를 더 많은 인스턴스에 분산할 수 있습니다.

  • 리소스를 적게 사용하도록 애플리케이션 쿼리를 조정합니다.

  • Neptune Serverless 내에서 NCUs 사용 가능한 최대보다 큰 프로비저닝된 인스턴스를 사용하여 워크로드의 메모리 및 CPU 요구 사항에 더 적합한지 확인하세요.