본문 바로가기

Cloud/GCP

10. GCP : Cloud Load Balancing

1. Cloud Load Balancing

1.1. 인스턴스 생성

 

6. GCP : Filestore

GCP에서 제공하는 Filestore의 이점 클라우드로의 신속한 마이그레이션 Filestore를 사용하면 다시 작성하거나 다시 설계하지 않고도 애플리케이션을 클라우드로 마이그레이션할 수 있어 마이그레이

mh-itstudy.tistory.com

실습 전 위 포스팅 참고하여 웹서버가 설치된 인스턴스 두 대 생성

인스턴스 생성 시 아래 스크립트 넣어서 웹 서버 설치

#! /bin/bash
sudo su -
setenforce 0
yum install -y httpd
systemctl start httpd
systemctl enable httpd

 

 

1.2. 이미지 생성

※ Compute Engine → 이미지

 

※ 이미지 만들기

 

※ 이름, 소스 디스크(인스턴스), 리전 설정

   → 선택한 인스턴스가 실행되고 있는 상태에서 생성 시 인스턴스 계속 실행 체크

 

인스턴스 만들기

 

 

1.3. 인스턴스 템플릿 생성

Compute Engine → 인스턴스 템플릿

 

인스턴스 템플릿 만들기

 

이름 및 머신 유형 선택

부팅 디스크 위에서 생성한 커스텀 이미지로 설정

 

네트워크 설정 (LoadBalancer 생성 시 외부 IP가 연결 되므로 여기서 외부 IP는 따로 설정해 주지 않는다.)

 설정 완료 했으면 좌측 하단에 만들기 선택하여 생성

 

 

1.4. 인스턴스 그룹 생성

Compute Engine → 인스턴스 그룹

 

인스턴스 그룹 만들기

 

비관리형 인스턴스 그룹 선택 후 이름, 리전 설정

 

네트워크, 인스턴스 선택 후 만들기

 

 

1.5. 부하분산 생성

네트워크 서비스 → 부하 분산

 

부하 분산기 만들기

 

HTTP(S) 부하 분산으로 구성

 

※ 연결, 배포 범위 선택 후 계속

 

이름, 리전 설정 / 네트워크 선택 후 서브넷 예약

 

서브넷 추가 - 이름 설정 후 IP 주소 범위는 10.0.31.0/24 로 준다.

 

프론트엔드 구성 - 이름, 프로토콜 네트워크 설정 후 완료

 

백엔드 구성 → 백엔드 서비스 만들기

 

백엔드 서비스 생성 - 이름, 유형, 프로토콜 설정

 

위에서 생성한 인스턴스 그룹 선택 후 포트, 사용률, 용량 설정

 

상태 확인 생성

 

상태 확인 생성 - 이름, 프로토콜/포트, 요청 경로 설정 후 저장

 

다시 백엔드 설정으로 돌아와서 위에서 생성한 상태확인으로 설정 후 만들기

 

라우팅 규칙 - 기본 설정

 

검토 후 부하 분산 만들기

 

 

1.6. Test

※ 부하분산 → 프런트엔드 → public IP 확인

 

웹 브라우저에서 위에서 확인한 public IP 입력하여 접속

 

 

 


2. Load Balancing 실습

2.1. 인스턴스 생성

※ 아래 스크립트로 초기 설정하여 인스턴스 생성

#! /bin/bash
sudo su -
setenforce 0
yum install -y httpd
systemctl start httpd
yum install -y wget
yum install -y epel-release yum-utils
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php73
yum install -y php php-cli php-mysql
wget https://ko.wordpress.org/latest-ko_KR.tar.gz
tar zxvf latest-ko_KR.tar.gz
cp -a wordpress/* /var/www/html/
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php/g' /etc/httpd/conf/httpd.conf
chown apache.apache /var/www/html/* >> mhan.txt
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sed -i 's/database_name_here/wordpress/g' /var/www/html/wp-config.php
sed -i 's/username_here/root/g' /var/www/html/wp-config.php
sed -i 's/password_here/It12345!/g' /var/www/html/wp-config.php
sed -i 's/localhost/10.0.16.5/g' /var/www/html/wp-config.php
cat > /var/www/html/health.html << EOF
<html><body><h1>MHAN WEB SERVER_health-1</h1></body></html>
EOF
systemctl restart httpd
systemctl enable httpd

 

※ 인스턴스 생성 확인

 

※ 웹 브라우저에서 외부 IP 입력하여 접속 테스트 (워드 프레스 페이지 정상적으로 출력 되는지 확인)

 

 

2.2. 이미지 생성

※ 2.1에서 생성한 인스턴스 이용하여 이미지 생성

 

 

2.3. 인스턴스 템플릿 생성

2.2에서 생성한 이미지 이용하여 템플릿 생성

 

 

2.4. 템플릿 이용하여 인스턴스 생성

※ 2.3에서 생성한 템플릿 이용하여 web-tem

 

인스턴스 생성 확인

 

 

2.5. 인스턴스 그룹 생성

인스턴스 그룹 생성

 

인스턴스 그룹 생성 시 위에서 생성한 인스턴스 두 대 선택

 

2.6. 부하 분산기 생성

부하 분산기 생성 후 프런트 엔드에서 외부 IP 확인

 

2.7 Test

health.html 파일 이용하여 로드 발란싱 확인

 

 


Reference.

https://cloud.google.com/compute/docs/instance-groups?hl=ko 

 

인스턴스 그룹  |  Compute Engine 문서  |  Google Cloud

의견 보내기 인스턴스 그룹 인스턴스 그룹은 단일 항목으로 관리할 수 있는 가상 머신(VM) 인스턴스의 모음입니다. Compute Engine은 관리형 및 비관리형이라는 두 가지 VM 인스턴스 그룹을 제공합니

cloud.google.com

 

https://cloud.google.com/load-balancing/docs/choosing-load-balancer?hl=ko 

 

부하 분산기 선택  |  Google Cloud

Google Cloud 부하 분산기를 선택할 때 다음 요소를 고려합니다.

cloud.google.com

 

'Cloud > GCP' 카테고리의 다른 글

9. GCP : SQL & SQL-Wordpress 연결  (0) 2022.07.05
8. GCP : Cloud Storage  (0) 2022.07.05
7. GCP : Cloud DNS  (0) 2022.07.05
6. GCP : Filestore  (0) 2022.07.05
5. GCP : 인스턴스 CLI로 생성 및 접속 (gcloud CLI)  (0) 2022.07.05