brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 26. 2021

153. Cloud SQL을 사용해 보자-6/8

<1> VM 인스턴스 1대 생성

<2> cli로  스토리지 만들기 

<3> Cloud SQL Instance 생성하기

<4> ec2 에  웹서버 설정

<5> php 수정

<6> 작업후  VM 인스텐스와 SQL 삭제 필수 !!!!




<1> VM 인스턴스 1대 생성


1

vm 1대 생성


game-gcp-web01

서울


2

부팅 디스크 > 변경 

운영체제 변경

Debian Linux11


3

http, https 허용


4

네트워크,디스크,보안,관리,단독 테넌시 클릭 


관리

자동화 

시작 스크립트 

#! /bin/bash

apt-get update

apt-get install apache2 php php-mysql -y

service apache2 restart


만들기






<2> cli로  스토리지 만들기 


1

오른쪽 위 클라우드 쉴 사용하기


2

export LOCATION=US

or

export LOCATION=EU

export LOCATION=ASIA


3

만들기

gsutil mb -l $LOCATION gs://$DEVSHELL_PROJECT_ID

Creating gs://secret-zephyr-348001/...


4

로컬에 이미지 다운 받기

gsutil cp gs://cloud-training/gcpfci/my-excellent-blog.png my-excellent-blog.png


5

올리기

gsutil cp my-excellent-blog.png gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png


6

ACL 허용하기

gsutil acl ch -u allUsers:R gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png

Updated ACL on gs://secret-zephyr-348001/my-excellent-blog.png



7

스토리지 접속 URL 확인


https://storage.googleapis.com/secret-zephyr-348001/my-excellent-blog.png





<3> Cloud SQL Instance 생성하기


1

메뉴 > sql  로 검색


2

인스턴스 만들기  

데이터베이스 엔진 선택에서 MySQL


3

web-gcp-cloudsql-dev

g1!

dev

서울

인스턴스 만들기

생성하기 

5분 걸림


4

디폴트로 public ip 할당됨. 

이상하네 -- DB인데

Overview 아래에서 공인  ip확인

35.224.250.60



5

사용자 > 사용자 계정 추가 >

blogdbuser

g1!



6

연결 >  네트워크 추가 

web front end

웹서버 vm 공인 ip를 넣는다.

34.64.137.114/32

완료

저장





<4> ec2 에  웹서버 설정


1

sudo service apache2 restart


passeoseo1@game-gcp-web01:~$ ps -ef |grep apache

www-data    9214       1  0 Apr27 ?        00:00:00 /usr/bin/htcacheclean -d 120 -p /var/cache/apache2/mod_cache_disk -l 300M -n

root        9918       1  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

www-data    9920    9918  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

www-data    9921    9918  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

www-data    9922    9918  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

www-data    9923    9918  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

www-data    9924    9918  0 00:18 ?        00:00:00 /usr/sbin/apache2 -k start

topasse+    9929    9900  0 00:18 pts/0    00:00:00 grep apache


2

cd /var/www/html


sudo su -


vi index.php

<html>

<head><title>Welcome to my excellent blog</title></head>

<body>

<h1>Welcome to my excellent blog</h1>

<?php

 $dbserver = "CLOUDSQLIP";

$dbuser = "blogdbuser";

$dbpassword = "DBPASSWORD";

$conn = new mysqli($dbserver, $dbuser, $dbpassword);

if (mysqli_connect_error()) {

        echo ("Database connection failed: " . mysqli_connect_error());

} else {

        echo ("Database connection succeeded.");

}

?>

</body></html>



3

sudo service apache2 restart


4

웹브라우저로 서버 접속 해보기

http://35.224.250.60/index.php







<5> php 수정


스토리지에 올려진 이미지를 가져오자~


1

vi index.php


<img src="https://storage.googleapis.com/secret-zephyr-348001/my-excellent-blog.png">



2

root@game-gcp-web01:/var/www/html# more index.php 

<html>

<head><title>Welcome to my excellent blog</title></head>

<body>

<h1>Welcome to my excellent blog</h1>

<?php

 $dbserver = "34.64.179.61";

$dbuser = "blogdbuser";

$dbpassword = "gn1!";

$conn = new mysqli($dbserver, $dbuser, $dbpassword);

if (mysqli_connect_error()) {

        echo ("Database connection failed: " . mysqli_connect_error());

} else {

        echo ("Database connection succeeded.");

}

?>

<p>

<img src="https://storage.googleapis.com/secret-zephyr-348001/my-excellent-blog.png">

</body></html>

root@game-gcp-web01:/var/www/html# 




3

sudo service apache2 restart


4

웹브라우저로 서버 접속 해보기

http://35.224.250.60/index.php







<6> 작업후  VM 인스텐스와 SQL 삭제 필수 !!!!


삭제시 인스턴스 ID는  =  서버 이름이다.






다음 공부


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





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


감사합니다.



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