실전! 테라폼 적용기 [추가설명] - dynamic 블록 사용하기
·
AWS/테라폼(Terraform)
다이나믹 블록은 설정이 복잡하거나 조건에 따라 변할 수 있는 리소스 속성을 효율적으로 관리하기 위해 사용된다. 📌 서론 우리 팀은 프로젝트에서 3개의 ECS 클러스터를 사용하고 각각 1개씩 ECS서비스를 운영하고 있다. 이 중 2개는 오토 스케일링 그룹(ASG)을 사용하는 반면, 나머지 하나는 ASG를 사용하지 않고 있다. 이런 다양한 설정을 테라폼 코드로 표현하고 싶었는데, 굳이 두 가지 다른 ECS 서비스 모듈을 만들고 싶지는 않았다. 이런 상황에서 테라폼의 유연성을 최대한 활용할 방법이 무엇일까 고민하던 중, 테라폼의 'dynamic 블록'이라는 기능을 발견했다. 이 기능을 사용하면 하나의 모듈 안에서도 조건에 따라 다른 설정을 동적으로 적용할 수 있게 된다. 예를 들어, ASG를 사용하는 경우와 ..
실전! 테라폼 적용기3편 - Auto Scaling Group과 용량 공급자(Capacity provider) 작성
·
AWS/테라폼(Terraform)
이번에는 Auto Scaling Group과 Capacity Provider를 테라폼 모듈로 생성하자 📌 서론 이전 포스트에서 vpc와 subnet을 설정했고 EC2 런치 템플릿을 모듈로 생성했다. 이렇게 생성한 EC2 런치 템플릿은 ASG에 의해 사용되어 인스턴스의 생성을 관리해 주고, 용량 공급자(Capacity Provider)는 ASG와 연결되어 인스턴스의 스케일링을 관리하는 데 도움을 준다. ASG는 EC2 런치 템플릿을 바탕으로 EC2 인스턴스의 생성 및 관리를 담당하며, 용량 공급자는 이런 ASG를 활용해 ECS 환경에서의 자동 스케일링을 조절한다. 이렇게 설정된 ASG는 ECS 클러스터와 연결되어, ECS에서 실행되는 컨테이너들이 적절한 자원을 가진 인스턴스에서 실행될 수 있도록 해준다. ..
실전! 테라폼 정복기 1편 - 테라폼(Terraform) 모듈화
·
AWS/테라폼(Terraform)
이번 포스트에서는 테라폼의 가장 중요한 설계방법인 모듈화를 알아보자 📌 서론 내가 처음 테라폼 코드를 작성할 때는 module의 존재는 알았지만 도대체 이게 어떻게 사용되는 건지 모르겠어서 module을 사용하지 않고 하나의 tf 파일에 모든 리소스에 대한 코드를 전부 다 적었었다. 이렇게 하나의 tf 파일에 모든 리소스가 모이다 보니 리소스 수정을 하고싶을때 코드를 읽고 찾는 것이 너무 힘들었다. 그래서 조금이라도 가독성을 좋게 만들기 위해 여러 검색을 하던 도중 외국계 기술 블로거의 글을 보던 도중 테라폼 코드를 읽기 좋게 작성하려면 모듈화를 사용하라고 적혀있었고 이에 바로 모듈화를 적용시켜 보았다. 1. 테라폼의 모듈화란 무엇인가? 1-1. 테라폼의 모듈화란? 테라폼 모듈화(Modularizatio..
테라폼(Terraform) 사용 가이드 6: 테라폼으로 IAM 정책 생성/관리하기
·
AWS/테라폼(Terraform)
이번 포스트는 테라폼으로 IAM정책 및 리소스를 관리하는 방법이다. 📌 서론 AWS EC2 인스턴스 생성과 함께 관련된 IAM 사용자 및 S3 버킷을 만들어보는 내용이며 S3 버킷에 대한 액세스를 허용하는 IAM 정책을 생성하고, 해당 정책을 새 IAM 사용자에게 연결하는 과정을 설명하도록 하겠다. 1. IAM 정책 리소스 검토 IAM 정책 리소스 코드 분석 아래의 코드는 Terraform을 사용하여 IAM 정책을 정의한다. 이 코드는 S3 버킷에 대한 권한을 정의하고 있다. resource "aws_iam_policy" "policy" { name = "${random_pet.pet_name.id}-policy" description = "My test policy" policy =
테라폼(Terraform) 사용 가이드 4: 생성된 AWS EC2 인스턴스 파괴하기
·
AWS/테라폼(Terraform)
테라폼을 사용하여 생성한 EC2 인스턴스를 파괴하는 방법을 알아보자 📌 서론 이번 포스트에서는 terraform으로 생성했던 EC2 인스턴스를 제거해볼 예정이다. 이를 위해서는 테라폼을 통해 만든 EC2가 필요하다. 만약 생성하지 않았다면 이전 포스트를 통해 생성하고 오도록 하자. 테라폼(Terraform) 사용 가이드 3: EC2 생성하기 MacOS에서 테라폼을 사용하여 EC2 인스턴스를 생성해 보자 📌 Terraform 사용을 위한 전제조건 1. Terraform CLI (1.2.0 이상)가 설치되어 있어야 한다. 2. AWS CLI가 설치되어 있어야 한다. 3. AWS 계정 및 자격 curiousjinan.tistory.com 1. 테라폼 파괴 명령어 입력 (destroy) 테라폼의 파괴 명령어 입..