테라폼

    [Terraform] terraformer로 기존 AWS 리소스 가져오기(import)

    Intro 오늘은 terraformer를 사용하여 이미 생성되어있는 리소스를 가져와 보도록 하겠습니다. (사용한 OS는 MAC M1 입니다.) terraformer 란? 기존의 생성되어있는 인프라를 테라폼 소스로 가져오는 오픈소스 툴입니다. Waze SRE에서 만들었으며 공식적인 제품은 아니라고 합니다. terroformer는 태생이 GCP 위해 만들어졌습니다. Waze SRE 가 뭔지 궁금해서 구글링을 좀 해보니 구글의 일부라고 하는거보니 구글의 사내 오픈소스 조직 인 것 같네요. (근데 AWS에서도 사용할 수 있게 만들어줬다고? 갓 구글..) 참고 URL: https://github.com/GoogleCloudPlatform/terraformer/ terraformer로 가져올 수 있는 aws리소스 ..

    [Terraform] 테라폼으로 AWS Elasticache(redis) Cluster 모드로 생성하기

    Intro 오늘은 테라폼으로 AWS Elasticache(redis) Cluster mode로 생성 하는 방법을 알려드리도록 하겠습니다. Elasticache 생성하기 전에 알아야할 몇가지 지식과 생성하면서 겪었던 것들을 공유하면서 최종적으로 테라폼 소스 코드를 공유드리도록 하겠습니다. Elasticache(redis) cluster mode란? 우선 redis cluster가 어떻게 생겨먹었는지 알아야하는데요. 아래 그림을 보면 쉽게 이해가 될 겁니다. 단일 노드 Redis(클러스터 모드 비활성화됨) 클러스터 : 샤드 없음 다중 노드 Redis(클러스터 모드 비활성화됨) 클러스터 : 샤드가 1개 있음 Rdeis(클러스터 모드 활성화됨) 클러스터 : 샤드에서 데이터가 분할된 최대 500개의 샤드를 포함할..

    [Terraform] 모듈에 있는 자원을 outputs으로 설정하는 방법 (feat. elb module과 asg)

    Intro Terraform에서 제공하는 모듈을 사용하게 되면 해당 경로의 .terraform/modules/모듈이름 으로 생성이 됩니다. 이 모듈안에서 생성한 리소스를 root의 output으로 정의하여 외부에서 사용할 수 있게 하는 방법을 알아 보도록 하겠습니다. Layout 예시 my-workspace ├──elb │ ├──.terraform │ │ └──module │ │ │ └──elb │ │ │ ├──main.tf │ │ │ ├──outputs.tf ### 1. ELB 모듈의 ouptput │ ├──main.tf │ ├──outputs.tf ### 2. ELB 루트의 ouptput └──asg ├──data.tf ### 3. ASG 의 data ├──main.tf ### 4. ASG 의 mai..

    [Terraform] local, variable, output, data 차이

    Intro Terraform에는 다양한 변수 개념이 존재합니다. 그것이 오늘 주인공인 local, variable, output, data 입니다. 오늘은 이 4가지 개념에 대해 설명하고 그 차이점을 알아 보도록 하겠습니다. 우선 제목은 local, variable, output, data 라고 표현하였는데, 좀 더 자세히 설명드리자면 변수(Variables)에는 크게 local, input, output이 있고 data 변수라기 보다는 resource에 가깝습니다. (여기서 resource는 실제로 인프라를 구성하는 ec2와 같은 것을 의미합니다.) 각각 설명 아래 테라폼 공식 URL을 적어두었으니 더욱더 자세한 설명을 확인하고 싶으신분들은 클릭하여 확인해보시기 바랍니다. local variables ..