24년 11월 이전/Terraform
-
Terraform으로 AWS VPC 관리하기24년 11월 이전/Terraform 2021. 4. 3. 15:38
AWS VPC이란 무엇인가? Amazon Virtual Private Cloud(이하 Amazon VPC 혹은 VPC)는 AWS 사용자가 정의한 "가상 네트워크"로써 cidr 블록 방식으로 IP 대역을 설정한다. VPC의 대표적인 구성 요소는 다음과 같다. Subnet subnet은 vpc 대역 안의 IP 주소 범위를 cidr 블록 방식으로 지정한다. 보통은 하나의 availability zone을 외부에서 통신할 수 있는 public subnet과 외부에서 통신이 불가능한 private subnet으로 나눈다. 또한 HA 구성을 위해 vpc 내부에 public-pirvate subnet 구조가 두 쌍이 되도록 만든다. Internet Gateway(IGW) vpc 내부의 public subnet 상의 ..
-
테라폼으로 AWS IAM 관리하기 - 역할, 정책 (AWS 편)24년 11월 이전/Terraform 2021. 3. 16. 23:02
AWS IAM이란 무엇인가? AWS IAM이란, AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 이용하여, 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어한다. 그냥 쉽게 AWS 리소스를 제어할 수 있는 유저, 그룹, 역할, 정책 등을 관리하는 것이라고 생각하면 된다. 이에 대한 자세한 내용은 다음을 참고하라. AWS 공식 문서 - IAM이란 무엇인가요 우리가 이번에 구성할 것은? 우리가 이번에 구성할 인프라는 바로, IAM_ROLE, IAM_POLICY, IAM_INSTNCE_PROFILE이다. Cortex 클러스터를 AWS에서 동적으로 구성하기 위해서는, AWS AutoScaling 기능이 필요하다. 이 때 IAM, S3, DynamoDB, AutoScaling ..
-
테라폼으로 해시 링 구성하기 (로컬 편)24년 11월 이전/Terraform 2021. 3. 8. 22:20
이번 장은 사실 지난 장에 복습이다. 먼저 문서에 도움 없이 진행해보라. 그리고 막히는 부분이 있으면, 그 때 문서를 참고해보라. Terraform이 익숙해지는데 도움이 될 것이다. 무엇을 구성할 것인가 우리는 이번 장에서 무엇을 구성할 것인가. 다음 그림을 살펴보자. 그림에서 살펴보면 Consul이란 것이 맨 중앙에서 Distributor, Ingester, Querier, Ruler를 연결하고 있다. 그 외에도 AlertManager, QueryFrontend 가 있는데 이들이 바로 Cortex이다. 즉 저 컴포넌트들이 모여서 우리가 만들 Cortex 클러스터를 구성하는 것이다. 클러스터 내에서 구성된 Cortex들은 서로 돌아가며 데이터를 처리하기 위해서 같은 클러스터에 묶인 Cortex들을 알아야..
-
04장. Terraform으로 AWS 관리하기 (01) AWS 준비하기24년 11월 이전/Terraform 2021. 3. 5. 21:56
이번 장은 추후 진행될 실습을 위해서 Terraform으로 AWS 리소스들을 관리하기 위한 준비 작업을 진행한다. 이를 위해서 AWS CLI를 설치하고 AWS의 모든 리소스의 접근을 할 수 있도록 해당 권한을 가진 AWS IAM User을 만들고 연동 작업을 진행 한다. 미리 준비해야 할 것 이번 장을 진행하기 위해서는 1가지 미리 준비해야 할 것이 있다. 바로 AWS에 가입하는 것이다. 아쉽게도 이 문서에서는 다루지 않는다. 대신, 필자가 회원 가입할 때, 자주 봤던 페이지를 소개하고자 한다. 직장인 탁탁이님의 AWS 계정만들기 방법 AWS CLI 설치 먼저 AWS CLI를 설치한다. Mac OS과, Windows는 아래 링크로 이동해서 설치 파일을 다운 후 설치를 진행하면 된다. MacOS https..
-
03장. Terraform 실습 방향24년 11월 이전/Terraform 2021. 3. 2. 23:02
Terraform을 어떻게 배워야 하는가 개인적으로 어떤 기술을 공부할 때 제일 좋은 방법은 그 기술을 이용해서 한 번 무엇인가를 만들어보는 것이다. 근데 또 문제가 생긴다. 무엇을 만들 것인가? 자신이 만들 인프라 구조가 있다면, 이 책을 참고해서 만들면 된다. 하지만 없는 사람도 있을 것이다. 그렇다면 내가 만들고 싶은 인프라 구조를, Terraform으로 구축해보고 관리하면서 배워보도록 하자. 이제부터 우리가 이 책을 통해서 만들어볼 구조는 Cortex라는 오프소스가 원하는 인프라 구조를 만들어 볼 예정이다. 잡담을 하자면, 현재 나는 이커머스 회사에서 SRE 엔지니어로 일하고 있다. 우리 팀은 사내 개발팀이 개발한 서비스들에 대한 모니터링 시스템을 구축 및 운영하는 업무를 맡고 있다. 현재 팀에서..
-
02장. Terraform 튜토리얼24년 11월 이전/Terraform 2021. 2. 21. 22:56
이번 장에서는 Terraform으로 Docker 기반의 인프라스트럭처를 구성한다. 먼저 이전 장에서 Terraform을 설치를 진행했다고 가정하고 진행할 것이며, Docker를 설치한 후, Terraform으로 다음 인프라스트럭처를 구성한다. 참고로 이 장에서 쓰이는 전체 코드는 다음 경로에 존재한다. 2장 코드 : https://github.com/gurumee92/gurumee-terraform-code/tree/master/part1/ch02 자 이제 시작해보자. Docker 설치하기 이 장의 실습을 진행하기 위해서는 Docker가 설치되어 있어야 한다. 여기서는 Mac OS와 AWS Linux 상에서 Docker를 설치하는 방법을 알아본다. Mac OS에서 Docker 설치 먼저 Mac OS의 경..
-
01장. Terraform과 설치24년 11월 이전/Terraform 2021. 2. 17. 22:28
Terraform이란 무엇인가 Terraform은 하시코프에서 만든 IaC 도구, 특히 인프라 선언 도구이다. Terraform은 안전하고 반복적으로 작업하더라도 인프라스트럭처를 구축, 변경할 수 있게 도와준다. 간혹 Ansible이나 Puppet과 같이 비교가 되곤 하는데, 엄밀히 말해서 Ansible과 Puppet은 설정 관리 도구로써 Terraform과는 다른 성격의 도구임을 분명히 알아두는 것이 좋다. IaC와 Terraform IaC란, Infrastructure As Code의 약자로써, 코드로 인프라를 관리하는 것을 말한다. 여기서 IaC가 관리하는 것은, 인프라를 이루는 서버, 미들웨어, 서비스 등 인프라를 구성하는 모든 요소들이 그 대상이다. 또한 IaC 도구는 크게 다음으로 분류된다. ..