brunch

You can make anything
by writing

C.S.Lewis

by Master Seo May 04. 2022

188. 테라폼- GCP-Regional LB, 이론


<1> 테라폼으로 LB 생성을 설명하는 이론 과정이다.

<2> GCP 환경 설정

<3> 테라폼 적용

<4>  확인





<1> 테라폼으로 LB 생성을 설명하는 이론 과정이다.


작업 순서에 대해 이해 시키는게 목적이다.

이론 과정이다.

테라폼으로  LB 만들어 보자

regional TCP load balancer

regional internal TCP load balancer

global HTTP load balancer 

global HTTPS content-based load balancer




<2> GCP 환경 설정


1

gcloud auth list

승인


2

gcloud config list project


$ gcloud config list project

[core]

project = test2-349205


3

export GOOGLE_PROJECT=$(gcloud config get-value project)




<3> 테라폼 적용


테라폼 코드 작성

서버와 로드밸런서, 네트워크를  만들어야 겠구나 !


각각의  TF 파일을 만들어 사용하자.

main.tf 파일

네트워크 파일

output file

provider file

변수 파일



1

main.tf 파일


모듈

인스턴스 테믈릿

매니지드 인스턴스 그룹 - VM 인스턴스 2개


모듈

로드밸런서


2

network.tf 파일


리소스

네트워크

서브넷

라우터

NAT

 

3

output.TF

lb IP


4

PROVIDER.TF

PRVIDER  GOOGLE


5

변수.TF


변수

리전

프로젝트 id

이미지 

이미지 프로젝트


6

버전.TF

테리폼 버전



7

로드밸런서 설정법


https://cloud.google.com/load-balancing/docs/network



https://cloud.google.com/load-balancing/docs/internal


https://cloud.google.com/load-balancing/docs/internal#backend-service


글로벌

https://cloud.google.com/load-balancing/docs/https


전역 전달 규칙

https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts


2

초기화

terraform init


3

계획

terraform plan


Enter your GCP Project ID, when asked to 'Enter a value'.   test2-349205


4

적용

terraform apply


Do you want to perform these actions?

  Terraform will perform the actions described above.

  Only 'yes' will be accepted to approve.

  Enter a value:  yes


Apply complete! Resources: 21 added, 0 changed, 0 destroyed.


Outputs:

load_balancer_default_ip = "34.132.64.91"



5

EXTERNAL_IP=$(terraform output | grep load_balancer_default_ip | cut -d = -f2 | xargs echo -n)


6

echo "http://${EXTERNAL_IP}"


topasseoseo1@cloudshell:~/terraform-google-lb/examples/basic (secret-zephyr-348001)$ echo "http://${EXTERNAL_IP}"

http://35.184.134.38




<4>  확인



1

VPC

커스텀  VPC


2

cloud nat  1개

3

LB 3개




4

VM인스턴스 2개

(인스턴스 그룹 1개)


5

참고 

인스턴스 그룹을 삭제해야 서버 삭제가 가능하다.

인스턴스 그룹이 있으면 Auto saling 처럼  VM 인스턴스가 계속 살아난다.




https://brunch.co.kr/@topasvga/2419


감사합니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari