메인 콘텐츠로 건너뛰기

EKS 배포 사전 요구사항

이 체크리스트는 고객의 AWS 계정에 EKB EKS 인프라를 배포하기 전에 완료하고 고객과 함께 검토해야 합니다. 모든 항목은 배포 전에 확인, 기록 및 승인되어야 합니다.


체크리스트​

AWS 계정 및 접근​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
계정AWS Account ID유효한 AWS Account ID를 공유해야 합니다IAM 역할 생성, 과금 소유권, 태깅 및 Terraform 백엔드 접근에 필요Account ID가 정확하고, 과금이 활성화되어 있으며, 접근 가능
리전AWS 리전 선택리전이 EKS, EC2, VPC, ACM, ElastiCache, Amazon MQ를 지원해야 합니다일부 서비스는 리전 제한이 있으며, 지원되지 않는 리전은 배포를 실패시킵니다AWS 콘솔에서 리전이 확인되었고 모든 필요한 서비스를 지원
CLIAWS CLI 구성됨AWS CLI로 인증된 IAM UserTerraform/Terragrunt 배포에는 프로그래밍 방식 접근이 필요합니다aws sts get-caller-identity가 예상 계정을 반환
IAM배포 권한관리자 IAM 권한배포가 EC2, EKS, IAM, S3, ACM, Route 53, MQ, ElastiCache, CloudWatch에 걸쳐 이루어집니다IAM 정책이 필요한 서비스에 대한 생성/수정/삭제를 허용

서비스 할당량​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
EC2온디맨드 vCPU 할당량온디맨드 Standard (A, C, D, H, I, M, R, T, Z) 인스턴스에 최소 100–150 vCPU 할당량자동 스케일링, r6a 인스턴스 및 Karpenter에 높은 vCPU 여유 공간이 필요합니다Service Quotas 콘솔에서 할당량 증가가 승인됨
EC2인스턴스 패밀리 가용성해당 리전에서 C, M, R 패밀리 인스턴스 사용 가능워크로드에 컴퓨팅, 메모리 및 데이터베이스 최적화 노드가 필요합니다EC2 콘솔에서 인스턴스 패밀리가 보이고 선택 가능
EKSEKS 클러스터 할당량필요한 환경 배포를 기준으로 최소 1개 EKS 클러스터 허용할당량이 부족하면 클러스터 생성이 차단됩니다할당량 >= 1 클러스터
VPCNAT Gateway 할당량AZ당 1개 NAT Gateway (3개 권장)프라이빗 서브넷에 아웃바운드 인터넷 접근이 필요합니다할당량 >= AZ 수
네트워킹Elastic IP 할당량NAT Gateway용 Elastic IP 사용 가능각 NAT Gateway가 하나의 Elastic IP를 소비합니다Elastic IP 할당량이 AZ 수에 충분
ElastiCacheElastiCache 할당량Redis 클러스터에 최소 2개 노드 (cache.t3.micro, Redis 7.0)ENABLE_AWS_SERVICES=true일 때 필요할당량 >= 2 노드
Amazon MQAmazon MQ 할당량RabbitMQ에 최소 1개 브로커 (mq.m5.large, RabbitMQ 3.13)ENABLE_AWS_SERVICES=true일 때 필요할당량 >= 1 브로커

도메인 및 SSL​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
도메인프론트엔드 도메인웹 프론트엔드용 퍼블릭 도메인 (예: app.example.com)ALB 라우팅 및 SSL 종료에 사용도메인 해석 및 소유권 확인
도메인백엔드 API 도메인FastAPI 백엔드용 퍼블릭 도메인 (예: api.example.com)API 접근 및 TLS에 필요도메인 문서화 및 승인 완료
도메인Automator Service 도메인Automator Service용 퍼블릭 도메인 (예: automations.example.com)API 접근 및 TLS에 필요도메인 문서화 및 승인 완료
도메인Supabase Service 도메인Supabase Cloud를 사용하지 않을 때 — Supabase용 퍼블릭 도메인 (예: supabase.example.com)Supabase 셀프호스팅 시 API 접근 및 TLS에 필요도메인 문서화 및 승인 완료
인증서ACM 인증서배포 리전에 와일드카드 또는 개별 ACM 인증서 생성됨ALB에서의 TLS 종료에 유효한 ACM 인증서가 필요ISSUED 상태의 인증서가 배포와 동일한 AWS 리전에 존재

네트워킹​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
VPCVPC 전략기존 VPC 확인 또는 새 VPC 생성 승인격리, 라우팅 및 보안 경계를 정의VPC ID 또는 CIDR 블록 승인
CIDRCIDR 계획CIDR가 온프레미스 또는 다른 VPC와 겹치지 않아야 합니다겹치는 CIDR은 라우팅 및 VPN 연결을 파괴합니다기존 네트워크에 대해 CIDR 검증 완료
서브넷퍼블릭 서브넷ALB 및 NAT Gateway용 AZ별 퍼블릭 서브넷인그레스 및 아웃바운드 트래픽에 필요서브넷 태깅 및 라우팅 가능
서브넷프라이빗 서브넷EKS 워커 노드용 AZ별 프라이빗 서브넷워크로드가 인터넷에 직접 노출되지 않도록 보장서브넷 매핑 및 NAT Gateway를 통해 접근 가능
아웃바운드아웃바운드 접근워커 노드에서 포트 80, 443, 53 아웃바운드 허용컨테이너 이미지 풀, AWS API 호출 및 DNS 해석에 필요방화벽/보안 그룹 규칙 검증 완료

