ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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) 에서도 활용가능

     

    환경구축

    1. 윈도우에 WSL2설치(테라폼은 리눅스에서 사용이 가능)

                 1)Powershell에서 명령어 실행

    $ wsl --install

     

    Powershell 명령어 입력

                 2)마이크로소프트 스토어(Microsoft Store) 앱을 열고 Ubuntu를 설치

     

    스토어 Ubunti 설치

                 3)Ubuntu 실행

          

     

                 번외)WSL 실행 후 오류발생

     

                 해결책=>WSL2의 경우 Linux 커널 업데이트 패키지를 따로 설치 필요함

                               다운로드 링크: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

    Linux 커널 업데이트 패키지 설치

     

     

     

     

    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

    main.tf 생성

      • 2) terraform init (테라폼 초기화)
     # 초기화
    terraform init
    테라폼 초기화
    • 3) terraform plan (계획 보기, create, update,delete 등 의 테라폼 실행시 동작 할 작업을 보여줌)
    # plan 확인
    terraform plan
    테라폼 plan

    ※중간 오류 별첨

    AWS 환경변수로 자격증명 등록이 안되어 있을 시 오류 발생
    • 4) terraform apply (테라폼 실행)
    # apply 실행
    terraform apply

    테라폼 apply
    ※ 결과확인
    AWS 웹 콘솔에서 EC2 생성 확인

    번외) 생성된 EC2 삭제


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

    혹은

    terraform destroy -auto-approve

    "terraform destroy -auto-approve" 실행 샘플

     

    Terraform(테라폼)의 장점

    1. 문서화 된 코드로 인프라 상태를 알수 있다.(인수인계, 버전관리, 유효성 검증이 용이함)
    2. 재사용성 증가(인프라 재사용이 용이해짐)
    3. 속도 및 안정성(일괄되고 빠르게 인프라를 배포 가능)

     

     

    1주차 Terraform(테라폼) 강의를 보며  느낀점

    데이터 분석가로 있었던 환경에서 서비스를 위한 인프라구축 작업에대한 내용을 잘 알 수 있었습니다.

    덕분에 개발자들의 툴 등에 친숙해 지는 기회였습니다.

    처음에는 코드상의 오류 없이 짜기위해서 GUI 환경으로 AWS 구축을하는것이 더 효율이 좋다라고 생각했습니다.

    하지만, 테라폼을 공부해 보고 많이 알아갈 수록 테라폼이 유용하게 쓰일 수 있는 환경에 대한 고찰을 하게 되었습니다.

    전반적인 IT 지식 공부도 함께할 수 있는 앞으로의 강의가 기대된다.

Designed by Tistory.