๐ฅ IT 8๊ฐ ์ง๋ฌด ๊ธฐ์ด์ฒดํ (29) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์๋ฒ๋ฆฌ์ค ์น ๊ตฌ์ถ - (0. AWS lambda์ API Gateway๋?) AWS lambda AWS lambda๋ ์๋ฒ๋ฆฌ์ค(server-less)๋ก ๋ฐฐ์นํ๋ก๊ทธ๋จ์ ์ํํ ์ ์๊ฒ ํด์ฃผ๋ ์๋น์ค์ด๋ค. ๋๋ค๋ ํจ์(function) ์๋น์ค์ ์ผ์ข ์ผ๋ก, ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ฐฑ์๋์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๋๋ค๋ฅผ ์ฌ์ฉํ๋ฉด AWS๋ด ๋ค์ํ ์๋น์ค์ ๋ค์ํ ์ฒ๋ฆฌ๋ฅผ ์ฝ๋๋ก ํ ์ ์๋ค. API Gateway API Gateway๋ API ์๋ฒ ์๋จ์์ ๋ชจ๋ API ์๋ฒ๋ค์ ์๋ํฌ์ธํธ๋ฅผ ๋จ์ผํ ํด์ฃผ๋ ๋๋ค๋ฅธ ์๋ฒ์ด๋ค. API์ ๋ํ ์ธ์ฆ๊ณผ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ฉ์ธ์ง์ ๋ด์ฉ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋ผ์ฐํ ํ๋ ์ญํ ์ ๋ด๋นํ๋ค. ์ฑ๋ฅํ ์คํธ ๋๊ตฌ - Jmeter ์ฑ๋ฅํ ์คํธ ๋? ์๋น์ค ๋ฐ ์๋น์ค ์์คํ ์ ์ฑ๋ฅ์ ํ์ธํ๊ธฐ ์ํด ์ค์ ์ฌ์ฉ ํ๊ฒฝ๊ณผ ๋น์ทํ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์งํํ๋ ๊ฒ์ ๋งํ๋ค. ์ด๋ฅผ ํตํด์ Response Time(์๋ต์๊ฐ) ๊ณผ Throughput(์ฒ๋ฆฌ๋), ๋ณ๋ชฉ๊ตฌ๊ฐ ๋ฑ์ ํ์ธํ ์ ์๋ค. ์ฑ๋ฅ ํ ์คํธ๋ก ์ป์ ์ ๋ณด๋ก ์๋น์ค๋ ์๋น์ค ์์คํ ์ ๋ฌธ์ ์ ์ ํ์ธํ๊ณ ์ด๋ฅผ ๊ฐ์ ํ์ฌ ๋ณด์ํ ์ ์๋ค. 1. JMeter ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ฌ์ผ๋ก ๋ค์ํ ์๋น์ค์ ์ฑ๋ฅ์ ๋ถ์ํ๊ณ ์ธก์ ํ๊ธฐ ์ํ ๋ถํ ํ ์คํธ ๋๊ตฌ๋ก ์ฌ์ฉํ ์ ์๋ ์ํ์น ํ๋ก์ ํธ์ด๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฒ๋ผ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ก ๋ ์ํํธ์จ์ด์ ์ฑ๋ฅ ํ ์คํธ๋ฅผ ์ํด์ ๋ง๋ค์ด์ง ๋ฌด๋ฃ ์๋ฐ ํ๋ก๊ทธ๋จ์ด๋ค. JMeter๋ ๋จ์/์ฑ๋ฅ/์คํธ๋ ์ค ํ ์คํธ ๋ฑ ๋ง์ ๊ณณ์์ ํ์ฉํ ์ ์๋ค. JMeter๋ ํต์ ํ๋กํ .. 2-tier ๊ตฌ์ถ - (8. cloudwatch) cloudwatch cloudwatch๋ AWS์ ๋ชจ๋ ์๋น์ค๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๊ธฐ๋ณธ ์๋น์ค์ด๋ค. EC2๋ก ๋ชจ๋ํฐ๋ง ํ ์๋ ์์ง๋ง ์ฌ๊ธฐ์๋ RDS ๋ชจ๋ํฐ๋ง ๋์๋ณด๋๋ฅผ ์์ฑํด๋ณด๊ฒ ๋ค. 1. RDS์์ cloudwatch์ ์ ๊ทผํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ 1) RDS์๋น์ค์์ ๋ชจ๋ํฐ๋ง ๋ฉ๋ด๋ก ์ ๊ทผํ๋ ๋ฐฉ๋ฒ (DB์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ๊ฐ์ฅ ๋จผ์ ํ์ธํ๋ ๋ฐฉ๋ฒ) RDS ๋ชจ๋ํฐ๋ง ํญ์์ ๋ ์์ธํ ์งํ๋ฅผ ๋ณด๊ธฐ์๋ RDS ์๋ฌ๋ก๊ทธํ์ผ์ ๋ณด์ง ๋ชป ํ๋ ํ๊ณ๊ฐ ์๋ค. ๋ณด๋ค ์์ธํ ๋ชจ๋ํฐ๋ง์ ์ํด์๋ RDS์์ ๋ก๊ทธํ์ผ์ cloudwatch๋ก ๋ณด๋ด์ค์ผํ๋ค. 2) cloudwatch์ ์ง์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ AWS์์ cloudwatch ์๋น์ค๋ฅผ ๊ฒ์ํด ์ ๊ทผํ๋ค. 2. cloudwatch ๋์๋ณด๋ ์์ฑ 1) ๊ทธ๋ํ ํํ, ์งํ ๊ธฐ๋ฐ์ ๋์๋ณด๋.. 2-tier ๊ตฌ์ถ - (7. wordpress๋ก ๋์ ์นํ์ด์ง ๊ตฌ์ถ) wordpress๋ก ๋์ ์นํ์ด์ง ๊ตฌ์ถ ์ฒซ๋ฒ์งธ ์น์๋ฒ์ ๋๋ฒ์งธ ์น์๋ฒ์ ์๋์ ๋จ๊ณ๋ฅผ ๋ชจ๋ ๋๊ฐ์ด ์ ์ฉํ๋๋ก ํ๋ค. ์น์๋ฒ๊ฐ ๋ง์ ์๋ก ๋ฐ๋ณต์์ ์ ํด์ผํ๋๋ฐ ์ด๋ฌํ ๋ฐ๋ณต์ก์ ์ ํ์ง ์๊ธฐ ์ํด์ ํ ๋ฒ์ ๋ฐฐํฌ๋ก ๋์์ ์๋ฒ์ ๋ฐ์๋๋ ํด๋ค์ด ์๋ค. ๊ทธ ์ค ํ๋๊ฐ ์ฟ ๋ฒ๋คํฐ์ค๋ค. โท ๊ณต๋ถํ ๊ด๋ จ์๋ฃ [ https://www.eksworkshop.com/ ] 1. wordpress ํ์ฑํ EC2 ์น์๋ฒ์ ์ ์ํด, apache ๊ธฐ๋ณธ ํด๋๋ก ์ด๋ํด์ ๋ชฉ๋ก์ ํ์ธํด๋ณธ๋ค. cd /var/www/html ll 2. wordpress ์ค์ ํ์ผ ํธ์ง sudo cp wp-config-sample.php wp-config.php sudo vi wp-config.php 3. EC2๋ด apache์ ๊ถํ ๋ถ์ฌ wordpress์.. 2-tier ๊ตฌ์ถ - (6. Elastic Load Balancing) Load Balancing์ด๋? ๋ก๋๋ฐธ๋ฐ์ฑ์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ํธ๋ํฝ์ ๋ถ์ฐ์ํค๋ ๊ธฐ๋ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ญํ ์ Load Balancer(LB)๊ฐ ์ํํ๋ค. ๋ก๋๋ฐธ๋ฐ์๋ VIP(Virtual IP)์ ํจ๊ป ๊ตฌ์ฑ๋๋ค. AWS์์๋ ELB๋ผ๋ ์๋น์ค๊ฐ ์๋๋ฐ, ELB์์ ์ ๊ณตํด์ฃผ๋ URL๋ก ์ ์ํ๋ฉด ELB์ ๋ฑ๋ก๋ ์ฌ๋ฌ ๋์ ์น์๋ฒ์ ์์๋๋ก ํธ๋ํฝ์ ๋ณด๋ด์ค ์ ์๋ค. Elastic Load Balancing(ELB) ์์ฑ ์์ ์์ฑํ EC2 2๋๋ฅผ ELB์ ๋ฑ๋กํด๋ณด๊ฒ ๋ค. [ EC2 > ๋ก๋๋ฒจ๋ฐ์ ] ๋ฉ๋ด๋ก ์ด๋ํ ํ ELB ์์ฑ ํด๋ฆญ Load Balancer ์ ํ ์ ํ : ์์ ์๋ CLB๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ด๋ฆฌ์ ์ฑ๋ฅ์ด ๋ ๊ฐ์ ๋ ALB๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข๋ค. (NLB๋ T.. 2-tier ๊ตฌ์ถ - (5. ์น ์๋ฒ ๋ณต์ ) ์น ์๋ฒ ๋ณต์ ์น ์๋ฒ๋ฅผ ํ๋๋ณด๋ค ๋ ๋๋ฅผ ์ฐ๋ฉด, ํ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ๋ค๋ฅธ ํ๋๋ก ์๋น์ค๋ฅผ ํ ์ ์์ด ๊ฐ์ฉ์ฑ์ด ์ข์์ง๋ค. ํ์ง๋ง ๋ฌด๊ฑฐ์ด ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์คํฉ ์ข์ ํ๋๋ก ์ฒ๋ฆฌํ๋ ๊ฒ ์ ๋ฆฌํ๋ค. ์น ์๋ฒ ์์ฒด์ ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ ๋ก์ง์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ ์น ์๋ฒ์ ๊ฒฝ์ฐ ๋ณดํต ์์ ์คํฉ 2๋๋ฅผ ์ฌ์ฉํ๋ค. 1. ๋ฐฑ์ ๋ณธ์ ์ด์ฉํ EC2 ๋ณต์ ์์ฑํ ์น์๋ฒ๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋ฉด EC2๋ฅผ ๋ณต์ ํ๋ค. ๋ฐฑ์ ๋ณธ ์ด๋ฏธ์ง์ ์ด์๊ณผ ์ค๋ช ์ ์์ฑํด์ฃผ๊ณ ์์ฑ ๋ฒํผ์ ํด๋ฆญํ๋ค. AMI๋ฉ๋ด์ ๋ค์ด๊ฐ ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ ์ ํํ๊ณ ์์ํ๊ธฐ ํด๋ฆญํ๋ค. VPC, ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ์ ํํ๊ณ ํผ๋ธ๋ฆญ IP๋ฅผ ํ ๋นํด์ค๋ค. ๋ณด์๊ทธ๋ฃน์ ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์น ์๋ฒ(ssh,http ํฌํธ) ๋ณด์๊ทธ๋ฃน์ ์ ํํด์ค๋ค. ๊ฐ์ ์ญํ ์ ํ๋ ์น์๋ฒ๋ ๊ฐ์ ๋ณด.. 2-tier ๊ตฌ์ถ - (4. ์น์๋ฒ์์ MySQL์ ์ ์) 1. ์น์๋ฒ์์ MySQL์ ์ ์ EC2์ ์ ์ํด์ MySQL์ ์ ์์ด ๊ฐ๋ฅํ ์ง ํ ์คํธํ๋ค. ๋ง์ฝ ์ด ํ ์คํธ๊ฐ ์ ์์ ์ด์ง ์๋ค๋ฉด DB๋ฅผ ์๋ชป ์์ฑํ๊ฑฐ๋ ๋ณด์๊ทธ๋ฃน ์ค์ ์ด ์๋ชป๋ ๊ฒ ์ด๋ค. (ERROR : ๋ณด์ ๊ทธ๋ฃน์์ ๋ด IP๋ก ์ง์ ๋ ๊ฒ์ ์์น ๋ฌด๊ด์ผ๋ก ๋ณ๊ฒฝํด์ฃผ๋ ์ค๋ฅ๊ฐ ๋จ์ง ์์๋ค.) RDS์ ๋ค์ด๊ฐ ๋ง๋ DB์ ์ฃผ์๋ฅผ ํ์ EC2์ ๋ค์ด๊ฐ์ ์๋์ MySQL ์ ์๋ช ๋ น์ด ์ ๋ ฅ(์ด์ ์ mysql client๋ฅผ ์ค์นํ๊ธฐ ๋๋ฌธ์ ์ ์์ด ๊ฐ๋ฅํ๋ค.) mysql -u (DB ์ ์ ์์ด๋) -p (ํฌํธ๋ฒํธ) -h (์๋ํฌ์ธํธ) ๋๋ //์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ ํฌํธ์ธ 3306์ ์ฐ๊ณ ์์ด์ -p๋ง ์ ๋ ฅํด๋ ๋๋ค. mysql -u (DB ์ ์ ์์ด๋) -p -h (์๋ํฌ์ธํธ) 2. ์ ์ ํ์ธ ์๋์ ๊ฐ์ด MySQL์ด ๋จ๋ฉด ์ .. 2-tier ๊ตฌ์ถ - (3. RDS MySQL ์์ฑ) RDS MySQL RDS๋ AWS์์ ๊ด๊ณํ DB๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ํ๋ซํผ ์๋น์ค์ด๋ค. ๋ค์ํ DB๋ฅผ ์ค์นํ ์ ์๋๋ฐ, ์ด์ ์ ์ค์นํ wordpress์์ ์ฌ์ฉํ๋๋ก MySQL์ ๋ฌด๋ฃ๋ฒ์ ์ผ๋ก ๋ง๋ค์ด๋ณด๊ฒ ๋ค. 1. DB๊ฐ ์ฌ์ฉํ ์๋ธ๋ท ์ค์ ์์ฑํด์ค ํ๋ผ์ด๋น ์๋ธ๋ท 2๊ฐ๋ฅผ ๊ทธ๋ฃน์ผ๋ก ์ง์ 2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉ๋ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ํด๋ฆญ MySQL๊ณผ ํ๋ฆฌํฐ์ด ์ ํ DB์ด๋ฆ๊ณผ ์ต๊ณ ๊ถํ ๊ณ์ ์ค์ ์คํ ๋ฆฌ์ง ์๋ ์กฐ์ ๋นํ์ฑํ ์ฐ๊ฒฐํด์ค VPC, DB, ์๋ธ๋ท ๊ทธ๋ฃน ์ ํ ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ, ๋ฐฑ์ ๋ณธ ์ค์ 3. ์น์๋ฒ(EC2)๊ฐ DB์ ๋ค์ด์ค๋๋ก ์ค์ EC2๊ฐ DB์ ๋ค์ด์ค๋๋ก ํ๋ ค๋ฉด ๋ณด์๊ทธ๋ฃน์์ EC2๊ฐ ์ ๊ทผ๊ฐ๋ฅํ๋๋ก ์์ ํด์ฃผ๋ฉด ๋๋ค. DB ๋ณด์๊ทธ๋ฃน์ inbound ํญ๋ชฉ์์ EC2๋ณด์๊ทธ.. 2-tier ๊ตฌ์ถ - (1. ์น ์๋ฒ ์์ฑ) 2-tier ๊ตฌ์ถํ๊ธฐ 1. EIP(ํ๋ ฅ์ ์ธ IP) ์์ฑ 2-tier๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด์๋ EIP๊ฐ ํ์ํ๋ค. ๋ฐฉ๋ฒ์ [ AWS - ์น ์๋ฒ ๋ง๋ค๊ธฐ(4. ํ๋ ฅ์ IP ์์ฑ) ]์ ์ฐธ๊ณ ํ์. 2. VPC์ ์๋ธ๋ท ์์ฑ โถ ๊ธฐ์กด VPC์ ์๋ธ๋ท ์์ฑ ๋ฐฉ๋ฒ - [ AWS - ์น ์๋ฒ ๋ง๋ค๊ธฐ(1. ๋คํธ์ํฌ ์ค์ ) ] 1) VPC, ์๋ธ๋ท ์์ฑ (VPC๋ง๋ฒ์ฌ ์ด์ฉ) 1๋จ๊ณ : ํผ๋ธ๋ฆญ ๋ฐ ํ๋ผ์ด๋น ์๋ธ๋ท์ด ์๋ VPC๋ก ์์ฑํด์ค๋ค. 2๋จ๊ณ VPC IP ๋์ญ๋ : 10.13.0.0/16 ํผ๋ธ๋ฆญ ์๋ธ๋ท : 10.13.2.0/24 ํ๋ผ์ด๋น ์๋ธ๋ท : 10.13.3.0/24 ์ฃผ์!(๋น์ฉ๋ฐฉ์ง) - NAT ๊ฒ์ดํธ์จ์ด ์ญ์ : VPC๋ง๋ฒ์ฌ๋ฅผ ์ด์ฉํด VPC๋ฅผ ์์ฑํ๋ฉด NAT๊ฒ์ดํธ์จ์ด๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ๋๋๋ฐ, NAT๊ฒ์ดํธ์จ์ด๋ 3์ผ์.. 2-tier๋? 2-tier 1) 2-tier๋? 2-tier๋ ec2์ ๊ฐ์ ์น์๋ฒ๊ฐ DB์ ์ฐ๊ฒฐ๋๋ ํํ๋ฅผ ๋งํ๋ค. (DB๊ฐ ์์ด ์น ์๋ฒ๋ง ์๋ค๋ฉด ํ๋ก ํธ์๋ ๊ฐ๋ฐ๋ง ๊ฐ๋ฅํ์ง๋ง DB๊ฐ ์์ผ๋ฉด ๋ฐฑ์๋๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ง๋ค. ํ๋ก ํธ์๋์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ ์๋ฒ ๋ฌธ์ ๋ก ์ฝ๊ฒ ์์ค๋ ์ ์์ผ๋ ๋ฐฑ์๋์ ์๋ ๋ฐ์ดํฐ๋ ๋ฐ์๊ตฌ์ ์ด๋ฉฐ, ๊ฐ์ธ์ ๋ณด๋ณดํธ์ฐจ์, ๋ฐ์ดํฐํ์ฉ์ฐจ์์์ ์ ํฉํ๋ค.) 2-tier ๊ตฌ์กฐ๋ ํธ๋ํฝ์ด ๋ง์ง ์์ ๊ฒฝ์ฐ ์์ฃผ ์ฌ์ฉ๋๋ ๊ตฌ์กฐ์ด๋ค. 2-tier ๊ธฐ๋ฐ์ ํด๋ผ์ด์ธํธ/์๋ฒ ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ํ๋์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ํ๋ก์ธ์ค๊ฐ ํ๋์ฉ ์์ฑ๋๋ ๋ฐฉ์์ด๋ค. 2) 2-tier vs 3-tier ์๋ฒ์ ์ญํ ์ ๋๋์ด์ ๋ถ๋ฆฌํ๋ฉด ๊ฐ์ ์ญํ ์ ํ๋ ์๋ฒ๋ค์ ๊ฐ์ tier์ ์๋ค๊ณ ๋งํ๋ค. tier.. ์ด์ 1 2 3 ๋ค์