IT/Terraform

    [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] 테라폼으로 IAM Role생성하여 EC2에 할당하기 (feat. instance profile)

    Intro 테라폼으로 IAM Role을 생성하여 EC2에 할당 할때는 AWS Console에서 작업하는 것과는 다르게 Instance Profile 생성 단계가 필요합니다. 이 Instance Profile이 무엇이고 어떻게 할당 하는지 예제를 통해 알아보도록 하겠습니다. AWS Console 에서 IAM Role생성 AWS콘솔에서 IAM Role을 생성하면 아래 그림과 같이 자동으로 instance profile이 생성됩니다. 오늘의 주인공이 바로 instance profile 입니다. 그림1. Instance Profile 이란? AWS에서는 instance profile을 아래와 같이 정의 하는데요. 간단히 설명하면 “IAM Role을 EC2인스턴스에 할당하기 위해 필요한 자원” 이다 라고 보면 됩..