목차/06. Maestro Orchestrator 간 인증

06Maestro Orchestrator 간 인증Authentication between Maestro Orchestrators

여러 대의 Maestro Orchestrator 가 한 환경에서 함께 일하려면, 서로를 믿을 수 있는 상대로 확인하는 인증 이 먼저 이뤄져야 합니다. R82 부터는 같은 Maestro Site 안에서든(Internal Sync 포트), 서로 다른 Maestro Site 사이에서든(External Sync 포트) Orchestrator끼리 상호 인증(mutual authentication) 을 설정해 통신을 안전하고 암호화된 상태로 유지할 수 있습니다. 이 장은 인증이 무엇이고, 어떤 상태가 있으며, 새로 설정하고·강제로 다시 맞추고·해제하고·차단하는 방법, 그리고 문제 해결까지 빠짐없이 다룹니다.

인증이란 무엇인가

이 인증은 SSH 키SSL 인증서 를 기반으로 합니다. 발급된 SSL 인증서는 유효 기간이 1년 이며, Orchestrator가 자동으로 갱신 하므로 관리자가 따로 손댈 필요는 없습니다.

인증은 양방향 메시(two-way mesh) 방식 입니다. 즉 각 Orchestrator가 나머지 모든 Orchestrator를 서로 인증 합니다. 예를 들어 두 개의 Site로 구성된 Dual Site Maestro 환경에서는 각 Orchestrator가 다음과 같이 다른 모든 Orchestrator와 인증 관계를 맺습니다.

SiteOrchestrator인증 대상(다른 Orchestrator)
11_11_2, 2_1, 2_2
11_21_1, 2_1, 2_2
22_11_1, 1_2, 2_2
22_21_1, 1_2, 2_1

시작하기 전에 반드시 지켜야 할 경고가 둘 있습니다.

또한 인증을 한 번 설정했더라도, 다음과 같은 경우에는 인증을 다시 설정 해야 합니다.

Gaia Portal·CLI에서 보이는 인증 상태

어떤 Orchestrator의 Gaia Portal에 접속했을 때 그 Maestro 환경의 모든 Orchestrator가 아직 인증되지 않았다면, 다음과 같은 팝업이 뜹니다.

<Number> orchestrators are pending authentication, would
you like to authenticate them now?

Gaia Portal과 CLI에서는 각 Orchestrator에 대해 다음 네 가지 상태 중 하나가 표시됩니다. 여기서 "로컬 Orchestrator"란 지금 그 상태를 보여 주고 있는 Orchestrator 이고, "원격 Orchestrator"란 그 상대편 을 말합니다.

상태설명
Authenticated이 상태를 보여 주는 로컬 Orchestrator가 원격 Orchestrator를 인증했음.
Unknown로컬 Orchestrator가 원격 Orchestrator의 상태를 판단할 수 없음.
Unreachable로컬 Orchestrator가 원격 Orchestrator에 연결할 수 없음 — External Sync 포트(Maestro Site 간) 또는 Internal Sync 포트(같은 Maestro Site)로 닿지 못함.
Untrusted로컬 Orchestrator가 원격 Orchestrator를 신뢰하지 않음.

새 인증 설정하기

아래 절차는 Orchestrator 네 대가 있는 Dual Site Maestro 환경 을 기준으로 합니다. Orchestrator 두 대인 Single Site Maestro 환경에서도 같은 단계 가 그대로 적용됩니다. 설정하는 방법은 Gaia Portal과 CLI 두 가지가 있으며, Gaia Portal 방식을 권장 합니다.

두 방식 모두 시작 전에 같은 주의 사항이 있습니다.

Gaia Portal에서 새 인증 설정 (권장)

  1. 먼저 각 Orchestrator의 fingerprint(지문) 를 확인합니다. 두 가지 방법 중 하나를 씁니다.
    • Gaia Portal에서 확인
      1. Orchestrator의 Gaia Portal에 접속합니다.
      2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
      3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
      4. Orchestrator ID: X_Y (local) 섹션에서 Fingerprint 필드를 봅니다.
    • Gaia Clish에서 확인
      1. Orchestrator의 명령줄에 접속합니다.
      2. Gaia Clish에 로그인합니다.
      3. 다음을 실행합니다.
        show ssh pubkey host localhost
        
  1. Orchestrator 중 하나의 Gaia Portal에 접속합니다(예: Orchestrator 1_1).
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. Orchestrator ID: 1_2 섹션에서 신뢰를 맺습니다.
    1. Trust 를 클릭합니다.
    2. Trust Orchestrator 창에서 Yes 를 클릭합니다.
    3. Admin Password Required 창에서 Expert mode 암호 를 입력하고 OK 를 눌러 연결을 승인합니다. 이 암호는 최초 인증 과정에만 쓰이고, 인증이 끝난 뒤에는 저장되지 않 습니다.
    4. Authentication Summary 에서 OK 를 클릭합니다.
    5. 이로써 1_2와 1_1 사이 의 신뢰가 맺어집니다.
  5. Orchestrator ID: 2_1 섹션에서 같은 방식(Trust → Yes → Expert mode 암호 → OK → Authentication Summary OK)으로 진행합니다.
    • 이로써 2_1과 1_1, 그리고 2_1과 1_2 사이의 신뢰가 맺어집니다.
  6. Orchestrator ID: 2_2 섹션에서도 같은 방식으로 진행합니다.
    • 이로써 2_2와 1_1, 2_2와 1_2, 2_2와 2_1 사이의 신뢰가 맺어집니다.
  7. 기존 Maestro 환경에 새로 추가한 Orchestrator 와 신뢰를 맺었다면, 그 새 Orchestrator에서 Expert mode로 다음을 실행합니다.
   orchd restart
   

