• Terraform
    • Terraform은 인프라를 코드로 정의하여 클라우드 리소스를 자동생성/관리하는 도구

    • Terraform설치

      • mac
        • brew install terraform
      • window
        • Terraform 다운로드 페이지에서 Windows용 바이너리를 다운로드하여 설치
    • Terraform 구성 파일 작성

      • ec2 프리티어 생성 예시

        provider "aws" {
          region = "us-east-1"  # 원하는 AWS 리전으로 변경
        }
        
        # EC2 인스턴스 생성
        resource "aws_instance" "my-inst1" {
          ami           = "ami-05d2438ca66594916" 
          instance_type = "t2.micro"
          key_name      = "my-keypair"            # Key Pair 설정
          tags = {
            Name = "my-inst1"
          }
        }
        
    • Terraform 구성 파일 적용 및 관리

      • 테라폼 초기화
        • terraform init
      • 생성할 리소스를 미리확인
        • terraform plan
      • Terraform을 사용하여 EC2 인스턴스 생성
        • terraform apply
      • 구성 파일에 정의된 모든 리소스를 삭제
        • terraform destroy
  • Ansible
    • Ansible은 서버 생성, 구성, 애플리케이션 배포를 자동화하는 도구
    • 특징
      • 에이전트 설치가 필요 없는 Agentless 방식 (SSH 기반)
      • YAML 기반의 간단한 문법(Playbook 사용)
      • 서버 패키지 설치, 서비스 설정, 파일 배포 등 운영·배포 관리에 강점
    • 장점
      • 비교적 배우기 쉬움 (YAML 문법)
      • 별도 에이전트 설치 불필요
      • 다양한 모듈 제공 (패키지, 서비스, 클라우드 리소스 등)
      • 커뮤니티와 생태계가 풍부
    • 단점
      • 선언적 언어보다는 절차적 성격이 강함 (Terraform에 비해 인프라 선언적 관리 부족)
      • 대규모 인프라 관리 시 성능 한계 (대량 노드 병렬 처리에 한계 있음)