[SESAC 최종 프로젝트]2-2. AWS 리소스 Terraform 코드 공부하기 : terraform apply 수행하기

kyungbin kim·2024년 3월 3일
0

SESAC Final Project

목록 보기
2/11

1. terraform init

1) terraform login token 에러 처리

(1) 에러 코드


(2) 테라폼 로그인 토큰 발급

  • 위의 에러 창에 나온 주소로 이동하여 토큰 발급(테라폼 회원가입 및 로그인 된 전제 하)
  • 토큰 보관하기

(3) 테라폼 cli 로그인

  • terraform login 진행
  • 발급받은 토큰 입력


2. terraform plan

1) terraform plan 에러 처리

(1) 에러 코드

(2) env.sh 파일 권한 수정

  • chmod 755 env.sh

  • 다시 terraform plan 진행 => 성공

3. Singapore 리전에 eks 배포하기

  • cp -r eks eks-bak : eks 디렉토리 통째로 eks-bak으로 복제
  • eks 디렉에서 singapore(ap-southeast-1) 리전에 eks 배포하는 terraform 코드 짜기

1) variables.tf 수정

# vi variables.ft
  • eks_cluster_node_group_name 앞에 접두사로 sgp을 붙였더니 plan 시 글자수 제한에 걸렸으므로 key 값에만 sgp 접두사를 붙임
variable "eks_cluster_name" {
  default = "eks_cluster"
}

variable "eks_cluster_node_group_name" {
  default = "eks_cluster-nodegroup"
}

variable "eks_cluster_version" {
  default = "1.26"
}

variable "ec2_key_pair" {
  # 이벤트 엔진에서 기본 제공되는 Key Pair 사용
  # default = "ee-default-keypair"
  default = "sgp-eks-ssh-key"
}

variable "worker_node_instance_type" {
  default = ["t3.medium"]
  # default = ["t3.xlarge"]
  # default = ["t3.large"]
}

variable "worker_node_min_size" {
  default = 4
}

variable "worker_node_max_size" {
  default = 4
}

variable "worker_node_desired_size" {
  default = 8
}

variable "aws_region" {
# variable "AWS_DEFAULT_REGION" {
  default = "ap-southeast-1"
  # default = "us-east-1"
}

variable "var_vpc_cidr" {
  default = "192.168.0.0/16"
}

variable "var_subnet_1_az" {
  default = "ap-southeast-1a"
  # default = "us-east-1a"
}

variable "var_subnet_2_az" {
  default = "ap-southeast-1c"
  # default = "us-east-1c"
}

variable "var_subnet_private_1_cidr" {
  default = "192.168.1.0/24"
}

variable "var_subnet_private_2_cidr" {
  default = "192.168.2.0/24"
}

variable "var_subnet_public_1_cidr" {
  default = "192.168.10.0/24"
}

variable "var_subnet_public_2_cidr" {
  default = "192.168.11.0/24"
}

variable "AWS_ACCESS_KEY_ID" {
  default = ""
}

variable "AWS_SECRET_ACCESS_KEY" {
  default = ""
}

variable "AWS_SESSION_TOKEN" {
  default = ""
}

2) vpc.tf 수정

(1) terraform module이란?

3) terraform apply 진행

  • terraform plan 까지 통과
  • terraform apply -auto-approve 실행 시 다음과 같은 VCS 오류 발생

(1) Terraform Cloud

1) Unauthorized 에러

eks CSI driver란? <출처>
CSI (Container Storage Interface)
: K8s 처럼 컨테이너 오케스트레이션 시스템의 컨테이너화된 워크로드에, 임의의 블록 및 파일 스토리지 시스템을 노출시키기 위한 표준 인터페이스

2) terraform cloud destroy

https://developer.hashicorp.com/terraform/tutorials/cloud-get-started/cloud-destroy

0개의 댓글