6번·7번 단계에서 한 번의 Trust 클릭으로 여러 신뢰 관계가 동시에 맺어지는 까닭은 앞서 설명한 양방향 메시 구조 때문입니다. 한 Orchestrator를 신뢰하면 그 Orchestrator가 이미 신뢰하고 있던 상대들과의 관계까지 함께 정리됩니다.

CLI에서 새 인증 설정 (Gaia Clish 또는 Expert mode)

CLI로도 같은 작업을 할 수 있습니다. 위의 2단계 인증 관련 중요 주의는 여기서도 똑같이 적용됩니다.

  1. 각 Orchestrator의 fingerprint를 확인합니다(방법은 Gaia Portal 절차의 1단계와 동일 — Gaia Portal의 Authentication 화면에서 보거나, Gaia Clish에서 show ssh pubkey host localhost 실행).
  2. Orchestrator 중 하나의 명령줄에 접속합니다(예: Orchestrator 1_1).
  3. establish_mho_authentication 명령으로 신뢰를 맺습니다.

모든 Orchestrator 사이 의 신뢰를 한 번에 맺으려면 다음을 실행합니다.

   establish_mho_authentication all
   

현재 Orchestrator와 특정 Orchestrator들 사이에만 신뢰를 맺으려면, 필요한 ID를 공백 없이 쉼표로 구분 해 다음과 같이 실행합니다.

   establish_mho_authentication 1_1,1_2,2_1,2_2
   

기존 인증을 강제로 다시 맞추기

이미 인증이 되어 있던 Orchestrator들의 신뢰를 강제로 다시 맺어야(force re-authentication) 할 때가 있습니다. 다음 경우에 유용합니다.

  • 어떤 Orchestrator와의 신뢰를 해제(revoke)했다가 다시 맺어야 하는 경우.
  • 인증된 Orchestrator들 사이에 통신 문제 가 생긴 경우.

Gaia Portal에서 강제 재인증 (권장)

  1. Orchestrator 중 하나의 Gaia Portal에 접속합니다.
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. 각 Orchestrator의 카드에서 메뉴를 열어 Force Re-authentication 을 클릭합니다.
  5. Refresh Authentication 창에서 Yes 를 클릭합니다.

CLI에서 강제 재인증 (Gaia Clish 또는 Expert mode)

  1. Orchestrator 중 하나의 명령줄에 접속합니다.
  2. establish_mho_authentication 명령으로 신뢰를 맺습니다. 이 명령은 Gaia Clish에서든 Expert mode에서든 실행할 수 있고, 사용법은 새 인증 설정 때와 같습니다.
   establish_mho_authentication -h
   

모든 Orchestrator 사이의 신뢰를 한 번에 맺으려면 다음을 실행합니다.

   establish_mho_authentication all
   

특정 Orchestrator들과만 맺으려면 ID를 공백 없이 쉼표로 구분합니다.

   establish_mho_authentication 1_1,1_2,2_1,2_2
   
  1. 기존 환경에 새로 추가한 Orchestrator 와 신뢰를 맺었다면, 그 새 Orchestrator에서 Expert mode로 다음을 실행합니다.
   orchd restart
   

기존 인증 해제하기

인증을 해제(revoke) 하면 선택한 Orchestrator의 기존 인증이 다른 모든 Orchestrator에서 풀립니다.

아래 예시는 모두 Orchestrator 1_2 와의 신뢰를 해제하는 경우입니다. 방법은 세 가지가 있습니다.

