설명
--peer-auto-tls=true는 etcd 피어 연결에 사용할 자체 서명 인증서를 자동으로 생성합니다. 통신을 암호화할 수는 있지만, 이 방식 자체로는 신뢰할 피어를 인증하지 않습니다.
피어 통신은 데이터 복제와 클러스터 운영에 사용됩니다. 인증이 필요한 환경에서는 관리되는 CA와 피어 인증서로 상대의 신원을 검증해야 합니다.
잠재적 영향
- 피어 신원을 검증하지 않으면 연결 가능한 네트워크에서 상대를 사칭할 위험이 생깁니다.
- TLS 설정을 준비하지 않고 자동 TLS만 끄면 암호화나 피어 연결이 중단될 수 있습니다.
해결 방법
- 관리되는 피어 인증서·키와
--peer-trusted-ca-file및 HTTPS 피어 주소를 먼저 준비하세요. --peer-client-cert-auth=true를 사용해 신뢰할 인증서를 요구하고, 준비된 구성으로 전환하면서 자동 TLS를 끄세요.- 멤버 간 통신과 인증서 거부 동작을 시험하고 인증서 갱신 절차를 마련하세요.
예시
etcd 3.2.18의 인자를 보여 주는 과거 부분 예시입니다. 실제 배포에는 지원되는 버전과 완전한 피어 TLS 설정이 필요합니다.
변경 전
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-etcd-deployment
spec:
template:
spec:
containers:
- name: database
image: gcr.io/google_containers/etcd:v3.2.18
command: ["etcd"]
args: ["--peer-auto-tls=true"]
피어 연결에 자동 생성된 자체 서명 인증서를 사용합니다. 이 설정만으로 피어 신원이 인증되지는 않습니다.
변경 후
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-etcd-deployment
spec:
template:
spec:
containers:
- name: database
image: gcr.io/google_containers/etcd:v3.2.18
command: ["etcd"]
args: []
자동 TLS 인자만 제거했습니다. 인증서·키·CA와 HTTPS 피어 주소를 별도로 구성해야 보호된 연결을 유지할 수 있습니다.