<aside> 👨💻 선행사항: 이미 logstash 전용 pem 키가 yaml 설정에 등록되어 있고 k8s의 시크릿에도 pem키가 존재한다고 가정했을때이다.
</aside>
kubectl exec -it logstash-0 -n devops-tools -- bash
ls /usr/share/logstash/config/cacerts/
cat /usr/share/logstash/config/cacerts/logstash.pem
# 혹시 pod 내부가 아니면 다시 bash를 열어준다.
kubectl exec -it logstash-0 -n devops-tools -- bash
# 아래의 명령어로 엘라스틱 pod에 ssl 요청을 pem키를 통해 전송해본다.
openssl s_client -connect elasticsearch-master.devops-tools.svc.cluster.local:9200 -CAfile /usr/share/logstash/config/cacerts/logstash.pem -showcerts
openssl s_client
명령의 출력을 통해 확인한 바에 따르면, Elasticsearch 서버의 인증서는 자체 서명된 인증서(self-signed certificate)로 확인됐어. 이는 **example-ca
**가 서명한 인증서가 아니라 Elasticsearch 서버 자체가 자신의 인증서를 생성하고 서명한 것을 의미해. 이런 설정은 일반적으로 테스트 환경에서 사용되곤 하지만, 프로덕션 환경에서는 외부에서 신뢰할 수 있는 CA에 의해 서명된 인증서를 사용하는 것이 일반적이야.example-ca
**나 다른 신뢰할 수 있는 CA에 의해 서명된 인증서를 사용하도록 교체하는 것이 좋아. 이렇게 하면 Logstash와 Elasticsearch 간의 SSL/TLS 연결이 신뢰할 수 있는 방식으로 이루어질 수 있어.