본문 바로가기

INFRA/Automation7

Terraform Output과 Local 안녕하세요! 김회장과 최총무 입니다~! 벌써 새해가 밝았네요! 오늘은 핫한 Infrastructure as Code 도구인 Terraform의 Output 과 local의 사용 방법에 대해서 알아볼게요! 먼저 Output values 입니다! Output values 란 모듈에서 제공하는 값이며, 다른 모듈에서 그 값을 다양하게 사용하여 Infrastructure 구성에 도움을 줍니다. 쉽게 말해 모듈의 return value 라고 생각하면 쉬울 것 같아요! 예제와 함께 선언 방법에 대해 알아보겠습니다! # main.tf resource "aws_iam_user" "example" { name = "test" } # outputs.tf output "user_name" { value = aws_iam_u.. 2024. 2. 2.
[Terraform] Meta-Argument 2 . for_each문 베하 !! 안녕하세요 BTC_콩순이들입니다 !! 오늘은 저번 포스팅에 이어 Terraform Meta-Argument 에 대해 알아보도록 하겠습니다!! 저번에는 count 문을 설명해드리며 마지막에 단점이 있다고 말씀드렸죠 ! 오늘 그 단점을 보완해줄 for_each문에 대해 알아볼게요 !!! 그럼 시작하겠습니다! ▶️for_each문 for_each 메타인수는 Terraform의 resource 블록 내에서 반복문을 사용할 수 있게 해주는 기능입니다! 반복문 ! 저번에 count 에 대해서 알아봤었죠 , 그럼 count와 for_each는 어떤 차이가 있으며 어떻게 사용하는게 좋을까요? 먼저 for_each문을 사용하면 어떤 점이 좋은지부터 알아보도록 하겠습니다. ✅ 다양한 리소스를 쉽게 생성하고 관리.. 2023. 6. 30.
[Terraform] 모듈과 모듈화 베 하 ~~ 콩순이들 BTC_물콩입니다 !!! 오늘은 같으면서도 다른 모듈과 모듈화의 정의와 차이점에 대해 알아보겠습니다 !!!!!! 저는 테라폼을 공부 했을때, 모듈과 모듈화가 같은 것을 정의하는 줄 알았었는데 아니더라구요 ㅎㅎ ❓ 모듈 ◾ Terraform에서 모듈은 구성 요소를 재사용 가능한 단위로 분리하는 방법 ◾ 모듈은 Terraform 코드의 조각으로, 특정 기능이나 리소스 집합을 정의하는 것 ◾ 모듈을 사용하면 코드를 재사용하고, 유지 관리가 용이하며, 추상화 수준을 높일 수 있음 ◾ 일반적으로 모듈은 하나 이상의 리소스를 정의하고 설정할 수 있으며, 이를 통해 구성 관리를 효율적으로 수행할 수 있음 ❓ 모듈화 ◾ 모듈화는 코드를 논리적으로 분할하여 재사용 가능하고 관리하기 쉬운 단위로 분리.. 2023. 6. 22.
[Terraform] Meta-Argument 1 . Count문 베하 - ! 안녕하세요 BTC 콩순이들입니다! 계속해서 Terraform 을 톺아보도록 하겠습니다 ㅎㅎㅎ 이번주는 Terraform 이 지원하는 Terraform Meta-Argument에 대해 알아보기로 할텐데요 ! 필요에 따라 실습도 함께 해보며 이해해보도록 합시다 !! 그럼 시작할게요 -! Terraform 에는 각각의 resource를 생성하려면 resource 블록 안에 각각 다른 Arguments 를 선언할 수 있습니다. aws 인프라로 예를 들어보면 , 이렇게 ami, instance_type 등 특정 리소스에만 국한적인 Arguments가 대부분입니다. resource "aws_instance" "web" { ami = data.aws_ami.ubuntu.id instance_type = .. 2023. 6. 13.
Terraform Remote State (S3편) 베하 ~~ 콩순이들 BTC_물콩입니다 ~ 이번주는 Terraform Remote State (S3)편을 준비해 보았습니다 !! ☑️ 우선 !! Terraform Remote State란 무엇일까요 ? Remote State란 Terraform 코드로 정의된 인프라스트럭처의 현재 상태 정보를 저장하는 것을 의미합니다. 이 상태 정보는 Terraform이 인프라스트럭처를 관리하는 동안 필요한 정보로, 이전에 만든 리소스 및 구성의 현재 상태를 포함합니다. ☑️ Terraform Backend란 무엇일까요 ? Terraform Backend란 Terraform의 State File을 어디에 저장하고 가져올지에 대한 설정입니다. Terraform은 S3, ETCD, Consul 등여러 목적지에서 상태 정보를 저.. 2023. 5. 26.
[Terraform] Terraform module 베하 !!! 안녕하세요 BTC 콩순이들입니다 !! 오늘은 Terraform module에 대해 이야기 해 볼까 합니다 : ) Terraform module이 무엇인지! 어떤 장 단점이 있는지 , 어떤 경우에 사용하는지, 알아보겠습니다! 그럼 시작할게요 !!! 이전 포스팅을 보셨다면 아시겠지만 다시 한 번 설명드리자면 테라폼은 클라우드 인프라를 손쉽게 구축하고 안전하게 변경 가능하며, 효율적으로 인프라의 형상을 관리할 수 있는 오픈소스 도구 입니다. 즉 인프라를 코드로 정의하여 생산성과 투명성을 높일 수 있고, 정의한 코드를 쉽게 공유할 수 있어 협업에 효율적으로 사용할 수 있습니다. 그렇다면 테라폼 모듈이란 무엇일까요? Terraform Module 은 하나의 파일에 모든 코드가 정의 되지 않도록 '관련.. 2023. 5. 21.
[Terraform] Terraform 환경구성 베하 ~ ! BTC 콩순이들 BTC_물콩입니다 !! 오늘은 Terraform 개발 환경 구축을 한 번 해보겠습니다 ~ 1. Terraform 설치 1) Terraform 다운로드 https://developer.hashicorp.com/terraform/downloads 본인의 운영체제에 알맞은 Terraform 다운로드 버전을 선택 386 : 32비트(X86) AMD64 : 64비트(X86-64) 2) 파일 압축 해제 3) 환경 변수 등록 고급 시스템 설정 → 환경변수 → 시스템 변수의 Path 선택 → 편집 새로만들기 → C:\Terraform 등록 4) Terraform 설치 확인 2. AWS CLI 설치 1) AWS CLI 다운로드 Windows용 AWS CLI MSI 설치 관리자(64비트)를 다.. 2023. 5. 12.