방법 1 — 모든 Orchestrator에서 특정 Orchestrator의 신뢰를 한 번에 해제 (권장)

  1. Orchestrator 1_1 의 Gaia Portal에 접속합니다(환경에 계속 남을 Orchestrator 라면 어느 것이든 접속해도 됩니다).
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. Orchestrator ID: 1_2 섹션에서 메뉴를 열어 Revoke from all 을 클릭합니다.
  5. Revoke Orchestrator 1_2 창에서 Yes 를 클릭합니다.
  6. Authentication Summary 창에서 OK 를 클릭합니다.

방법 2 — 한 Orchestrator에서만 해제 (Gaia Portal)

이 방법은 두 부분 으로 나뉩니다. 양쪽 Orchestrator에서 각각 상대에 대한 신뢰를 풀어야 합니다.

1/2 — Orchestrator 1_1 에서 해제 (1_1이 1_2에 대한 신뢰를 해제. 환경에 남을 Orchestrator라면 어느 것이든 접속 가능)

  1. Orchestrator 1_1 의 Gaia Portal에 접속합니다.
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. Orchestrator ID: 1_2 섹션에서 메뉴를 열어 Revoke 를 클릭합니다.
  5. Revoke Orchestrator 1_2 창에서 Yes 를 클릭합니다.
  6. Authentication Summary 창에서 OK 를 클릭합니다.

2/2 — Orchestrator 1_2 에서 해제 (1_2가 다른 모든 Orchestrator에 대한 신뢰를 해제)

  1. Orchestrator 1_2 의 Gaia Portal에 접속합니다.
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. Orchestrator ID: 1_1 섹션에서 Revoke 클릭 → Revoke Orchestrator 1_1 창에서 YesAuthentication Summary 창에서 OK.
  5. Orchestrator ID: 2_1 섹션에서 같은 방식으로 RevokeYesOK.
  6. Orchestrator ID: 2_2 섹션에서 같은 방식으로 RevokeYesOK.

방법 3 — 한 Orchestrator에서만 해제 (Gaia Clish)

이 방법도 두 부분 으로 나뉩니다.

1/2 — Orchestrator 1_1 에서 해제 (1_1이 1_2에 대한 신뢰를 해제)

  1. Orchestrator 1_1 의 명령줄에 접속합니다.
  2. 기본 셸이 Expert mode라면 Gaia Clish로 들어갑니다.
   
  1. Orchestrator 1_2와의 신뢰를 해제합니다.
   delete maestro authenticated mho 1_2
   
  1. 변경을 저장합니다.
   save config
   

2/2 — Orchestrator 1_2 에서 해제 (1_2가 1_1에 대한 신뢰를 해제)

  1. Orchestrator 1_2 의 명령줄에 접속합니다.
  2. 기본 셸이 Expert mode라면 Gaia Clish로 들어갑니다.
   
  1. Orchestrator 1_1과의 신뢰를 해제합니다.
   delete maestro authenticated mho 1_1
   
  1. 변경을 저장합니다.
   save config
   

Orchestrator 인증 차단하기

선택한 Orchestrator를 아예 신뢰하지 않는(untrusted) 상태로 고정 할 수도 있습니다. 신뢰하지 않는 Orchestrator가 나중에 실수로 신뢰 상태가 되는 일을 막고 싶을 때 이렇게 합니다.

  1. Orchestrator 중 하나의 Gaia Portal에 접속합니다.
  2. 왼쪽 패널에서 Orchestrator Management > Security Groups 를 클릭합니다.
  3. 오른쪽 위 모서리의 Authentication 을 클릭합니다.
  4. 해당 Orchestrator 카드에서 Do not trust 를 클릭합니다. 그 fingerprint가 /etc/blocked_fingerprints 파일 에 추가됩니다.
  5. Block fingerprint 창에서 Yes 를 눌러 확인합니다.
  6. 차단을 해제(unblock) 하려면 —
    1. Untrusted Orchestrators 섹션을 클릭해 펼칩니다.
    2. 해당 줄에서 Trust 를 클릭합니다.
    3. Unblock fingerprint 창에서 Yes 를 눌러 확인합니다.

문제 해결

인증에 문제가 있을 때는 다음 두 가지로 점검합니다.

1. orch_stat 명령 실행 — 각 Orchestrator에서 인증 상태를 확인합니다.

  1. 각 Orchestrator의 명령줄에 접속합니다.
  2. Expert mode에 로그인합니다.
  3. 다음 명령을 실행합니다.
   orch_stat -Av
   

2. HealthCheck Point(HCP) 도구 실행 — sk171436을 참고해 HCP 도구를 돌리고, Maestro Orchestrator Authentication 테스트를 봅니다.

  1. 각 Orchestrator의 명령줄에 접속합니다.
  2. Expert mode에 로그인합니다.
  3. 테스트를 실행합니다.
   hcp -r "Maestro Orchestrator
   Authentication"
   
  1. 자세한 보고서를 봅니다.
   hcp --show-last