-
[T102 1주차] (1) 테라폼의 정의 및 Terraform(테라폼) 환경구축(Window10)테라폼(Terraform) 스터디 2023. 7. 8. 23:32
cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다.
※ 용어정리
IaC: 코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다.
SaaS: SaaS(Software as a Service)는 클라우드 기반의 소프트웨어 제공 모델로, 클라우드 제공업체가 클라우드 애플리케이션 소프트웨어를 개발 및 유지 관리하고, 자동 소프트웨어 업데이트를 제공하고, 인터넷을 통해 Pay-as-you-Go 방식으로 고객에게 소프트웨어를 제공합니다.
프로비저닝: IT 인프라를 생성하고 설정하는 프로세스
Terraform(테라폼)이란
- 하시코프(샌프란시스코 회사)에서 만듬
- Go언어로 개발
- IaC(Infrastructure as Code)=>코드로 인프라를 관리한다는 개념
- AWS CloudFormation 같이 코드로 인프라를 관리한다는 개념=> 단, 테라폼은 GCP(구글), Azure(MS) 에서도 활용가능
환경구축
- 윈도우에 WSL2설치(테라폼은 리눅스에서 사용이 가능)
1)Powershell에서 명령어 실행
$ wsl --install
2)마이크로소프트 스토어(Microsoft Store) 앱을 열고 Ubuntu를 설치
3)Ubuntu 실행
번외)WSL 실행 후 오류발생
해결책=>WSL2의 경우 Linux 커널 업데이트 패키지를 따로 설치 필요함
다운로드 링크: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
1주차 Terraform(테라폼) 실습내용
- WSL2 리눅스설치(윈도우 내 리눅스 사용)
- 테라폼 설치
- 비주얼 스튜디오 코드 Visual Studio Code (VS Code) IDE 구성(IDE 내, HCL, Terraform 설치)
- AWS CLI 설치
- ↓↓↓↓↓↓↓Terraform(테라폼) 실습내용 ↓↓↓↓↓↓↓
- 테라폼을 이용해 EC2 1개 생성하기(리눅스 or Visual Studio Code 터미널 창에서 실행)
- 1) main.tf 파일을 내 필요로 하는 내용 작성
#cat 명령어를 통해 main.tf 파일생성
cat <<EOT >
main.tf
provider "aws"
{ region = "ap-northeast-2" }
resource "aws_instance" "example" {
ami = " ami-0a0064415cdedc552"
instance_type = "t2.micro"
}
EOT-
- 2) terraform init (테라폼 초기화)
# 초기화
terraform init- 3) terraform plan (계획 보기, create, update,delete 등 의 테라폼 실행시 동작 할 작업을 보여줌)
# plan 확인
terraform plan※중간 오류 별첨
- 4) terraform apply (테라폼 실행)
# apply 실행
terraform apply
※ 결과확인
번외) 생성된 EC2 삭제
# 리소스 삭제
terraform destroy
Enter a value: yes 입력
혹은
terraform destroy -auto-approve
Terraform(테라폼)의 장점
- 문서화 된 코드로 인프라 상태를 알수 있다.(인수인계, 버전관리, 유효성 검증이 용이함)
- 재사용성 증가(인프라 재사용이 용이해짐)
- 속도 및 안정성(일괄되고 빠르게 인프라를 배포 가능)
1주차 Terraform(테라폼) 강의를 보며 느낀점
데이터 분석가로 있었던 환경에서 서비스를 위한 인프라구축 작업에대한 내용을 잘 알 수 있었습니다.
덕분에 개발자들의 툴 등에 친숙해 지는 기회였습니다.
처음에는 코드상의 오류 없이 짜기위해서 GUI 환경으로 AWS 구축을하는것이 더 효율이 좋다라고 생각했습니다.
하지만, 테라폼을 공부해 보고 많이 알아갈 수록 테라폼이 유용하게 쓰일 수 있는 환경에 대한 고찰을 하게 되었습니다.
전반적인 IT 지식 공부도 함께할 수 있는 앞으로의 강의가 기대된다.
'테라폼(Terraform) 스터디' 카테고리의 다른 글
[T102 4주차] (2)테라폼 모듈(Module) (0) 2023.07.30 [T102 4주차] (1)테라폼 state (0) 2023.07.30 [T102 3주차] (1) 테라폼 프로비저너 (0) 2023.07.22 [T102 2주차] (2) 테라폼의 기본 문법(스터디 실습 (VPC + 보안그룹 + EC2 배포) (0) 2023.07.15 [T102 2주차] (1) 테라폼의 기본 문법(리소스, 변수) (0) 2023.07.15