โ๏ธ + ํ์๋จธ์ ์ ๊ธฐ๋ฅ
โ๏ธ 1. RDS - ๋ฐ์ดํฐ๋ฒ ์ด์ค - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ - ํ์ค , MySQL - ์๋์
: MySQL Community - ๋ฒ์ : 5.7.22
โ๏ธ 2. ํ
ํ๋ฆฟ : ํ๋ฆฌํฐ์ด - ์๋ณ์ : database-1 - ๋ง์คํฐ ์ฌ์ฉ์ ์ด๋ฆ : lovemj - ๋ง์คํฐ ์ํธ, ์ํธ ํ์ธ ์
๋ ฅ
โ๏ธ 3. ์ธ์คํด์ค ๊ตฌ์ฑ : db.t2.micro - ์คํ ๋ฆฌ์ง ์ ํ : ๋ฒ์ฉ SSD(gp2) - ํ ๋น๋ ์คํ ๋ฆฌ์ง : 20 GiB - ์คํ ๋ฆฌ์ง ์๋ ์กฐ์ ํ์ฑํ - ์ต๋ ์คํ ๋ฆฌ์ง ์๊ณ๊ฐ : 1000GiB
โ๏ธ 4. VPC : MY-VPC - ์๋ธ๋ท ๊ทธ๋ฃน : ์ ์๋ธ๋ท ๊ทธ๋ฃน ์์ฑ - ํผ๋ธ๋ฆญ์ก์ธ์ค : ์๋์ - VPC ๋ณด์๊ทธ๋ฃน : ๊ธฐ์กด; SG-DB -๊ฐ์ฉ์์ญ : 2b
โ๏ธ 5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ฆ ์ต์ : ์ํธ ์ธ์ฆ - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ : wordpress - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ํด๋ฆญ
โ๏ธ 1. EC2 - ์ธ์คํด์ค - ์ธ์คํด์ค ์์ - ์ด๋ฆ : WEBSERVER - ์ด๋ฏธ์ง : Amazon Linux 2 Kernel 5.10 AMI 2.0.20220426.0 x86_64 HVM gp2 - ์ธ์คํด์ค ์ ํ : t2.micro - ํค ํ์ด : aws-key - ๋คํธ์ํฌ ์ค์ ํธ์ง ; VPC : MY-VPC - ์๋ธ๋ท : MY-PUBLIC-SUBNET-2A - ํผ๋ธ๋ฆญ IP ์๋ ํ ๋น : ํ์ฑํ - ๋ฐฉํ๋ฒฝ ๊ธฐ์กด ๋ณด์ ๊ทธ๋ฃน ์ ํ : SG-WEB - ๊ณ ๊ธ ์ธ๋ถ ์ ๋ณด ; ์ฌ์ฉ์๋ฐ์ดํฐ :
#!/bin/bash
yum install -y httpd git
systemctl enable --now httpd
cd /tmp
git clone https://github.com/hali-linux/html.git
cp -r /tmp/html/* /var/www/html/
โ๏ธ 1-1. ์ธ์คํด์ค ์์ ํด๋ฆญ
โ๏ธ 1. ์๋ฆฌ๋ฐ๋ฐ ์ฝ์ - alibaba cloud DNS - ์ด๋ฏธ ๋ฑ๋กํด๋์๋ ๋๋ฉ์ธ ๋ค์ ํด๋ฆญ
โ๏ธ 2. Add Record - Host(์๋ธ๋๋ฉ์ธ):blog - Value: AWS์์ ๋ง๋ ์น์๋ฒ ํผ๋ธ๋ฆญ IP- Confirm
โ๏ธ 3. ๋๋ฉ์ธ์ผ๋ก ์นํ์ด์ง ์ ์ ๊ฐ๋ฅ
โ๏ธ 0. mobaxterm์ผ๋ก WEBSERVER์ง์
โ๏ธ 1. ์๋ ๋ช ๋ น์ด ์ ๋ ฅ
# wget https://ko.wordpress.org/wordpress-4.8.2-ko_KR.zip
# sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
# cd /var/www/html
# sudo unzip /home/ec2-user/wordpress-4.8.2-ko_KR.zip
# sudo mv ./wordpress/* .
# sudo chown -R apache:apache /var/www/*
# sudo systemctl restart httpd
# sudo systemctl enable httpd
์น๋ธ๋ผ์ฐ์ http://blog.lovemj.shop/
โ๏ธ 2. aws database ์๋ํฌ์ธํธ ๋ณต์ฌํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํธ์ ๋ฃ์ด์ฃผ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์ ๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ, ์ฌ์ฉ์ ์ด๋ฆ, ์ํธ ์
๋ ฅํด์ฃผ๊ณ ์ค์น.
โ๏ธ 0. RDS - ๋ฐ์ดํฐ๋ฒ ์ด์ค - database-1 - ์์ - ์ถ๊ฐ ๊ตฌ์ฑ : ํผ๋ธ๋ฆญ ์ก์ธ์ค ๊ฐ๋ฅ ์ฒดํฌ - ๊ณ์ - DB์ธ์คํด์ค ์์
โ๏ธ 1. RDS - ์๋ธ๋ท ๊ทธ๋ฃน - DB์๋ธ๋ท ๊ทธ๋ฃน ์์ฑ - ์ด๋ฆ : MY-RDS-SUBNET - ์ค๋ช
:MY-RDS-SUBNET - VPC : MY-VPC - ๊ฐ์ฉ์์ญ : a,b,c,d ๋ชจ๋์ ์ฑ
- ๊ฐ ๊ฐ์ฉ์์ญ๋ง๋ค public๊ณผ ์ฐ๊ฒฐ๋ ์๋ธ๋ท ์ ํ - ์์ฑ
โ๏ธ 2. RDS - ๋ฐ์ดํฐ๋ฒ ์ด์ค - database-1 - ์์ - ์๋ธ๋ท ๊ทธ๋ฃน : my-rds-subnet - ๊ณ์ - DB์ธ์คํด์ค ์์ ํด๋ฆญ
=> ์คํจ,,,์์ฑ ์ ์ ์ด๋ ๊ฒ ํ์ด์ผ ํจ.
โ๏ธ ์ด์ ์ ๋ง๋ WEBSERVER์ ๋ชจ๋ ๊ฐ๊ณ , ๊ฐ์ฉ์์ญ๋ง C๋ก ํด์ฃผ๊ธฐ.
โ๏ธ ๋ณด์๊ทธ๋ฃน - sg-web - ์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง - icmp, http ์ญ์ - ๊ท์น ์ถ๊ฐ
โ๏ธ ์ ํ : ๋ชจ๋ ํธ๋ํฝ - ์์ค ์ ํ : ์ฌ์ฉ์ ์ง์ - ์์ค : SG-WEB - ๊ท์น ์ ์ฅ
โ๏ธ 1. EC2 - ๋ก๋๋ฐธ๋ฐ์ - ๋ก๋๋ฐธ๋ฐ์ ์์ฑ - NLB ์์ฑ -์ด๋ฆ : ELB-NLB - ์ฒด๊ณ : ์ธํฐ๋ท ๊ฒฝ๊ฒ - IP ์ฃผ์ ์ ํ : IPv4 - VPC : MY-VPC - ๋งคํ : 2a,2c - ์๋ธ๋ท : ํผ๋ธ๋ฆญ์ผ๋ก ์ ํ - ๋์๊ทธ๋ฃน ์์ฑ
โ๏ธ 2. ๋์ ์ ํ : ์ธ์คํด์ค - ๋์ ๊ทธ๋ฃน ์ด๋ฆ : TG-NLB - VPC : MY-VPC - ๋ค์
โ๏ธ 2-1. ์ธ์คํด์ค๋ค์ ์๋์ ๋ณด๋ฅ ์ค์ธ ๊ฒ์ผ๋ก ํฌํจ - ๋์ ๊ทธ๋ฃน ์์ฑ
โ๏ธ 3. ๋ค์ ๋ก๋๋ฐธ๋ฐ์ ์์ฑ ํญ์ผ๋ก ๋์์์ , ๋์๊ทธ๋ฃน ์์ ์๋ก๊ณ ์นจ ๋ฒํผ ๋๋ฅด๊ณ ๊ธฐ๋ณธ ์์ ๋์ ๊ทธ๋ฃน TG-NLB ์ ํ ํ ๋ก๋ ๋ฐธ๋ฐ์ ์์ฑ
โ๏ธ 4. SG-WEB ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น HTTP ์ถ๊ฐํด์ฃผ๊ธฐ.
โ๏ธ 5. ๋ก๋๋ฐธ๋ฐ์ - ํด๋น ๋ก๋๋ฐธ๋ฐ์์ ๊ธฐ๋ณธ๊ตฌ์ฑ์ ์๋ DNS์ด๋ฆ์ผ๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ๋ ์นํ์ด์ง ์ ์ ๊ฐ๋ฅ
โ๏ธ 6. DNS์ด๋ฆ์ด ๋ณต์กํ๊ณ ๊ธธ๊ธฐ๋๋ฌธ์, ์๋ฆฌ๋ฐ๋ฐ์์ ์์ ํด์ผํจ - Alibaba Cloud DNS/Manage DNS/DNS Settings (๋๋ฉ์ธ ์ ํ ์ฐฝ ) - Add Record - type : CNAME - host: nlb - Value: nlb DNS์ด๋ฆ -confirm
โ๏ธ 1. EC2 - ๋ก๋๋ฐธ๋ฐ์ - ๋ก๋๋ฐธ๋ฐ์ ์์ฑ - ALB ์์ฑ -์ด๋ฆ : ELB-ALB - ์ฒด๊ณ : ์ธํฐ๋ท ๊ฒฝ๊ฒ - IP ์ฃผ์ ์ ํ : IPv4 - VPC : MY-VPC - ๋งคํ : 2a,2c - ์๋ธ๋ท : ํผ๋ธ๋ฆญ์ผ๋ก ์ ํ - ์ ๋ณด์๊ทธ๋ฃน ์์ฑ
โ๏ธ 2. ๋ณด์๊ทธ๋ฃน ์ด๋ฆ : SG-ALB - ์ค๋ช : SG-ALB - VPC : MY-VPC (ํ๊ทธ ์๋ณด์ด๋ฉด X๋ก ์ง์ด ํ ๋ค์ ์ ํ) - ์ธ๋ฐ์ด๋ ๊ท์น; ์ ํ : HTTP - ์์ค ์ ํ : Anywtere-IPv4 - ๋ณด์ ๊ทธ๋ฃน ์์ฑ
โ๏ธ 3. ๋ค์ ๋ก๋๋ฐธ๋ฐ์ ์์ฑ ํ๋ฉด(ํญ)์ผ๋ก ๋์์์, ๋ณด์๊ทธ๋ฃน ์ ์๋ก๊ณ ์นจ ๋๋ฅธ ๋ค์ ๋๋๋ค์ด ๋ด๋ ค์ SG-ALB ์ ํ - ๋ฆฌ์ค๋ ๋ฐ ๋ผ์ฐํ ; ํ๋กํ ์ฝ ; HTTP ; ๋์๊ทธ๋ฃน ์์ฑ
โ๏ธ 4. ๋์ ์ ํ ์ ํ : ์ธ์คํด์ค - ๋์ ๊ทธ๋ฃน ์ด๋ฆ : TG-ALB - ๋ค์ - ๋ ์ธ์คํด์ค ๋ชจ๋ ์ ํํด์ '์๋์ ๋ณด๋ฅ ์ค์ธ ๊ฒ์ผ๋ก ํฌํจ'ํด๋ฆญ - ๋์ ๊ทธ๋ฃน ์์ฑ ํด๋ฆญ
โ๏ธ 5. ๋ค์ ๋ก๋๋ฐธ๋ฐ์ ์์ฑ ํ๋ฉด(ํญ)์ผ๋ก ๋์์์, ๋์ ๊ทธ๋ฃน TG-ALB ์ ํ - ๋ก๋๋ฐธ๋ฐ์ ์์ฑ ํด๋ฆญ - ๋ก๋๋ฐธ๋ฐ์ ๋ณด๊ธฐ , ์์ฑ๋๋ฉด ๋์๊ทธ๋ฃน - ๋์์์ healthy check ํ์ธ.
โ๏ธ 6. ์๋ฆฌ๋ฐ๋ฐ DNS AddRecordํตํด์ CNAME์ผ๋ก ๋ ์ฝ๋ ์ถ๊ฐํด์ฃผ๊ธฐ. ; host : alb - Value : TG-ALB์ DNS ์ด๋ฆ - confirm
โ๏ธ 7. ์น๋ธ๋ผ์ฐ์ ์์ alb.lovemj.shop์ผ๋ก ์ง์ ํด์ ๋ก๋๋ฐธ๋ฐ์ฑ ํ์ธํ๊ธฐ. ( ๋ผ์ด๋ ๋ก๋น)
โ๏ธ 8. ๋ณด์๊ทธ๋ฃน - SG-WEB ID ํด๋ฆญ - ์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง - HTTP ์ญ์ - ๊ท์น ์ถ๊ฐ - ์ ํ : HTTP - ์์ค ์ ํ : ์ฌ์ฉ์ ์ง์ - ์์ค : SG-ALB - ์ ์ฅ
=> ALB ๋๋ฉ์ธ ํตํด์๋ง ์ง์ ๊ฐ๋ฅ ํ ๊ฒ ํ์ธํ๊ณ ๋ค์ ์๋ณต. HTTP 0.0.0.0/0
โ๏ธ 1. web01 mobaxterm์ด์ฉํด์ web02 ์ง์ ํ๊ธฐ.
[ec2-user@ip-10-14-5-253 ~]$ ls
wordpress-4.8.2-ko_KR.zip
## ํ์์ฐฝ ์ด์ฉํด์ ํ ๋๋ ํ ๋ฆฌ์ key๋ฃ์ด๋๊ธฐ
[ec2-user@ip-10-14-5-253 ~]$ ls
aws-key.pem wordpress-4.8.2-ko_KR.zip
[ec2-user@ip-10-14-5-253 ~]$ chmod 400 aws-key.pem
[ec2-user@ip-10-14-5-253 ~]$ ssh -i aws-key.pem ec2-user@10.14.36.232
The authenticity of host '10.14.36.232 (10.14.36.232)' can't be established.
ECDSA key fingerprint is SHA256:FMZ0uwyXLy2ytOKGRfv1prspDWrrmQS7sc8PU605Ieg.
ECDSA key fingerprint is MD5:42:14:34:da:25:f1:17:9e:60:3a:1f:99:27:e1:62:ae.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.14.36.232' (ECDSA) to the list of known hosts.
Last login: Tue Jun 14 02:39:08 2022 from 123.142.252.25
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
16 package(s) needed for security, out of 26 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-14-36-232 ~]$
โ๏ธ 0. ๋์๊ทธ๋ฃน - ๋์๊ทธ๋ฃน ์์ฑ - ์ด๋ฆ : TG-CACTUS - VPC : MY-VPC - ๋ค์ - web01๋ง ์ ํ ํ์ฌ '์๋ ๋ณด๋ฅ ์ค์ธ ๊ฒ์ผ๋ก ํฌํจ' - ๋์ ๊ทธ๋ฃน ์์ฑ ํด๋ฆญ
โ๏ธ 1. ๋์ ๊ทธ๋ฃน ์์ฑ - ์ด๋ฆ : TG-RABBITS -
VPC : MY-VPC - ๋ค์ - web02๋ง ์ ํ ํ์ฌ '์๋ ๋ณด๋ฅ ์ค์ธ ๊ฒ์ผ๋ก ํฌํจ ' - ๋์ ๊ทธ๋ฃน ์์ฑ ํด๋ฆญ
โ๏ธ 2. ๋ก๋๋ฐธ๋ฐ์ - ๋ฆฌ์ค๋ - ๊ท์น ๋ณด๊ธฐ/ ํธ์ง
โ๏ธ 2-1. ๊ท์น ์ + ๋ฒํผ ํด๋ฆญ - ๊ท์น ์ฝ์
- ์กฐ๊ฑด์ถ๊ฐ ๋๋๋ค์ด : HTTP ํค๋ : User-Agent - ํ์ฅํ๋ ๋ฐ ๊ฐ : *Mobile*
-์ ๋ฌ ๋์ : ๋์๊ทธ๋ฃน : TG-CACTUS - ์ ์ฅ
โ๏ธ 2-2. ๊ท์น ์ฝ์
- ์กฐ๊ฑด์ถ๊ฐ ๋๋๋ค์ด : HTTP ํค๋ : User-Agent - ํ์ฅํ๋ ๋ฐ ๊ฐ : *Chrome*
- ์ ๋ฌ๋์ : ๋์ ๊ทธ๋ฃน : TG-RABBITS - ์ ์ฅ
โ๏ธ 2-3. ๊ท์น ์ฌ์ ๋ ฌ - Mobile ์๋ก ์ฌ๋ผ๊ฐ๊ฒ ํด๋ฆญ - ์ ์ฅ
web01 ์ญ์ ํ web02(ํ ๋ผ ํ์ด์ง) ์ด๋ฆ์ origin์ผ๋ก ๋ฐ๊ฟ์ ์งํ
โ๏ธ 0. alibaba DNS์์ ๋๋ฉ์ธ Add Record - Type : A , host : www , value : origin ํผ๋ธ๋ฆญ IP - confirm
โ๏ธ 1. food.tar ์น์ฌ์ดํธ ๋ถํธ์คํธ๋ฉ ํ์ผmobaxtermํตํด origin์๋ฒ ํ ๋๋ ํ ๋ฆฌ์ ๋ฃ์ด์ ์๋ ๋ช ๋ ์ด ์งํ. [์นํ์ด์ง ๊พธ๋ฏธ๊ธฐ]
[ec2-user@ip-10-14-36-232 ~]$ sudo tar -xvf food.tar -C /var/www/html/
โ๏ธ 2. ec2-์ธ์คํด์ค - origin ์ฒดํฌ - ์์ - ์ด๋ฏธ์ง ๋ฐ ํ ํ๋ฆฟ - ์ด๋ฏธ์ง ์์ฑ
โ๏ธ 2-1. ์ด๋ฏธ์ง ์ด๋ฆ : MT-AMI - ์ฌ๋ถํ ์ํจ : ํ์ฑํ - ์ด๋ฏธ์ง ์์ฑ
โ๏ธ 3. ์ค๋ ์ท๊ณผ ์ด๋ฏธ์ง ์์ฑ ์๋ฃ ๋๋ฉด, ec2 - ์์ ํ ํ๋ฆฟ - ์์ ํ ํ๋ฆฟ ์์ฑ - ์ด๋ฆ : MY-TEMP - ํ ํ๋ฆฟ ๋ฒ์ ์ค๋ช : MY-TEMP - auto scaling ์ง์นจ : ์ฒดํฌ
๐โ๏ธโ๏ธ๐ขโญ๏ธ๐
โ๏ธ ๊ฐ๋ฐ(dev) -> ํ ์คํธ(QA;ํ์ง๋ณด์ฆ;ํ๋ณด) -> ์คํ ์ด์ง -> ํ๋ก๋์ (Ops)
โ๏ธ ๋ค๋ฅธ ๊ฐ์ฉ์์ญ์ ์ธ์คํด์ค ์์ฑํด์ ํ๋๊ฐ ์์๋๋๋ผ๋ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌํ๊ณ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ค์ค AZ ๋ฐฐํฌ ์ฌ์ฉ - ์ค์ต ํ๋ฆฌํฐ์ด์์๋ ์ฌ์ฉํ์ง ์์. ์ค๋ฌด์์๋ ์ฌ์ฉํ ๊ฒ.
โ๏ธ ํ๋์ ์๋ฒ๋ก๋ง ์ด์ํ๋ ๊ฒ.(ex. ์ผํ๋ชฐ ํ์ด์ง ์น์๋ฒ 1๊ฐ๋ง ๋๋ ๊ฒ.) => ๋จ์ผ์ฅ์ ์ง์ ์ ํผํ๋ ๊ฒ์ด ์ข์. ์๋ฒ 2๊ฐ ์ด์์ ์๋๊ฒ ์ข๋ค.
์ด๋ฏธ์ง ๋ง๋ค๋ฉด ์ค๋ ์ท๋ ๋ง๋ค์ด์ง. ์ด๋ฏธ์ง ๋จ๋ ์ผ๋ก ์กด์ฌํ ์ ์๋ค. ์ค๋ ์ท์ด ๋ค ๋ง๋ค์ด์ ธ์ผ ์ด๋ฏธ์ง๋ ๋ง๋ค์ด์ง.