milvus-logo
LFAI
홈페이지
  • 관리 가이드
    • 배포

AWS에서 Milvus용 레이어 7 로드 밸런서 설정하기

레이어 4 로드 밸런서와 비교할 때, 레이어 7 로드 밸런서는 스마트한 로드 밸런싱 및 캐싱 기능을 제공하며 클라우드 네이티브 서비스에 적합한 선택입니다.

이 가이드에서는 이미 레이어 4 로드 밸런서 뒤에서 실행 중인 Milvus 클러스터를 위한 레이어 7 로드 밸런서 설정 방법을 안내합니다.

시작하기 전

Milvus 구성 조정

이 가이드에서는 AWS의 Layer-4 로드 밸런서 뒤에 Milvus 클러스터를 이미 배포했다고 가정합니다.

이 Milvus 클러스터에 대해 레이어 7 로드 밸런서를 설정하기 전에 다음 명령을 실행하여 레이어 4 로드 밸런서를 제거하세요.

helm upgrade milvus-demo milvus/milvus -n milvus --set service.type=ClusterIP

TLS 인증서 준비

TLS가 작동하려면 인증서가 필요합니다. ACM을 사용하여 인증서를 관리하고 있으므로 기존 인증서를 ACM으로 가져와야 합니다. 인증서 가져오기를 참조하세요. 다음은 예시입니다.

# If the import-certificate command is successful, it returns the arn of the imported certificate.
aws acm import-certificate --certificate fileb://Certificate.pem \
      --certificate-chain fileb://CertificateChain.pem \
      --private-key fileb://PrivateKey.pem  

인그레스를 생성하여 레이어 7 로드 밸런서 생성하기

다음과 같이 인그레스 파일을 준비하고 이름을 ingress.yaml 으로 지정합니다. 인증서 arn과 호스트를 자신의 인증서로 바꾸세요.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: milvus
  name: milvus-demo
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/backend-protocol-version: GRPC
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    alb.ingress.kubernetes.io/certificate-arn: "arn:aws:acm:region:account-id:certificate/certificate-id"

spec:
  ingressClassName: alb
  rules:
    - host: milvus-demo.milvus.io
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: milvus-demo
              port:
                number: 19530

그런 다음 파일을 EKS 클러스터에 적용하여 인그레스를 생성할 수 있습니다.

kubectl apply -f ingress.yaml

이제 AWS가 레이어 7 로드 밸런서를 설정할 때까지 기다립니다. 다음을 실행하여 진행 상황을 확인할 수 있습니다.

kubectl -f ingress.yaml get -w

출력은 다음과 비슷해야 합니다:

NAME          CLASS   HOSTS                   ADDRESS                                                                PORTS   AGE
milvus-demo   alb     milvus-demo.milvus.io   k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com   80      10m

주소 필드에 주소가 표시되면 Layer-7 로드 밸런서를 사용할 준비가 된 것입니다.

Layer-7 로드 밸런서를 통한 연결 확인

이 가이드에서는 PyMilvus를 사용하여 방금 만든 Layer-7 로드 밸런서 뒤에 있는 Milvus 서비스에 대한 연결을 확인합니다. 자세한 단계는 여기를 참조하세요.

from pymilvus import (
    connections,
    utility,
    FieldSchema,
    CollectionSchema,
    DataType,
    Collection,
)

connections.connect("default", host="k8s-milvus-milvusde-2f72215c02-778371620.us-east-2.elb.amazonaws.com", port="443", secure=True, server_name="milvus-demo.milvus.io")
  • 호스트와 server_name은 사용자 이름으로 바꿔야 합니다.
  • 도메인 네임을 앨범에 매핑하도록 DNS 레코드를 설정한 경우 호스트는 도메인 네임으로 바꾸고 server_name은 생략하세요.

번역DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?