HA 구성

Prev Next

VPC 환경에서 이용 가능합니다.

네이버 클라우드 플랫폼이 제공하는 HSM 파티션에 대한 HA 구성 방법을 설명합니다.

HSM HA를 구성하려면 HA를 구성하려는 타깃 HSM과 다른 Zone에 HSM을 신규 생성하고, 타깃 HSM이 연결된 클라이언트 서버에 연결을 추가해야 합니다.

  1. HA를 구성하려는 타깃 HSM이 속한 Zone과 다른 Zone에 HSM을 신규 생성해 주십시오.
    • HSM 생성 방법은 HSM 생성을 참고해 주십시오.
  2. 생성한 HSM을 HSM 클라이언트와 연결해 주십시오. 이때 HSM 클라이언트는 타깃 HSM이 연결된 HSM 클라이언트와 동일해야 합니다.
    • 타깃 HSM이 생성한 연결 정보로 들어가서 HSM Tag를 추가해 주십시오.
    • HSM 연결을 추가하는 방법은 연결 관리를 참고해 주십시오.
  3. HSM 클라이언트로 원격 접속해 주십시오.
  4. 생성한 HSM에 대한 초기화 설정을 진행해 주십시오.
주의

초기화 시에 입력하는 파티션 관리자(Partition Security Officer)의 비밀번호와 도메인 네임은 HA 구성에 속하는 모든 HSM 파티션에 동일하게 적용되어야 합니다. 그렇지 않을 경우에는 HA 구성이 정상적으로 수행되지 않습니다.

참고

HA 구성에 대한 자세한 정보는 HSM and Partition Prerequisites를 참고해 주십시오.

HA 설정은 그룹을 생성한 후 그룹 멤버를 추가하는 순서로 진행해 주십시오. 암호화 관리자 권한으로 수행할 수 있습니다.

  1. HA 그룹 생성
  2. HA 그룹 멤버 추가

HA 그룹을 생성하는 방법은 다음과 같습니다.

lunacm에서 hagroup creategroup 명령을 실행해 주십시오.

  • 비밀번호를 입력하라는 프롬프트가 나오면 암호화 관리자(Crypto Officer)의 비밀번호를 입력해 주십시오.
  • lunacm은 타깃 HSM 파티션의 일련번호(Serial Number) 앞에 '1'을 추가하여 HA 그룹의 일련번호를 생성하고, 가상 슬롯 번호를 할당한 후 자동으로 재시작합니다.
lunacm:>hagroup creategroup -label haGroup -slot 0


   Enter the password: *********


      New group with label "haGroup" created with group number 11464895629433.
      Group configuration is:

         HA Group Label:  haGroup
      HA Group Number:  11464895629433
      HA Group Slot ID:  Not Available
      Synchronization: enabled
         Group Members:  1464895629433
            Needs sync:  no
      Standby Members:  <none>


Slot #    Member S/N                      Member Label    Status
======    ==========                      ============    ======
   0  1464895629433                          ha-part1     alive


Command Result : No Error

lunacm (64-bit) v10.3.0-275. Copyright (c) 2020 SafeNet. All rights reserved.


   Available HSMs:

   Slot Id ->              0
   Label ->                ha-part1
   Serial Number ->        1464895629433
   Model ->                LunaSA 7.7.0
   Firmware Version ->     7.7.0
   Bootloader Version ->   1.1.2
   Configuration ->        Luna User Partition With SO (PW) Key Export With Cloning Mode
   Slot Description ->     Net Token Slot
   FM HW Status ->         FM Ready

   Slot Id ->              1
   Label ->                ha-part2
   Serial Number ->        1467067938950
   Model ->                LunaSA 7.7.0
   Firmware Version ->     7.7.0
   Bootloader Version ->   1.1.2
   Configuration ->        Luna User Partition With SO (PW) Key Export With Cloning Mode
   Slot Description ->     Net Token Slot
   FM HW Status ->         FM Ready

   Slot Id ->              8
   HSM Label ->            haGroup
   HSM Serial Number ->    11464895629433
   HSM Model ->            LunaVirtual
   HSM Firmware Version -> 7.7.0
   HSM Configuration ->    Luna Virtual HSM (PW) Key Export With Cloning Mode
   HSM Status ->           N/A - HA Group



   Current Slot Id: 0
Plain text
참고

lunacm hagroup creategroup 명령어에 대한 자세한 정보는 hagroup creategroup을 참고해 주십시오.

HA 그룹 멤버를 추가하는 방법은 다음과 같습니다.

lunacm에서 hagroup addmember 명령을 실행해 주십시오.

  • 비밀번호를 입력하라는 프롬프트가 나오면 암호화 관리자(Crypto Officer)의 비밀번호를 입력해 주십시오.
lunacm:>hagroup addmember -group haGroup -slot 1


   Enter the password: *********

      Member 1467067938950 successfully added to group haGroup.
   New group configuration is:

         HA Group Label:  haGroup
      HA Group Number:  11464895629433
      HA Group Slot ID:  8
      Synchronization: enabled
         Group Members:  1464895629433, 1467067938950
            Needs sync:  no
      Standby Members:  <none>


