Terraform에서 AWS Provider를 통해서 인프라를 구성이 가능하다.
VPC, Instance, SQS등등 각족 AWS에서 제공하는 리소스들에 대해서 코드로 작성하여 인프라를 구성할수 있다.
자세한 가이드는 해당링크를 참조해서 Example을 확인하여 원하는 리소스를 찾아서 코드를 작성하면 된다.
https://registry.terraform.io/
하지만 이 구성을 내가 원하는대로 Terraform Code로 작성하기 위해서는 인프라의 구성에 대한 그림이 머리속에 있거나 아키텍처의 그림을 그려놓지 않으면 제대로 인프라가 구성되지 않을 것이다. 조금 경험을 해보고 느낀점은 그냥 무작정 코드를 작성하는 것 보다는 어떤 서비스를 구상할떄 어떠한 인프라를 구성할지에 대한 내용을 먼저 그림으로 그려보고 진행하는것이 좋을것 같다.
https://tf-eks-workshop.workshop.aws/010_introduction.html
이 workshop을 한번 진행해보고 좀더 Terraform에 대한 이해도를 높혀서 서비스에 구성하는것을 추천하고 싶다. 요즘 서비스가 대체적으로 VPC내부에 EKS Cluster(또는 Kubernates)를 사용하여 서비스를 운영하고 있기 때문에 전체적인 인프라의 구성과 각각 연결되는 Network의 구성등에 대해서 그림을 그려보고 원하는 인프라를 Terraform으로 코드를 작성하는것이 좋을것 같다.
AWS에 대해서 전체적으로 잘 알고있다면 바로 작업을 진행해도 좋을것 같지만 Terraform에서 제공되는 Resouce의 세부 속성 하나하나에 따라서 인프라의 설정이 변화가 커지고 연관관계에 있는 Resource들이 문제가 없을지 꼼꼼히 확인하고 진행해야 할것으로 보인다.
AWS의 구성을 잘모른다면 AWS Console에서 관련서비스에 대한 구성을 수동으로 직접 만들어보고 각각의 속성을 기록해두었다가 이를 Terraform Code로 옮기는 방법도 있다.
중요한건 Terraform으로 Code를 작성하고 Terraform plan명령으로 문제가 없더라고 Terraform Apply명령에서 문제가 발생할수도 있으니 상세하게 잘확인하고 작업을 진행하는것이 좋아보인다. 또한 Apply시에 일부 인프라가 적용후에 오류가 나도 인프라 리소스가 남아있는 현상이 있기 때문에 잘 확인하고 작업하는것이 좋을것 같다.
'Dev > Infra & Module' 카테고리의 다른 글
CI/CD란? (0) | 2022.12.27 |
---|---|
Terraform Plugin 설치 환경구성 (0) | 2022.09.15 |
Terraform 이란 (0) | 2022.09.15 |
Jmeter 사용법 (Mac) (0) | 2022.08.25 |
Redis Client 접속 및 간단 명령어 (0) | 2022.08.22 |
댓글