<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}"
<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
감사합니다.