depends_onTerraform에서 depends_on은 리소스 간의 추론되지 않는 의존성/의존관계(dependency)을 수동으로 지정하는 메타 파라미터(meta-parameter)이다.아주 쉽게, A라는 리소스가 다 만들어진 다음에야 B라는 리소스를 만들 수 있도록 하려고 할 때 depends_on을 사용하면 된다.depends_on은 Resource 블록 내에 적는다.📌 예시:aws_s3_bucket.bucket 라는 리소스가 먼저 만들어 진 다음에,aws_s3_bucket_object.object 라는 리소스를 생성하기resource "aws_s3_bucket" "bucket" { bucket = "my-example-bucket"}resource "aws_s3_bucket_object" ..
Terraform 참조 방식Terraform에서 무언가를 참조할 때는 다음과 같은 구조를 따른다...Terraform 타입 data, module, var, local(resource는 생략 가능)리소스 타입과 이름설정한 값가져오고 싶은 속성 값 각각의 category에 따라 참조할 수 있는 속성(attribute)이 여러 개 있다. 예시) aws_instance 리소스의 경우.id : 인스턴스 ID.private_ip : 사설 IP 주소.public_ip : 공인 IP 주소 .arn : ARN 1. resourceresource "aws_instance" "web" { ami = var.ami_id instance_type = "t2.micro"}# 참조: aws_instance..
Secrets (비밀 정보)란?Terraform의 secrets(비밀 정보)는 인프라를 구성하고 관리할 때 사용하는 민감한 데이터(sensitive data)이다.API keys (API 키)비밀번호 (password)데이터베이스 연결 문자열 (database connection strings)클라우드 서비스 접근 토큰 등이런 정보는 클라우드와 안전하게 통신하기 위해 꼭 필요하지만, 유출되면 보안상 문제가 생길 수 있다.Terraform에서는 이런 secrets를 안전하게 관리하기 위해 여러 가지 방법을 제공한다. 🔐 Terraform Secrets 관리 방법 1. 환경 변수 (Environment Variables)Terraform 파일에 비밀번호와 같은 정보를 직접 쓰지 않기민감한 정보(sensit..
Terraform CloudTerraform Cloud는 HashiCorp에서 만든 Terraform 전용 클라우드 서비스.그렇다고 AWS, Azure, GCP과 같은 클라우드가 아니라, 클라우드 플랫폼(AWS / Azure / GCP)에 리소스을 자동으로 배포할 수 있게 도와주는 툴이다. Terraform Cloud 공식 사이트: https://app.terraform.io/public/signup/account HCP Terraform app.terraform.io계정을 만들어 보았다.jibinking이라는 조직을 만들어 보았다. 🎯Terraform Cloud 특징기능설명☁️ 원격 상태 저장(Remote state storage)상태 파일(tfstate file)을 Terraform Cloud에..
FIX 프로토콜 (Financial Information eXchange Protocol)FIX 프로토콜은 전 세계 금융시장에서 널리 사용되는 전자 거래 통신 표준 프로토콜이다.금융기관 간 거래를 실시간으로 정확하게 교환하기 위한 프로토콜이다 탄생 배경1992년, 미국의 Fidelity Investments와 Salomon Brothers가 기관 간 주식 주문을 더 빠르고 정확하게 자동화하기 위해 공동 개발하였다. 🏢 증권사 ↔ 🏦거래소 (Exchange)용도: 주식/채권/파생상품 주문 전송, 체결 응답예시1: 🏢삼성증권 → 🏦한국 거래소(KRX)예시2: 🏢골드만삭스 → 🏦나스닥 거래소✅ FIX 프로토콜 메시지 예시8=FIX.4.2|35=D|55=AAPL|54=1|38=100|44=180.5|..
For Expressions테라폼에서 사용 할 수 있는 For 문.리스트(list)나 맵(map) 같은 자료구조에서 각 요소를 변환하거나 필터링할 때 사용한다.[for 변수 in 리스트 : 변환값] ## 리스트 변환{ for 키, 값 in 맵 : 새로운_키 => 새로운_값 } ## 맵 변환 예시# 리스트 변수 정의variable "numbers" { default = [1, 2, 3, 4]}output "doubled_numbers" { # numbers 리스트의 각 값을 2배로 만들어 새 리스트로 반환 value = [for n in var.numbers : n * 2]}출력 결과: [2, 4, 6, 8] Splat Expressions리스트(list) or 맵(map) 같은 자료 구조에서..
Variable (베리어블, 변수)Terraform의 variable은 인프라에 여러번 사용되는 변수의 값을 선언하고 할당하는 데 사용되는 기능이다. → 즉 인프라에 필요한 변수는 variable 여기에 저장하면 된다. (매번 값을 하드코딩할 필요 없다) 사용 예시)개발하는 어플리케이션 이름이 "google"이라면, 이름을 variable에 저장한다. (variable = google) 개발 도중에 이름을 호출해야 할 때 마다 variables에서 값을 가져오면 된다.👓 variable 특징✍ HCL Syntax (variable 문법 예시)variable "instance_type" { #instance_type라는 변수 description = "EC2 인스턴스 타입" type ..
terraform force-unlock 명령어terraform force-unlock는 Terraform에서 terraform.tfstate(상태 파일)에 걸린 잠금(lock)을 강제로 해제하는 명령어이다.🔒 Terraform의 잠금(lock)이란?Terraform의 lock이란 동시에 여러 사용자가 같은 상태 파일을 변경하는 것을 방지하기 위해 "잠금(lock)"을 거는거다.📌일반적인 예시:terraform apply 중에 다른 사용자가 다른 작업을 하지 못하도록 막는다. 보통은 작업이 끝나면 자동으로 잠금이 해제되지만, ⚠️적용 도중 오류가 발생하거나 강제 종료되면 잠금이 풀리지 않을 수 있다.이때 terraform force-unlock 명령으로 강제로 잠금을 해제할 수 있다. 😶🌫️ ..