전체 글 1370

[Terraform] AWS EC2 생성

개요2025.11.03-[Terraform] Modules까지 테라폼 구성 파일에 대한 요소를 살펴보았는데, 이번 글에서는 실제로 테라폼을 사용해 인프라를 생성하고 관리하고 삭제하는 일련의 과정을 살펴보고자 한다.인프라 생성은 실제 클라우드 환경이 아닌 AWS 에뮬레이션 환경인 LocalStack을 활용한다. 테라폼 작업 공간 및 파일 작성작업 공간 생성먼저 테라폼 작업 공간이 될 디렉터리를 하나 만들어준다.mkdir learn-terraform-get-started-awscd learn-terraform-get-started-aws 테라폼 구성 파일 작성작업 공간에 terraform 블록을 포함하는 terraform.tf를 작성한다. AWS EC2를 생성해 볼 예정이기 때문에 https://regi..

Terraform 2025.11.07

[Terraform] Modules

개요2025.10.31-[Terraform] 변수와 Output에서 Terraform 코드를 보다 동적으로 구성할 수 있게 하는 변수와 Output을 살펴보았다. 이번 글에서도 비슷한 목적을 위한 module 개념을 적어둔다. ModulesTerraform에서의 Modules란 재사용할 수 있는 구성 세트를 뜻하는데, 여러 리소스와 데이터 소스를 포함한 인프라 배포를 일관성 있게 관리할 수 있게 한다. 다른 프로그래밍과 마찬가지로 재사용성을 위한 개념이다. Provider와 동일하게 테라폼 레지스트리에서 제공하고 있으므로 제공되는 모듈을 사용할 수 있고, 자체적인 모듈을 생성해 공유할 수도 있다. 아래 예시는 두 개의 퍼블릭 서브넷과 두 개의 프라이빗 서브넷을 포함하는 VPC를 정의한다.module "..

Terraform 2025.11.06

[Terraform] 변수와 Output

