♻ Terraform(테라폼) (38) 썸네일형 리스트형 Terraform -target 을 활용한 특정 리소스 생성 및 삭제 방법 # Terraform -target 을 활용한 특정 리소스 생성 및 삭제 방법주석 해제 방법은 간단하지만, 원하는 리소스만 생성하는 더 효율적인 방법이 있습니다. Terraform에서는 -target 옵션을 사용하여 특정 리소스나 모듈만 생성할 수 있습니다. 이 방법을 사용하면 주석을 해제하거나 다시 주석 처리할 필요 없이 원하는 리소스만 생성할 수 있습니다.예를 들어, 특정 모듈만 생성하려면 다음 명령어를 사용할 수 있습니다:terraform apply -target=module.vpc이 명령어는 module.vpc만 생성합니다. 다른 리소스나 모듈을 생성하려면 -target 옵션에 해당 리소스나 모듈을 지정하면 됩니다.또한, 여러 리소스를 동시에 생성하려면 -target 옵션을 여러 번 사용할 수 있.. Terraform으로 인프라를 구성할 때 알아야 할 기본 사항 # Terraform으로 인프라를 구성할 때 알아야 할 기본 사항AWS 리소스를 생성하고 구성할 때 필요한 요소들에 대한 정보는 주로 다음과 같은 출처에서 얻을 수 있습니다.공식 문서: AWS 공식 문서와 Terraform 공식 문서를 참고하면 각 리소스의 사용법과 구성 방법을 자세히 알 수 있습니다.AWS VPC 공식 문서Terraform AWS Provider 공식 문서예제 코드: Terraform Registry나 GitHub 등에서 제공하는 예제 코드를 참고하면 실제 사용 사례를 통해 필요한 리소스와 구성 방법을 알 수 있습니다.Terraform AWS VPC Module블로그 및 튜토리얼: 다양한 블로그와 튜토리얼에서 AWS 인프라를 구성하는 방법을 단계별로 설명합니다. 이를 통해 필요한 리소스.. Terraform 버전과 관련한 내용 정리 # Terraform 버전과 관련한 내용 정리terraform { required_version = ">= 1.0.0, terraform 블록에서 required_version을 ">= 1.0.0, 이 설정을 통해 호환되지 않는 Terraform 버전으로 인한 문제를 방지할 수 있습니다. - 끝 - terraform module (테라폼 모듈의 실행 Flow) # 현재 폴더의 구성은 아래와 같다.├── main.tf└── modules ├── ec2 │ └── main.tf ├── key-pair │ └── main.tf ├── nat-gateway │ └── main.tf ├── security-group │ └── main.tf ├── subnet │ └── main.tf └── vpc └── main.tf# Terraform module의 실행 Flow 정리Terraform은 모듈 간의 의존성을 자동으로 관리합니다. main.tf 파일에서 vpc_id와 route_table_id를 module.vpc에서 가져오도록 설정했기 때문에, Terraform은 vpc 모듈을 .. Terraform 리소스 값을 사용하기 위한 Module간 관계 정리 코드는 아래와 같다.# 사용되는 Flow를 블로그에 정리.module "subnet" { source = "./modules/subnet" # 서브넷 모듈 소스 경로 vpc_id = module.vpc.vpc_id # VPC 모듈에서 VPC ID 가져오기 route_table_id = module.vpc.route_table_id # VPC 모듈에서 라우트 테이블 ID 가져오기}module.vpc.route_table_id와 module.vpc.vpc_id 값을 가져오는 흐름은 다음과 같습니다:modules/vpc/main.tf 파일에서 VPC와 라우트 테이블 리소스 정의aws_vpc.main 리소스는 VPC를 생성하고, aws_route_table.main 리소스는 라우트 테이블을 생성합니다.. Terraform outputs와 variables의 관계 정리 # Terraform outputs와 variables의 관계 정리Terraform에서 outputs와 variables는 서로 다른 목적을 가지고 있으며, 다음과 같은 관계가 있습니다.Variables (변수)variables는 Terraform 구성에서 입력 값을 정의하는 데 사용됩니다.사용자가 Terraform 실행 시 값을 제공하거나, 기본값을 설정할 수 있습니다.예를 들어, main.tf 파일에서 모듈에 값을 전달할 때 사용됩니다.variable "vpc_id" { description = "The ID of the VPC" type = string}Outputs (출력)outputs는 Terraform 구성에서 생성된 리소스의 값을 출력하는 데 사용됩니다.다른 모듈이나 외부 시.. Terraform Import를 활용한 기존 리소스 가져오기 # Terraform Import를 활용하여 기존의 인프라 자원을 Terraform으로 가져오는 작업을 진행 Terraform Import가 필요한 이유? Terraform으로 생성하지 않고 AWS 콘솔이나 클라우드 포메이션 같은 도구를 통해 생성한 AWS 리소스를 Terraofrm으로 Import하여 사용하기 위한 작업 - Terrraform Import를 하는 방법은 여러가지가 존재 하지만 해당 방법을 사용하는 이유는 tfstate파일에 존재하는 리소스만을 가지고 Import를 진행하기 때문에 편리하다. 1. 예시로 AWS IAM User에 대한 Resource를 가져오는 작업을 수행 - IAM User의 상태를 보면 아래와 같다. 약 10여개 이상의 User가 생성되어 있는것을 볼 수 있다. - 특.. Terraform을 활용한 EKS 클러스터 설계 # Terraform을 활용한 EKS 설계... - 일단 Terraform을 활용해서 EKS 클러스터까지 구성을 하였는데, 소감은 복잡하다. 아직 Terraform을 완벽히 숙지하지 못한 부분도 있겠지만, 리소스 영역이 확립이 안돼서 그런 것 같다. 예를 들어 EKS 클러스터를 생성할 때 필요한 디펜던시 요소들이 어떤 것들이 있는지... 등등 정확한 리소스 사용에 대한 확립이 없이는 자유 자재로 컨트롤하기가 쉽지는 않을 거 같다. - 아래는 설계한 아키텍처 흐름을 표현한 그림이다. (내가 그렸지만 나도 하나하나 자세히 봐야하는건 문제다...) - 관련 소스는 보완이 되는대로 올리자. - Terraform을 활용해서 자유자재로 리소스를 컨트롤 하게끔 많은 노력과 연습이 필요할 듯싶다. # Terraform.. 이전 1 2 3 4 5 다음