본문 바로가기

분류 전체보기

(28)
[Terraform] HCP Terraform(Terraform Cloud)의 No-code provisioning 2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다. 1. HCP Terraform의 No-code Provisioning 이란?No-Code Provisioning은 HCP Terraform에서 코드를 작성하지 않고도 인프라를 프로비저닝할 수 있는 기능입니다.HCP Terraform의 No-code Provisioning는 Plus Plan이상부터 가능합니다.  No-Code Provisioning의 장점코드를 작성하지 않아도 되므로, 비개발자나 인프라 코드에 익숙하지 않은 사용자도 쉽게 인프라를 배포할 수 있습니다.개발자..
[Terraform] HCP Terraform(Terraform Cloud)의 Module 사용 2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다. 1. Module Registry란?HCP Terraform의 Registry는 Terraform Module을 중앙에서 관리하고 공유할 수 있는 Registry입니다.Module Registry를 사용하여 인프라 코드 재사용성을 극대화하고, Module을 쉽게 관리할 수 있습니다.주요 기능중앙 관리Module을 중앙에서 관리하고 공유하여 기업에서의 일관된 인프라 배포가 가능합니다.Public RegistryTerraform Registry에 등록된 수많은 공개 Modul..
[Terraform] HCP Terraform(Terraform Cloud)의 VCS연동(Github, GitLab, Bitbucket..) 2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다. 1. VCS (Version Control System)이란?VCS는 코드의 변경 사항을 추적하고 관리하는 시스템을 말합니다.소프트웨어 개발의 필수 도구로서, 여러 개발자가 동시에 작업할 수 있도록 도와주며 코드의 변경 내역을 기록하여 협업을 할 수 있습니다.주요 기능 버전 관리: 코드의 변경 사항을 버전별로 관리하여 과거 상태로의 롤백이 가능하게 합니다. 이를 통해 실수나 버그가 발생했을 때 손쉽게 이전 버전으로 되돌릴 수 있습니다.브랜치 관리: 여러 브랜치를 사용하여 ..
[Terraform] HCP Terraform(Terraform Cloud)의 Variable Sets 2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다. 1. HCP Terraform의 Variable Sets이란?HCP Terraform의 Variable Set은 여러 Workspace 또는 Project 에 걸쳐 공통으로 사용할 수 있는 변수들의 집합입니다.Variable Sets 을 통해 변수 설정을 중앙에서 관리할 수 있게 하여, Workspace 또는 Project 간에 일관성을 유지하고 관리의 복합성을 줄일 수 있습니다. Variable Sets의 주요 기능중앙 집중식 관리 여러 Workspace에서 공통으로 사..
[Terraform] count, for_each 등 실습예제 Challenge1) 참고 코드 : https://github.com/junho102/Terraform-Study/tree/main/Week2/challenge1리전 내에서 사용 가능한 가용영역 목록 가져오기를 사용한 VPC 리소스 생성data "aws_availability_zones" "az" { state = "available"}resource "aws_vpc" "vpc" { cidr_block = var.vpc_cidr enable_dns_support = true enable_dns_hostnames = true tags = { Name = "${var.env}-vpc" }}resource "aws_subnet" "pub_subnet1" { vpc_id ..
[Terraform] Variables, Outputs, Data, functions Variables and OutputsTerraform에서 변수(variables)는 크게 input, output, local로 볼 수 있음.local 변수는 주로 특정 값들을 연산하여 하나의 변수로 관리하려 할 때 사용. merge, concat, max와 같은 함수를 사용하여 특정 local변수를 생성 가능.# input variablesvariable "eks_version" { default = "1.22"}# output variablesoutput "dmz_subnet_id" { value = aws_subnet.dmz_subnet.*.id}# local variableslocals { common_tags = { Service = local.service_name Owner..
[Terraform] Resource Block 구문 문법(lifecycle, depends_on) resource를 생성하기 위해 필요한 Arguments 외에 모든 resource가 공통적으로 사용할 수 있는 Arguments를 Meta Arguments라 합니다. - Arguments 참조resource를 생성하기 위해 필요한 Arguments 외에 모든 resource가 공통적으로 사용할 수 있는 Arguments를 Meta Arguments라 합니다.Meta Argument 인 lifecycle, depends_on 에 대해 실습을 진행합니다. 1. lifecyclelifecycle Meta Agument는 리소스의 수명 주기 동작을 제어합니다.lifecycle은 다음과 같은 object을 통해 리소스의 수명주기를 제어할 수 있습니다. create_before_destroy업데이트 중에 리소스..
[Terraform] HCP Terraform(Terraform Cloud)의 Project & Workspace 2024년 4월 22일부터 Terraform Cloud의 이름이 HCP Terraform으로 변경되었습니다.하기 내용에서는 Terraform Cloud 이름 대신 HCP Terraform 이름으로 대체하여 설명을 진행하도록 하겠습니다.  1. HCP Terraform의 Project & Workspace ProjectHCP Terraform의 Project를 통해 사용자는 작업공간(workspace)의 특정 하위 집합을 격리하고 단일 조직 내에서 권한을 정의 가능가 가능합니다.WorkspacesWorkspace는 Terraform이 실행되는 독립적인 작업공간을 의미합니다.설정된 backend에 workspace에 state를 저장하고 하나의 state는 하나의 workspace로 관리됩니다.HCP Ter..