Slot #    Member S/N                      Member Label    Status
======    ==========                      ============    ======
   0  1464895629433                          ha-part1     alive
   1  1467067938950                          ha-part2     alive


      Please use the command "ha synchronize" when you are ready
      to replicate data between all members of the HA group.
      (If you have additional members to add, you may wish to wait
      until you have added them before synchronizing to save time by
      avoiding multiple synchronizations.)

Command Result : No Error
Plain text
참고

lunacm hagroup addmember 명령어에 대한 자세한 정보는 hagroup addmember를 참고해 주십시오.

SafeNet Luna Client에서 HSM 정보를 조회하면 물리적 슬롯 정보와 가상 HA 그룹 슬롯 정보가 모두 조회됩니다. SafeNet Luna Client가 물리적 슬롯과 연동되면 고가용성 및 로드 밸런싱 기능이 무시됩니다. 따라서 HA 로드 밸런싱 및 이중화를 사용하려면 가상 HA 슬롯과 연동되어야 합니다.

HA 전용 모드(HA Only 모드)에서는 물리적 슬롯이 숨겨지고 HA 그룹 슬롯만 조회되므로 PKCS#11 슬롯 번호 지정이 간소화됩니다. 또한 모든 요청과 응답이 HA 시스템에서 투명하게 처리됩니다.

HA 그룹 멤버 파티션이 실패하고 복구되는 경우 HA 그룹 가상 슬롯을 포함한 모든 슬롯 번호가 변경될 수 있습니다. 이로 인해 응용 프로그램이 잘못된 슬롯으로 작업을 지시할 수 있습니다. HA 그룹의 물리적 슬롯이 직접 요청을 수신하면 HA 그룹의 다른 멤버 파티션으로 결과가 복제되지 않습니다.

HA 전용 모드를 사용하도록 설정한 경우 HA 가상 슬롯은 파티션 슬롯 변경의 영향을 받지 않습니다. 따라서 HA 그룹을 실행하는 모든 클라이언트에서 HA 전용 모드를 사용하도록 설정하는 것이 좋습니다. HA 전용 모드를 사용하도록 설정한 경우에도 개별 파티션 슬롯이 LunaCM에 계속 표시되고, 클라이언트 응용 프로그램에서만 숨겨집니다. CKdemo(옵션 11) 유틸리티를 사용하여 클라이언트 응용 프로그램에 사용할 슬롯 번호를 확인할 수 있습니다.

참고
  • SafeNet Luna Client 슬롯 번호 지정 및 동작에 관한 자세한 정보는 Slot Numbering and Behavior를 참고해 주십시오.
  • SafeNet Luna Client HA 문제 해결에 관한 자세한 정보는 HA Troubleshooting을 참고해 주십시오.
  • CKdemo 유틸리티에 대한 자세한 정보는 ckdemo를 참고해 주십시오.

HA 전용 모드를 설정하는 방법은 다음과 같습니다. HA 전용 모드 설정은 암호화 관리자(Crypto Officer) 권한으로 수행합니다.

  1. lunacm에서 hagroup haonly 명령을 실행하여 HA only 모드를 활성화해 주십시오.
    lunacm:>hagroup haonly -enable
    
       "HA Only" has been enabled.
    
    Command Result : No Error
    
    Plain text
  2. hagroup listgroups 명령을 실행하여 변경된 설정을 확인해 주십시오.
    • 비밀번호를 입력하라는 프롬프트가 나오면 암호화 관리자(Crypto Officer)의 비밀번호를 입력해 주십시오.
    • 설정 결과 hagroup listgroups에서 조회되던 물리적 파티션의 슬롯 번호가 사라진 것을 확인할 수 있습니다.
    • 설정 결과 HA auto recovery: 필드가 enabled로 표시되는 것을 확인할 수 있습니다.
    lunacm:>hagroup listgroups
    
          If you would like to see synchronization data for group haGroup,
          please enter the password for the group members. Sync info
          not available in HA Only mode.
    
    
       Enter the password: *********
    
    
                HA auto recovery:  enabled
                HA recovery mode:  activeBasic
       Maximum auto recovery retry:  5
       Auto recovery poll interval:  60 seconds
                      HA logging:  disabled
                Only Show HA Slots:  yes
    
    
             HA Group Label:  haGroup
          HA Group Number:  11464895629433
          HA Group Slot ID:  8
          Synchronization: enabled
             Group Members:  1464895629433, 1467067938950
                Needs sync:  no
          Standby Members:  <none>
    
    
    Slot #    Member S/N                      Member Label    Status
    ======    ==========                      ============    ======
    ------  1464895629433                          ha-part1     alive
    ------  1467067938950                          ha-part2     alive
    
    Plain text
참고
  • lunacm hagroup haonly 명령어에 대한 자세한 정보는 hagroup haonly를 참고해 주십시오.
  • HA 전용 모드에 대한 자세한 정보는 HA Only Mode를 참고해 주십시오.

