목록terraform (6)
근묵자흑

https://developer.hashicorp.com/terraform/tutorials/configuration-language/test 블로그를 기반으로 작성된 블로그입니다.소개Terraform 테스트를 사용하면 기존 상태 파일이나 리소스에 영향을 주지 않고도 모듈 구성을 검증할 수 있습니다. 테스트는 plan이나 apply 워크플로우와는 별개의 작업으로, 임시 인프라를 구축하고 이러한 단기 리소스의 인메모리 상태에 대해 테스트를 수행합니다. 이를 통해 인프라에 영향을 주지 않고도 모듈 변경사항을 안전하게 검증할 수 있습니다.테스트와 검증의 차이검증(Validation): 변수 검증, 사전/사후 조건, 체크 블록 등은 배포된 인프라의 유효성을 확인합니다. 검증이 실패하면 모듈 사용자가 해결해야 합..
이 블로그는 https://developer.hashicorp.com/terraform/language/tests/mocking 페이지를 정리해 둔 블로그 입니다.참고: Test mocking은 Terraform v1.7.0 이상에서 사용 가능합니다. Terraform은 테스트를 위해 provider, resource, data source를 mock할 수 있게 해줍니다. 이를 통해 실제 인프라를 생성하거나 자격 증명이 필요하지 않고도 모듈의 일부를 테스트할 수 있습니다. Terraform 테스트에서 mock된 provider나 resource는 일반적으로 기본 provider API에서 제공하는 모든 computed 속성에 대해 가짜 데이터를 생성합니다. Mocking 기능은 terraform test..

1. 반복문 활용하기1.1 count 매개 변수를 이용한 반복count는 테라폼에서 가장 기본적인 반복 방법입니다. 동일한 리소스를 여러 개 생성할 때 사용합니다.resource "aws_instance" "web" { count = 3 # 3개의 동일한 인스턴스를 생성 ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" tags = { Name = "web-server-${count.index}" # 각 인스턴스에 순차적인 이름 부여 }}상세 설명:count = 3: 리소스를 3번 반복 생성합니다.count.index: 0부터 시작하는 인덱스 값을 제공합니다.생성되는 인스턴스 이름: "web-server-0", "we..

Terraform syntax & 기본 구성요소Provider 설정테라폼 provider 에 관한 블로그 글은 아래 정리돼 있습니다.https://devstory.tistory.com/2terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } }}provider "aws" { region = "ap-northeast-2" # 서울 리전}Resource 정의Resource 블록은 실제로 생성할 인프라 자원을 정의하는 핵심 구성요소입니다. 각 리소스는 고유한 식별자를 가지며, 해당 리소스의 모든 속성을 정의합니다.클라우드 리소스 생성 및 관리리소스 간 의존성 정의리소스 설정..

데브옵스(DevOps)란?‘데브옵스(DevOps)’는 패트릭 드보이스(Patrick Debois)가 2009년에 처음 소개한 용어로 이후 그는 이 분야의 전문가로 부상했습니다. 이 용어는 개발(development)’과 ‘운영(operations)’을 결합한 말로, 사람들이 데브옵스가 무엇을 의미하는지 이해할 수 있는 시작점을 제공합니다. 데브옵스는 프로세스, 기술 또는 표준이 아닙니다. 많은 추종자들은 데브옵스를 하나의 ‘문화’라고 언급합니다.시장조사기관 가트너(Gartner)의 정의를 선호합니다.“데브옵스는 시스템 위주의 접근 방식이라는 문맥에서 민첩하고 효율적인 관행을 도입함으로써, IT 서비스를 신속하게 제공하는 데 초점을 맞춘 IT 문화의 변화를 나타냅니다. 데브옵스는 사람(과 문화)을 강조하며..

프로바이더 란?공급자, 원격 환경을 제공하는 대상프로바이터다 제공하는 API를 호출하여 상호작용ex) aws, azureDocs https://registry.terraform.io/providers/hashicorp/aws/latest/docsProvider 설정 (aws example)Terraform 13.0 이상의 버전부터 AWS Provider를 사용하기 위해서, 위의 code와 같이 terraform{} block에 source와 AWS provider의 버전을 선택하면 된다. # Terraform 0.13 and later: terraform { required_providers { aws = { source = "hashicorp/aws" ..