GCP ๊ณ์ ์์ฑ ํ ์งํ
โ๏ธ 0. ์ผ์ชฝ ์๋จ - My First Project - ์ํ๋ก์ ํธ
๐ข์ผ์ชฝ ์๋จ์ ์์ผ๋ฉด, ํ - ๋์๋ณด๋ ์ง์ ํด์ ์งํ.
โ๏ธ 1. ํ๋ก์ ํธ ์ด๋ฆ :gcp-lovemj2022 - ์์น : ๊ทธ๋๋ก - ๋ง๋ค๊ธฐ ํด๋ฆญ
์๋ก ๋ง๋ค์ด๋ ๊ตฌ๊ธ ๊ณ์ ์ถ๊ฐ
โ๏ธ 0. ๋ฉ๋ด - IAM ๋ฐ ๊ด๋ฆฌ์ - IAM - ์๋จ ์ถ๊ฐ
โ๏ธ 1. ์ ์ฃผ ๊ตฌ์ฑ์ : ๊ตฌ์ฑ์์ผ๋ก ์ถ๊ฐํ ์ด๋ฉ์ผ ๊ณ์ ์
๋ ฅ - ์ญํ ์ ํ : ๊ธฐ๋ณธ - ํธ์ง์
โ๏ธ 2. ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ gcp ์ ์, ๊ตฌ์ฑ์ ์ถ๊ฐํ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ - ์ฐ์ธก ์๋จ ์ฝ์ ํด๋ฆญ
โ๏ธ 2-1. ๋์ํ๊ณ ๊ณ์ํ๊ธฐ
โ๏ธ 2-2. ์๋จ ํ๋ก์ ํธ ์ ํ - ์์ฑํด๋ ํ๋ก์ ํธ๋ก ์ง์
โ๏ธ 3. ํธ์ง์ ๊ณ์ - ๊ฒฐ์ - ๊ฐ์ - ๋ด ๊ฒฐ์ ๊ณ์ ID , ์์ ์ ๊ณ์ - ๊ฒฐ์ - ๊ฐ์ - ๋ด ๊ฒฐ์ ๊ณ์ ID ์ผ์น์ฌ๋ถ ํ์ธ
๐ข ํธ์ง์(์์ ์ ์๋ ์ฌ์ฉ์)๋ ํฌ๋ ๋ง ์ ๋ณด ํ์ธ ๋ถ๊ฐ.
โ๏ธ 1. compute Engine API - ์ฌ์ฉ ํด๋ฆญ - ์ธ์คํด๊ทธ ๋ง๋ค๊ธฐ - ์ด๋ฆ : web01 -๋ฆฌ์ : ์์ธ - ์์ญ : a
โ๏ธ 2. ๋จธ์ ๊ตฌ์ฑ - ์๋ฆฌ์ฆ :E2 - ๋จธ์ ์ ํ : e2.micro
โ๏ธ 3. ๋ถํ
๋์คํฌ - ๋ณ๊ฒฝ ํด๋ฆญ - ์ด์์ฒด์ : CentOS - ๋ฒ์ : CentOS 7
โ๏ธ 4. ID ๋ฐ ์ก์ธ์ค ; ์ก์ธ์ค ๋ฒ์ : ๋ชจ๋ CloudAPI์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ
โ๏ธ 5. ๋ฐฉํ๋ฒฝ์ HTTP ์ถ๊ฐ
โ๏ธ 6. ์ด์ ์์ฑํ .sshํด๋ ์ง์
, ๊ณต๊ฐํค ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ ๋ณต์ฌ - SSHํค 1 ์ ๋ถ์ฌ๋ฃ๊ธฐ.
โ๏ธ 7. ๊ด๋ฆฌ -์๋ํ ์์ ์คํฌ๋ฆฝํธ์ ์๋ ๋ช
๋ น์ด ์
๋ ฅ - ๋ง๋ค๊ธฐํด๋ฆญ
#!/bin/bash
yum install -y httpd
systemctl enable --now httpd
echo "<h1>WEB01</h1>" > /var/www/html/index.html
โ๏ธ 8. ์๊ฒฉ ์ ์ ์งํ - ์ธ๋ถ ip ์
๋ ฅ, ์ ์ ๋ค์์ ssh ํผ๋ธ๋ฆญํค ๋ฉ๋ชจ์ฅ ๋งจ ๋ง์ง๋ง ์ค์ ์๋ @ ์ ์ ์ ๋ค์ ์
๋ ฅ.
๐ข ์ฃผ์์ฌํญ : ๋ฐฉํ๋ฒฝ ์ด๋ ค์์ง๋ง ์ค์ ๋ก๋ ๋์ํ์ง ์์. GCP ์ฝ์์์ ์ค์ ํ๋ ๊ฒ์ผ๋ก ์ ์ฉ๋จ. CetnOS์ ํฌํธ ์ด๋ ค์์ง ์๋๋ผ๋ GCP์ 80ํฌํธ ์ด๋ ค์๊ธฐ ๋๋ฌธ์ ์น๋ธ๋ผ์ฐ์ ๋ก ์ ์ ๊ฐ๋ฅ.
โ๏ธ ์๋ ๋ช ๋ น์ด๋ก vi ํธ์ง๊ธฐ ์คํ ํ, listen 80 ์ 8080์ผ๋ก ๋ณ๊ฒฝ - restart.
[r2com@web01 html]$ sudo vi /etc/httpd/conf/httpd.conf
33 #
34 # Listen: Allows you to bind Apache to specific IP addresses and/or
35 # ports, instead of the default. See also the <VirtualHost>
36 # directive.
37 #
38 # Change this to Listen on specific IP addresses as shown below to
39 # prevent Apache from glomming onto all bound IP addresses.
40 #
41 #Listen 12.34.56.78:80
42 Listen 8080
[r2com@web01 html]$ sudo systemctl restart httpd
โ๏ธ ํฌํธ๋ฒํธ ํ์ธ
[r2com@web01 html]$ ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
TIME-WAIT 0 0 10.178.0.2:42042 172.217.25.170:443
ESTAB 0 0 10.178.0.2:32784 169.254.169.254:80
ESTAB 0 0 10.178.0.2:22 123.142.252.25:64783
TIME-WAIT 0 0 10.178.0.2:50994 172.217.161.234:443
ESTAB 0 0 10.178.0.2:55792 142.250.76.138:443
ESTAB 0 0 10.178.0.2:35764 172.217.161.202:443
ESTAB 0 0 10.178.0.2:32806 169.254.169.254:80
LISTEN 0 128 [::]:8080 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
๐ข ํ์ง๋ง, 8080์ผ๋ก ์ง์ ์ ๋จ. GCP ์ฝ์์์ ๋ฐฉํ๋ฒฝ ์ค์ ํ์.
โ๏ธ 0. ์ผ์ชฝ ๋ฉ๋ด - VPC ๋คํธ์ํฌ - ๋ฐฉํ๋ฒฝ - ๋ฐฉํ๋ฒฝ ๊ท์น ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : http8080 - ์ฐ์ ์์ : 1001
โ๏ธ 0. compute engine - vm ์ธ์คํด์ค - vm ์ด๋ฆ ํด๋ฆญ - ์์
โ๏ธ 1. ๋คํธ์ํน - ๋คํธ์ํฌ ํ๊ทธ- ๋ฐฉํ๋ฒฝ์์ ์ค์ ํ ํ๊ทธ ์ด๋ฆ + ์ํฐ - ์ ์ฅ
๐ข ์น๋ธ๋ผ์ฐ์ ๋ก ์ ์ ๊ฐ๋ฅํ์ง ํ์ธ ํ ํ, ๋ค์ ํฌํธ๋ฒํธ 80์ผ๋ก ์๋ณตํ์์.
โ๏ธ 0. cumpute engine - ์์ ๋๋ณด๊ธฐ - ์ธ์คํด์ค ๋ง๋ค๊ธฐ
โ๏ธ 1. ์ด๋ฆ : web02 - ๋ฆฌ์ : ์์ธ - ์์ญ : a - ์๋ฆฌ์ฆ : E2 -๋จธ์ ์ ํ : e2.micro
โ๏ธ 1-1.๋ถํ
๋์คํฌ : Debian
โ๏ธ 1-2. ID ๋ฐ API์ก์ธ์ค : ๋ชจ๋ cloud API์ ๋ํ ์ ์ฒด ์ก์ธ์ค ํ์ฉ - ๋ฐฉํ๋ฒฝ : HTTP ํธ๋ํฝ ํ์ฉ - ๋คํธ์ํน, ๋์คํฌ, ๋ณด์, ๊ด๋ฆฌ, ๋จ๋ ํ ๋์ ๋๋๋ค์ด
โ๏ธ 1-3. ๊ด๋ฆฌ - ์๋ํ ์์ ์คํฌ๋ฆฝํธ : ์๋ ๋ช ๋ น์ด ์ ๋ ฅ - ๋ง๋ค๊ธฐ ํด๋ฆญ
#!/bin/bash
apr update
apt install -y apache2
echo "<h1>WEB02</h1>" > /var/www/html/index.html
โ๏ธ Compute Engine - ์ค์ - ๋ฉํ๋ฐ์ดํฐ - SSHํค - ssh ํค ์ถ๊ฐ - ํผ๋ธ๋ฆญ ํค ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ ssh ํค ์ ๋ ฅ - ํ๋จ ์ ์ฅ ํด๋ฆญ
โ๏ธ ๊ทธ ๊ฒฐ๊ณผ key์ ์์ผ๋ก ์๊ฒฉ์ ์ ๊ฐ๋ฅ.
โ๏ธ compute Engine - ์ธ์คํด์ค ๊ทธ๋ฃน - ์ธ์คํด์ค ๊ทธ๋ฃน ๋ง๋ค๊ธฐ - ์ผ์ชฝ ๋งจ ๋ง์ง๋ง New unmanaged instance group ํด๋ฆญ
โ๏ธ ์ด๋ฆ : instance-group-1 - ์์น; ๋ฆฌ์ : ์์ธ - ์์ญ : a
โ๏ธ Network : default - ์๋ธ ๋คํธ์ํฌ : default - VM ์ธ์คํด์ค :web01,02
โ๏ธ ํฌํธ ๋งคํ- ํฌํธ์ถ๊ฐ ํฌํธ ์ด๋ฆ 1: bk-port - ํฌํธ๋ฒํธ 1 : 80 - ๋ง๋ค๊ธฐ
โ๏ธ 0. ๊ฒ์์ฐฝ : ๋คํธ์ํฌ ์๋น์ค - ๋คํธ์ํฌ ์๋น์ค ํด๋ฆญ - ๋ถํ๋ถ์ฐ - ๋ถํ๋ถ์ฐ๊ธฐ - ๋ถํ ๋ถ์ฐ๊ธฐ ๋ง๋ค๊ธฐ - HTTP ๋ถํ๋ถ์ฐ - ๊ตฌ์ฑ์์ ํด๋ฆญ
โ๏ธ 1. default check- ๊ณ์
โ๏ธ 1-1. ์ด๋ฆ : my -slb - ๋ฐฑ์๋ ๊ตฌ์ฑ : ๋ฐฑ์๋ ์๋น์ค ๋ง๋ค๊ธฐ - ์ด๋ฆ : bk-svc - ๋ฐฑ์๋ ์ ํ : ์ธ์คํด์ค ๊ทธ๋ฃน
โ๏ธ 1-2. ๋ฐฑ์๋ - ์ธ์คํด์ค ๊ทธ๋ฃน : instance-group-1- ๊ธฐ์กดํฌํธ ์ด๋ฆ ์ฌ์ฉ - ์๋ฃ
โ๏ธ 1-3. ์ํํ์ธ - ์ํ ํ์ธ ์์ฑ - ์ด๋ฆ : my-health - ํ๋กํ ์ฝ : HTTP - ํฌํธ : 80-์ ์ฅ - ๋ง๋ค๊ธฐ
โ๏ธ 2. ํ๋ฐํธ์๋ ๊ตฌ์ฑ ํด๋ฆญ - ์ด๋ฆ : frontend - ์๋ฃ - ๋ง๋ค๊ธฐ
โ๏ธ 3. my-slbํด๋ฆญ - ํ๋ฐํธ์๋ IP ๋ณต์ฌ - ์น ๋ธ๋ผ์ฐ์ ์์ ๋ค์ด๊ฐ๊ธฐ -> ๋ผ์ด๋๋ก๋น
โ๏ธ 0. ๊ฒ์์ฐฝ : cloud storage - ๋ฒํท ๋ง๋ค๊ธฐ
โ๏ธ 1. ๋ฒํท ์ด๋ฆ : kosa14(์ ๋ํฌ) - ๊ณ์ -๋ฐ์ดํฐ ์ ์ฅ ์์น ์ ํ : ๋ฆฌ์ : ์์ธ - ๊ณ์
โ๏ธ 2. ๋ฐ์ดํฐ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ํด๋์ค ์ ํ : standard - ๊ณ์ - ๊ฐ์ฒด ์ก์ธ์ค๋ฅผ ์ ์ดํ๋ ๋ฐฉ์ ์ ํ ;default - ๊ณ์ - ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ ์ ํ : default - ๋ง๋ค๊ธฐ
โ๏ธ 3. ํด๋๋ง๋ค๊ธฐ - ์ด๋ฆ : files- ๋ง๋ค๊ธฐ
โ๏ธ 3-1. ํ์ผ ์
๋ก๋ - ์ค๋นํด๋ gcp.tar ์ ํ
[r2com@web01 html]$ sudo yum install -y wget
โ๏ธ ๊ถํ - ์ถ๊ฐ
โ๏ธ ๊ตฌ์ฑ์ : allUsers, ์ ์ฅ์ ๊ธฐ์กด ๊ฐ์ฒด ๋ฆฌ๋ - ์ ์ฅ
โ๏ธ ๊ณต๊ฐ ์ก์ธ์ค - URL ๋ณต์ฌ
โ๏ธ tar ํ์ผ ์น root ํด๋์ ์์ถํด์ .
[r2com@web01 ~]$ sudo tar -xvf gcp.tar -C /var/www/html/
compute engine - ๋์คํฌ -
๋ง๋ค๊ธฐ ํด๋ฆญ
vm ์ธ์คํด์ค - web01 ์ง์
- ์๋จ ์์ ํด๋ฆญ
[r2com@web01 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
โโsda1 8:1 0 200M 0 part /boot/efi
โโsda2 8:2 0 19.8G 0 part /
sdb 8:16 0 10G 0 disk
[r2com@web01 ~]$ sudo mkfs -t ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[r2com@web01 ~]$ sudo mount /dev/sdb /mnt
[r2com@web01 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 486M 0 486M 0% /dev
tmpfs 494M 0 494M 0% /dev/shm
tmpfs 494M 6.7M 488M 2% /run
tmpfs 494M 0 494M 0% /sys/fs/cgroup
/dev/sda2 20G 2.6G 18G 13% /
/dev/sda1 200M 12M 189M 6% /boot/efi
tmpfs 99M 0 99M 0% /run/user/1000
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 9.8G 37M 9.2G 1% /mnt
[r2com@web01 ~]$ sudo cp gcp.tar /mnt
[r2com@web01 ~]$ ls /mnt
gcp.tar lost+found
๐โ๏ธโ๏ธ๐ขโญ๏ธ๐๐
CPU, RAM, SSD, OS, NET ์ค์
Google Compute Engine
netfilter -> iptabled -> firewalld
์ฐ์ ์์
1. netfilter
2. iptabled
3. firewalld
=> firewallld๊ฐ ๋ค ๋ง๊ณ ์๋๋ผ๋ iptabled๊ฐ ๋ค ์ด๊ณ ์์ผ๋ฉด ์ด๊ณ ์๋ ๊ฒ.
GCP CentOS web01 OS ์์ค์ ๋ฐฉํ๋ฒฝ ALL ACCEPT ํ์ธ
[r2com@web01 html]$ sudo iptables -L
โ๏ธ ๊ฐ์ฒด์คํ ๋ฆฌ์ง ; wget, url
aws ; s3
azure ; blob
gcp ; coloud storage
โ๏ธ ๋ธ๋ก ์คํ ๋ฆฌ์ง ; os app c:/ root
aws ; EBS
azure ; azure disk
gcp ; persistent Disk
โ๏ธ ํ์ผ ์คํ ๋ฆฌ์ง ; smb :servermessage block , nfs, mount
aws ; efs
azure ; azure files
gcp ; filestore