목차
IAC
1-1 Iac (Infra as a Code) 이란?
...
2-5-2 Terraform 배포
IAC
1-1 Iac 이란?
Iac 은 Infrastructure as Code의 Code의 약자로 IT 서비스를 위한 시스템을 구성할 때 수동으로 구성하는 대신 Shell기반의 스크립트(Shell Based Script)를 사용하여 컴퓨팅 인프라를 구성하는 기술을 말합니다.
"프로그래밍 형 인프라" 라고도 하는 iac Iac(Infrastructure as Code)는 인프라 구성을 마치 소프트웨어를 프로그래밍 하는 것처럼 처리하는 방식입니다.
...
Tool | Tool Type | Approach | Language |
---|---|---|---|
CHEF | 설정 관리 | 선언형 & 명령형 | Ruby |
puppet | 설정 관리 | 선언형 | DSL & ERB |
Ansible | 설정 관리 | 선언형 & 명령형 | YAML |
CloudFormation | 인프라 프로비저닝 | 선언형 | JSON & YAML |
Terraform | 인프라 프로비저닝 | 선언형 | HCL (Hashicorp Configuration Language) |
1-3 lac 가치와 기대 효과
첫 번째 - 비용 절감입니다. IT 시스템의 운영/관리 에는 많은 인력과 비용이 소요됩니다. 단순히 재무적인 측면에서 비용 절감 효과 이외에 사람이 수 작업으로 진행하는 일들을 자동화하고, 운영/관리를 통합 관리함으로써 많은 비용 효율을 얻을 수 있으며, 기업 입장에서는 보다 중요한 비즈니스에 집중함으로써 높은 비용 효율을 확보할 수 있게 됩니다.
두 번째 - 빠른 실행입니다. 인프라 운영/관리의 자동화를 통해 인프라를 보다 빠르고 효과적으로 구성할 수 있습니다. 빠른 실행 능력을 통해 빠르게 변화하는 시장 상황에 보다 민첩하게 대응할 수 있으므로, 시장 선도적인 기술 도입을 통한 시장의 혁신을 주도할 수 있게 됩니다
세 번째 - 리스크 관리입니다. 인프라의 자동화는 수 동 구성 시 발생할 수 있는 오류와 인적 오류 (Human Error)와 관련된 위험(Risk)을 제거할 수 있습니다. 이런 위험을 제거하면 서비스의 다운타임(Down Time)이 감소하고 신뢰성이 향상될 수 있습니다.
...
2-5 Terraform Hands On
...
Terraform에서 모듈이란? 리소스를 구성하는 단위입니다.
모듈은 특정 기능이나 목적을 가진 코드 블록으로, 재 사용 가능하며 관련 리소스의 집합을 정의합니다. 이러한 모듈을 사용하면 코드를 구조화하고 관리하기 쉽고, 코드의 재 사용성을 높일 수 있습니다.
...
자식 모듈의 main.tf
와 variables.tf
파일은 해당 모듈이 구성할 리소스와 변수를 정의합니다. 예를 들어들 어, 리소스 그룹을 생성하는 모듈의 경우, 해당 리소스 그룹을 만들기 위한 Terraform 구성과 관련 변수를 포함할 것입니다포함 할 것 입니다.
...
자식 모듈의 vnet main.tf 와 variables.tf
자식 모듈의main.tf
와variables.tf
파일은 해당 모듈이 구성할 가상 네트워크(Virtual Network)와 관련된 리소스를 정의하고 관련 변수를 정의합니다.
...
자식 모듈의 fw main.tf 와 variables.tf
...
데이터베이스를 관리하는 자식 모듈의 db main.tf 와 variables.tf
...
2-5-2 Terraform 배포
terraform Init 명령어를 사용하여 구성 파일이 있는 작업 디렉터리를 초기화 합니다.
...
terraform.lock.hcl 파일이 있으면 해당 파일에 명시된 버전으로 init을 수행한다수행합니다. 이후 작업자가 의도적으로 버전을 변경하거나 코드에 명시한 다른 버전으로 변경하려면 terraform init -upgrade를 수행하여야 합니다.
...
배포 완료 후 portal.azure.com 접속하여 리소스 확인 합니다.
...
terraform destroy 명령을 사용하여 terraform 구성에서 관리하는 모든 개체를 제거 합니다.
...