본문 바로가기
  • lakescript

terraform21

[T101] 2-3. Terraform - local & output 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. local(지역 값)코드 내에서 사용자가 지정한 값 또는 속성 값을 가공해 참조 가능한 local은 외부에서 입력되지 않고, 코드 내에서만 가공되어 동작하는 값을 선언합니다. local은 입력 변수와 달리 선언된 모듈내에서만 접근 가능하고, 변수처럼 실행시 입력 받을 수 없습니다.local은 사용자가 테라폼 코드를 구현할 때 값이나 표현식을 반복적으로 사용할 수 있는 편의를 제공합니다. 하지만 빈번하게 여러 곳에서 사용되는 경우 실제 값에 대한 추적이 어려워져 유지 관리 측면에서 부담이 발.. 2024. 6. 18.
[T101] 2-2. Terraform - Variable 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 입력 변수 (variable)입력 변수는 인프라를 구성하는 데 필요한 속성 값을 정의해 코드의 변경 없이 여러 인프라를 생성하는 데 사용됩니다. 일반적인 애플리케이션 코드에서의 변수 선언 방식과 달리 terraform에서는 plan 수행 시 값을 입력합니다.선언 방식이 다양한 이유는 테라폼 실행 환경, 실행 방식에 따라 입력 변수 값을 선언하도록 하여 동일한 코드로 다수의 프로비저닝을 수행하도록 설계하기 위함입니다. 변수 선언 방식변수는 variable로 시작되는 블록으로 구성됩니다. va.. 2024. 6. 18.
[T101] 2-1. Terraform - Data Source 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. Data Source데이터 소스는 테라폼으로 정의되지 않은 외부 리소스 또는 저장된 정보를 테라폼 내에서 참조할 때 사용합니다.Data Source 구성데이터 소스 블록은 data로 시작됩니다. data "local_file" "abc" { filename = "${path.module}/abc.txt"}데이터 소스 유형은 첫 번째 언더스코어인 '_'를 기준으로 앞은 프로바이더 이름, 뒤는 프로바이더에서 제공하는 리소스 유형을 의미합니다.데이터 소스 유형을 선언한 뒤에는 고유한 이름을 붙입.. 2024. 6. 17.
[T101] 1-4. Terraform - Resource 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 리소스리소스는 테라폼이 프로비저닝 도구라는 측면에서 가장 중요한 요소이며, 리소스 블록은 선언된 항목을 생성하는 동작을 수행합니다.   리소스 구성리소스 블록은 resource로 시작합니다. resource "" "" { = } - 리소스 이름은 첫번째 _를 기준으로 앞은 프로바이더 이름을 나타내고, 뒤는 프로바이더에서 제공하는 리소스 유형을 의미합니다. - 리소스 유형이 선언되면 뒤에는 고유한 이름을 붙입니다. 이름은 동일한 유형에 대해 식별자 역할을 하기 때문에 유형이 같은 경우에는.. 2024. 6. 16.
[T101] 1-3. Terraform - HCL, 테라폼 블록 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다.   HCLHCL은 하시코프사에서 IaC와 구성 정보를 명시하기 위해 개발된 오픈 소스 도구입니다. Infrastructure as Code는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. IaC이전에는 UI 클릭이나 개별적인 스크립트를 사용하여 프로비저닝하는 방식을 사용했었기 때문에 자동화하기 어려웠고, 이런 작업들을 진행할 때에 작업자의 숙련도나 전문성에 따라 실수가 발생할 수 있었습니다. 그리고 스크립트 방식은 작업자가 정의한 순서대로 동작하지만 순차.. 2024. 6. 15.
[T101] 1-2. Terraform - 기본 사용법(init, plan, apply, destory) 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다. 주요 커맨드테라폼 버전이 변경되면서 추가되거나 삭제될 수 있으므로 커맨드 목록을 확인하고 사용하는 법을 익히는 것이 좋습니다.  terraform command 실행 시 기본 출력 내용$ terraformUsage: terraform [global options] [args]The available commands for execution are listed below.The primary workflow commands are given first, followed byless comm.. 2024. 6. 13.
[T101] 1-1. Terraform - IaC와 테라폼 더보기이 스터디는 CloudNet@에서 진행하는 T101 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들과 테라폼으로 시작하는 IaC 를 바탕으로 작성되었습니다.  Iac와 테라폼코등형 인프라(IaC)는 말 그대로 '코드로서의 인프라'입니다. 인프라가 코드로 표현되고, 코드가 인프라를 설명한다는 의미로 UI나 Command를 이용한 수동 조작이 아닌 Code로 관리합니다. 인프라 자동화의 성숙도 변화인프라 운영이 물리적인 자체 데이터 센터 같은 온프레미스 환경부터 클라우드 환경에 이르기까지 형태가 변화하면서 운영하는 방식도 지속적으로 바뀌고 있습니다.   보통 인프라 관련 모든 정보와 구성 방법, 변경 방법, 기존 아키텍처에 대한 내용등을 엑셀과 같.. 2024. 6. 11.
[AEWS] 8-3. Amazon EKS - Iac (Terraform으로 AWS 리소스 배포 ) 이전 글에서는 terraform의 기초적인 사용법을 알아보았습니다. 이번 글에서는 terraform을 활용하여 AWS 리소스들을 생성해보고 EKS Cluster를 배포해보도록 하겠습니다.  VPC 배포terraform 소스 생성vpc.tf 파일 생성touch vpc.tf vpc.tf를 생성합니다. terraform 코드 작성provider "aws" { region = "ap-northeast-2"}resource "aws_vpc" "myvpc" { cidr_block = "10.10.0.0/16" tags = { Name = "aews-study" }} 위의 코드를 통해 vpc를 생성하는 terraform 코드를 작성합니다.  terraform 실행init & plan & ap.. 2024. 4. 26.
[AEWS] 8-2. Amazon EKS - IaC (Terraform 심화) 이전 글에서 terraform의 기초에 대해 실습과 함께 해보았습니다. 이번엔 terraform의 심화 내용에 대해 정리해보겠습니다. Terraform Provider테라폼은 terraform 바이너리 파일을 시작으로 로컬 환경에나 배포 서버와 같은 원격 환경에서 원하는 대상을 호출하는 방식으로 실행됩니다. 이때 ‘원하는 대상’은 호출하는 방식이 서로 다르지만 대상의 공급자, 즉 프로바이더가 제공하는 API를 호출해 상호작용을 합니다. 여기서 테라폼이 대상과의 상호작용을 할 수 있도록 하는 것이 ‘Provider’입니다. 즉, terraform은 provider 없이는 어떤 종류의 인프라와 서비스도 관리할 수 없다는 의미합니다.  local 이름과 provider 지정terraform 블록의 requi.. 2024. 4. 26.
[AEWS] 8-1. Amazon EKS - IaC (Terraform 기초) iaC   ChatGPT가 알려주는 IaCIaC (Infrastructure as Code)는 IT 인프라의 구성과 관리를 코드 형식으로 처리하는 접근 방식입니다. 이 방식은 프로그래밍 기법을 사용하여 인프라를 설정하고 유지보수함으로써, 전통적인 수동 프로세스의 복잡성과 오류 가능성을 줄입니다. IaC는 특히 클라우드 환경에서 자원을 효율적으로 관리하고 배포하는 데 매우 유용합니다.  즉, IaC는 인프라를 code로서 관리하는 것을 의미합니다. 장점속도 및 효율성코드를 통해 인프라를 자동으로 배포할 수 있어 시간이 크게 단축됩니다. 또한 필요할 때마다 즉시 환경을 재생성하거나 복제할 수 있습니다. 오류 감소인프라를 코드로 관리함으로써 수동으로 관리하면서 발생할 수 있는 실수를 줄일 수 있습니다. 또한 .. 2024. 4. 26.