인프라 구축
이 매뉴얼은 mellerikat의 AWS 클라우드 인프라에 대해 안내하고 있습니다. 해당 인프라의 전반적인 개요를 이해하시려면 제공된 영상을 참조하시기 바랍니다. 이후, 매뉴얼의 지시에 따라 설치 과정을 진행하시면 됩니다. 이 과정을 통해 mellerikat의 AWS 클라우드 인프라를 효과적으로 활용하실 수 있습니다.
이 인프라는 Edge Conductor와 Edge App이 클라우드 인프라에서 작동하는 구조를 가지고 있습니다. 고객의 요구 사항에 따라, 이들은 온프레미스(On-premise) 환경에서도 설치 및 운영이 가능합니다.
mellerikat 인프라 (AWS 기준)
INFRA | DESCRIPTION | NOTE |
---|---|---|
DOMAIN | AI Conductor 및 Edge Conductor 접속 주소 - 주소가 있다면 설치하지 않습니다. | mellerikat-{COMPANY_NAME}.com |
Load Balancer | Application Load Balancer를 설치합니다. | Scheme : Internet-facing Listener rules 설정 - AI Conductor Backend - AI Conductor Frontend - Kubeflow Dashboard |
VPC | VPC를 설치합니다. | Subnet : Subnet 의 Availability Zone은 "a" 와 "c" 에 설치합니다. CIDR : 10.0.0.0/16 으로 설정 |
EKS | AWS Kubernetes 를 설치합니다. | Version : 1.28 |
NodeGroup | AI Conductor 운영을 위한 노드그룹을 설치합니다. | Instance type : m5.2xlarge (권장) Desired size : 2 Min size : 1 Max size : 3 |
RDS | MySQL을 설치합니다. | Engine Version : MySQL 8.0.33 (권장) Instance type : db.m5.large (권장) Availability and durability : Multi-AZ DB instance Subnet Group : Availability Zone은 "a" 와 "c" 선택 Port : 3310 |
ElastiCache | Redis를 설치합니다. | Engin Version : 7.1 Node type : cache.m6g.large(권장) / cache.t4g.small(최소) Cluster mode : Disabled Multi-AZ : Enable Encryption in transit : Enable Port : 6379 |
Secrets Manager | Kubeflow에서 S3, RDS 접속을 위한 AWS 암호화 활용 | S3 버킷 접속 Secretes Manager RDS 접속 Secretes Manager |
S3 | 운영 Bucket을 생성합니다. | Mellerikat 운영 버킷 Kubeflow 운영 버킷 |
Project 추가 인프라 (AWS 기준)
INFRA | DESCRIPTION | NOTE |
---|---|---|
Load Balancer | 설치된 Application Load Balancer의 Listener rules를 추가 설정합니다. NOTE : Edge Conductor가 Cloud 인 경우에만 설정합니다. | Edge Conductor : 최초 설치 시 설정 - Edge Conductor Backend - Edge Conductor Frontend |
NodeGroup | 설치된 EKS에 프로젝트 운영을 위한 노드그룹을 설치합니다. NOTE : Edge Conductor가 Cloud 인 경우에만 설치합니다. | Edge Conductor - Instance type : m5.2xlarge - Desired size : 2 - Min size : 1 - Max size : 3 AI Conductor : 학습 요구 사항에 맞춰 설치 |
S3 | 프로젝트 버킷을 설치합니다. | 프로젝트 운영 버킷 |
사용자 시나리오
인프라 설정을 위한 사용자 시나리오는 다음과 같습니다.
-
환경 분석: 데이터 엔지니어는 AI Solution을 배포할 환경을 분석하고, Edge App, Edge Conductor, AI Conductor의 설치 요구 사항을 정의합니다. 사용자의 요구 사항을 철저히 파악하고, 시스템이 동작할 환경을 명확히 이해합니다.
-
아키텍처 설계: 각 컴포넌트의 기능과 요구 사항 등의 다양한 설치 옵션을 고려하여 현장에 적합한 최적의 아키텍처를 설계하고 구축합니다. 예를 들어, Edge App은 Splunk Edge Hub, 엔비디아 Jetson Nano, On-Premise WSL 환경, 또는 클라우드 환경 등에 설치할 수 있습니다.
-
컴포넌트 설치: 구축된 아키텍처 위에 Edge App, Edge Conductor, AI Conductor를 설치합니다. Edge App 설치 시, Edge Conductor와의 연결 정보를 포함한 설정을 완료합니다.
-
시스템 통합: 기존의 MLOps 시스템(예: SageMaker)이 있다면, 기존 시스템과의 연동을 설정하여 서비스가 원활히 통합될 수 있도록 구성합니다.
-
최적화 및 모니터링: mellerikat 기반의 MLOps 플랫폼을 최적화하고, 시스템 성능을 지속적으로 모니터링하며 유지보수합니다. 성능 문제가 발생하면 신속하게 대응하여 안정적인 시스템 운영을 보장합니다.