HA 그룹 부가 설정 항목으로는 HA 자동 복구 설정과 HA 로깅 설정이 있습니다.

HA 자동 복구가 활성화되어 있을 경우 클라이언트는 HA 멤버의 장애 감지 시 주기적인 복구를 시도합니다.
신규 HA 그룹은 HA 자동 복구가 설정되어 있지 않으므로, 자동 복구를 설정하려면 복구 시도 횟수를 설정해 주십시오. 설정 시 암호화 관리자(Crypto Officer) 권한이 필요하며, 설정이 완료되면 클라이언트에 구성된 모든 HA 그룹에 적용됩니다.

  1. lunacm에서 hagroup retry -count 명령을 실행하여 최대 복구 횟수를 설정해 주십시오.
    • 자동 복구 최대 시도 횟수를 설정함으로써 자동 복구를 활성화할 수 있습니다.
    • hagroup recoverymode -mode {activeBasic | activeEnhanced} 명령을 실행하여 자동 복구를 설정할 수 있습니다.
    • hagroup interval -interval <seconds> 명령을 실행하여 자동 복구 인터벌 타임을 설정할 수 있습니다.
    lunacm:>hagroup retry -count 5
    
       HA Auto Recovery Count has been set to 5
    
    Command Result : No Error
    
    
    Plain text
    참고

    lunacm hagroup retry 명령어에 대한 자세한 정보는 hagroup retry를 참고해 주십시오.
    lunacm hagroup recoverymode 명령어에 대한 자세한 정보는 hagroup recoverymode를 참고해 주십시오.
    lunacm hagroup interval 명령어에 대한 자세한 정보는 hagroup interval을 참고해 주십시오.

  2. hagroup listgroups 명령을 실행하여 HA 그룹 설정 정보를 확인해 주십시오.
    • 비밀번호를 입력하라는 프롬프트가 나오면 암호화 관리자(Crypto Officer)의 비밀번호를 입력해 주십시오.
    • 조회 결과 HA auto recovery: enabled, HA recovery mode: activeBasic, Maximum auto recovery retry: 5, Auto recovery poll interval: 60 seconds 등 자동 복구 설정 내용을 확인할 수 있습니다.
    lunacm:>hagroup listgroups
    
          If you would like to see synchronization data for group haGroup,
          please enter the password for the group members. Sync info
          not available in HA Only mode.
    
    
       Enter the password: *********
    
    
                HA auto recovery:  enabled
                HA recovery mode:  activeBasic
       Maximum auto recovery retry:  5
       Auto recovery poll interval:  60 seconds
                      HA logging:  disabled
                Only Show HA Slots:  no
    
    
             HA Group Label:  haGroup
          HA Group Number:  11464895629433
          HA Group Slot ID:  8
          Synchronization: enabled
             Group Members:  1464895629433, 1467067938950
                Needs sync:  no
          Standby Members:  <none>
    
    
    Slot #    Member S/N                      Member Label    Status
    ======    ==========                      ============    ======
       0  1464895629433                          ha-part1     alive
       1  1467067938950                          ha-part2     alive
    
    
    Command Result : No Error
    
    Plain text

HA 로깅 설정이 활성화되면 클라이언트는 HA 관련 이벤트를 로그로 기록합니다. HA 관련 이벤트에는 HA 오류뿐만 아니라 멤버 추가 및 삭제 이벤트도 포함됩니다. 단, 그룹 추가나 제거와 같이 HA 그룹 전체에 해당하는 이벤트는 기록하지 않습니다.

  • 로그 파일명: haErrorLog.txt

로깅 시작

Luna HSM Client 7.2.0 버전 이상일 경우, 신규 HA 그룹 생성 시에 로깅 기능이 자동으로 활성화되나 경로가 설정되어 있지 않아 정식으로 동작하지 않습니다.
로깅을 시작하려면 haLogPath 값에 정상 경로를 설정해야 합니다.

Chrystoki.conf 파일에 다음의 설정을 추가해 주십시오.

HAConfiguration = {
   haLogStatus = enabled;
   HAOnly = 1;
}
Shell

로그 파일 저장 경로 설정

로그 파일을 저장할 경로를 설정하고 확인하는 방법은 다음과 같습니다.

  1. lunacm에서 hagroup halog -path 명령을 실행하여 로그 파일 저장 경로를 설정해 주십시오.
    lunacm:>hagroup halog -path "/opt/hsm/log/lunaclientLog"
    
       HA Log path successfully set to /opt/hsm/log/lunaclientLog.
    
    Command Result : No Error
    
    Plain text
  2. hagroup halog -show 명령을 실행하여 로그 파일의 경로와 용량을 확인해 주십시오.
    lunacm:>hagroup halog -show
    
             HA Log: enabled
          Log File: /opt/hsm/log/haErrorLog.txt
    Max File Length: 262144 bytes
    
    
    Command Result : No Error
    
    Plain text
참고
  • lunacm hagroup halog 명령어에 대한 자세한 정보는 hagroup halog를 참고해 주십시오.
  • 로그 메시지에 대한 자세한 정보는 HA Logging을 참고해 주십시오.