본문 바로가기
코멘토(Comento)

[코멘토(Comento)] 개발 퀄리티를 높이는 AWS Kubernetes 컨테이너 플랫폼 구축 및 배포_2주차 Terraform(테라폼)을 활용한 AWS EC2, EKS 프로비저닝 실습 과제

by 클수저 2024. 1. 15.
728x90
반응형

해당 포스팅은 코멘토 실무PT과제를 작성한 내용입니다.

[과제1]  Terraform을 활용한 Backend 구성하기

1. 원본 예제코드 변경사항을 Sync해 주세요. - 예제코드 URL : https://github.com/comentonjh/devops

Sync Fork를 통한 최신버전 Update

2. Local PC에 Terraform 설치 및 설정해주세요.

Local PC에 Terraform 설치

3. Terraform Backend 구성 코드를 확인해주세요.

terraform-backend 구성코드
variable.tf
terraform-backend.tf
providers.tf

4. Terraform을 활용한 Backend 구성해주세요.

Terraform init
Terraform validate

 

Terraform Plan
Terraform Paln 2 to add 상태
Terraform apply
Apply Complete 2 added

5. Terraform Backend 구성 결과를 확인해주세요.

AWS S3 버킷 생성

버킷이 정상적으로 생성이 완료!

DynamoDB 생성

Dynamo DB의 테이블 생성 완료!

 


[과제2] AWS N/W 리소스 프로비저닝

1. Terraform Codes에서 N/W 리소스 코드를 확인해주세요.

Terraform-codes

2. Terraform Codes에서 N/W 리소스를 프로비저닝 해주세요.

Terraform-codes init 작업
Terraform-codes validate Success!
Terraform-codes plan
Plan 16 to add 결과
Terraform-codes apply
Apply Complete 16 added

 

3. AWS N/W 리소스의 프로비저닝 결과를 확인해주세요.

VPC 생성
Subnet 2개 생성
인터넷 게이트웨이 생성
라우팅 테이블 생성

 

EKS ControlPlane 생성
EKS노드그룹 생성
보안그룹 생성

[과제3]Terraform을 활용한 EC2 VM 프로비저닝

1. EC2 VM의 Terraform HCL 코드를 확인해주세요.

iam-roles.tf
iam_instance_profile.tf
ec2_instance.tf
Terraform plan
Terraform apply
Apply Complete 9 added

2. AWS EC2 VM 프로비저닝 결과를 확인해주세요.

AWS EC2 생성
test-iam-role-ec2-instance-bastion 생성
bucket에 terraform.tfstates 파일생성
DynamoDB Digest생성
terraform.json

 

3. EC2 VM에서 Terraform 세팅을 확인해주세요.

EC2 VM에서 Terraform 설치완료


[과제4] Kubernetes(EKS)를 Terraform으로 프로비저닝 및 확인

1. EKS 프로비저닝을 위한 Terraform Code를 설정해주세요.

eks-cluster.tf

 

2. AWS EKS 프로비저닝을 수행해주세요.

EC2 VM에서 terraform apply
Apply Complete! cluster_endpoing 생성
terraform.tfstate에서 Cluster 정보

 

3. AWS EKS 프로비저닝후 결과 확인을 해주세요.

TES-EKS-IAM-CLUSTER
TEST-EKS-IAM-WORKERNODE
클러스터 생성완료
클러스터 안 노드와 노드그룹
인스턴스에서 추가로 생성되는 노드 인스턴스

 

4. Kubernetes 접속 및 관리 준비사항을 진행해주세요.

kubectl 설치완료
kubectl version --short --client 확인
.kube 디렉토리 안에 config 파일에서 cluster 내용 확인

 

5. Kubernetes 정상 동작하는 것을 확인해주세요.

kubectl cluster-info 정보와 kubectl get namespaces
get pods -A 와 get service -A

 

6. EKS Worker Node 증설을 Terraform으로 수행해주세요.

eks-cluster.tf

eks-cluster.tf 파일에서 생성하는 노드의 크기를 4개로 조정한다. 조정한 후 Auto-scaling을 통한 인스턴스를 생성한다.

terraform plan을 통해 ~ 4로 변경

terraform plan 명령어를 통해서 size가 4로 변경되는 것을 확인 할 수 있다.

기존 cluster에서 4개로 설정된 값에 맞춰 2개가 추가로 생성됨.

EKS에서 기존에 있던 2개에서 4개 사이즈에 맞춰서 2개가 뒤에 추가되는 것을 확인할 수 있다.

kubectl get nodes로 노드가 총 4개

kubectl get nodes 명령어를 통해 총 노드가 4개가 된 것을 볼 수 있다.


[과제5] Terraform 주석을 활용한 기존 리소스 삭제 및 destroy 명령어를 통한 전체 삭제

1. Terraform 주석을 이용한 리소스 삭제를 진행해주세요.

 

2. 기존 Terraform 프로비저닝 리소스를 전체 삭제해주세요.

terraform-codes destroy

 

destroy complete

 

3. 삭제된 리소스 현황을 확인해주세요.

AWS EC2 삭제
VPC 삭제
서브넷 삭제
라우팅 테이블 삭제
인터넷 게이트웨이 삭제
보안그룹 삭제

4. Terraform Backend를 삭제해주세요.

terraform-backend plan --destroy
destroy plan 2to destroy
terraform destroy
destroy complete
S3 Bucket 삭제

 

2주차 과제 끝!

728x90
반응형