퀵렙 에센셜을 공부하고 정리한 글입니다.
<1> cli로 현재 계정 현황 확인
<2> 웹 서버 2대 인스턴스 만들자
<3> Lb 만들자
<4> 접속 확인
<5> consol에서 설정이 제대로 되었는지 확인해 보자
<1> cli로 현재 계정 현황 확인
1. cloud config list
오른쪽위 Cloud Shell 실행
gcloud config list
2. 기본 영역 설정
Cloud Shell 기본 영역을 설정합니다.
gcloud config set compute/zone us-central1-a
gcloud config list
3. 기본 리전 설정.
gcloud config set compute/region us-central1
gcloud config list
4. project id 설정하기
gcloud config set project PROJECT_ID
gcloud config set project seo-pj-277509
gcloud config list project
<2> 웹 서버 2대 인스턴스 만들자
1. 웹 서버 만드는 순서
인스턴스 생성시 사용하는 시작 스크립트
시작 스크립트를 사용하기 위한 인스턴스 템플릿
대상 풀 만들기
템플릿으로 관리형 인스턴스 그룹 만들기
2.. 인스턴스 생성시 사용하는 시작 스크립트
vi startup.sh
#! /bin/bash
apt-get update
apt-get install -y nginx
service nginx start
sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html EOF
3. 시작 스크립트를 사용하는 인스턴스 템플릿을 만들기.
gcloud compute instance-templates create nginx-template --metadata-from-file startup-script=startup.sh
4. 대상 풀 만들기
gcloud compute target-pools create nginx-pool
gcloud compute target-pools create nginx-pool1
5. 템플릿으로 관리형 인스턴스 그룹 만들기
gcloud compute instance-groups managed create nginx-group --base-instance-name nginx --size 2 --template nginx-template --target-pool nginx-pool
// nginx- 로 시작되는 2개의 가상 머신 인스턴스가 생성됨
6. Compute Engine 인스턴스 목록 보기
gcloud compute instances list
7. 포트 80으로 머신과 연결할 수 있도록 방화벽 허용
gcloud compute firewall-rules create www-firewall --allow tcp:80
추가 필요시
gcloud compute firewall-rules create www-firewall1 --allow tcp:80
8. 외부 IP 주소로 사이트 접속 가능.
<3> Lb 만들자
1. 인스턴스 그룹을 대상으로 하는 L3 네트워크 부하 분산기를 만든다.
gcloud compute forwarding-rules create nginx-lb --region us-central1 --ports=80 --target-pool nginx-pool
2. 프로젝트의 모든 Google Compute Engine 전달 규칙의 목록을 출력 한다.
gcloud compute forwarding-rules list
3. LB IP로 접속 가능
4. health check 생성한다.
gcloud compute http-health-checks create http-basic-check
5. 인스턴스 그룹에 관한 HTTP 서비스를 정의하고 관련 포트에 포트 이름을 매핑한다.
부하 분산 서비스가 지정된 포트로 트래픽을 전달합니다.
gcloud compute instance-groups managed set-named-ports nginx-group --named-ports http:80
6. 백엔드 만든다,
gcloud compute backend-services create nginx-backend --protocol HTTP --http-health-checks http-basic-check --global
7. 백엔드에 인스턴스 그룹 추가
gcloud compute backend-services add-backend nginx-backend --instance-group nginx-group --instance-group-zone us-central1-a --global
8. 모든 요청을 내 인스턴스로 전달하는 기본 URL 맵을 만든다.
gcloud compute url-maps create web-map --default-service nginx-backend
참고 : 요청된 URL에 따라 트래픽을 여러 인스턴스로 보내려면 콘텐츠 기반 라우팅을 참조.
9. HTTP 프록시 만들어 URL 맵을 참고한다.
gcloud compute target-http-proxies create http-lb-proxy --url-map web-map
10. 포워딩 룰을 만든다. 들어오는 트래픽 처리.
gcloud compute forwarding-rules create http-content-rule --global --target-http-proxy http-lb-proxy --ports 80
11. 구성이 적용 확인, 적용 되는데 5분 걸림
gcloud compute forwarding-rules list
http-content-rule의 IP_ADDRESS 확인
<4> 접속 확인
5분후 공인IP 로 접속확인
<5> consol에서 설정이 제대로 되었는지 확인해 보자
VM인스턴스
인스턴스 그룹
인스턴스 템플릿
방화벽 규칙
LB 확인
부하 분산기
백엔드
프론트 엔드
감사합니다.