반응형

IaC/Infrastructure Provisioning 10

2. Pulumi 활용

Overview 이전 시간에는 Pulumi 에 대해 개념적으로 살펴보았다. 이번에는 Pulumi를 활용하여 실제로 GCP 환경에서 인프라를 배포하고 관리하는 방법 을 실습해볼 예정이다.   2023.09.13 - [IaC/Infrastructure Provisioning] - 1. Pulumi란?     이번 학습에서는 아래의 내용을 다룬다. Pulumi State 관리Pulumi 리소스 파일 분실 시 State 삭제 방법Pulumi를 활용한 GCP VPC 및 GCE 배포GitHub에서 Pulumi 소스를 가져와 사용하는 방법  모든 실습은 Google Cloud Platform (GCP) 을 활용하여 진행하며, 언어는 Python 을 사용한다.   📅 관련 글2023.09.13 - [IaC/Infra..

1. Pulumi란?

Overview이번 글에서는 Pulumi를 사용하여 GCP 인프라를 코드로 관리하는 방법을 소개한다.Pulumi는 기존의 Terraform과 같은 IaC(Infrastructure as Code) 도구와 유사하지만, Python, TypeScript, Go, C# 등 익숙한 프로그래밍 언어를 활용해 인프라를 선언적으로 정의할 수 있다는 점에서 개발자 친화적인 도구로 주목받고 있다. 특히 이번 실습에서는 WSL2(Ubuntu 20.04) 환경에서 Python 기반 Pulumi 프로젝트를 구성하고, GCP에 GCS 버킷을 자동으로 생성하고 정적 웹사이트 호스팅 설정까지 해보는 과정을 다뤘다.  이 글에서 다룬 핵심 흐름은 다음과 같다.Pulumi의 개념과 Terraform과의 차이점Python 및 pyenv..

Terraformer란?

Overview오늘은 Terraformer 에 대해 공부해보려고 한다.Terraformer는 기존에 구축된 인프라를 Terraform 코드로 변환 해주는 오픈소스 툴이다.이를 활용하면 기존 인프라를 Terraform 코드 기반으로 관리하고 유지보수 할 수 있다.  Terraformer는 Google Cloud에서 개발된 비공식 도구 이며,AWS, GCP, Kubernetes 등 다양한 클라우드 환경에서 인프라를 가져올 수 있다.       Terraformer란?기존의 생성되어있는 인프라를 테라폼 소스로 가져오는 오픈소스 툴이다. 그리고 Terraformer는 GCP를 위해 만들어진 툴이다. Waze SRE에서 만들었으며 공식적인 제품은 아니다. Terraformer 가지고 있는 AWS 리소스는 아래 링..

5. Terraform의 다양한 Expression

Overview오늘은 Terraform에서 사용되는 다양한 Expressions(표현식) 에 대해 알아본다.Terraform의 표현식은 구성 파일 내에서 값들을 변형하고 조건을 적용하는 데 사용되며,이를 통해 보다 동적이고 유연한 인프라 구성 이 가능하다.  이번 글에서는 Terraform의 주요 표현식인 Types and Values, Conditional Expressions, for Expressions, Dynamic Blocks 를 다룬다. 이를 활용하여 리스트와 맵을 조작하고 조건문을 적용하며, 동적인 리소스 구성을 생성하는 방법 을 학습할 것이다.    📅 관련 글2023.03.30 - [IaC/Infrastructure Provisioning] - 1. Terraform 기초 : 설치 및..

4. Terraform의 다양한 Function(함수)

Overview 오늘은 Terraform에서 활용할 수 있는 다양한 함수(Function)에 대해 공부해보려고 한다.Terraform 함수는 인프라 코드 내에서 값을 변형하거나 조작하는 데 사용되며, 코드의 유연성과 효율성을 높여준다.  Terraform에서 제공하는 함수 유형에는 다음과 같은 것들이 있다.Numeric Functions (숫자 관련 함수)String Functions (문자열 관련 함수)Collection Functions (컬렉션 관련 함수)Encoding Functions (인코딩 관련 함수)Filesystem Functions (파일 시스템 관련 함수)Date and Time Functions (날짜 및 시간 관련 함수)Hash and Crypto Functions (해시 및 암호..

3. Terraform 다양한 변수(variable, local, data...output, input) - AWS

Overview 오늘은 Terraform의 다양한 변수 유형에 대해 공부해보려고 한다.Terraform에서 변수는 인프라를 동적으로 정의하고, 재사용성을 높이며, 유지보수를 용이하게 하는 핵심 요소이다.이를 통해 코드를 보다 유연하게 작성할 수 있으며, 환경별로 인프라 설정을 분리할 수도 있다.  Terraform에서 사용되는 주요 변수 유형인 variable, local, data에 대해 정리하고, 각 변수의 사용 방법과 예제를 함께 살펴보도록 하겠다.       📅 관련 글2023.03.30 - [IaC/Infrastructure Provisioning] - 1. Terraform 기초 : 설치 및 .tf 파일 설명2023.03.31 - [IaC/Infrastructure Provisioning] ..

2. Terraform 변수 사용법(use-variable) - AWS

OverviewTerraform은 인프라를 코드로 관리할 수 있게 해주는 강력한 도구이며, 변수(variable)를 잘 활용하면 코드의 재사용성, 유연성, 가독성을 대폭 향상시킬 수 있다.이번 글에서는 Terraform에서 변수의 정의와 적용 방식, .tfvars를 통한 값 지정 방법, 그리고 우선순위 및 실제 EC2 예제를 통해 변수 기반 인프라 관리 방법을 실습해보았다. Terraform의 주요 명령어인 `init, plan, apply, state list, destroy` 명령어의 실행 흐름과 함께Terraform이 어떻게 변수와 상태를 활용하여 인프라를 생성하고 추적하는지도 함께 다루었다.        📅 관련 글2023.03.30 - [IaC/Infrastructure Provisioning..

1. Terraform 기초 : 설치 및 .tf 파일 설명

OverviewTerraform은 HashiCorp에서 개발한 오픈 소스 코드형 인프라(IaC) 도구로, 클라우드 및 온프레미스 인프라를 선언적 구성 파일을 통해 정의, 프로비저닝 및 관리할 수 있도록 한다.  이 문서에서는 Terraform의 설치 방법, 주요 개념, 기본 파일 역할, 주요 명령어에 대해 다룬다.   📅 관련 글2023.03.30 - [IaC/Infrastructure Provisioning] - 1. Terraform 기초 : 설치 및 .tf 파일 설명2023.03.31 - [IaC/Infrastructure Provisioning] - 2. Terraform 변수 사용법(use-variable) - AWS2023.04.03 - [IaC/Infrastructure Provisioni..

Packer란?

Overview오늘은 HashiCorp Packer에 대해 학습하고, 이를 활용하여 Vagrant에서 사용할 이미지(Box)를 직접 생성하는 방법을 다룬다.Packer는 단일 소스 템플릿에서 여러 플랫폼에 대해 동일한 머신 이미지를 생성할 수 있는 오픈소스 도구로, 클라우드 환경에서 반복적으로 사용할 Golden Image를 만들기 위해 활용된다. 이전 게시글에서 Vagrant 환경을 구축하는 방법을 다루었다면, 이번에는 Packer를 이용해 Vagrant Box를 빌드하는 과정까지 살펴볼 것이다.    📅 관련 글2022.08.25 - [Understand different OS Concepts/Virtualization] - Vagrant란?https://github.com/somaz94/vagan..

Vagrant란?

Overview오늘은 Vagrant에 대해 알아본다.Vagrant는 로컬 개발 환경을 빠르게 구축하고 자동화할 수 있도록 도와주는 도구로, 특히 KVM, VirtualBox, Docker 등 다양한 가상화 백엔드를 지원한다.이번 글에서는 KVM 기반 환경에서 Vagrant를 사용하는 방법을 소개하며,KVM 설정부터 Vagrant 설치, Vagrantfile 구성, VM 생성 및 관리까지 실습을 중심으로 정리했다. 프로젝트 단위로 통합된 가상 머신 구성을 통해 테스트 환경을 일관되게 유지할 수 있으며,향후 Ansible, Terraform 등과 연계하여 DevOps 인프라 자동화에도 유용하게 활용할 수 있다.  참고https://github.com/somaz94/vagant-packer           ..

반응형