분류 전체보기
-
[T102 6주차] 협업(Git)테라폼(Terraform) 스터디 2023. 8. 11. 17:32
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 6주차 정리입니다. 깃 깃 소개 : 깃을 사용하면 중앙 저장소와 코드를 동기화하지 않아도 같은 파일을 여러 명이 작업할 수 있다 → 개발과 배포 버전 관리를 별도로 진행 가능 깃은 코드 형상관리를 작업 환경인 로컬 저장소 Local Repository와 리모트 저장소 Remote Repository에 저장할 수 있다 기본적으로 작업자가 작업 환경에서 코드 커밋을 수행하면 로컬 저장소에 적용된다 공동 작업을 위해 이 저장소의 내용을 다른 사람에게도 제공하려면 중앙 저장소가 필요하고, 이를 리모트 저장소가 담당한다 로컬 저장소 : 작업자 로컬 환경에 저장되는 개인 전용 저장소 리모트 저장소 : 코드 형상관리 이력과 코드가 원격지에서 관리되고 ..
-
[T102 4주차] (2)테라폼 모듈(Module)테라폼(Terraform) 스터디 2023. 7. 30. 03:01
모듈(Modele)이 란? 구성의 집합이다. 테라폼의 규모가 커지고 복잡해져 생긴 문제를 보완하고 관리 작업을 수월하게 하기 위한 방안으로 활용 관리성 : 일관된 변경 작업을 진행 가능 캡슐화 : 필요한 항목만을 외부에 노출 재사용성 : 비슷한 프로비저닝에 이미 검증된 구성을 바로 사용 일관성과 표준화 : 구성의 일관성을 제공 모듈(Modele)의 구분 루트 모듈, 자식 모듈로 구분 루트 모듈: 테라폼을 실행하고 프로비저닝하는 최상위 모듈 자식 모듈: 루트 모듈의 구성에서 호출되는 외부 구성 집합 모듈(Modele) 작성 기본 원칙 모듈 디렉터리 형식을 terraform-- 형식을 제안 테라폼 구성은 궁극적으로 모듈화가 가능한 구조로 작성할 것을 제안 각각의 모듈을 독립적으로 관리하기를 제안 공개된 테라..
-
[T102 4주차] (1)테라폼 state테라폼(Terraform) 스터디 2023. 7. 30. 01:56
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 3주차 정리입니다. STATE 란? 테라폼은 Stateful(상태가 있는)한 어플리캐이션이다. 그러므로 STATE란 프로비저닝 결과에 따른 State를 저장하고 프로비저닝한 모든 내용을 JSON 형태로 저장하고 추적하는 는 것. terrafrom apply 명령을 실행하면 이전에 생성된 리소스와 비교해 생성됨 terraform apply → State를 사용해서 이전에 생성된 리소스와 비교해 생성, 수정, 삭제 동작이 수행 STATE 역할 State에는 테라폼 구성가 실제를 동기화하고 각 리소스에 고유한 아이디(리소스 주소)로 매핑 리소스 종속성과 같은 메타데이터를 저장하고 추적 테라폼 구성으로 프로비저닝된 결과를 캐싱하는 역할을 수행 ●..
-
[T102 3주차] (2) 테라폼 프로바이더(Provider)카테고리 없음 2023. 7. 22. 14:37
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 3주차 정리입니다. 테라폼 동작의 원리 출처:https://malwareanalysis.tistory.com/619 테라폼은 코드를 읽어 코드가 실행가능한지 분석(terraform plan)=> 그 후, 대상에서 지원하는 API를 사용하여 코드를 대상에 반영(terraform apply) 테라폼 내부(아키텍처)는 테라폼 공식문서에서 설명합니다. 테라폼은 코어와 플러그인으로 구성되어 있습니다. ① 코어는 테라폼 코드를 읽어 코드 문법검사와 실행 순서를 결정합니다. 실행 순서 형태를 리소스 종속성 그래프(resource dependency graph)라고 부릅니다. ② 코어는 테라폼 코드 실행을 플러그인에게 요청합니다. ③ 플러그인은 prov..
-
[T102 3주차] (1) 테라폼 프로비저너테라폼(Terraform) 스터디 2023. 7. 22. 13:56
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 3주차 정리입니다. ●프로비저닝(Provisioning)이란? : 사용자의 요구에 맞게 인프라를 제공 하는 것 ●프로비저너란? 프로비저너는 프로바이더와 비슷하게 ‘제공자’로 해석되나, 프로바이더로 실행되지 않는 커맨드와 파일 복사 같은 역할을 수행(프로바이더 다음 포스팅에서 다룰 예정) ※프로비저너 사용상 주의사항 ex) AWS EC2 생성 후 특정 패키지를 설치해야 하거나 파일을 생성해야 하는 경우, 이것들은 테라폼의 구성과 별개로 동작해야 한다. 프로비저너로 실행된 결과는 테라폼의 상태 파일과 동기화되지 않으므로 프로비저닝에 대한 결과가 항상 같다고 보장할 수 없다 ⇒ 선언적 보장 안됨 따라서 프로비저너 사용을 최소화하는 것이 좋다. ..
-
Docker Postgresql shm size 변경(Volume mount 방법)(Error: could not resize shared memory segment)데이터엔지니어 2023. 7. 18. 11:31
배경상황 =>Docker postgres 컨테이너 생성 후 DB운영 =>Python- psycopg2 라이브러리로 DB 연결 후 SQL 실행 Error 발생 1 ERROR: could not resize shared memory segment "/PostgreSQL.1808576942" to 16777216 bytes: No space left on device cs 문제 해결 =>도커 컨테이너의 shm(shared memory) 영역을 확장해 주면됨 But 도커 컨테이너의 shm을 변경하기 위해서는 docker run ~~~ 으로 컨테이너를 다시 만들어야함(stop, start 적용 안됨) =>shm가 변경된 새로운 컨테이너를 만든 후, 기존 DB에 연결된 볼륨(데이터가 저장 된 공간) 을 새 컨테이너..
-
[T102 2주차] (2) 테라폼의 기본 문법(스터디 실습 (VPC + 보안그룹 + EC2 배포)테라폼(Terraform) 스터디 2023. 7. 15. 22:01
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 1. VPC 배포 : vpc.tf ( 테라폼 파일생성) provider "aws" { region = "ap-northeast-2" } resource "aws_vpc" "myvpc" { cidr_block = "10.10.0.0/16" tags = { Name = "t101-study" } } 테라폼 초기화 & 실행계획 & 적용 terraform init && terraform plan && terraform apply -auto-approve cs #결과 2. 보안그룹 생성 및 배포: sg.tf ( 테라폼 파일생성) resource "aws_security_group" "mysg" { vpc_id = aws_vpc...
-
[T102 2주차] (1) 테라폼의 기본 문법(리소스, 변수)테라폼(Terraform) 스터디 2023. 7. 15. 21:06
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 2주차 정리입니다. 1. 외부파일(ex txt, AWS 인수 등등) 에서 데이터(데이터 리소스)를 가지고 오는 법 ##################################### 1 2 3 4 5 6 7 # Terraform Code data "" "" { = } # 데이터 소스 참조 data... cs ##################################### 디렉토리생성(코드생략) mkdir 3.5 && cd 3.5 cs 참조 할 txt 파일 생성 echo "t101 study - 2week" > abc.txt cs main.tf 파일 생성& 참조 경로 파일 코드 작성(Visual Studio Code에서 GUI로 실행) ..