

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

# HSM 스로틀링
<a name="troubleshoot-hsm-throttling"></a>

워크로드가 AWS CloudHSM 클러스터의 하드웨어 보안 모듈(HSM) 용량을 초과하면 HSMs이 사용 중이거나 제한되었다는 오류 메시지가 표시됩니다. 이 경우 처리량이 감소하거나 HSM의 거부 요청 비율이 증가할 수 있습니다. 또한 HSM은 다음과 같은 사용 중 오류를 보낼 수 있습니다.

## 클라이언트 SDK 5의 경우
<a name="ts-hsm-throttling-sdk5-errors"></a>
+ PKCS11에서 사용 중인 오류는 `CKR_FUNCTION_FAILED`로 매핑됩니다. 이 오류는 여러 가지 이유로 발생할 수 있지만 HSM 제한으로 인해 이 오류가 발생하는 경우 로그에 다음과 같은 로그 줄이 나타납니다.
  + `[cloudhsm_provider::hsm1::hsm_connection::e2e_encryption::error] Failed to prepare E2E response. Error: Received error response code from Server. Response Code: 187`
  + `[cloudhsm_pkcs11::decryption::aes_gcm] Received error from the server. Error: This operation is already in progress. Internal error code: 0x000000BB`
+ JCE에서 사용 중인 오류는 `com.amazonaws.cloudhsm.jce.jni.exception.InternalException: Unexpected error with the Provider: The HSM could not queue the request for processing.`로 매핑됩니다.
+ 다른 SDK의 사용 중 오류가 발생하면 `Received error response code from Server. Response Code: 187`이라는 메시지가 출력됩니다.

## 클라이언트 SDK 3의 경우
<a name="ts-hsm-throttling-sdk3-errors"></a>
+ PKCS11에서 사용 중인 오류는 `CKR_OPERATION_ACTIVE` 오류로 매핑됩니다.
+ JCE에서 사용 중인 오류는 `0xBB (187)`의 상태로 `CFM2Exception`로 매핑됩니다. 애플리케이션은 HSM에 의해 반환되는 상태를 확인하기 위해 `getStatus()` 기능을 `CFM2Exception`에 사용할 수 있다.
+ 다른 SDK의 사용 중인 오류는 `HSM Error: HSM is already busy generating the keys(or random bytes) for another request.`이라는 메시지를 출력합니다.

## 해결 방법
<a name="ts-hsm-throttling-resolution"></a>

다음 작업 중 하나 이상을 수행하여 이러한 문제를 해결할 수 있습니다.
+ 애플리케이션 계층에서 거부된 HSM 작업에 대한 재시도 명령을 추가합니다. 재시도 명령을 활성화하기 전에 클러스터의 크기가 최대 부하를 충족할 수 있도록 적절한지 확인하십시오.
**참고**  
클라이언트 SDK 5.8.0 이상의 경우 재시도 명령이 기본적으로 켜져 있습니다. 각 SDK의 재시도 명령 구성에 대한 자세한 내용은 [클라이언트 SDK 5 구성 도구의 고급 구성](configure-sdk5-advanced-configs.md)을 참조하십시오.
+ [AWS CloudHSM 클러스터에서 HSMs 크기 조정](add-remove-hsm.md)의 지침에 따라 클러스터에 HSM을 더 추가하세요.
**중요**  
클러스터의 부하 테스트를 통해 예상해야 하는 최대 부하를 확인한 다음 HSM을 하나 더 추가하여 고가용성을 보장하는 것이 좋습니다.