AWS Elasticsearch Service에 대한 유창한 설치 지침

Aug 19 2020

AWS Elasticsearch Service를 사용합니다. Kubernetes 클러스터에 fluentd를 설치하고 싶습니다. Fluentd는 AWS Elasticsearch Service에 로그를 보냅니다. 그것을 수행하는 방법에 대한 지침이 있습니까? 이 링크에서https://docs.fluentd.org/v/0.12/articles/kubernetes-fluentd, Elasticsearch Pod로 로그를 보내는 단계를 보여줍니다. Elasticsearch가 Kubernetes 클러스터 내부에 설치되었음을 의미합니다.

위의 링크는 elasticsearch pod에 대한 fluentd-daemonset-elasticsearch.yaml (아래 참조) 변경을 보여줍니다. AWS elasticsearch 서비스를 위해 어떤 구성을 변경해야합니까?

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: kube-system
  ...
spec:
    ...
    spec:
      containers:
      - name: fluentd
        image: quay.io/fluent/fluentd-kubernetes-daemonset
        env:
          - name:  FLUENT_ELASTICSEARCH_HOST
            value: "elasticsearch-logging"
          - name:  FLUENT_ELASTICSEARCH_PORT
            value: "9200"
            ......

답변

2 Rico Aug 19 2020 at 08:59

필요한 연결이 있다고 가정합니다. 예를 들어 Kubernetes와 Elasticsearch가 동일한 VPC에 있거나 다른 VPC에있는 경우 VPC 피어링이 구성되어 있습니다.

또한 Kubernetes에서 Elasticsearch 클러스터로의 포트를 허용 하는 방화벽 규칙 ( 보안 그룹 )이 9200있습니다.

간단해야합니다 (구성을 AWS Elasticsearch 클러스터 엔드 포인트로 지정).

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: kube-system
  ...
spec:
    ...
    spec:
      containers:
      - name: fluentd
        image: quay.io/fluent/fluentd-kubernetes-daemonset
        env:
          - name:  FLUENT_ELASTICSEARCH_HOST
            value: "vpc-domain-name-identifier.region.es.amazonaws.com" 👈
          - name:  FLUENT_ELASTICSEARCH_PORT
            value: "9200"
            ......

VPC를 사용하는 경우입니다. 클러스터를 그렇게 구성한 경우 퍼블릭 Elasticsearch 엔드 포인트도 사용할 수 있습니다. (하지만 퍼블릭 클라우드를 거치기 때문에 보안 수준이 떨어집니다). 이 같은:

https://search-domain-name-identifier.region.es.amazonaws.com

✌️