본문 바로가기

study/T101 4기

T101 4기 3주차 첫번째 3주차 공유 시작하겠습니다. 반복문  for_each : 반복문, 선언된 key 값 개수만큼 리소스를 생성 - Docs Tutorials 악분 제약사항for-each는 반복(for)을 할 때 타입 값에 대해 하나하나 each object로 접근한다는 의미입니다.each object는 key, value 2개의 속성을 가지고 있습니다.each.key — The map key (or set member) corresponding to this instance.each.value — The map value corresponding to this instance. (If a set was provided, this is the same as each.key.)하지만 for_each는 모든 타입에 대해 each.. 더보기
T101 4기 2주차 두번째 출력 output출력 값은 주로 테라폼 코드의 프로비저닝 수행 후의 결과 속성 값을 확인하는 용도로 사용된다.또한 프로그래밍 언어에서 코드 내 요소 간에 제한된 노출을 지원하듯, 테라폼 모듈 간, 워크스페이스 간 데이터 접근 요소로도 활용할 수 있다.예를 들면 자바의 getter와 비슷한 역할이다. 출력 값의 용도는 다음과 같이 정의할 수 있다.루트 모듈에서 사용자가 확인하고자 하는 특정 속성 출력자식 모듈의 특정 값을 정의하고 루트 모듈에서 결과를 참조서로 다른 루트 모듈의 결과를 원격으로 읽기 위한 접근 요소output "instance_ip_addr" { value = "http://10.1.1"}main.tf파일 내용(참고) abspath : 파일 시스템 경로를 포함하는 문자열을 가져와 절대 경.. 더보기
T101 4기 2주차 첫번째 2주차 공유 시작하겠습니다. 데이터 소스- 데이터 소스는 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용한다 데이터 소스 구성 - Link Blog데이터 소스 블록은 data 로 시작, 이후 ‘데이터 소스 유형’을 정의 ← Resource 블록 정의와 유사데이터 소스 유형은 첫 번째 _를 기준으로 앞은 프로바이더 이름, 뒤는 프로바이더에서 제공하는 리소스 유형을 의미한다.데이터 소스 유형을 선언한 뒤에는 고유한 이름을 붙인다. 리소스의 이름과 마찬가지로 이름은 동일한 유형에 대한 식별자 역할을 하므로 중복될 수 없다.이름 뒤에는 데이터 소스 유형에 대한 구성 인수들은 { } 안에 선언한다. 인수가 필요하지 않은 유형도 있지만, 그때에도 { } 는 입력한다data ".. 더보기
T101 4기 1주차 세번째 백엔드 블록백엔드 블록의 구성은 테라폼 실행 시 저장되는 **State(상태 파일)**의 저장 위치를 선언한다.주의할 점은 하나의 백엔드만 허용한다는 점이다.테라폼은 State의 데이터를 사용해 코드로 관리된 리소스를 탐색하고 추적한다.작업자 간의 협업을 고려한다면 테라폼으로 생성한 리소스의 상태 저장 파일을 공유할 수 있는 외부 백엔드 저장소가 필요하다.그리고 State에는 외부로 노출되면 안 되는 패스워드 또는 인증서 정보 같은 민감한 데이터들이 포함될 수 있으므로 State의 접근 제어가 필요하다.State 잠금 동작기본적으로 활성화되는 백엔드는 local이다.상태를 작업자의 로컬 환경에 저장하고 관리하는 방식이다.이 밖의 다른 백엔드 구성은 동시에 여러 작업자가 접근해 사용할 수 있도록 공유 스토.. 더보기
T101 4기 1주차 두번째 [스터디 전용/실습3] EC2 1대 배포 & 웹 서버 설정 ??? 테라폼은 이뮤터블 immutable 한가요?뮤터블 mutable 한가요? → p37 이뮤터블 : 인프라스트럭처의 상태를 변경할 때, 기존의 인프라스트럭처를 수정하거나 업데이트하는 것이 아니라 새로운 인프라스트럭처를 생성하여 이전 상태의 인프라스트럭처를 교체하는 방식을 위미한다.  EC2 1대를 배포하면서 userdata 에 웹 서버 설정 → 간단한 애플리케이션 설정 자동화 Ubuntu 22.04 LTS 사용# 각자 편한 디렉터리를 생성해주시면 됩니다cd ..mkdir t101-1week-webcd t101-1week-web# Ubuntu 22.04 최신 AMI ID 확인aws ec2 describe-images --owners 099720.. 더보기
T101 4기 1주차 첫번째 이번에도 '가시다' 님이 운영하는 스터디에 참여하게 되었습니다. 그럼 바로 공유 시작하겠습니다. 스터디는 아래의 책 참고하여 진행됩니다.  - lac와 테라폼테라폼 제공 유형은 3가지로 구분됩니다. On-premise : Terraform이라 불리는 형태로, 사용자의 컴퓨팅 환경에 오픈소스 바이너리툴인 테라폼을 통해 사용Hosted SaaS : Terraform Cloud로 불리는 SaaS로 제공되는 구성 환경으로 하시코프가 관리하는 서버 환경이 제공Private Install : Terraform Enterprise로 불리는 서버 설치형 구성 환경으로, 기업의 사내 정책에 따라 프로비저닝 관리가 외부 네트워크와 격리 - 링크 실행 환경 구성mac 기준# tfenv 설치brew install tfenv#.. 더보기