IaC(Infrastructure as Code)의 장점은 무엇인가요?
답변 포인트
인프라 변경의 코드화와 재현성를 기준으로 정의, 장점, 한계, 예시를 함께 설명해보세요.
정답 및 해설
빠른 요약
IaC는 인프라 구성을 코드로 관리해 리뷰, 이력 추적, 재현 가능한 배포를 가능하게 합니다. 상태 파일, drift, secret 노출을 주의해야 합니다.
IaC는 인프라 구성을 코드로 관리해 리뷰, 이력 추적, 재현 가능한 배포를 가능하게 합니다. 상태 파일, drift, secret 노출을 주의해야 합니다.
핵심 개념
핵심 기준은 인프라 변경의 코드화와 재현성입니다.
Infrastructure as Code는 서버, 네트워크, 데이터베이스, 권한 같은 인프라 구성을 코드로 선언하고 자동 적용하는 방식입니다. 콘솔 수동 변경 대신 PR 리뷰, 버전 관리, plan/apply 절차를 통해 변경 품질을 높입니다. 운영에서는 state와 drift 관리가 핵심입니다.
동작 흐름
- 요구사항을 성능, 안정성, 보안, 복구 목표로 나눠 정의합니다.
- 정상 흐름과 장애 흐름에서 각 구성 요소가 어떻게 동작하는지 확인합니다.
- 자동화와 관찰 지표로 변경 결과를 검증합니다.
- 롤백, 복구, 확장, 비용 관리까지 운영 절차로 문서화합니다.
실제 예시
resource "aws_s3_bucket" "logs" {
bucket = "my-service-logs"
}예시는 핵심 구조를 단순화한 것입니다. 실무에서는 운영 환경, 장애 상황, 보안 요구사항에 맞게 세부 설정을 조정해야 합니다.
실무에서 주의할 점
- 자동화가 있어도 롤백과 복구 절차를 실제로 연습하지 않으면 장애 때 동작하지 않을 수 있습니다.
- 관찰 지표가 없으면 장애 원인을 추측에 의존하게 됩니다.
- 확장은 애플리케이션 코드, 데이터베이스, 네트워크, 외부 의존성 한계를 함께 봐야 합니다.
함께 연결해서 보면 좋은 키워드
IaC, Terraform, Drift, Automation
면접에서 짚으면 좋은 포인트
- 정상 동작뿐 아니라 장애, 롤백, 관찰 가능성까지 함께 설명하면 실무적인 답변이 됩니다.
- 설정 예시를 말할 때 보안, 비용, 운영 자동화의 trade-off도 함께 짚는 것이 좋습니다.
정리
한 줄로 정리하면, IaC는 인프라 구성을 코드로 관리해 리뷰, 이력 추적, 재현 가능한 배포를 가능하게 합니다. 상태 파일, drift, secret 노출을 주의해야 합니다. 개념의 정의뿐 아니라 장애 시 동작, 운영 지표, 자동화와 복구 전략까지 함께 이해하는 것이 중요합니다.