Gitlab CI/CD는 Continuous Intergration, Delivery.. 등의 파이프라인을 Gitlab과 연동해 사용하게끔 해주는 소프트웨어 툴입니다. Gitlab과 GItlab CI/CD의 연동을 통해서 GItlab repository에 저장된 코드를 바탕으로 다양한 Continuous 방법론을 사용할 수 있습니다. Terraform은 기존에 GUI, 혹은 명령어로 생성해야 했던 클라우드 리소스를 코드로써 관리할 수 있게끔 해주는 툴입니다. 두 소프트웨어를 연동함으로써 Gitlab repository에 저장된 테라폼 코드를 수정 -> Commit -> Push 하는 것만으로 리소스가 실제로 배치될 수 있도록 할 수 있습니다. 이번 포스팅에서는 VS code에서 Terrafom을 GItl..
Terraform으로 GCP Infrastructure를 운영하는 방법에 대한 두 번째 Topic입니다. 이전 글에서 Terraform으로 어떻게 IaaC(Infrastructure as a Code)방식의 접근으로 DevOps 환경을 구성할 수 있었는지 알아보았습니다. 이번 포스트에서는 GCP official document인 "Google Cloud에서 Terraform 사용" 을 바탕으로 GCP와 Terraform을 어떻게 더 효율적으로 운용할 수 있는지 알아보겠습니다. Reverse Terraforming Tool "Terraformer" 제가 GCP에서 Terraform을 사용하면서 가장 먼저 느낀 불편점은 "기존의 Infrastructure들을 Terraform config으로 가져오기 힘들었..
저번 글에 이어서 계속 Terraform으로 리소스 변경 Terraformer를 통해 GCP의 인프라를 코드로 가져왔다. 이제 IaaC(Infrastructure as a Code)의 존재 이유인 코드로 인프라 관리가 어떻게 이루어지는지 알아보자. 1. 코드로 리소스 관리 코드로 리소스를 추가하기 전에 전 글에서 Terraform은 .tf파일(Configuration)과 .tfstate파일(State)의 비교를 통해 인프라 관리를 구현한다고 했던 것을 기억하자. 리소스를 코드로 추가하는 방법 또한 이 방법을 이용하면 간단하게 이용할 수 있다. 리소스의 Configuration을 담당하는 .tf파일을 수정하면 그 내용이 곧 인프라에 반영될 내용이기 때문에, 추가 작업은 .tf파일에 원하는 리소스를 코드로 ..
Terraform의 발견 기존에 클라우드 상에서 인프라 리소스를 관리하는 방법은 상당히 제한적이었다. 대부분의 클라우드 벤더에서 내가 어떤 리소스를 보유하고 있고 어떻게 인프라가 구성되어 있는지 한 눈에 관리하기 쉽게 보여주는 서비스가 존재하지 않았다. 그래서 등장하게 된 것이 Infrastructure as a Code, Iaac이다. Terraform은 현존하는 대부분 클라우드 서비스의 IaaC를 가능하게 해주는 오픈소스 툴이다. Terraform의 기능을 통해 우리는 존재하는 클라우드 리소스를 코드로 관리해 쉽고 빠른 리소스 변경과 배포가 가능하게 되었다. 본 글에서는 Google Cloud Platform과 Terraform으로 클라우드 인프라를 어떻게 관리할 수 있는지 본인이 시도하고 삽질했던 ..