Iac
-
Terraform | EKS 만들어 보기Iac 2022. 1. 28. 16:58
테라폼을 이용하여 EKS를 생성하는 방법을 정리해 보려고 합니다. EKS를 구성하고 있는 각각의 테라폼 리소스를 이용하여 만들 수 도 있지만 테라폼에서 제공하는 EKS모듈을 이용하면 보다 쉽게 만들 수 있습니다. Terraform EKS Module github의 example에 들어가 보시면 example이 존재합니다. Terrarom EKS Module Example 예시로는 테라폼에서 제공하는 노드 그룹을 전부 이용하는 예제가 제공되고 있습니다. 간단하게 실습용으로 만들 것이기 때문에 제공하는 example보다는 간소화해서 만들어보도록 하겠습니다. 만들기 전에 기본적인 설정들을 정리하도록 하겠습니다. EKS를 만들기 위해서 추가적으로 awscli2, kubectl, helm(CA(cluster-au..
-
Terraform | Terraform StateIac 2022. 1. 23. 21:38
테라폼은 인프라가 변경될 때마다 형상을 tfstate파일에 기록함으로써 현재 생성되어 있는 인프라 형상을 관리합니다. 따라서 테라폼으로 인프라를 생성하면 현재 디렉터리에 terraform.tfstate라는 파일이 생성되는 것을 확인할 수 있습니다. terraform backend 로컬에서 state파일을 사용할 경우 다른 개발자와 tfstate파일을 공유하기에는 번거로움이 있습니다. 이러한 문제를 해결하고자 테라폼에서는 backend라는 기능을 제공합니다. terraform backend라는 것은 생성되는 tfstate파일을 AWS의 S3, kubernetes 등 따로 저장되도록 하여 여러 사용자들에게 공유할 수 있도록 하는 것입니다. AWS를 사용하고 있기 때문에 terraform backend로 S3..
-
Terraform | Terraform 버전관리Iac 2022. 1. 21. 22:19
Terraform을 사용하면서 여러 Terraform버전을 사용해야 할 때가 있습니다. 그럴 때마다 각각의 버전을 다운로드하는 것은 비효율적이고 귀찮습니다. 따라서 tfenv를 이용하여 Terraform버전을 관리하는 내용을 정리하려고 합니다. tfenv tfenv를 이용하면 여러 가지의 테라폼 버전을 다운로드할 수 있고 원하는 버전을 선택하여 사용할 수 있습니다. 그리고 생각보다 간편합니다. 설치 방법 설치방법은 tfenv에서 확인할 수 있습니다. Mac인 경우 brew install tfenv Linux인 경우 git clone ~/.tfenv echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile ln -s ~/.tfenv/bin/* /usr..
-
Terraform | Terraform 이란Iac 2022. 1. 20. 21:57
테라폼은 Hashicorp에서 만든 Iac(Infrastructure as Code) 도구입니다. 간단하게 설명하자면 AWS상에서 콘솔에 접속하여 클릭으로 생성하던 클라우드 인프라를 코드로 작성하고, 작성된 코드에 맞게 클라우드 인프라를 생성해주는 기능을 합니다. 여기서 말하는 코드는 HashiCorp에서 개발한 언어인 HCL을 사용하게 됩니다. Terraform 설치 간단하게 Terraform을 사용해보기 위해서는 2가지(Terraform, aws계정)가 필요합니다. 테라폼 설치는 다음을 통해서 할 수 있습니다. 테라폼 설치 Terraform 명령어 간단한 예제를 실행해보기 전에 Terraform의 몇 가지 개념들에 대해서 정리하고 넘어가도록 하겠습니다. Terraform은 크게 init plan ap..