HSM 스로틀링
워크로드가 AWS CloudHSM 클러스터의 하드웨어 보안 모듈(HSM) 용량을 초과하면 HSM이 사용 중이거나 병목 현상이 발생했다는 오류 메시지를 받을 겁니다. 이 경우 처리량이 감소하거나 HSM의 거부 요청 비율이 증가할 수 있습니다. 또한 HSM은 다음과 같은 사용 중 오류를 보낼 수 있습니다.
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
이라는 메시지가 출력됩니다.
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.
이라는 메시지를 출력합니다.
해결 방법
다음 작업 중 하나 이상을 수행하여 이러한 문제를 해결할 수 있습니다.
애플리케이션 계층에서 거부된 HSM 작업에 대한 재시도 명령을 추가합니다. 재시도 명령을 활성화하기 전에 클러스터의 크기가 최대 부하를 충족할 수 있도록 적절한지 확인하십시오.
참고
클라이언트 SDK 5.8.0 이상의 경우 재시도 명령이 기본적으로 켜져 있습니다. 각 SDK의 재시도 명령 구성에 대한 자세한 내용은 클라이언트 SDK 5 구성 도구의 고급 구성을 참조하십시오.
AWS CloudHSM 클러스터에서 HSM 크기 조정의 지침에 따라 클러스터에 HSM을 더 추가하세요.
중요
클러스터의 부하 테스트를 통해 예상해야 하는 최대 부하를 확인한 다음 HSM을 하나 더 추가하여 고가용성을 보장하는 것이 좋습니다.