본문 바로가기

DevOps

(102)
[T102 4주차] (11) 테라폼 상태 관리 및 격리 방안 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 4주차 정리입니다. 4주차 내용: 테라폼 상태 및 격리 방안 1. 테라폼 State란? 상태 파일은 배포할 때마다 변경되는 프라이빗 API 로, 오직 테라폼 내부에서 사용하기 위한 것입니다. 상태 파일은 직접 편집하거나 직접 읽는 코드로 작성해서는 안됩니다. ✅ 팀 단위로 테라폼을 관리할 경우 상태 파일을 저장하는 공유 스토리지를 이용 합니다. 각 팀원이 동일한 테라폼 상태 파일 사용을 위해서, 공유 위치에 저장이 필요 하기 때문이죠. ✅ 상태 파일 잠금 ? - 잠금 기능 없이 두 팀원이 동시에 테라폼을 실행 한다면 상태 파일을 동시 업데이트 하기 때문에 충돌 가능 합니다. ( race condition ) ✅ 상태 파일 격리 ? - de..
[T102 2주차] (7) 도전과제 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 2주차 내용: 도전과제 5가지 data_block 활용 배포되는 리소스 이름과 참조에 대한 이해 입력 변수를 활용한 리소스 배포 local를 활용해서 리소스를 배포 count, for_each 반복문, for문, dynamic문 을 활용 1번,2번 도전과제 : 해당 링크는 aws_availability_zones의 데이터 소스 링크 페이지이다. 이를 참조하여, 현재 가용영역중 사용가능한 리스트를 뽑아 subnet 리소스에 적용시켜라. data "aws_availability_zones" "available" { state = "available" } terraform apply mzc01-kook@MZC01-KOOK ..
[T102 2주차] (6) 테라폼 반복문 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 2주차 내용: 테라폼 반복문 count for_each for dynamic 1. count list 형태의 값 목록이나 Key-Value 형태의 문자열 집합인 데이터가 있는 경우 동일한 내용에 대해 테라폼 구성 정의를 반복적으로 하지 않고 관리할 수 있다. 리소스나 모듈을 반복적으로 만든다. 5개의 파일이 생성되어야 하지만 파일명이 동일하여 결과적으로 하나의 파일만 존재 ← count 사용 시 주의 resource "local_file" "abc" { count = 5 content = "abc" filename = "${path.module}/abc.txt" } output "filecontent" { value =..
[T102 2주차] (5) 테라폼 VPC cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 2주차 내용: 테라폼 VPC/ASG/ELB VPC 1. VPC VPC는 Virtual Private Cloud의 약자로 AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여, 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원합니다. * 참고* VPC 이전의 AWS 환경은 어땟을까요? EC2 Classic Network 라는 이름으로 존재했답니다. 1. Public Cloud Service : 인터넷을 통해서만 서비스 2. 다른 고객과 공유하는 단일 일반 네트워크에서 인스턴스를 실행 독립된 가상의 클라우드 네트워크 하나의 계정에 여러개의 VPC 생성 가능 단일 리전에 여러개 VPC 생성 가능..
[T102 2주차] (4) 테라폼 기본 사용법(2) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 2주차 내용: 테라폼 기본사용법 data블록이란? variable 변수를 어떻게 사용할까? local 변수? vpc 관련 테라폼 실습을 통해 data블록과 variable 변수를 더 알아보자 data블록 데이터 소스는 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용 소스를 보면서 이해해보자. local_file ( 프로바이더 = 로컬, 리소스 유형 = 파일 ) abc ( 고유한 이름 , 고정된 값인지 아시는분들도 있음!? ) { 구성 인수들 } { 구성인수 안필요해도 } ---> {} data "local_file" "abc" { filename = "${path.module}/a..
[T102 1주차] (3) 테라폼 기본 사용법(1) cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다. 1주차 내용: 테라폼 HCL 분석 1. 테라폼 HCL HCL이란? hashiCorp Configuration Language은 하시코프사에서 IaC와 구성 정보를 명시하기 위해 개발된 오픈 소스 도구이다 HCL 특징 ? 선언적 특성을 가지며, 튜링-complete한 언어적 특성을 갖는다. 튜링 complete란? 어떤 프로그래밍 언어나 추상 기계가 튜링 기계와 동일한 계산 능력을 가진다는 의미이다. 즉, 그안에서 프로그래밍 언어와 같이 조건문,for문,while 등 자동화에 필요한 동작들이 가능하다. 자동화와 더불어, 쉽게 버저닝해 히스토리를 관리하고 함께 작업 할 수 있는 기반을 제공. ( SCM과 연계 가능 ) 예시..
[T102 1주차] (2) 테라폼 설치 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다. 1주차 내용: 테라폼 설치 >> ec2 배포 MAC os를 기준으로 작성하였습니다. brew terraform 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" mzc01-kook@MZC01-KOOK ~ % terraform version Terraform v1.3.2 on darwin_arm64 Your version of Terraform is out of date! The latest version is 1.5.4. You can update by downloading from https:..
[T102 1주차] (1) 테라폼과 IAC ? cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다. Terraform은 AWS의 CloudFormation과 같은 대표적인 IaC(Infrastructure as Code) 툴이다. IAC는 간단하게 말하면 인프라를 코드로 기록해서 관리하는것이다. 코드를 통해서 인프라를 관리하는 이유에 대해서 한번 생각해 보려고 한다. 그러기 전에 , 인프라 관리 발전 단계에 대한 이야기를 짚고 넘어가고 싶은데 이러한 발전 단계는 테라폼으로 시작하는 IAC 저서에도 기록되어 있는 내용이며 거기에 덧붙여서 국내 private cloud 운영 경험에 비추어 추가 설명 하도록 하겠다. 1단계 : 수동으로 운영 ( 메뉴얼 ) 인프라 관련 모든 정보와 구성 방법, 변경 방법, 기존 아키텍처에 ..