โ๏ธ ๊ฒ์์ฐฝ : file store - file store ํด๋ฆญ - ์ฌ์ฉ
โ๏ธ ์ธ์คํด์ค ID : lovemj2022 -์ ํ : ๊ธฐ๋ณธ - ์คํ ๋ฆฌ์ง ์ ํ : HDD - ๋ฆฌ์ : asia-northeast3 - ์์ญ : asia-northeast3-a - ๋คํธ์ํฌ : default - ํ์ผ๊ณต์ ์ด๋ฆ : share - ์ก์ธ์ค์ ์ด : VPC - ๋ง๋ค๊ธฐ
โ๏ธ ์ด๋ฆ : web01 - ๋ฆฌ์ : ์์ธ - ์์ญ : a - ๋จธ์ ์ ํ : e2-micro - ์ด๋ฏธ์ง : CentOS7 - ์ก์ธ์ค ๋ฒ์ : ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ - ๋ฐฉํ๋ฒฝ HTTPํธ๋ํฝ ํ์ฉ - ๊ด๋ฆฌ ์๋ํ :
#!/bin/bash
yum install -y httpd
systemctl enable --now httpd
โ๏ธ ๋ง๋ค๊ธฐ ํด๋ฆญ
โ๏ธ 0. filestore ์ฐ์ธก ์์
๋๋ณด๊ธฐํด๋ฆญ - ๋ง์ดํธ ์ง์ ๋ณต์ฌ
โ๏ธ 1. mobaxterm์์ web01 ์๊ฒฉ์ง์ ํด์ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ
[r2com@web01 ~]$ sudo yum install -y nfs-utils
[r2com@web01 ~]$ sudo mount -t nfs 172.16.141.242:/share /mnt
โ๏ธ 172.16.141.242:/share ; ๋ณต์ฌํ ๋ง์ดํธ์ง์
โ๏ธ 1-2. mobaxtermํตํด์ gcp.tarํ์ผ ํ ๋๋ ํ ๋ฆฌ์ ๋ฃ๊ธฐ.
โ๏ธ 1-3. ๊ทธ ๋ค์, ์๋ ๋ช ๋ น์ด ์ ๋ ฅ.
[r2com@web01 ~]$ ls
gcp.tar
[r2com@web01 ~]$ sudo cp gcp.tar /mnt
[r2com@web01 ~]$ ls /mnt
gcp.tar lost+found
[r2com@web01 ~]$ sudo tar -xvf gcp.tar -C /var/www/html/
โ๏ธ 1. ์ด๋ฆ : web02 - ๋ฆฌ์ : ์์ธ - ์์ญ : a - ๋จธ์ ์ ํ : e2-micro
โ๏ธ 1-1. ์ปจํ
์ด๋ - DEPLOY CONTAINER : halilinux/homepage:v1.0 -์ ํ
โ๏ธ 1-2. ์ปจํ
์ด๋ ์ ํํ๋ฉด ์๋์ผ๋ก OS์ด๋ฏธ์ง ํ ๋น๋จ
โ๏ธ 1-3. ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ , HTTP ํธ๋ํฝ ํ์ฉ - ๋ง๋ค๊ธฐ
โ๏ธ 0. compute engine - ๋จธ์ ์ด๋ฏธ์ง - ๋จธ์ ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : my-machine-image - ์์ค VM ์ธ์คํด์ค : web01 - ์์น ; ๋ฆฌ์ : ์์ธ - CREATE
โ๏ธ 2. ์์ - ์ธ์คํด์ค ๋ง๋ค๊ธฐ
โ๏ธ 2-1. ์ด๋ฆ : ๊ทธ๋๋ก - ๋ฆฌ์ : ์์ธ - ์์ญ : a - ๋ค๋ฅธ๊ฑฐ ๊ทธ๋๋ก ๋๊ณ (web01๊ณผ ๋์ผ) - ๋ง๋ค๊ธฐ
โ๏ธ 0. compute engine - ์ค๋
์ท - ์ค๋
์ท ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : ๊ทธ๋๋ก - ์์ค ์ด๋ฏธ์ง : web02 - ๋ฆฌ์ :์์ธ - ๋ง๋ค๊ธฐ ํด๋ฆญ
โ๏ธ 2. ์์ฑ๋ ์ค๋
์ท ์ด๋ฆ ํด๋ฆญ - ์ธ์คํด์ค ๋ง๋ค๊ธฐ
โ๏ธ 2-1. ์ด๋ฆ : web02-snapshot - ๋ฆฌ์ : ์์ธ - ์์ญ:a - ๋จธ์ ์ ํ : e2-micro - ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ - HTTP ํธ๋ํฝ ํ์ฉ - ๋ง๋ค๊ธฐ
โ๏ธ ๋ถํ
๋์คํฌ ํ์ธ - ์ค๋
์ท์ผ๋ก ๋์ด์์
โ๏ธ 0. compute engine - ์ด๋ฏธ์ง - ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : mjkosa14-img - ์์ค :์ค๋
์ท - ์์ค ์ค๋
์ท : snapshot-2 - ๋ฆฌ์ : ์์ธ - ๋ง๋ค๊ธฐ
โ๏ธ ๋จธ์ ์ด๋ฏธ์ง์ ํ์ฌ ์ด๋ฏธ์ง๋ ๋ค๋ฆ ์ง๊ธ ์ด๋ฏธ์ง๋ custom ์ด๋ฏธ์ง.
โ๏ธ ์คํ์ค์ธ ์ธ์คํด์ค๋ฅผ ์์ค ๋์คํฌ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์ค์งํด์ผํจ.
โ๏ธ 0. compute engine - ์ธ์คํด์ค ํ
ํ๋ฆฟ -์ธ์คํด์ค ํ
ํ๋ฆฟ ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : web01-instance-template-1 - ๋จธ์ ์ ํ : e2-micro
โ๏ธ 1-1. ๋ถํ
๋์คํฌ ; ๋ณ๊ฒฝ ; ์ปค์คํ
์ด๋ฏธ์ง : mjkosa14-img
โ๏ธ 1-2. ์ก์ธ์ค๋ฒ์ : ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ - ๋ฐฉํ๋ฒฝ : HTTP ํธ๋ํฝ ํ์ฉ - ๋ง๋ค๊ธฐ
โ๏ธ 2. ์์
๋๋ณด๊ธฐ - VM๋ง๋ค๊ธฐ
โ๏ธ 2-1. ์ด๋ฆ : web01-instance-template-1 - ๋ฆฌ์ : ์์ธ - ์์ญ : a
โ๏ธ ๋๋จธ์ง ๊ทธ๋๋ก ๋๊ณ , ๋ง๋ค๊ธฐ
โ๏ธ 0. ๊ฒ์์ฐฝ - VPC - VPC๋คํธ์ํฌ - VPC ๋คํธ์ํฌ ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : my-vpc - ์๋ธ๋ท ์์ฑ ๋ชจ๋ ; ์ปค์คํ
- ์ ์๋ธ๋ท ์ด๋ฆ : my-subnet - ๋ฆฌ์ : asia-northsast3 - IP ์คํญ ์ ํ : IPv4 - IP๋ฒ์ : 10.14.0.0/16 - ์๋ฃ - ๋ง๋ค๊ธฐ
โ๏ธ 0. vpc ๋คํธ์ํฌ - ๋ฐฉํ๋ฒฝ - ๋ฐฉํ๋ฒฝ ๊ท์น ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : http - ๋คํธ์ํฌ : my-vpc - ๋์ ํ๊ทธ : http80
โ๏ธ 1-1. ์์ค IPv4 ๋ฒ์ : 0.0.0.0/0 - tcp ์ฒดํฌ , 80์
๋ ฅ - ๋ง๋ค๊ธฐ
compute engine์์ ์งํ
โ๏ธ 1. ์ด๋ฆ : web03 - ๋ฆฌ์ : ์์ธ - ์์ญ : a - ๋จธ์ ์ ํ : e2-micro - ๋ถํ ๋์คํฌ ์ด์์ฒด์ : Ubuntu - ๋ฒ์ : ubuntu 18.04 - ์ก์ธ์ค ๋ฒ์ : ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ - ๋ฐฉํ๋ฒฝ : HTTP
โ๏ธ1-1. ๋คํธ์ํน - ๋คํธ์ํฌ ์ธํฐํ์ด์ค - ๋คํธ์ํฌ : my-vpc -์๋ธ ๋คํธ์ํฌ : my-subnet IPv4 - ์๋ฃ
โ๏ธ1-2. ๊ด๋ฆฌ - ์๋ํ ์์์คํฌ๋ฆฝํธ ์๋์๊ฐ์ด ์ ๋ ฅ - ๋ง๋ค๊ธฐ
#!/bin/bash
apt update
apt install -y apache2
โ๏ธ 2. ์ธ์คํด์ค ๋ชฉ๋ก - web03 ํด๋ฆญ - ์์ - ๋คํธ์ํฌ ํ๊ทธ์ http80์ถ๊ฐ - ์ ์ฅ
๊ฒ์์ฐฝ - cloud DNS - cloud DNS API - ์ฌ์ฉ
โ๏ธ 0. ์ ํญ์์, ๊ฐ๋น์ - my ๊ฐ๋น์ - ๋ง๋ค์ด๋ ๋๋ฉ์ธ์ ๋ค์์๋ฒ ์ค์ ์ง์
- ๋๋ฉ์ธ ํ์ธ( lovemj.shop)
โ๏ธ 1. ๋คํธ์ํฌ ์๋น์ค - cloud DNS - ์์ญ ๋ง๋ค๊ธฐ
โ๏ธ 1-1. ์์ญ์ด๋ฆ : lovemj - DNS์ด๋ฆ : lovemj.shop - ๋ง๋ค๊ธฐ
โ๏ธ 1-2. ๋๋ฉ์ธ ์ด๋ฆ ํด๋ฆญ - NS ์ ํ ๋๋๋ค์ด - 4๊ฐ์ ๋ค์์๋ฒ ๋ณต์ฌํด์ ๊ฐ๋น์ ๋ค์์๋ฒ์ ๋ฃ์ด์ฃผ๊ธฐ.
โ๏ธ 1-3. ์ ์ดํ\๋คํธ์ํฌ ๋ฐ ์ธํฐ๋ท\๋คํธ์ํฌ ์ฐ๊ฒฐ - ์ด๋๋ท - ์ด๋๋ท ์์ฑ - ๊ธฐ๋ณธ์ค์ DNS ์๋ฒ : 8.8.8.8 ๋ณด์กฐ DSN ์๋ฒ : 8.8.4.4
โ๏ธ 1-4. ๋๋ฉ์ธ ์์ญ (lovemj)์ง์
- ๋ ์ฝ๋ ์ธํธ ์ถ๊ฐ
โ๏ธ 1-5. DNS ์ด๋ฆ : blog - IP์ฃผ์ : web01 public IP
โ๏ธ 2. blog.lovemj.shop ์ ์ - web01 ํ์ด์ง ํ์ธ.
โ๏ธ 0. sql - cloud SQL - ์ฌ์ฉ - cloud sql ์ด๋ - ์ธ์คํด์ค ๋ง๋ค๊ธฐ
โ๏ธ 0-1. MYSQL ์ ํ
โ๏ธ 1. ์ธ์คํด์ค ID : mjkosa14 - ๋น๋ฐ๋ฒํธ ์
๋ ฅ - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒ์ : MYSQL 5.7 - ์์ํ ๊ตฌ์ฑ ์ ํ : Development (์์ผ๋ฉด pass) - ๋ฆฌ์ : ์์ธ -๋จ์ผ์์ญ
โ๏ธ 1-1. ๋จธ์ ์ ํ : ๊ฒฝ๋ - vCPU1๊ฐ, 3.75GB
โ๏ธ 1-2. ์ ์ฅ์ฉ๋ : SSD , 10GB
โ๏ธ 1-3. ์ฐ๊ฒฐ : ๋น๊ณต๊ฐ IP : default (web01์ด๋ ์ฐ๊ฒฐํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, web01์ด ์๋ default๋ก.) - ์ฐ๊ฒฐ์ค์ - API์ฌ์ฉ ์ค์ - ์๋์ผ๋ก ํ ๋น๋ IP ๋ฒ์ ์ฌ์ฉ - ๊ณ์ - ์ฐ๊ฒฐ๋ง๋ค๊ธฐ - ์ธ์คํด์ค ๋ง๋ค๊ธฐ
โ๏ธ 0. ์๋ ๋ช ๋ น์ด ์ ๋ ฅ
[r2com@web01 ~]$ sudo setenforce 0
[r2com@web01 ~]$ sudo yum install -y mysql
โ๏ธ 1. mjkosa14 ๊ฐ์ ์ง์ - ๋น๊ณต๊ฐ IP์ฃผ์ ๋ณต์ฌ (10.60.224.3) ์๋์ ๊ฐ์ด ๋ช ๋ น์ด ์ ๋ ฅ, ๋น๋ฐ๋ฒํธ ๋ฃ๊ธฐ
[r2com@web01 ~]$ mysql -h 10.60.224.3 -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 244
Server version: 5.7.37-google-log (Google)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
โ๏ธ 2. ์๋์๊ฐ์ด ์งํ.
MySQL [(none)]> CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> CREATE DATABASE IF NOT EXISTS wordpress;
Query OK, 1 row affected (0.01 sec)
MySQL [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> quit
Bye
[r2com@web01 html]$ sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
[r2com@web01 html]$cd /var/www/html
[r2com@web01 html]$ sudo rm -rf *
[r2com@web01 html]$ sudo unzip /home/r2com/wordpress-4.8.2-ko_KR.zip
[r2com@web01 html]$ sudo mv ./wordpress/* .
[r2com@web01 html]$ sudo chown -R apache:apache /var/www/*
[r2com@web01 html]$ sudo systemctl restart httpd
โ๏ธ ์๋ํ๋ ์ค์ค์น ํธ์คํธ : ๋น๊ณต๊ฐ IP -> 10.60.224.3
๐โ๏ธโ๏ธ๐ขโญ๏ธ๐๐
์ด๋ฏธ์ง๋ ๊ณง ์ธ์คํด์ค๋ก ๋ง๋ค์ด์ง. ์ค๋ ์ท์ ์กฐ๊ธ ๋ ๊ฑฐ์ณ๊ฐ์ผํ ๋จ๊ณ๊ฐ ์๋ค.
r2com@web02-snpashot ~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe7eba3b900c halilinux/homepage:v1.0 "nginx -g 'daemon ofโฆ" 46 minutes ago Up 3 minutes klt-web02-xbee
์ด๋ฏธ์ง๋ณด๋ค ํ ํ๋ฆฟ์ด ๋ ๋ง์ด ์ฐ์. ํ ํ๋ฆฟ์ ์คํ ์ค์ผ์ผ๋ง๊ณผ ์ฐ๋์ด ๋๋ค.
๋ฐฉํ๋ฒฝ ๊ท์น์ ์๋ธ๋ท ๋จ์๋ก ์ด์.
์์์ ๋ถํฐ ์์๋๋ก ์๋, ๋ง์ง๋ง๊น์ง ํ์ฉ๋๋ ๋ถ๋ถ ์์ผ๋ฉด deny ๋จ. ํ์ฌ 80ํฌํธ๋ ์ด๋ ค์์ง ์์ ์ํ.
์ด๋์ ์ถ๋ฐํ๋ ์ง ํ์ฉํ๊ฒ ๋ค.
vpc ๋ฐฉํ๋ฒฝ ๊ท์น ์ถ๊ฐํ ์ ์ฉ ์ํด์๋ ์ธ์คํด์ค์์ ๋คํธ์ํฌ ํ๊ทธ ์ถ๊ฐํด์ฃผ์ด์ผ ํจ.