DevOps/Terraform2022. 4. 21. 21:57[Terraform] 리소스 생성 순서와 의존성

✔️ 암시적 의존성 Terraform 코드를 이용해 EIP와 S3 버킷을 생성해보자 # Elastic IP resource resource "aws_eip" "app_server_eip" { instance = aws_instance.app_server.id # app_server 인스턴스를 만들고 그 인스턴스의 id 값을 vpc = true # 참조하라는 의미이다. } # S3 Bucket resource "aws_s3_bucket" "app_bucket" { bucket = "ssh-20220421" } 만들어지지도 않은 instance의 ID를 어떻게 알까 ? Argument reference - 리소스 블록을 선언할 때 사용하는 parameter Attribute reference - 리소스가 만..

[Terraform] Terraform 상태 확인
DevOps/Terraform2022. 4. 21. 21:55[Terraform] Terraform 상태 확인

✔️ Terraform 상태 확인 terraform.tfstate : 현재 상태 terrafrom.tfstate.backup : 직전 상태 두 파일 모두 절대로 직접 수정해서는 안되며 절대 git에 공유해서는 안되는 파일이다. [vagrant@controller 01]$ ls main.tf terraform.tfstate terraform.tfstate.backup ✔️ 상태 확인 명령어 terraform show terraform state list terraform state show aws_instance.app_server ✔️ 상태 재동기화 terraform refresh terraform show 명령을 통해 현재 인스턴스에 붙은 EBS 볼륨의 크기가 8인것을 확인했다. root_block_d..

DevOps/Terraform2022. 4. 21. 21:07[Terraform] Terraform Workflow (실행 순서)

✔️ 실행 순서 ✔️ 초기화 terraform init 프로바이더 플러그인을 설치한다. terraform init은 언제 실행하는가 ? 최초로 프로바이더를 설치할 때 프로바이더 버전을 업데이트할 때 더보기 [vagrant@controller 01]$ terraform init Initializing the backend... Initializing provider plugins... - Finding hashicorp/aws versions matching "~> 3.27"... - Installing hashicorp/aws v3.75.1... - Installed hashicorp/aws v3.75.1 (signed by HashiCorp) Terraform has created a lock file..

DevOps/Terraform2022. 4. 21. 20:44[Terraform] Terraform 구성 파일

✔️ Terraform 구성 파일 .tf : HCL .tf.json : Json 형식 인코딩 Unicode 를 사용해야 한다. 디렉토리 현재 작업 디렉토리 위치에 따라 해당 디렉토리의 .tf, .tf.json 를 모두 읽어서 실행한다. 따라서 특정 작업을 하기 위해서는 디렉토리를 따로 만들고 .tf 파일을 만들어야 한다. 사전 준비 To follow this tutorial you will need: The Terraform CLI (0.14.9+) installed. The AWS CLI installed. AWS account and associated credentials that allow you to create resources. 현재 기준 0.13 ~ 1.x 까지는 호환이 된다. AWS를 이..

[Terraform] Terraform 소개 및 설치방법
DevOps/Terraform2022. 4. 21. 19:46[Terraform] Terraform 소개 및 설치방법

✔️ Terraform HashiCorp에서 오픈소스로 개발 중인 인프라스트럭쳐 구축 및 운영의 자동화를 지향하는 IaC 도구이다. Cloud, on-prem의 리소스 모두 구성 가능하다. Human-readable configuration을 지향한다. ✔️ Terraform 주요 기능 코드형 인프라 Terraform은 HCL 구성파일로 정의하며, 이를 통해 인프라의 구성을 코드화하고 버전 관리를 통해 관리할 수 있다. 실행 계획 실제로 배포하기 전에 계획 단계를 통해 수행 할 작업을 미리 확인할 수 있다. (Ansible --check와 비슷) 리소스 종속성 내부적으로는 리소스의 종속성이 있을 수 있다. 예를들어 aws vcp와 ec2를 선언했다 ec2가 vcp를 사용할것이다. 그래서 내부적으로 테라폼..

image