♻ Terraform(테라폼)/Terraform 활용 (7) 썸네일형 리스트형 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의 폴더 구조는 아래와 같게 한다... 테라폼을 활용한 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.. Terraform 을 활용하여 IAM 설정하기 1. mkdir iam 을 입력하여, 새로운 폴더를 생성한다. 2. cd iam > iam 폴더로 이동한다. 3. vim provider.tf 를 입력하여, 새로운 파일을 생성한다. provider "aws" { region = "ap-northeast-2" } 4. vim user_hong_gil_dong.tf 를 입력하여, 새로운 파일을 생성한다. resource "aws_iam_user" "gildong-hong" { name = "gildong_hong" } 5. terraform init > terraform plan 을 입력하여, 새로 생성되는 정보를 확인한다. - terraform plan 을 입력하여 확인한 모습 6. terraform apply 를 입력하여 새로운 IAM 유저를 생성한다... Terraform 으로 S3 Bucket 생성하고 파일 업로드 및 다운로드 하기 1. provicer.tf 파일을 생성, 이미 있다면 pass! provider "aws" { region = "ap-northeast-2" } 2. s3.tf 파일을 생성하고 S3 버킷을 생성 (S3 버킷의 이름은 유일해야함) resource "aws_s3_bucket" "s3" { bucket = "zzanggu-may9noy" } 3. terraform plan과 terraform init을 입력하여, 생성내역을 확인 #terraform plan #terraform apply - S3 버킷이 정상적으로 생성 되었는지 확인 > 정상적으로 생성된 것을 확인할 수 있음 4. aws s3 help를 입력하면 다양한 명령어 확인 가능 > 컨트롤 + z 를 동시에 누르면 빠져나올수 있음 5. may9noy.h.. 이전 1 다음