hsm1.medium에서 hsm2m.medium으로 마이그레이션 - AWS CloudHSM

hsm1.medium에서 hsm2m.medium으로 마이그레이션

AWS CloudHSM 클러스터를 hsm1.medium에서 hsm2m.medium으로 마이그레이션할 수 있습니다. 이 주제에서는 사전 조건, 마이그레이션 프로세스, 롤백 절차에 대해 설명합니다.

마이그레이션을 시작하기 전에 애플리케이션이 고가용성을 위한 클러스터 설계에 명시된 권장 사항을 따르는지 확인합니다. 이렇게 하면 프로세스 중에 가동 중지 시간을 방지할 수 있습니다.

hsm1.medium에서 hsm2m.medium으로의 마이그레이션 프로세스 개요

AWS CloudHSM 콘솔, AWS CLI 또는 AWS CloudHSM API를 사용하여 마이그레이션을 시작할 수 있습니다. 시작 위치와 관계없이 AWS CloudHSM 클러스터 마이그레이션은 modify-cluster API 엔드포인트를 사용합니다. 마이그레이션이 시작되면 전체 클러스터가 제한된 쓰기 모드로 전환됩니다. 자세한 내용은 Cluster limited-write mode 섹션을 참조하세요.

영향을 최소화하기 위해 AWS CloudHSM은 HSM을 hsm1.medium에서 hsm2m.medium으로 한 번에 하나씩 변경합니다. 대체 HSM은 동일한 IP 주소를 유지하므로 마이그레이션 도중 또는 이후에 구성을 변경할 필요가 없습니다.

마이그레이션 방식은 다음과 같습니다.

  1. 첫 번째 HSM을 마이그레이션하기 전에 AWS CloudHSM은 전체 클러스터의 전체 백업을 생성합니다.

  2. AWS CloudHSM은 이 백업을 사용하여 요청된 유형(hsm2m.medium)의 새 HSM을 생성하고 첫 번째 HSM을 대체합니다.

  3. 각 후속 HSM을 마이그레이션하기 전에 AWS CloudHSM은 전체 클러스터의 새 전체 백업을 생성합니다.

  4. AWS CloudHSM은 클러스터의 각 HSM에 대해 3단계와 4단계를 반복하여 한 번에 하나의 HSM을 마이그레이션합니다.

  5. 각 개별 HSM 마이그레이션에 약 30분이 소요됩니다.

AWS CloudHSM은 클러스터 상태를 모니터링하고 마이그레이션 프로세스 전반에 걸쳐 검증을 수행합니다. AWS CloudHSM이 오류 증가를 감지하거나 검증 검사에 실패하면 마이그레이션을 자동으로 중지하고 클러스터를 원래 HSM 유형으로 되돌립니다. 마이그레이션 시작 후 최대 24시간 동안 수동으로 롤백할 수도 있습니다. 롤백하기 전에 HSM type rollback considerations 섹션을 참조하세요.

hsm2m.medium으로 마이그레이션하기 위한 사전 조건

hsm2m.medium으로 마이그레이션하려면 기존 AWS CloudHSM 클러스터가 이러한 요구 사항을 충족해야 합니다. 검증 검사 중에 조건이 충족되지 않으면 AWS CloudHSM이 클러스터를 원래 HSM 유형으로 자동 되돌립니다.

알려진 마이그레이션 문제 목록은 AWS CloudHSM 클러스터 수정에 대해 알려진 문제 섹션을 참조하세요.

  • 지난 7일 동안:

    • 모든 클라이언트 연결에서 SDK 5.9 이상을 사용했습니다.

      • ECDSA Verify를 수행하는 경우 모든 클라이언트 연결에서 SDK 5.13 이상을 사용했습니다.

    • AWS CloudHSM 인스턴스는 지원되는(권장되지 않는 기능은 전혀 사용 안 함) 기능만 사용했습니다. 자세한 내용은 지원 중단 알림을 참조하십시오.

    • 지난 7일 동안 SDK를 사용하여 클러스터에서 하나 이상의 HSM에 연결했어야 합니다.

  • 클러스터는 활성 상태입니다.

  • 클러스터에 있는 HSM이 27개 이하입니다.

  • HSM 작업의 오류율이 마이그레이션 중에 증가하지 않습니다.

참고

토큰 키 워크로드가 있는 고객이 마이그레이션할 수 없었던 이전의 제한 사항이 제거되었습니다.

클러스터의 제한된 쓰기 모드

클러스터 마이그레이션을 시작하면 제한된 쓰기 모드로 전환됩니다. HSM 상태를 변경할 수 있는 작업은 거부됩니다. 모든 읽기 작업은 영향을 받지 않습니다.

마이그레이션 중에 다음 작업을 시도할 때 애플리케이션이 HSM에서 오류를 수신합니다.

  • 토큰 키 생성 및 삭제(세션 키 워크로드는 계속 작동)

  • 모든 사용자 생성, 삭제 또는 수정

  • 쿼럼 작업

  • 키 속성 변경과 같은 HSM 내 키 수정

  • mTLS 등록

