"테라폼으로 시작하는 IaC"책을 기준으로 1주차 정리 내용입니다.
📕실행 환경 구성 3가지
📙버전 선택
이유는 하위 버전 호환이 가능하며 기능 개선, 버그 수정이 있기 때문입니다.
💻 Terraform 설치 (Linux)
- Windows에 WSL2 설치.
- WSL2 실행/Shell 접속.
- 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
- Terraform 설치 확인.
terraform version
- 출력 화면.
IDE는 Visual Studio Code를 설치하여 사용합니다.
추가로 Extentions를 설치합니다.
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 버킷에 있는 목록들 출력
간단한 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 ...]
}
- PROVIDER : ‘AWS’ 같은 공급자의 이름
- TYPE : ‘security_group’ 같은 리소스의 유형
- NAME : 리소스의 이름
- 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