본문 바로가기

반응형

♻ Terraform(테라폼)

(39)
Terraform을 활용하여 EKS 클러스터 구축하기 # Terraform을 활용하여 EKS 클러스터를 구축하는 방법에 대해서 알아보자. 1. 일단 Terraform 설치는 아래의 링크로 이동하여 설치 2021.08.29 - [Terraform(테라폼)] - AWS CLI 및 Terraform 설치 AWS CLI 및 Terraform 설치 1. AWS CLI 설치 curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" 2. 다운받은 CLI 파일을 압축해제 unzip awscliv2.zip sudo ./aws/install 3. Terraform 설치 # 테라폼 다.. may9noy.tistory.com 2. 설치 후 Terraform의 폴더 구조는 아래와 같게 한다...
모듈을 활용한 재사용 가능한 인프라 생성 테라폼의 핵심은 바로 모듈을 활용한 재사용 이라고 할 수 있다. - 모듈의 간단한 사용 방법은 아래와 같다. 만약 Root 폴더에 asg.tf 라는 파일이 존재하고 Root 폴더에 asg.tf에 정의된 값을 활용하여 module.asg 폴더 안에 main.tf에 정의된 리소스를 실행시킨다고 가정할 경우 아래의 flow를 따라서 동작한다. (매우 간단하지만 실제로 해보지 않으면 헷갈림, 머리가 나빠서 그런거 같기도...) Root폴더의 실행파일.tf → 실행하는 Resource의 variables.tf와 맵핑 → 실행하는 Resource의 main.tf의 var.{resource_name} 으로 선언 되어 있어야 한다. - 그리고 asg.tf 파일의 내용을 보면 아래와 같다. module "asg" { s..
테라폼이란 무엇이고 왜 사용 하는가? 테라폼 이란 무엇인가? 인프라를 코드로 관리할 때 얻을 수 있는 이점은 다양하지만 간략하게 설명하면 코드로 자동화를 구축하여 환경의 변경 및 배포와 같은 반복되는 작업에 소요되는 시간을 줄일 수 있고 인적 오류를 줄이는 등 관리 작업의 효율을 높일 수 있다. 그리고 테라폼은 리소스 간 참조에 따른 생성순서나 의존관계를 알아서 파악해준다. 테라폼으로 코드를 작성하면 여러가지 중구난방으로 코드를 작성하게 된다. 아래 예를 보면... 여러가지 리소스를 쭉 나열식으로 작성하는 경우도 있고, module로 임포트 하여 작성하는 경우도 있다. 나도 작성하다가 생성순서를 순서대로 적어야 하는거 아닌가 생각 하였는데, 순서를 바꿔서 작성해도 리소스는 정상적으로 생성이 되는것을 확인 했다. 그말은 테라폼에서 생성 순서를..
테라폼을 활용한 S3 버킷 저장소 생성 (lock) 테라폼 리소스를 AWS S3에 저장하여, 코드 관리를 할 수 있으며, 리소스 잠금을 활성화 하여 main.tf 파일을 생성한다. 별도의 폴더를 만들고 main.tf 파일을 생성하는것을 추천한다. 예를들어 S3라는 폴더를 생성하고 폴더 하위에 main.tf 라는 테라폼 구현 파일을 생성한다. AWS S3를 원격 상태 스토리지로 사용 S3를 생성하는 테라폼 코드 # 리전 선택 및 설정 provider "aws" { region = "ap-northeast-2" } # S3버킷을 생성 resource "aws_s3_bucket" "terraform-state" { bucket = "terraform-up-and-running-state-seung" ## 실수로 S3 버킷을 삭제하는 것을 방지 lifecycle..
테라폼을 활용한 웹서버 클러스터(ASG) 배포 ASG: Auto Scaling Group ASG는 EC2 인스턴스 클러스터의 시작, 각 인스턴스 상태 모니터링, 실패한 인스턴스 교체, 로드에 따른 클러스터 사이즈 조정 등 많은 작업을 자동으로 처리 가능. ASG를 만드는 첫번째 단계는 시작 구성(launch configuration)을 만드는 것부터 시작한다. launch configuration과 Auto Scaling Group을 terraform 코드로 구현 # Luanch Configuration 설정 resource "aws_launch_configuration" "example" { image_id = "ami-0ed11f3863410c386" instance_type = "t2.micro" security_groups = [aws_sec..
테라폼을 활용한 단일 웹 서버 배포 이전에 테라폼으로 생성한 인스턴스에서 웹 서버를 실행하고 HTTP 요청에 응답을 할 수 있도록 구성한다. 여기서는 간단하게 bin/bash 쉘 스크립으를 작성하고 busybox를 통해서 간단한 응답을 구현한다. 아래와 같이 bash 쉘 스크립트를 작성 한다. #!/bin/bash echo "Hello, World" > index.html nohup busybox httpd -f -p 8080 & 위의 bash 스크립트는 index.html 파일에 'HelloWorld'라는 텍스트를 거장한 다음, busybox라는 도구로 8080으로 통신하는 웹서버를 실행하도록 구성 되었다. 그리고 nohup과 &로 래핑하여 bash 스크립트가 종료 되더라고 웹 서버가 백드라운드에서 영구적으로 실행 되도록 구성 되었다. ..
테라폼을 활용한 단일서버 배포 요약 더보기 terraform 초기 플랫폼 적용 명령어 : terraform init tarraform 코드 작성 후 생성할 리소스 확인 : terraform plan terraform 리소스 적용 : terraform apply terraform 전체 코드 provider "aws" { region = "ap-northeast-2" } resource "aws_instacne" "example" { ami= "ami-0454bb2fefc7de534" instance_type = "t2.micro" } 테라폼을 사용하는 첫 번째 단계는 공급자를 구성하는 것인데, 빈 폴더를 만들고 main.tf 라는 파일에 다음과 같은 내용을 작성하고 저장 한다. terraform을 설치하는 과정은 아래를 참조 한다. 2..
Windows 환경에서 Terraform 설치하기 # Windows 환경에서 Terraform을 설치하는 방법에 대해서 알아 보겠습니다. 1. 해당 url에 접근하여 테라폼을 다운로드 합니다. https://www.terraform.io/downloads Downloads | Terraform by HashiCorp Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure. www.terraform.io 2. 다운받은 파일을 압축을 해제 후 CLI 모드를 활용하기 위해 파일을 환경변수에 등록 하도록 하겠습니다. - 파일을 다운로드 후 압축을 해..

728x90
반응형