본문 바로가기

study

T101 4기 5주차 두번째 AtlantisTerraform Pull Request Automation - Running Terraform Workflows with Ease - Link Github Blog Welcome to Our Blog | Atlantis www.runatlantis.io     실습 따라하기 AWS EC2 생성 : atlantis 서버 역할# CloudFormation yaml 파일 다운로드# CloudFormation 스택 배포MYKEYNAME=MYKEYNAME=kp-gasidaaws cloudformation deploy --template-file t101-atlantis-ec2.yaml --stack-name t101 --parameter-overrides KeyName=$MYKEYNAME SgIn.. 더보기
T101 4기 5주차 첫번째 모듈하나의 프로비저닝에서 사용자와 패스워드를 여러 번 구성해야 하는 경우를 가상의 시나리오로 삼아 모듈화를 진행해보겠다.random_pet는 이름을 자동으로 생성하고, random_password는 사용자의 패스워드를 설정한다 - random_petrandom_password는 random 프로바이더 리소스로 난수 형태로 패스워드를 만들 수 있다. 자식 모듈 작성 디렉터리 생성 및 06-module-traning/modules/terraform-random-pwgen/main.tf variable.tf output.tf 파일 생성mkdir -p 06-module-traning/modules/terraform-random-pwgencd 06-module-traning/modules/terraform-ran.. 더보기
T101 4기 4주차 두번째 State테라폼 State 소개 및 실습 - 블로그 Github State의 목적과 의미상태 파일 확인 실습mkdir 5.0 && cd 5.0touch vpc.tfprovider "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# 상태 파일 확인(VSCODE) : JSON 형식lscat terraform.tfstate | jq..."serial": 2,...# 아래 정보는 terraform... 더보기
T101 4기 4주차 첫번째 프로바이더  테라폼으로 EKS만들기 프로젝트 3-2편 - 테라폼 동작원리이 글은 테라폼이 어떻게 동작하는지 설명합니다. 3편에서 실행했던 hello world예제를 참고합니다. ▶ 테라폼 동작원리 유투브 영상: https://youtu.be/47FJVP437nk 1. 동작원리 테라폼은 코드를 읽어 코드malwareanalysis.tistory.com  테라폼은 terraform 바이너리 파일을 시작으로 로컬 환경에나 배포 서버와 같은 원격 환경에서 원하는 대상을 호출하는 방식으로 실행된다. 이때 ‘원하는 대상’은 호출하는 방식이 서로 다르지만 대상의 공급자, 즉 프로바이더가 제공하는 API를 호출해 상호작용을 한다. 여기서 테라폼이 대상과의 상호작용을 할 수 있도록 하는 것이 ‘프로바이더’다.각 프로바이.. 더보기
T101 4기 3주차 두번째 함수테라폼은 프로그래밍 언어적인 특성을 가지고 있어서, 값의 유형을 변경하거나 조합할 수 있는 내장 함수를 사용 할 수 있다 - 링크 Functions - Configuration Language | Terraform | HashiCorp DeveloperAn introduction to the built-in functions that you can use to transform and combine values in expressions.developer.hashicorp.com  단, 내장된 함수 외에 사용자가 구현하는 별도의 사용자 정의 함수를 지원하지는 않는다.함수 종류에는 숫자, 문자열, 컬렉션, 인코딩, 파일 시스템, 날짜/시간, 해시/암호화, IP 네트워크, 유형 변환이 있다.테라폼 코드에.. 더보기
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 ".. 더보기