AWS에서 셀프 호스팅(Self-Hosting on AWS)
AWS에서 셀프 호스팅(Self-Hosting on AWS)
AWS에서 전체 Confident AI 플랫폼을 여러분의 계정과 리전 안에서 실행하는 방법이에요. 공개된 Terraform 모듈이 EKS 클러스터, 관리형 RDS PostgreSQL 데이터베이스, S3 객체 스토리지를 세우고, confident-ai Helm 차트가 그 위에 애플리케이션을 배포해요. 앱은 EKS Pod Identity를 통해 S3에 접근하므로 액세스 키가 없고, IRSA나 OIDC 연결을 관리할 필요도 없어요.
출처: 문서
본문
두 단계로 실행해요: 인프라가 Terraform으로 클라우드 리소스를 프로비저닝하고, Helm으로 배포가 앱을 설치해 HTTPS로 노출해요. Terraform 시간 15-20분에 차트가 올라오는 몇 분이 추가로 걸릴 것으로 예상하세요.

AWS 참조 아키텍처
AWS Marketplace를 통한 조달
Confident AI는 AWS Marketplace에서 구매할 수 있어요. 기존 AWS 결제 관계로 플랫폼을 조달하고, AWS 지출 약정(spend commitment)에 구매를 적용할 수 있죠.
Terraform이 프로비저닝하는 것
모듈은 이미 있는 VPC 안에 배포돼요. 절대 새로 만들지 않아요.
Amazon EKS
관리형 노드 그룹과 EBS CSI, Pod Identity 애드온이 있는 클러스터.
Amazon RDS for PostgreSQL
앱의 기본 데이터베이스로, 서브넷 안에서 비공개로 운영되고 Multi-AZ와 자동 백업을 갖춰요.
Amazon S3
테스트 케이스용과 페이로드용 두 개의 버킷. 비공개이고 저장 중 암호화돼요.
EKS Pod Identity
앱의 Kubernetes ServiceAccount에 바인딩된 IAM 역할. 버킷과 샌드박스에만 스코프가 제한돼요. 액세스 키도 IRSA도 없어요.
Lambda 코드 실행기
코드 기반 및 트랜스포머 지표에 필요해요: 미러링된 이미지를 실행하는 샌드박스형 Lambda.
Secrets Manager + ElastiCache
권장: External Secrets Operator용 시크릿과 관리형 Redis.
ClickHouse는 클러스터 안에서 실행돼요 (Helm 차트가 설치해요). 권장 설정은 시크릿을 Secrets Manager에 두고 Redis를 ElastiCache에서 실행하는 거예요. 클러스터 안의 Redis와 Kubernetes Secret은 더 간단한 대안으로 계속 사용할 수 있어요. 인그레스 컨트롤러나 External Secrets Operator 같은 클러스터 애드온은 선택 사항이며 Terraform이 설치하지 않아요.
어떻게 맞물리는지
- 아이덴티티는 키리스예요. 앱 파드는 EKS Pod Identity 연결을 통해 IAM 역할에 묶인 Kubernetes ServiceAccount로 실행돼요. 그 역할은 두 버킷에 대한 최소 권한(least-privilege) 접근과 Lambda 샌드박스 호출 권한을 가져요. 저장하거나 회전해야 할 정적 값이 없고, ServiceAccount에 어노테이션도 필요 없어요.
- 데이터 플레인은 비공개예요. 노드와 RDS는 비공개 서브넷에 있고 NAT 게이트웨이를 통해서만 인터넷에 도달해요. 클러스터 API 엔드포인트를 공개할지(노트북에서
kubectl,helm을 쓰기 편함), 비공개로만 할지 선택할 수 있어요. - 트래픽은 한 방향으로만 들어와요. 여러분의 애플리케이션이 트레이스를
confident-otel로 보내고, 그것이 ClickHouse에 기록돼요. 대시보드와 API는 RDS와 ClickHouse에서 읽어요. 평가는confident-evals와 그 워커에서 실행되며, 코드·트랜스포머 지표를 위해 여러분의 모델 제공자와 Lambda 샌드박스를 호출해요. 데이터셋과 페이로드는 S3에 있어요.
배포된 서비스
Helm 차트가 confident-ai 네임스페이스에 이 워크로드들을 설치해요:
| Service | 역할 |
|---|---|
confident-backend |
핵심 API |
confident-frontend |
대시보드 |
confident-evals |
평가 서비스 |
confident-evals-worker |
비동기 평가 작업 |
confident-ingestion-worker |
트레이스 수집 |
confident-worker |
백그라운드 작업 |
confident-otel |
OTLP 및 트레이스 컬렉터 |
| ClickHouse and Keeper | 트레이스·스팬 스토어 |
| Redis | 캐시와 큐 (ElastiCache를 쓰지 않으면 클러스터 내부) |
각각이 로드에 따라 어떻게 커지는지는 Scaling을 참고하세요.
기본값
| Component | 기본값 |
|---|---|
| Node group | 4 x m6i.2xlarge |
| Region | AWS provider와 프로파일에서 (리전 변수 없음) |
| Cluster endpoint | 비공개 (confident_public_eks = true면 머신에서 접근 가능) |
| RDS | Multi-AZ, 비공개, 삭제 보호 이용 가능 |
| Storage class | 기본 없음, Infrastructure 페이지에서 gp3 기본값을 만들어요 |
위의 모든 것은 Terraform 모듈에서 오버라이드할 수 있어요. 전체 목록은 모듈 입력값을 참고하세요.
모듈
모듈은 Terraform Registry에 게시되고 소스는 GitHub에 있어요.
Terraform Registry
confident-ai/confident-ai/aws
GitHub 소스
terraform-aws-confident-ai
사전 요구 사항
terraform(≥ 1.5),awsCLI,kubectl,helm(≥ 3.8), 그리고docker(코드 샌드박스 이미지 미러링용).- EKS, RDS, S3, IAM을 만들 수 있는 AWS 자격 증명 (
aws configure또는 SSO). - Confident AI에서: 이미지 풀 자격 증명과
CONFIDENT_LICENSE_KEY(Helm으로 배포 참고).
다음 단계
인프라
Terraform으로 EKS, RDS, S3 프로비저닝.
Helm으로 배포
앱을 설치하고 HTTPS로 노출.