Versions Compared

Key

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

목차

IAC

1-1 Iac (Infra as a Code) 란?

1-2 Iac 종류

1-3 lac 가치와 기대 효과

Terraform

2-1 Terraform 이란?

2-2 Terraform 주요 명령어

2-3 Terraform 코드는 어떻게 작성되는가?

2-4 Terraform 실행 환경 구성

IAC

1-1 Iac 란?

Iac 란 Infrastructure as Code의 약자로 IT 서비스를 위한 시스템을 구성할 때 수동으로 구성하는 대신 Shell기반의 스크립트(Shell Based Script)를 사용하여 컴퓨팅 인프라를 구성하는 기술을 말합니다.

...

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)이 감소하고 신뢰성이 향상될 수 있습니다.

...

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

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

  3. vars.tf : main.tf에서 resource나 module에 들어가는 변수명을 선언 해주는 파일입니다.

  4. terraform.tfvars : vars.tf 파일에 선언된 변수의 값들을 저장하는 파일 입니다.

  5. terraform.tfstate: terraform apply 후에 생성된 infra 들의 상태 정보를 가지고 있습니다.

2-4 Terraform 실행 환경 구성

1. 여기에서 Terraform을 설치합니다.

  1. 여기에서 VS Code를 설치합니다.

  1. 아래와 같이 윈도우 사용자 환경 구성을 해줍니다.

...

  1. terraform Init 명령어를 사용하여 구성 파일이 있는 작업 디렉터리를 초기화 합니다.

image-20240320-034633.pngImage Added

  1. terraform.lock.hcl 파일이 있으면 해당 파일에 명시된 버전으로 init을 수행한다. 이후 작업자가 의도적으로 버전을 변경하거나 코드에 명시한 다른 버전으로 변경하려면 terraform init -upgrade를 수행하여야 합니다.

image-20240320-035015.pngImage Added

  1. terraform validate 명령어를 사용하여 디렉터리에 있는 Terraform 구성 파일의 유효성을 확인합니다.

...

  1. az login 명령어를 사용하여 로그인합니다.

  2. terraform plan 명령어를 사용하여 적용 전 예상한 구성이 맞는지 검토합니다.

...

  1. terraform apply 명령어를 입력하여 plan에서 작성된 적용 내용을 토대로 작업을 실행합니다.

image-20240320-043434.pngImage Addedimage-20240320-043527.pngImage Added

  1. 배포 완료 후 portal.azure.com 접속하여 리소스 확인

...

  1. terraform destroy 명령을 사용하여 terraform 구성에서 관리하는 모든 개체를 제거 합니다.