또한 AWS CloudHSM은 마이그레이션 중에 클러스터를 MODIFY_IN_PROGRESS 상태로 전환합니다. 이 동안에는 클러스터에서 HSM을 추가하거나 제거할 수 없습니다.

마이그레이션 시작

클러스터 마이그레이션 프로세스가 클러스터의 개별 HSM을 한 번에 하나씩 대체합니다. 기간은 클러스터의 HSM 수에 따라 달라집니다. 평균적으로 이 프로세스는 HSM당 약 30분이 걸립니다. 클러스터에서 개별 HSM의 HSM 유형을 모니터링하여 진행 상황을 추적하면서 새 유형으로 마이그레이션된 수를 확인할 수 있습니다.

Console
HSM 유형을 변경하려면(콘솔)
  1. https://console.aws.amazon.com/cloudhsm/home에서 AWS CloudHSM 콘솔을 엽니다.

  2. 변경할 클러스터의 ID 옆에 있는 라디오 버튼을 선택합니다.

  3. 작업 메뉴에서 Modify HSM Type을 선택한 다음 원하는 HSM 유형을 선택합니다.

이 절차에서는 클러스터를 MODIFY_IN_PROGRESS 상태로 전환합니다. 마이그레이션 후에 클러스터가 ACTIVE 상태로 돌아갑니다.

AWS CLI
HSM 유형을 변경하려면(AWS CLI)
  • 명령 프롬프트에서 modify-cluster 명령을 실행합니다. 클러스터 ID와 원하는 HSM 유형을 지정합니다.

    $ aws cloudhsmv2 modify-cluster --cluster-id <cluster ID> --hsm-type <HSM Type> { "Cluster": { "BackupPolicy": "DEFAULT", "BackupRetentionPolicy": { "Type": "DAYS", "Value": 90 }, "VpcId": "vpc-50ae0636", "SubnetMapping": { "us-west-2b": "subnet-49a1bc00", "us-west-2c": "subnet-6f950334", "us-west-2a": "subnet-fd54af9b" }, "SecurityGroup": "sg-6cb2c216", "HsmType": "hsm2m.medium", "HsmTypeRollbackExpiration": 1730383180.000, "Certificates": {}, "State": "MODIFY_IN_PROGRESS", "Hsms": [], "ClusterId": "cluster-igklspoyj5v", "ClusterMode": "FIPS", "CreateTimestamp": 1502423370.069 } }

이 절차에서는 클러스터를 MODIFY_IN_PROGRESS 상태로 전환합니다. 마이그레이션 후에 클러스터가 ACTIVE 상태로 돌아갑니다.

AWS CloudHSM API
HSM 유형을 변경하려면(AWS CloudHSM API)
  • ModifyCluster 요청을 보냅니다. 클러스터 ID와 클러스터에서 원하는 HSM 유형을 지정합니다.

이 절차에서는 클러스터를 MODIFY_IN_PROGRESS 상태로 전환합니다. 마이그레이션 후에 클러스터가 ACTIVE 상태로 돌아갑니다.

마이그레이션 롤백

AWS CloudHSM은 증가한 오류율을 모니터링하고 마이그레이션 전반에서 지속적인 검증 검사를 수행합니다. AWS CloudHSM에서 서비스 품질 저하 또는 검증 실패를 감지하면 클러스터의 원래 HSM 유형으로 롤백이 자동으로 시작됩니다. 롤백 중에 클러스터의 각 HSM에 대해 다음을 수행합니다.

  • AWS CloudHSM은 해당 HSM의 마이그레이션이 시작될 때 가져온 백업을 사용합니다.

  • 모든 HSM이 원래 유형으로 반환될 때까지 한 번에 하나의 HSM을 대체합니다.

  • 클러스터는 프로세스 전반에서 제한된 쓰기 모드로 유지됩니다.

마이그레이션 시작 후 24시간 이내에 롤백할 수 있습니다. 롤백 기한을 확인하려면:

  1. describe-clusters 명령을 실행합니다.

  2. HsmTypeRollbackExpiration 값을 찾아봅니다. 이 타임스탬프는 롤백 기한입니다.

롤백하기로 결정했다면 이 기한 전에 롤백합니다. 롤백은 원래 HSM 유형의 최신 백업을 사용합니다.

주의

마이그레이션이 완료된 후 롤백할 때는 주의해야 합니다. 마이그레이션 완료 후에 AWS CloudHSM을 사용하여 새 키 또는 사용자를 생성하면 롤백으로 인해 데이터가 손실될 수 있습니다. 롤백 후 데이터 손실을 완화하는 방법은 Synchronizing Data After a Rollback 섹션을 참조하세요.

Console
HSM 유형을 롤백하려면(콘솔)
  1. https://console.aws.amazon.com/cloudhsm/home에서 AWS CloudHSM 콘솔을 엽니다.

  2. 롤백하려는 클러스터의 ID를 선택합니다.

  3. 작업 메뉴에서 Modify HSM Type을 선택하고 원래 HSM 유형을 선택합니다.

