가십 암호화 사용

가십 암호화 사용 (Enable gossip encryption)

멤버십과 활성 상태(liveness) 정보를 전달하는 데 사용되는 Nomad 서버의 가십 프로토콜은 대칭 키로 암호화할 수 있어요. 가십 암호화를 활성화하려면 Nomad 서버를 시작할 때 암호화 키를 설정해야 해요. 키는 encrypt 파라미터 또는 -encrypt 명령줄 옵션으로 설정할 수 있어요. 키는 32바이트 무작위 값의 base64 인코딩 문자열이어야 해요. 리전의 모든 서버에서 동일한 암호화 키를 사용해야 해요.

출처: 문서

본문

참고: RPC와 HTTP 통신을 보호하려면 TLS를 구성해야 해요. 방법은 TLS 암호화 사용 가이드에서 배울 수 있어요.

암호화 키 생성

Nomad CLI에는 새 보안 가십 암호화 키를 생성하는 operator gossip keyring generate 명령이 포함돼 있어요.

4kRkFQfcc3LU0BazP1ca+z==

현재 및 이전 버전의 nomad operator gossip keyring generate는 16바이트를 반환하지만, Nomad는 32바이트 가십 암호화 키도 지원해요. 32바이트 키를 제공하면 AES-256 모드가 활성화되고, 16바이트 키를 제공하면 AES-128 모드가 활성화돼요.

또는 base64로 인코딩된 32바이트 무작위 값을 만들 수 있는 어떤 방법이든 사용할 수 있어요.

4YwLQm6ZMwYgfldNBT5P76tAWMdcBmu+FPYRvCxvsHc=

IisA4F7Mu/RwGfBZelcsFzMlJ4+twnO5Z7eoTzD0T6c=

서버가 키를 사용하도록 구성

생성된 동일한 키를 모든 서버의 구성 파일 또는 명령줄 인자에 넣어요:

  enabled = true

  # Self-elect, should be 3 or 5 for production. This is only for single node
  # clusters which are strictly for development/demo.
  bootstrap_expect = 1

  # Encrypt gossip communication
  encrypt = "+p7iF56z0EWoSIvhpYHWXZrSAAtnjR9l6XHRzHqQKlg="
}

암호화를 활성화하기 위해 서버 재시작

각 서버 노드에서 Nomad 프로세스를 롤링 재시작하여 암호화를 활성화할 수 있어요. 이 소프트 파티션의 어느 한쪽에서 정족수(quorum)를 유지할 수 있도록 서버를 한 번에 하나씩 재시작해요.

모든 노드가 재시작되면 모든 서버 노드 사이의 모든 가십 트래픽이 암호화돼요.

다음 단계 (Next steps)

Nomad의 가십 프로토콜에 대한 더 많은 기술 정보를 원한다면 Serf 라이브러리 문서를 참고해요.

더 알아보기 (Learn more)