본문 바로가기

IaC12

[IaC] Terraform import 개념 및 사용방법 안녕하세요, Cloudraw입니다!  이번 글에서는 테라폼 코드 작성 중, Azure, AWS와 같은 CSP 홈페이지에서 직접 배포한 리소스들을 불러와서 state로 관리할 수 있는 "terraform import"에 대해 알아보겠습니다.  terraform import란?  먼저 테라폼 공식 문서를 확인해보면, terraform import 명령어로 이미 존재하는 인프라 리소스를 terraform.tfstate 파일로 가져올 수 있다고 명시되어 있습니다. 즉, 명령어를 통해 리소스를 state 형태로 불러와 tfstate 파일을 생성하는 것입니다.   해당 명령어를 사용하기에 앞서, 선행 작업이 필요합니다. 가장 먼저, csp에 해당하는 인증정보 구성완료입니다. terraform import 명령어는 .. 2024. 6. 3.
[IaC] Terraform 작성 및 배포(2) - for_each, flatten, local values 안녕하세요, Cloudraw입니다!  이번 글에서는 테라폼 코드 작성 중 유용하게 사용할 수 있는 for_each, flatten, local values와 관련된 내용에 대해 알아보겠습니다. 이전 테라폼 글과 마찬가지로 ncloud에서 제공하는 리소스들의 테라폼 코드 중 일부를 같이 소개하며 설명하겠습니다.  for_each 이전 테라폼 글에서는 resource block 내부에 배포될 값을 직접 입력하는 방식으로 테라폼 코드를 작성했습니다. 이 방식은 직관적이고 테라폼 파일을 굳이 나누지 않는다는 이점이 있지만, 동일한 리소스를 여러번 배포하는 경우, 그 수에 맞게 resource block을 작성해야한다는 단점이 있습니다. 이에 관련하여, 동일한 리소스를 여러 번 배포할 때, 테라폼 공식 홈페이지에.. 2024. 3. 5.
[IaC] Terraform 작성 및 배포(1) - provider block, resource block, dynamic block, data block, depends_on 안녕하세요, Cloudraw입니다! 이번 글에서는 테라폼을 구성하는 block(terraform, provider, resource, data, dynamic)들과 depends_on에 대해 알아보겠습니다. 위 개념들의 이해를 돕기 위해 네이버 클라우드에서 제공하는 테라폼 리소스(NaverCloudPlatform Terraform Registry)를 예시로 작성하였습니다.  terraform & provider block 먼저 terrafom 코드를 작성할 때, 가장 선행되어야 할 작업은 provider 지정입니다. 일반적으로 provider는 terraform이 리소스를 생성하고 관리하는데 사용하는 plugin으로 쉽게 설명할 수 있으며, 어떤 인프라에 반영할지 정하는 부분이라고 생각하면 됩니다.   .. 2024. 3. 4.
[IaC] Terraform 개념 및 작성방법 안녕하세요, Cloudraw입니다! 이번 글에서는 테라폼의 개념과 작성 방법에 대해 알아보겠습니다.  테라폼(Terraform)이란? 테라폼은 HashiCorp에서 만든 오픈소스 IaC소프트웨어 툴 중 하나로, IaC종류에는 Ansible, Chef, Terraform 등이 있습니다. 여기서 IaC란 Infrastructure as Code의 줄임말로, 프로그래밍 코드로 인프라를 구축, 운영한다는 의미를 담고 있습니다. IaC 중에서도 테라폼은 특정 클라우드 환경에 인프라를 배포하는 것에 초점을 두고 있으며, HCL(HashiCorp Language)를 사용해 코드를 작성할 수 있습니다. 테라폼 사용의 장점으로는 크게 2개를 생각할 수 있습니다. 첫 번째 장점은 코드로 인프라를 구축하기 때문에 환경 변경.. 2024. 2. 8.