Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

목차

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 코드는 어떻게 작성되는가?

image-20240320-015017.pngImage Added

Terraform은 위의 그림처럼 구성 되어 있습니다. 각 부분을 Software의 Block으로 생각하면 됩니다.

모든 Block을 한 파일에 구성 할 수도 있고, 분리 할 수도 있습니다.

image-20240320-015213.pngImage Added

Terraform 파일들과 SW Block을 같이 보게 되면 위 그림과 같습니다.

각 파일의 특징은 다음과 같습니다.

  1. main.tf : 생성 될 자원들의 정보를 가지고 있는 파일입니다. resource, module SW Block을 포함하고 있습니다.

  2. outputs.tf : terraform apply가 되고 나서 결과를 출력하거나 특정 값들을 다른 Block에서 참조 하도록 정보를 저장합니다.