Infrastructure as Code(IaC)는 인프라를 코드로 관리하는 방식으로, 서버, 네트워크, 데이터베이스, 스토리지 등의 IT 인프라를 코드로 정의하고 자동화할 수 있도록 해줍니다. 기존의 수동 인프라 설정(콘솔 클릭 방식)과 달리, IaC를 활용하면 코드 기반으로 일관된 인프라 배포 및 관리가 가능합니다. (예시 : Config형태의 파일 한번의 실행으로 여러 인프라들 설치 및 설정을 자동화하게 해줌)
콘솔에서 EC2 인스턴스를 생성하려면 인스턴스 유형, VPC, 보안 그룹 등을 수동으로 선택해야 하지만,
IaC를 사용하면 이를 코드로 정의해 한 번에 실행하거나 필요할 때마다 재사용할 수 있습니다.
IaC는 크게 선언적(Declarative) 방식과 명령형(Imperative) 방식으로 나뉩니다.
일반적으로 IaC는 코드로 인프라를 배포하지만, 콘솔 기반 IaC 관리란 클라우드 서비스 제공업체의 콘솔을 통해 IaC 템플릿을 적용하고 실행하는 방식을 의미합니다.
즉, 개발자가 직접 코드를 작성하지 않고 콘솔에서 IaC 관련 기능을 활용하여 인프라를 자동화하는 것입니다.
다양한 클라우드 플랫폼에서 콘솔을 통해 IaC를 관리할 수 있도록 도와주는 기능을 제공합니다.
✅ AWS CloudFormation
✅ AWS CDK (Cloud Development Kit)
✅ AWS Service Catalog
✅ AWS Systems Manager (SSM) – State Manager
✅ Azure Resource Manager (ARM)
✅ Azure Bicep
✅ Azure Blueprints
✅ Azure DevOps Pipelines + Terraform
✅ Google Cloud Deployment Manager
✅ Terraform (GCP 지원)
✅ Google Cloud Config Connector
✅ 1) 초보자 친화적
✅ 2) 간편한 초기 설정
✅ 3) 조직 내 IaC 도입 촉진
✅ 4) 기존 워크플로우와의 호환성
✅ 5) 직관적인 오류 수정
⚠️ 1) 코드 재사용 및 형상 관리 어려움
⚠️ 2) 자동화 부족
⚠️ 3) 대규모 인프라 관리 한계
⚠️ 4) 협업 어려움
⚠️ 5) 클라우드 종속성 증가
비교 항목 | 콘솔 기반 IaC | 코드 기반 IaC (Terraform, CloudFormation 등) |
---|---|---|
사용 편의성 | 쉬움 (GUI) | 학습 필요 (코드 작성) |
자동화 | 제한적 | CI/CD 연계 가능 |
확장성 | 제한적 | 대규모 인프라 배포 가능 |
협업 | 어려움 | 코드 리뷰 및 형상 관리 가능 |
클라우드 종속성 | 높음 | 멀티 클라우드 가능 |
1️⃣ AWS 콘솔 → CloudFormation 서비스 이동
2️⃣ “스택 생성(Create Stack)” 클릭
3️⃣ “새 템플릿 업로드” 또는 “샘플 템플릿 사용”
4️⃣ 구성 및 설정 후 “스택 생성” 실행
5️⃣ 배포된 리소스를 CloudFormation 콘솔에서 관리
1️⃣ Azure 포털 → “리소스 그룹” 이동
2️⃣ “새로운 배포” 클릭 후 ARM 템플릿 선택
3️⃣ JSON 기반으로 원하는 리소스를 정의 후 배포
4️⃣ Azure Policy 적용하여 규정 준수 유지
1️⃣ GCP 콘솔 → “Deployment Manager” 이동
2️⃣ 새 배포 생성 후 YAML 템플릿 업로드
3️⃣ “배포 실행”을 클릭하여 리소스 생성
4️⃣ 로그 및 변경 사항 모니터링
✅ 최적의 방법: 콘솔 기반 IaC로 시작 → 코드 기반 IaC로 확장 🚀
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…