핵심 인사이트 (3줄 요약)

  1. 본질: IaC(Infrastructure as Code, 코드형 인프라)는 마우스 클릭 대신 프로그래밍 코드로 서버, 네트워크, DB 등 모든 인프라를 생성하고 관리하는 기술이다.
  2. 가치: 인프라 구축의 실수(Human Error)를 없애고, 복잡한 클라우드 환경을 동일하게 무한 복제할 수 있으며, 인프라의 모든 변경 이력을 기록(버전 관리)한다.
  3. 판단 포인트: 테라폼(Terraform) 같은 도구를 사용해 인프라를 '선언'하고, 감리 시에는 이 코드가 보안 표준을 지켰는지(통제망)를 소스 리뷰 단계에서 검증한다.

Ⅰ. 개요 및 필요성

예전에는 서버 한 대를 만들려면 기술자가 클라우드 화면에서 수십 번 클릭을 해야 했다. 만약 서버가 100대라면? 누군가는 반드시 실수로 체크박스 하나를 놓칠 것이다. IaC는 이 모든 과정을 '문서(코드)'로 작성한다. 코드를 한 번만 잘 짜두면, 실행 버튼 하나로 서버 100대를 오차 없이 1분 만에 뚝딱 만들어낸다. 이제 인프라는 '닦고 조이는 하드웨어'가 아니라 '버전 관리되는 소프트웨어'가 되었다.

📢 섹션 요약 비유: IaC는 '건축용 3D 프린터'와 같다. 사람이 일일이 벽돌을 쌓는(수동 설정) 대신, 설계도(코드)만 넣어주면 기계가 알아서 한 치의 오차도 없이 건물을 찍어내는 것과 같다.


Ⅱ. 아키텍처 및 핵심 원리

1. 선언적 방식 (Declarative) vs 절차적 방식

  • 전통적 방식: "1번 하고, 2번 하고, 3번 해"라고 명령함.
  • IaC (선언적): "나는 서버 3대와 DB 1개가 있는 상태를 원해"라고 '결과'만 적어둠. 테라폼이 현재 상태를 보고 부족한 부분만 알아서 채워줌.

2. 테라폼(Terraform)의 작동 원리

  • HCL (HashiCorp Configuration Language): 사람이 읽기 쉬운 코드로 인프라 정의.
  • State File: 현재 인프라 상태를 기억하는 '기록 장부'. 이 장부와 코드를 대조해 변경 사항을 결정.
  • Plan & Apply: 실행 전 미리보기(Plan)를 통해 실수를 방지하고 실제 반영(Apply).

📢 섹션 요약 비유: 테라폼은 '인프라용 주문서'다. 메뉴판에서 "A세트 3개요"라고 주문(선언)하면, 주방(클라우드) 상황이 어떻든 주문한 결과물이 테이블에 딱 차려지는 원리다.


Ⅲ. 비교 및 연결

수동 설정 (ClickOps) vs 코드형 인프라 (IaC)

비교 항목수동 클릭 방식코드형 인프라 (IaC)
구축 속도느림 (반복 작업 시 고역)매우 빠름 (코드 재사용)
정확성낮음 (사람의 실수 가능성)매우 높음 (코드 검증 가능)
변경 이력파악 불가 (누가 바꿨지?)명확함 (Git 로그에 다 남음)
복구 능력힘듦 (기억에 의존)즉시 가능 (코드 재실행)
비유장인이 손으로 빚은 도자기기계로 찍어낸 공산품

📢 섹션 요약 비유: 수동 방식은 '입에서 입으로 전해지는 전설'처럼 부정확하지만, IaC는 '성문 헌법'처럼 명확하고 단단하다.


Ⅳ. 실무 적용 및 기술사 판단

기술사 핵심 포인트 (통제망 설계):

  1. 보안의 코드화 (Policy as Code): 코드를 실행하기 전에 "공개된 S3 버킷이 있는지", "보안 그룹에 22번 포트가 열렸는지"를 자동으로 검사하는 Checkov, Terrascan 같은 보안 필터망을 구축해야 한다.
  2. State 파일 보안: 테라폼의 상태 파일에는 DB 비밀번호 등 민감 정보가 담길 수 있으므로, 반드시 암호화된 저장소(S3+KMS 등)에 보관하고 접근을 통제해야 한다.
  3. 감리인의 역할: 이제 감리인은 서버 설정 화면을 보는 게 아니라, '테라폼 코드'를 리뷰하여 설계 단계에서 인프라 결함을 찾아내는 능력을 갖춰야 함을 강조한다.

📢 섹션 요약 비유: IaC 통제망은 '검열이 포함된 설계도 승인 시스템'이다. 설계도(코드)를 제출하면, 인공지능 검토관이 보안 수칙에 어긋나는 부분을 빨간 펜으로 긋고 수정을 요구하는 과정이다.


Ⅴ. 기대효과 및 결론

IaC는 클라우드 네이티브 운영의 핵심인 '불변 인프라(Immutable Infrastructure)'를 실현하는 도구다. 인프라가 망가지면 고치는 게 아니라, 코드로 새로 찍어내면 그만이기 때문이다. 기술사 시험에서는 IaC가 가져오는 '운영 생산성'과 '보안 가시성'을 논하고, 테라폼의 Plan 단계를 활용한 안정적인 변경 관리 프로세스를 제시하는 것이 합격의 포인트다.

📢 섹션 요약 비유: IaC는 IT 세상의 '복사기'다. 잘 만든 인프라 환경 하나를 코드로 저장해두면, 전 세계 어디든 똑같은 환경을 순식간에 복사해서 뿌릴 수 있는 마법을 부린다.


📌 관련 개념 맵

개념연관 키워드관계
TerraformHCL, Provider가장 널리 쓰이는 오픈소스 IaC 도구
GitOpsArgoCD, 버전 관리IaC 코드를 Git에 넣고 자동으로 인프라를 맞추는 운영 방식
Drift설정 괴리, 불일치코드와 실제 인프라 상태가 달라지는 현상 (IaC로 해결)
Ansible구성 관리 (Config)IaC가 뼈대를 만든다면, 앤서블은 그 안에 소프트웨어를 까는 역할

👶 어린이를 위한 3줄 비유 설명

  1. 레고 성을 만들 때 손으로 하나하나 쌓지 않고, 컴퓨터에 "성 하나 만들어줘!"라고 타이핑만 하면 자동으로 만들어지는 기술이에요.
  2. 실수로 성벽을 빼먹을 일이 없고, 똑같은 성을 친구들에게 수백 개나 선물해줄 수 있어요.
  3. 누가 설계도를 고쳤는지 기록이 다 남아서 나중에 문제가 생겨도 금방 고칠 수 있답니다.