728x90 스터디 이야기/Terraform21 [T101] 3-5. Terraform - 함수 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 함수테라폼은 일반적인 프로그래밍 언어적인 특성처럼 값의 유형을 변경하거나 조합할 수 있는 함수들이 내장되어있습니다. 단, 내장된 함수외에 사용자가 구현하는 별도의 사용자 정의 함수는 지원하지 않습니다. 함수 종류https://developer.hashicorp.com/terraform/language/functions Functions - Configuration Language | Terraform | HashiCorp DeveloperAn introduction to the built-.. 2024. 6. 27. [T101] 3-4. Terraform - 조건식 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 조건문테라폼에서 조건식은 3항 연상자 형태를 갖습니다. 조건은 true 또는 false로 확인되는 모든 표현식을 사용할 수 있고, 일반적으로 비교, 논리 연산자를 사용해 조건을 확인합니다# ? : var.a != "" ? var.a : "default-a" 조건식은 ? 기호를 기준으로 왼쪽이 조건이며 오른쪽은 : 기호를 기준으로 왼쪽이 조건에 대해 true가 반환되는 경우이고 오른쪽이 false가 반환되는 경우입니다. var.a가 빈 문자열이 아니라면 var.a를 나타내지만, 비어 있을.. 2024. 6. 26. [T101] 3-3. Terraform - 반복문(dynamic) 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 반복문dynamic리소스 같은 테라폼 구성을 작성하다 보면 count나 for_each구문을 사용한 리소스 전체를 여러 개 생성하는 것 외에도 리소스 내에 선언되는 구성 블록을 다중으로 작성해야 하는 경우가 있습니다. aws_security_group 리소스 내에 선언되는 구성 블록resource "aws_security_group" "allow_tls" { name = "allow_tls" description = "Allow TLS inbound trffic" vpc_id .. 2024. 6. 26. [T101] 3-2. Terraform - 반복문 (for) 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 반복문forfor문은 복합적인 형식의 값 형태를 변환하는 데에 사용됩니다. 예를 들어, list값의 포맷을 변경하거나 특정 접두사를 추가할 수도 있고, output에 원하는 형태로 반복적인 결과를 표현할 수도 있습니다.list 타입인 경우 value 또는 index와 value을 반환map 타입인 경우 key 또는 key와 value를 반환set 타입의 경우 key 값에 대해 반환variable "names"{ default = ["a", "b", "c"]}resource "local.. 2024. 6. 24. [T101] 3-1. Terraform - 반복문(for_each) 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 반복문for_each리소스 또는 모듈 블록에서 for_each에 입력된 데이터 형태가 map 또는 set이면, 선언된 key 값 개수만큼 리소스를 생성합니다. 즉, for_each 표현식을 사용하면 집합(sets), 맵(maps)을 사용하여 전체 리소스의 여러 복사본 또는 리소스 내 인라인 블록의 여러 복사본, 모듈의 복사본을 생성 할 수 있습니다.mapresource "azurerm_resource_group" "rg" { for_each = tomap({ a_group .. 2024. 6. 24. [T101] 2-4. Terraform - 반복문(count) provider "aws" { region = "ap-northeast-2" } resource "aws_iam_user" "example" { name = "neo" } 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 반복문list 형태의 값 목록이나 Key-Value 형태의 문자열 집합인 데이터가 있는 경우 동일한 내용에 대해 테라폼 구성 정의를 반복적으로 하지 않고 관리할 수 있습니다. Countresource 또는 module 블록에 count 값이 정수인 인수가 포함된 경우 선언된 정수 값만큼 리소스나 모듈을 생성하게 됩니다. .. 2024. 6. 22. [T101] 2-3. Terraform - local & output 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. local(지역 값)코드 내에서 사용자가 지정한 값 또는 속성 값을 가공해 참조 가능한 local은 외부에서 입력되지 않고, 코드 내에서만 가공되어 동작하는 값을 선언합니다. local은 입력 변수와 달리 선언된 모듈내에서만 접근 가능하고, 변수처럼 실행시 입력 받을 수 없습니다.local은 사용자가 테라폼 코드를 구현할 때 값이나 표현식을 반복적으로 사용할 수 있는 편의를 제공합니다. 하지만 빈번하게 여러 곳에서 사용되는 경우 실제 값에 대한 추적이 어려워져 유지 관리 측면에서 부담이 발.. 2024. 6. 18. [T101] 2-1. Terraform - Data Source 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. Data Source데이터 소스는 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용합니다.Data Source 구성데이터 소스 블록은 data로 시작됩니다. data "local_file" "abc" { filename = "${path.module}/abc.txt"}데이터 소스 유형은 첫 번째 언더스코어인 '_'를 기준으로 앞은 프로바이더 이름, 뒤는 프로바이더에서 제공하는 리소스 유형을 의미합니다.데이터 소스 유형을 선언한 뒤에는 고유한 이름을 붙입.. 2024. 6. 17. [T101] 1-4. Terraform - Resource 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 리소스리소스는 테라폼이 프로비저닝 도구라는 측면에서 가장 중요한 요소이며, 리소스 블록은 선언된 항목을 생성하는 동작을 수행합니다. 리소스 구성리소스 블록은 resource로 시작합니다. resource "" "" { = } - 리소스 이름은 첫번째 _를 기준으로 앞은 프로바이더 이름을 나타내고, 뒤는 프로바이더에서 제공하는 리소스 유형을 의미합니다. - 리소스 유형이 선언되면 뒤에는 고유한 이름을 붙입니다. 이름은 동일한 유형에 대해 식별자 역할을 하기 때문에 유형이 같은 경우에는.. 2024. 6. 16. 이전 1 2 3 다음 728x90