2장 실행 환경 구성

김진원·2023년 7월 4일

IaC

목록 보기
2/10

"테라폼으로 시작하는 IaC"책을 기준으로 1주차 정리 내용입니다.


2.1 Terraform 환경 구성


📕실행 환경 구성 3가지

  1. 미리 빌드된 바이너리(실행) 파일 다운로드.
  2. terraform 소스 코드 다운로드 후 빌드.
  3. OS 패키지 관리자 활용.

📙버전 선택

  • 가장 최신 버전을 권장!!

    이유는 하위 버전 호환이 가능하며 기능 개선, 버그 수정이 있기 때문입니다.


💻 Terraform 설치 (Linux)

  1. Windows에 WSL2 설치.
  2. WSL2 실행/Shell 접속.
  3. Terraform 설치 ( Terraform Link | Ubuntu/Debian 선택 )
    아래 코드를 Shell에 직접 입력하여 Download를 진행합니다.
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
  1. Terraform 설치 확인.
terraform version
  1. 출력 화면.

2.2 IDE 구성

IDE는 Visual Studio Code를 설치하여 사용합니다.

추가로 Extentions를 설치합니다.

  • HashiCorp HCL : syntax highlighting for HCL files.
  • HashiCorp Terraform : highlighting syntax from Terraform.

2.2.1 AWS CLI 설치

CLI 환경에서 aws에 관련된 서비스를 사용하기 위해서는 aws cli를 설치해야하며, IAM에서 생성한 자격증명도 설정해야 합니다.

1. AWS CLI v2 설치

# Linux 설치 방법
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

2. AWS CLI 확인

# aws cli 버전 확인
aws --version
aws-cli/2.12.6 Python/3.11.4 Linux/5.15.90.1-microsoft-standard-WSL2 exe/x86_64.ubuntu.22 prompt/off

3. AWS CLI 설정

aws configure
- Access_key 입력
- Secret_key 입력
- region 입력
aws configure list ( 입력 값 확인 )

4. AWS CLI 사용

aws s3 ls
# s3 버킷에 있는 목록들 출력

2.2.2 AWS EC2 배포

간단한 EC2 Instance를 배포하는 실습을 해보겠습니다.

  • 코드 파일 작성
cat <<EOT > main.tf
provider "aws" {
  region = "ap-northeast-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0a0064415cdedc552"
  instance_type = "t2.micro"
}
EOT

코드를 보자면, aws provider를 사용하고 리전은 ap-northeast-2(한국), instance를 example로 만들며 AMI는 "ami-0a~~" /인스턴스 타입은 t2.micro를 설정하는 뜻입니다.

## 잠깐!! 언어 구조 알아가기

resource "<PROVIDER>_<TYPE>" "<NAME>" {
  [CONFIG ...]
  }
  1. PROVIDER : ‘AWS’ 같은 공급자의 이름
  2. TYPE : ‘security_group’ 같은 리소스의 유형
  3. NAME : 리소스의 이름
  4. CONFIG : 한개 이상 arguments

  • 배포 실행
# 초기화
terraform init
ls -al
tree .terraform

# plan 확인
terraform plan

# apply 실행
terraform apply
 Enter a value: yes 입력

본인의 AWS Console에서 생성된 Instance를 확인할 수 있습니다. 마지막에는 꼭 Instance를 삭제해주셔야 하는데, 그것도 terraform으로 가능합니다.

# 리소스 삭제
terraform destroy
 Enter a value: yes

0개의 댓글