개요2025.10.30-[Terraform] 구성 파일에서 Terraform의 주요 구성 파일과 요소를 살펴봤다. 이번 글에서는 Terraform 코드를 보다 동적으로 구성할 수 있게 하는 변수와 Output에 대해 적어둔다. 변수변수는 환경 변수, 명령줄 변수, 디스크 내 파일 등 다양한 방법으로 설정할 수 있는데, 선언은 아래와 같이 variable 블록을 사용하여 할 수 있다. 변수를 선언할 때 변수의 기본값을 설정할 수 있고, terraform를 적용할 때 변수가 지정되지 않으면 기본값을 사용한다.variable "instance_name" { description = "Value of the EC2 instance's Name tag." type = string default..

Terraform 2025.11.05

[Terraform] 구성 파일

개요2025.10.29-Terraform 이란? 에서 테라폼에 대해서 간단히 알아보고 설치까지 해보았다. 그리고 이후에는 실제로 테라폼을 작성하고 적용해 볼 단계이다. 이번 글에서는 테라폼 파일을 구성하는 요소에 대해 알아본다. terraform 블록Terraform 워크스페이스에는 워크스페이스를 구성하는 요소를 정의하는 terraform 블록이 필요하다. terraform 블록은 인프라를 프로비저닝 하는 데 사용할 테라폼 버전과 provider를 포함한다.terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.92" } } required_version = ">= 1.2"} ..

Terraform 2025.11.04

Terraform 이란?

개요최근 업무 환경의 인프라에 대해서 듣는 시간이 있었는데, 테라폼으로 인프라 환경을 관리하고 있었다. 앞으로 테라폼을 통해 인프라 관리할 일이 생길 예정으로 보여 학습을 해두려고 한다. Terraform클라우드 및 온프레미스 리소스를 안전하고 효율적으로 빌드, 변경, 버전 관리할 수 있는 코드 기반 인프라 도구클라우드 및 온프레미스 리소스를 사람이 읽을 수 있는 구성 파일로 정의하여 버전 관리, 재사용 및 공유할 수 있는 코드형 인프라 도구일관된 워크플로우를 사용해 인프라 수명 주기 전반에 걸쳐 인프라를 프로비저닝하고 관리할 수 있다. 동작 원리Terraform은 API를 통해 클라우드 플랫폼, 기타 서비스 리소스를 생성하고 관리한다. 워크플로우작성 : 클라우드 제공업체 및 서비스에 걸쳐 있는 리..

Terraform 2025.11.03

[LocalStack] AWS - 사용 설정

개요2025.10.27-[LocalStack] 소개 및 설치에서 AWS 환경을 에뮬레이션 하는 Localstack이라는 서비스를 설치해 봤는데, 사용 방법은 무척 간단하게 정리했다.이번 글에서는 LocalStack 환경에 AWS 인프라 작업을 테스트할 때 보다 편리하게 수행하는 방법을 적어둔다. AWS CLI - Profile 구성LocalStack 환경에 AWS 테스트를 할 때는 AWS CLI를 사용할 수 있다.이전 글에서 AWS CLI 요청을 LocalStack으로 보낼 수 있도록 AWS CLI 옵션으로 --endpoint-url 지정이 필요하다고 정리했다. 하지만 모든 명령어에 --endpoint-url을 설정하는 건 번거로울 수 있다. 이럴 때는 사용자 Profile을 구성하여 번거로움을 줄일..

기타 2025.10.31

[LocalStack] 소개 및 설치

개요업무에서 Terraform을 다루게 되어 학습이 필요한데, 아무래도 Terraform은 기본적으로 실제 인프라를 다루다 보니 비용이 발생하는 지점에서 테스트를 하기가 저어 되는 부분이 있다. 그래서 적절한 방법이 없을까 고민하던 중 로컬 환경에서 클라우드 서비스를 에뮬레이션 할 수 있는 LocalStack이라는 서비스를 알게 되었다.설치 방법 정도만 후다닥 적어둔다. 참고로 WSL Ubuntu에 설치할 것이다. LocalStackLocalStack은 노트북 등의 환경에서 단일 컨테이너로 실행되는 클라우드 서비스 에뮬레이터이다. 클라우드 제공업체에 연결하지 않고도 AWS 애플리케이션이나 Lambda 함수를 로컬 환경에서 실행할 수 있다.때문에 Terraform을 테스트하거나 AWS 서비스를 처음 학습..

기타 2025.10.30

[Python] textwrap.dedent - 문자열에서 같은 공백 제거

개요개발을 하다보면 어느 부분에서 로그를 출력할지 고민하게 되는데, 간혹 실제로 실행되는 SQL 실행문을 로깅하고 싶을 때가 있다. 다만 아무래도 SQL은 개행이 포함되어 있어야 가독성이 좋다보니 로깅을 하면 들여쓰기가 영 안 맞게 되는 문제가 있다. 때문에 이번 글에서는 각 행의 왼편에 같은 길이로 공백이 포함된 문자열의 공백을 제거하는 방법을 적어둔다. textwraptextwrap은 문자열을 다루는데 편리한 함수를 제공한다. 텍스트를 래핑하거나 채우는 경우인데, 만약 이보다 복잡한 작업이 필요한 경우에는 TextWrapper를 사용하는 것이 적절한다.textwrap은 텍스트를 채우거나 축약하거나, 공백을 제거하는 등의 작업을 위한 함수를 제공하고 있다. textwrap.dedenttextwrap..

Python 2025.10.29

[PostgreSQL] array 데이터 타입 다루기

개요프로그래밍을 하다 보면 당연히 배열 데이터를 많이 다루게 되는데, 간혹 배열 형식 데이터 자체를 데이터베이스에 저장할 필요가 있기도 하다. MySQL을 사용할 때는 문자열 형식으로 저장한 뒤 애플리케이션 영역에서 처리하는 방식으로 사용했는데, PostgreSQL의 경우에는 배열 형식의 데이터 타입이 존재하고 있었다.이번 글에서는 PostgreSQL에서 배열 형식의 데이터를 다뤄보도록 한다. 선언배열 타입은 데이터 타입 옆에 대괄호를 붙이거나 ARRAY 키워드를 사용해 선언한다.CREATE TABLE sal_emp ( name text, pay_by_quarter integer ARRAY, schedule text[][]);예시 쿼리의 경우에는 1차..

Database 2025.10.28

[PostgreSQL] :: - 형변환

개요일반적으로 데이터베이스에서 데이터 형을 변환할 때 CAST(value AS type)을 사용하는데, 최근 쿼리를 보니 PostgreSQL에서 제공하는 형변환 방법이 별도로 있는 것 같다.적어둔다. ::PostgreSQL은 :: 연산자를 사용해 간결하게 데이터 형변환을 수행할 수 있다.SELECT value::type# 예시SELECT CAST('2025-10-11 09:00:00' AS date) , '2025-10-11 09:00:00'::date;보면 CAST 결과와 :: 연산자의 결과가 동일한 모습을 확인할 수 있다. 참고 문서https://brownbears.tistory.com/309

Database 2025.10.27