pile·
인프라 / DevOps·gitlab-engGitLab Blog·

OpenTofu와 Argo CD로 구성하는 GitLab 기반 AWS 제어 플레인

GitLab을 단일 제어 플레인으로 삼아 OpenTofu로 AWS 인프라를 프로비저닝하고, Argo CD로 GitOps 기반 애플리케이션 배포까지 자동화하는 엔드투엔드 튜토리얼이다. VPC·EKS 클러스터 구성부터 Helm 기반 툴 설치, 샘플 앱 배포까지 모든 과정이 GitLab CI/CD 파이프라인으로 연결된다.

핵심 포인트
  • OpenTofu(Terraform 오픈소스 포크)로 VPC, 서브넷, EKS 클러스터를 선언적 코드로 프로비저닝한다.
  • GitLab 내장 Terraform 상태 백엔드로 별도 S3 없이 상태 파일을 안전하게 관리한다.
  • 인프라 파이프라인 완료 후 trigger job이 두 번째 파이프라인을 자동 실행해 Argo CD, CertManager, Ingress NGINX를 EKS에 설치한다.
  • Argo CD가 Git을 단일 진실 원천으로 삼아 클러스터의 실제 상태를 desired state와 지속적으로 동기화한다.
  • 개발자가 클러스터에 직접 접근하지 않고 머지 리퀘스트만으로 배포·롤백이 가능하다.
상세 정리
  • 문제 배경: 수동 클라우드 설정은 재현 불가·오류 발생·환경 불일치 문제가 있어 IaC + GitOps 조합으로 대체한다.
  • IaC 원칙: 동일 설정을 어디서든 재현 가능(Reproducible), Git으로 변경 이력 추적(Versioned), 사람 개입 없이 자동 실행(Automated)을 목표로 한다.
  • GitOps 확장: Argo CD가 Git의 desired state를 클러스터에 지속 반영해 빠른 롤백(커밋 revert)과 드리프트 방지를 동시에 달성한다.
  • 인프라 선언: OpenTofu 파일로 VPC, 퍼블릭/프라이빗 서브넷, 인터넷 게이트웨이, 라우팅 테이블, EKS 컨트롤 플레인, 워커 노드 그룹을 코드로 정의한다.
  • CI/CD 변수 관리: AWS 키, 리전, 클러스터 이름 등을 GitLab 그룹 변수(protected + masked)로 선언해 하위 프로젝트가 상속하는 방식으로 환경별 설정을 분리한다.
  • 파이프라인 체인: 1번 파이프라인(인프라 프로비저닝) 완료 후 `trigger` 잡이 2번 파이프라인을 자동 실행해 수동 개입 없는 엔드투엔드 흐름을 구현한다.
  • 툴 설치: 2번 파이프라인이 OpenTofu Helm Provider로 EKS에 Argo CD, CertManager, Ingress NGINX Controller를 선언적으로 배포한다. Ingress NGINX는 Kubernetes 에코시스템에서 deprecated 예정이라 Traefik 등으로의 전환을 권장한다.
  • 보안: 개발자가 클러스터에 직접 접근하지 않고 Git 변경 → 파이프라인 → Argo CD 경로로만 배포가 이루어져 접근 권한 노출을 최소화한다.
  • 앱 빌드·배포: GitLab CI/CD가 컨테이너 이미지를 빌드해 GitLab Container Registry에 푸시하면 Argo CD가 이를 감지해 EKS 클러스터에 자동 배포한다.
  • 롤백: Git 커밋 revert만으로 이전 상태로 복원 가능 — 전통적 배포 스크립트 없이 일관된 운영이 가능하다.
왜 읽나AWS + Kubernetes 인프라를 GitLab 단일 플랫폼으로 통합 관리하려는 DevOps·인프라 엔지니어에게 OpenTofu, Argo CD, EKS를 연결하는 실전 파이프라인 구성 레퍼런스다.
gitlab-eng
GitLab Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    엔터프라이즈 보안 요구사항을 충족하는 프라이빗 Amazon Bedrock AgentCore 구축하기

    Amazon Bedrock AgentCore의 VPC egress 기능(2026년 4월 추가)을 활용해 온프레미스 LLM·사내 IdP·사내 MCP 서버에 인터넷 노출 없이 연결하는 방법을 다룬다. 규제 산업 엔터프라이즈가 기존 사내 자산을 그대로 유지하면서 Bedrock AgentCore를 안전하게 구축하기 위한 구성 가이드다.

    요약 이어보기
    #mcp#amazon-bedrock#vpc+2
  2. 인프라 / DevOps·AWS KoreaAWS Korea Tech·

    Amazon Bedrock 기반 사내 LLM, 키 발급부터 비용 차단까지: F&F의 LiteLLM 게이트웨이 운영 사례

    패션 기업 F&F가 Amazon Bedrock과 LiteLLM 프록시를 결합해 구축한 사내 LLM 플랫폼 운영 사례다. API 키 셀프서비스 발급, 모델별 접근 승인 워크플로, 사용자·프로젝트별 예산 자동 차단까지 전 과정을 직접 구현한 아키텍처 결정과 운영 교훈을 공유한다.

    요약 이어보기
    #kubernetes#amazon-bedrock#litellm+2
  3. 인프라 / DevOps·aws-architectureAWS Architecture·

    서버리스 차량 추적 플랫폼 구축 — Bosch L.OS on AWS

    Bosch Mobility Platform Solutions가 인도 물류 시장의 파편화된 차량 추적 시스템을 통합하기 위해 AWS 서버리스 아키텍처로 L.OS 플랫폼을 구축했다. AIS140·FASTag 등 규정 준수 요건과 여러 추적 모드(SIM, GPS)의 혼재 속에서 일 35,000건 트립을 처리하면서 신규 제공업체 통합 기간을 2~4주에서 3일로 단축했다.

    요약 이어보기
    #event-driven#aws#microservices+2