목차
IAC
1-1 Iac (Infra as a 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-3 Terraform 코드는 어떻게 작성되는가?
Terraform은 위의 그림처럼 구성 되어 있습니다. 각 부분을 Software의 Block으로 생각하면 됩니다.
모든 Block을 한 파일에 구성 할 수도 있고, 분리 할 수도 있습니다.
Terraform 파일들과 SW Block을 같이 보게 되면 위 그림과 같습니다.
각 파일의 특징은 다음과 같습니다.
main.tf : 생성 될 자원들의 정보를 가지고 있는 파일입니다. resource, module SW Block을 포함하고 있습니다.
outputs.tf : terraform apply가 되고 나서 결과를 출력하거나 특정 값들을 다른 Block에서 참조 하도록 정보를 저장합니다.