서비스 구성​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
SupabaseSupabase 활성화셀프호스팅 Supabase (ENABLE_SUPABASE=true) 또는 Supabase Cloud 확인DB 프로비저닝, 시크릿, 인그레스 및 네트워킹 구성에 영향결정이 문서화되었고, 해당 ENABLE_* 플래그가 배포에 설정됨
AWS ServicesRedis 사용AWS ElastiCache Redis (ENABLE_AWS_SERVICES=true) 또는 외부 Redis 확인고가용성, 비용 및 네트워킹 설계에 영향결정이 문서화됨
AWS ServicesRabbitMQ 사용Amazon MQ (ENABLE_AWS_SERVICES=true) 또는 외부 RabbitMQ 확인메시징 안정성 및 HA에 영향결정이 문서화됨
로드 밸런서ALB ControllerAWS Load Balancer Controller 활성화 (ENABLE_ALB_CONTROLLER=true, 기본값)Kubernetes 어노테이션에서 ALB 인그레스 프로비저닝에 필요Controller Pod가 infrastructure 네임스페이스에서 실행 중

자동 스케일링​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
KarpenterKarpenter 설치EKS 모듈을 통해 Karpenter 컨트롤러 배포됨동적 노드 프로비저닝을 처리; 매니지드 노드 그룹 자동 스케일링을 대체Karpenter Pod가 전용 노드 그룹에서 정상 상태
KarpenterSpot 전략노드 클래스별 Spot vs 온디맨드 사용 정의비용을 최적화하면서 안정성 유지; Spot 중단 처리가 활성화되어야 합니다Spot 인스턴스 사용 시 SQS를 통한 중단 처리 활성화
KEDAPod 자동 스케일링Helm 차트를 통해 KEDA 설치 (keda 네임스페이스)CPU/메모리 임계값 기반 동적 Pod 스케일링을 처리KEDA 오퍼레이터 Pod 정상 상태; 모든 서비스에 ScaledObjects 적용

스토리지​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
EBSEBS CSI DriverEBS CSI 드라이버 설치 (kube-system 네임스페이스)StorageClass를 통한 동적 퍼시스턴트 볼륨 프로비저닝에 필요드라이버 Pod 정상 상태; PVC 프로비저닝 성공

보안​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
암호화静态 저장소 암호화EBS 볼륨, S3 상태 버킷 및 Redis 암호화 활성화모든 스토리지 레이어에 걸쳐 민감한 데이터를 보호각 서비스에 대해 AWS 콘솔에서 암호화 확인
암호화전송 중 암호화모든 외부 및 내부 서비스 통신에 TLS 적용전송 중 데이터 가로채기를 방지HTTPS 엔드포인트 확인; Redis transit_encryption_enabled = true
감사감사 로깅CloudTrail, VPC Flow Logs 및 Kubernetes 감사 로깅 활성화사고 조사, 컴플라이언스 및 감사에 필요CloudWatch / S3에서 로그가 보이고 쿼리 가능

배포​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
일정배포 윈도우고객이 승인한 배포 날짜 및 시간 윈도우검증 및 필요한 경우 롤백을 위한 고객 팀 가용성 보장서면 확인서 수신

승인​

영역체크리스트 항목상세 요구사항용도 / 이유승인 기준상태기록된 값 / 비고
승인고객 승인고객이 비용 견적, 범위 및 배포 계획을 공식 승인인프라 프로비저닝 전에 공식적인 라이브 승인이 필요이메일 또는 서명된 문서 승인 수신

서비스 활성화/비활성화 플래그 참조​

배포 전에 고객과 함께 각 플래그의 의도된 값을 확인하세요.

환경 변수기본값효과
ENABLE_SUPABASEfalse셀프호스팅 Supabase 스택 배포 (Kong, Auth, Storage, Studio)
ENABLE_CNPGfalseCloudNativePG 오퍼레이터 배포 (셀프호스팅 Supabase DB의 전제 조건)
ENABLE_HA_SUPABASE_DBfalseCloudNativePG를 통한 HA PostgreSQL 클러스터 배포 (Supabase의 전제 조건)
ENABLE_AWS_SERVICESfalseElastiCache Redis 및 Amazon MQ RabbitMQ 프로비저닝
ENABLE_ALB_CONTROLLERtrueAWS Load Balancer Controller 배포
ENABLE_SIGNOZfalseSigNoz 관측 가능성 플랫폼 + k8s-infra 에이전트 배포

기록된 값 요약​

배포 전에 고객으로부터 수집한 최종 값을 기록하세요.

매개변수값
AWS Account ID
AWS 리전
VPC CIDR
가용 영역
프론트엔드 도메인
API 도메인
Automator 도메인
Supabase 도메인 (셀프호스팅 시)
SigNoz 도메인 (활성화 시)
ACM 인증서 ARN
Supabase 모드클라우드 / 셀프호스팅
RedisElastiCache / 외부
RabbitMQAmazon MQ / 외부
배포 날짜 / 윈도우
고객 승인 참조