서버관리 2

Docker 멀티 컨테이너와 Compose, CI/CD 배포

1. 멀티 컨테이너 구성의 필요성컨테이너는 “하나의 컨테이너 = 하나의 프로세스”라는 원칙을 따르는 것이 이상적입니다. 즉, 하나의 컨테이너에 웹 서버, DB, 캐시를 모두 넣기보다 역할에 따라 분리하는 것이 바람직합니다.예시:web: Django 또는 Flask와 같은 애플리케이션 서버db: PostgreSQL, MySQL 등 데이터베이스 서버cache: Redis, Memcachedproxy: Nginx, Caddy와 같은 리버스 프록시/로드밸런서이렇게 분리하면 얻는 장점은 다음과 같습니다.유지보수성: 특정 서비스에 문제가 생겨도 해당 컨테이너만 재시작 가능확장성: 트래픽이 몰리면 웹 컨테이너만 수평 확장 가능표준화: 각 컨테이너가 독립적이므로 다른 프로젝트에도 쉽게 재활용 가능2. Docker Co..

백엔드 2025.09.02

Terraform 기초 사용법

Terraform은 클라우드 인프라를 코드로 관리하는 인프라스트럭처 코드(Infrastructure as Code, IaC) 도구입니다. AWS, Azure, GCP 같은 클라우드 뿐만 아니라 온프레미스 자원을 사람이 읽기 쉬운 설정 파일(HCL)로 정의하고, 안전하게 생성·변경·파괴할 수 있습니다. Terraform은 각 클라우드 서비스의 API와 통신하는 플러그인 제공자(Provider)를 사용합니다. 예를 들어 AWS 클라우드를 사용하려면 provider "aws" 블록을 설정해야 하며, 이 Provider가 실제 AWS 인스턴스나 네트워크 자원 등을 Terraform이 관리할 수 있도록 합니다. 이처럼 Terraform 구성 파일에 필요한 Provider를 선언해 두면, 동일한 워크플로우로 다양한..