DevOps/Terraform

·DevOps/Terraform
1. OpenTofu란?OpenTofu의 첫 등장은 2023년 8월입니다. Hashicorp가 전 제품을 BSL (Business Source License)로 변경을 발표하며, 테라폼의 상업적 사용에도 제동이 걸리게 되었습니다. 따라서 이에 반대하는 OpenTF 매니페스토에 참여한 온라인 커뮤니티와 각종 단체, 개인들에 의해서 개발된 IaC 도구입니다. 2023년 8월 첫 선을 보이고, 2023년 9월에 Linux Foundation의 프로젝트가 되어 CNCF에 가입되었습니다.그 출발이 테라폼의 상용화에 반한 내용이다 보니 그 목적과 사용법 역시 종전의 테라폼의 출발과 비슷하다 할 수 있습니다. 2. OpenTofu의 주요 기능인프라 프로비저닝 자동화OpenTofu는 클라우드 서비스, 네트워크, 가상 ..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 Karpenter on EKS Fargate 배포에 대해서 포스팅을 올립니다.CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 오늘 사용할 Karpenter는 Kubernetes 클러스터 오토스케일러이고,EKS Fargate는 관리형 서버리스 컨테이너 실행 서비스입니다. 먼저 git clone 후 하기 디렉토리로 이동합니다. 1. git clonegit clone https://github.com/aws-ia/terraform-aws-eks-blueprintscd terraform-aws-eks-blueprints/patterns/karpenter tree 명령어를 수행하면 다음과 같이 확인됩니다. versions.tf는 다음과 같습니다. 2. versions.tf ..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 모듈을 활용한 athena datacatalog 배포에 대해서 포스팅을 올립니다.CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 트리├── main.tf├── modules│ └── ec2-instance│ ├── main.tf│ └── variables.tf└── terraform.tfstate 루트 모듈 정의 (main.tf)provider "aws" { region = "ap-northeast-2"}locals { ec2_instances = { jflip-test-01 = { instance_type = "t2.micro" ami_id = "ami-04ea5b2d3c8ceccf8" ..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 모듈을 활용한 athena datacatalog 배포에 대해서 포스팅을 올립니다.CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 본 포스팅에서는 데이터 카탈로그를 만들기 위해서 공식문서의 모듈을 나눴습니다. 트리트리는 다음과 같습니다.main.tfathena_data_catalog/├── aws_athena_data_catalog.tf└── variables.tf 루트 모듈 정의 (main.tf)module "athena_data_catalog" { source = "./athena_data_catalog" name = "athena-data-catalog" description = "Example Athena data catalo..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼을 활용한 IPAM 구현에 대해서 포스팅을 올립니다.Aws workshop ‘Managing Cloud Resources with Terraform ’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 본 포스팅을 통해 Aws VPC IP Address Manager (IPAM)을 만들어보도록 하겠습니다.  순서는 다음과 같이,1. IPAM 배포2. IPAM Root Pool 배포3. IPAM Child Pool 배포4. us-east-1 리전에 VPC 배포5. us-east-2 리전에 VPC 배포대로 진행합니다. 설명Amazon VPC IP 주소 관리자(IPAM)는 AWS의 가상 프라이빗 클라우드(VPC) 환경에서 IP 주소를 효..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 redshift 배포에 대해서 포스팅을 올립니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다. 오늘 제가 포스팅할 내용은 저희 회사에서도 다루고 있는 redshift 클러스터 배포에 대해서 다룹니다.테라폼을 활용해서 redshift 스냅샷 생성, 데이터 쉐어 생성 및 권한 부여 등등 작업을 진행했던 적이 있는데요, 커뮤니티 프로바이더가 아닌 aws 공식 프로바이더를 사용해서 redshift 클러스터를 배포해 보겠습니다.샘플 코드는 다음과 같습니다.코드provider "aws" { region = "ap-northeast-2"}resource "aws_redshift_cluster" "clu..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 프로바이더와 리소스 배포에 대해서 포스팅을 올립니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다. 설명Terraform provider는 Terraform의 리소스 유형 정의를 구현하고 해당 리소스 유형에 대한 CRUD(Create, Read, Update, Delete) 작업을 구현하는 소프트웨어입니다. provider는 Terraform과 기본 인프라 간 가교 역할을 통해 Terraform이 리소스와 상호 작용할 수 있도록 하며, 프로바이더 없이는 어떠한 인프라나 서비스 역시 관리가 불가능합니다.  프로바이더에 대한 자세한 링크는 하기 링크를 참조하시기 바랍니다.https://regist..
·DevOps/Terraform
안녕하세요, 이번 포스팅은 테라폼 내장 함수에 대해서 포스팅을 올립니다.‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다.설명테라폼(Terraform)은 인프라를 코드로 관리할 수 있게 해주는 도구로, 다양한 내장 함수를 제공하여 코드에서 값의 유형을 조작하고 조합할 수 있습니다. 테라폼의 함수들은 프로그래밍 언어적 특성을 가지고 있어, 숫자, 문자열, 컬렉션, 파일 시스템 등 다양한 유형의 작업을 지원합니다. 내장 함수 외에는 사용자가 직접 정의한 함수를 지원하지 않으며, 테라폼 코드에서는 변수, 리소스 속성, 데이터 소스 속성, 출력 값 등을 효과적으로 다룰 수 있습니다. 이를 통해 코드를 동적으로 작성하고 관리할 수 있습니..
Jflip
'DevOps/Terraform' 카테고리의 글 목록