이 절차에서는 클러스터를 ROLLBACK_IN_PROGRESS 상태로 전환합니다. 롤백 후 클러스터는 ACTIVE 상태로 돌아갑니다.

AWS CLI
HSM 유형을 롤백하려면(AWS CLI)
  • 명령 프롬프트에서 modify-cluster 명령을 실행합니다. 클러스터 ID와 원래 HSM 유형을 지정합니다.

    $ aws cloudhsmv2 modify-cluster --cluster-id <cluster ID> --hsm-type <HSM Type> { "Cluster": { "BackupPolicy": "DEFAULT", "BackupRetentionPolicy": { "Type": "DAYS", "Value": 90 }, "VpcId": "vpc-50ae0636", "SubnetMapping": { "us-west-2b": "subnet-49a1bc00", "us-west-2c": "subnet-6f950334", "us-west-2a": "subnet-fd54af9b" }, "SecurityGroup": "sg-6cb2c216", "HsmType": "hsm1.medium", "HsmTypeRollbackExpiration": 1730383180.000, "Certificates": {}, "State": "ROLLBACK_IN_PROGRESS", "Hsms": [], "ClusterId": "cluster-igklspoyj5v", "ClusterMode": "FIPS", "CreateTimestamp": 1502423370.069 } }

이 절차에서는 클러스터를 ROLLBACK_IN_PROGRESS 상태로 전환합니다. 롤백 후 클러스터는 ACTIVE 상태로 돌아갑니다.

AWS CloudHSM API
HSM 유형을 롤백하려면(AWS CloudHSM API)
  • ModifyCluster 요청을 보냅니다. 클러스터 ID와 클러스터의 원래 HSM 유형을 지정합니다.

이 절차에서는 클러스터를 ROLLBACK_IN_PROGRESS 상태로 전환합니다. 롤백 후 클러스터는 ACTIVE 상태로 돌아갑니다.

롤백 후 데이터 동기화

마이그레이션 중에 HSM은 제한적 쓰기 모드이므로 HSM 상태가 변경되지 않습니다. 이 기간(클러스터가 MODIFY_IN_PROGRESS인 동안) 중에 롤백하면 콘텐츠가 원래 클러스터와 동일한 클러스터가 생성됩니다.

클러스터가 ACTIVE 상태로 돌아가면 제한된 쓰기 모드가 해제됩니다. ACTIVE 상태에서 키 또는 사용자를 생성한 다음 롤백하면 해당 키 또는 사용자가 롤백된 클러스터에 표시되지 않습니다.

사용자 동기화를 해결하려면 CloudHSM CLI에서 사용자 관리를 사용하여 롤백 클러스터에서 누락된 사용자를 다시 생성합니다. user replicate 명령은 사용자를 hsm2m.medium에서 hsm1.medium으로 동기화하는 것을 지원하지 않으므로 사용자를 수동으로 다시 생성해야 합니다. 사용자 복제의 알려진 문제를 참조하세요.

키 동기화를 해결하려면 키 복제 명령을 사용하여 두 클러스터 간에 키를 복제합니다. CloudHSM CLI를 설치하지 않은 경우 AWS CloudHSM 명령줄 인터페이스(CLI) 시작의 지침을 참조하세요.

롤백 후 키를 동기화하려면

롤백을 완료한 후 다음 단계를 따릅니다. 다음과 같은 용어를 사용합니다.

  • "cluster-1": 롤백된 클러스터(현재 hsm1.medium)

  • "cluster-2": 생성할 새 임시 hsm2m.medium 클러스터

  1. cluster-1의 최신 hsm2m.medium 백업을 사용하여 새 hsm2m.medium 클러스터(cluster-2)를 생성합니다.

    aws cloudhsmv2 create-cluster --hsm-type hsm2m.medium \ --subnet-ids <subnet ID 1> <subnet ID 2> <subnet ID N> \ --source-backup-id <backup ID> --mode <FIPS>
  2. cluster-2에서 HSM을 생성합니다.

    aws cloudhsmv2 create-hsm --cluster-id <cluster-2 ID>
  3. 복제가 필요한 cluster-2의 키를 나열합니다.

    cloudhsm-cli key list --cluster-id <cluster-2 ID>
  4. 각 키를 cluster-2에서 cluster-1으로 복제합니다.

    cloudhsm-cli key replicate --source-cluster-id <cluster-2 ID> \ --destination-cluster-id <cluster-1 ID> \ --filter attr.label=<key ID>
  5. 복사가 필요한 각 키에 대해 4단계를 반복합니다.

  6. cluster-2에서 HSM을 삭제합니다.

    aws cloudhsmv2 delete-hsm --cluster-id <cluster-2 ID> --hsm-id <HSM ID>
  7. cluster-2를 삭제합니다.

    aws cloudhsmv2 delete-cluster --cluster-id <cluster-2 ID>