본문 바로가기
IaC/IaC 실습

[Terraform] 테라폼 실습

by 몽섭 2024. 11. 28.
728x90
반응형
SMALL

 

 


🐘테라폼 설치하기

1.

 

윈도우 amd64 다운로드 → 압축해제

 

2.

 

로컬 C → terraform 폴더 만들고 압축해제한 exe파일은 폴더에 넣어줍니다.

 

3.

시스템속성 → 고급 → 환경변수를 눌러줍니다.

 

4.

시스템변수 칸에 Path를 클릭합니다.

 

5.

새로만들기를 누르거나 찾아보기를 통해 terraform환경변수 추가 후 확인을 눌러줍니다.

 

6.

 

powershell을 열어준 후 “terraform version” 명령어를 입력하여 확인합니다.

버전이 나온다면 경로설정이 잘된 것 입니다.

 

 


🐪테라폼 활용

*아래 실습은 AWS를 이용하여 테라폼을 실습하는 것입니다. AWS계정이 필요합니다.*

1.

visual studio 설치합니다. (우리는 윈도우~)

 

2.

 

visual studio 키고 확장팩 키고 “HashiCorp Terraform”, "Terraform", "kubernetes","kubernetes support" 설치합니다.

 

3.

톱니바퀴 -> Settings

 

4.

search setting에 formatter 적어줍니다.

 

5.

오른쪽 위에 저 표시 클릭합니다.

 

6.

"editor.formatOnSave": true, 
  "editor.formatOnSaveMode": "file", 
  "[terraform]": { 
    "editor.defaultFormatter": "hashicorp.terraform" 
    }, 
    "[terraform-vars]": { 
    "editor.formatOnSave": true, 	
    "editor.defaultFormatter": "hashicorp.terraform", 
    "editor.formatOnSaveMode": "file" 
    },

 

 

적어 넣어줍니다.

 

7.

 

save를 해줍니다.

 

8.

로컬C에 테스트할 폴더를 하나 만들어줍니다. 

 

10.tf.zip
0.01MB

 

 

 

9.

 

위 파일을 해제하고 만들어준 폴더에 넣어주고, vcode로 열어줍니다.

 

10.

 

06.test.tf(예시)  파일 만들어서 명령어 자동으로 뜨나 확인 (확장팩 다운로드 확인)

 

11.

나의 도메인으로 바꿔줍니다.(acm, route53)

 

12.

CLI 다운받습니다.

http://최신 버전의 AWS CLI설치 또는 업데이트 - AWS Command Line Interface (amazon.com)

 

 

파란링크를 클릭하고

다운받은 프로그램을 실행해줍니다.

 

PowerShell을 이용하여 aws configure(본인 키)를 진행해줍니다.

PowerShell, vscode를 껏다 켜줘야 합니다.

 

vscode로 확인할 수 있습니다.

 

터미널에서 "ssh-keygen -n PEM -f awesomekey" 를 입력하여 키를 만들어줍니다.

 

13.

먼저 “terraform.exe init”(초기화)를 해줍니다.

 

14.

초기화가 완료되면 "terraform.exe plan"을 해줍니다.

이상없이 진행이 된다면 다음 단계를 할 수 있습니다.

 

15.

 

“terraform.exe apply”를 입력해주면 설치중이라고 뜨면서 자동으로 만들어집니다.

 

16.

자동으로 만들어진걸 알 수 있습니다.

#ec2는 ami가 없어서 안만들어집니다.

 

17.

“terraform.exe destroy”로 다 삭제할 수 있습니다.

 

18. 

 

Enter a value: yes를 쳐줘야합니다.

 


🐼EC2 만들기

terrafrom_eks.zip
0.01MB

 

위 파일을 해제하고 로컬C -> 만들어둔 TF-TEST 파일에 넣어줍니다.

 

1.

새로 init을 해줍니다.

 

2.

 

 

terraform.exe plan 입력합니다.

검사후 이상이 없으면 apply를 하라고 나옵니다.

 

3.

apply를 해주면 ec2까지 생성이 됩니다.

 

4.

 

키를 넣어서 만들어 줌으로써 ec2까지 생성 완료됩니다.

 

5.

Route53에서 네임서버 가비아를 통해 바꿔줍니다.

 

6.

aws eks --region ap-northeast-2 update-kubeconfig --name awesome-cluster 위 명령어는 되지만 다음명령어는 안됩니다. kubectl get nodes 아직 파일이 다 설치되지 않았기 때문입니다.

 

7.

 

 

"aws ec2 describe-vpcs --query"  를 입력하여 VPC 테이블을 확인할 수 있습니다.

 

8.

 

" aws ec2 describe-subnets --query" 를 입력하여 subnet의 테이블을 확인할 수 있습니다.

 


😺 Window kubernetes 다운로드

https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-windows/

 

윈도우에 kubectl 설치 및 설정

시작하기 전에 클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.31 클라이언트는 v1.30, v1.31, v1.32의 컨트롤 플레인과 연동될 수 있다. 호환되는 최신 버전

kubernetes.io

 

1.

밑줄을 다운로드 합니다.

 

2.

다운로드 받은 kubectl.exe파일을 terraform에 넣어줍니다.

vscode를 껐다키고 vscode 터미널에서 명령어 한번 입력합니다.

3.

 

vscode, xhell 모두 가능합니다.

 


🐇Deploy, SVC 만들기

1.

k8s deploy,web-svc 확인합니다.

* kubectl apply -f deploy.yaml

* kubectl apply -f deploy.web-svc.yaml

* kubectl get pods,deploy,svc

 

2.

 

만들어진 로드밸런서에 뜬 주소를 복사해서 인터넷에 붙여넣으면 제가 만든 yaml 대로 MARVEL이 나오게 됩니다.

 

 

 

3.

RDS도 만들어 집니다.(엔드포인트도 나옵니다.)

하지만 퍼블릭 액세스는 불가능 하게 되어있습니다.(PRI)

 

4.

EKS→ECR 확인하면 리포지토리도 만들어집니다. (back,front)

 

5.

terraform state list

위 명령어를 입력시 실행되는 테라폼 리스트를 확인할 수 있습니다.

 

 

😎실습을 마치며

가벼운 실습을 진행해 보았는데요. 크게 어렵지는 않습니다. 다만 실습을 진행하시고 무조건!!!!! destroy 명령어를 사용하여 다 지워주시기 바랍니다.(돈이 많이나가요...)

 

728x90
반응형
LIST