๐Ÿ”ฅ TIL - Day 2

Kim Dae Hyunยท2021๋…„ 9์›” 14์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
2/93

๐Ÿ“Œ Day 2

AWS EC2๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ ๋ฐ ๋„๋ฉ”์ธ ์—ฐ๋™


โœ”๏ธ AWS EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

1. Amazon Machine Image(AMI) ์„ ํƒ
Ubuntu Server 18.04 LTS (HVM), SSD Volume Type ์„ ํƒ

2. ํ‚คํŽ˜์–ด ์ƒ์„ฑ ๋ฐ ์ €์žฅ
์ƒ์„ฑํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ Key๊ฐ€ ๋œ๋‹ค.

ํ‚ค ํŽ˜์–ด ๋‹ค์šด๋กœ๋“œ ํ›„ ์ธ์Šคํ„ด์Šค ์‹œ์ž‘


3. ๋กœ์ปฌ์—์„œ ์ƒ์„ฑ๋œ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•˜๊ธฐ (mac)

3-1 ์ €์žฅ๋œ ํ‚ค ํŽ˜์–ด์˜ ๊ถŒํ•œ์„ค์ •

sudo chmod 400 [ํ‚คํŽ˜์–ด๊ฐ€ ์ €์žฅ๋œ ๊ฒฝ๋กœ]

3-2 EC2 ์ธ์Šคํ„ด์Šค์— ์›๊ฒฉ์ ‘์†

ssh -i [ํ‚คํŽ˜์–ด๊ฒฝ๋กœ] ubuntu@[ํผ๋ธ”๋ฆญIPv4์ฃผ์†Œ]

์›๊ฒฉ์˜ Ubuntu ํ™˜๊ฒฝ์— ์ ‘๊ทผ ์„ฑ๊ณต


4. EC2์— ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์œ„ํ•œ Filezila ์—ฐ๋™
ํ”„๋กœํ† ์ฝœ: SFTP (SSH)
ํฌํŠธ: 22 (SSH)
๋กœ๊ทธ์˜จ ์œ ํ˜•: ํ‚คํŒŒ์ผ
ํ˜ธ์ŠคํŠธ: EC2 ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ
์‚ฌ์šฉ์ž: ubuntu
ํ‚คํŒŒ์ผ: ์ €์žฅ๋œ ํ‚คํŽ˜์–ด

์—ฐ๊ฒฐ!

  • ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค๋ฉด ๋กœ์ปฌ์˜ ์‹คํ–‰ํŒŒ์ผ์„ EC2 ์ธ์Šคํ„ด์Šค์— ๋ณต์‚ฌํ•œ๋‹ค.
  • ํ•„์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜ํ•œ EC2 ์ธ์Šคํ„ด์Šค์— ๋‹ค์šด๋ฐ›์•„์•ผ ํ•œ๋‹ค.

5. ์ผ๋‹จ EC2์—์„œ ์„œ๋ฒ„ ๊ตฌ๋™ ํ›„ ์ ‘์† ํ…Œ์ŠคํŠธ

ํ•„์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ•œ ํ›„ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ–ˆ๋‹ค.
EC2 ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ IPv4๋กœ ์ ‘๊ทผํ–ˆ์ง€๋งŒ ์ ‘๊ทผ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

์™ธ๋ถ€์—์„œ ๋“ค์–ด์˜ค๋Š” ํฌํŠธ์™€ ๋‚ด๋ถ€์—์„œ์˜ ํฌํŠธ๋ฅผ ์—ด์–ด์ค˜์•ผ ํ•œ๋‹ค.
ํ˜„์žฌ ์—ฌ๊ธฐ์„œ ์™ธ๋ถ€๋Š” ๋กœ์ปฌํ™˜๊ฒฝ์ด๊ณ  ๋‚ด๋ถ€๋Š” EC2 ์ธ์Šคํ„ด์Šค์ด๋‹ค.

์ด๋ฅผ ์œ„ํ•ด EC2 ์ธ์Šคํ„ด์Šค์˜ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘์ด ํ•„์š”ํ•˜๋‹ค.

์ ‘๊ทผํ•  5000๋ฒˆ ํฌํŠธ์™€ MongoDB์˜ ํฌํŠธ 27017ํฌํŠธ์™€ HTTP ํฌํŠธ์ธ 80๋ฒˆ ํฌํŠธ๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค. (EC2์˜ ๋ฐฉํ™”๋ฒฝ์„ ํ’€์–ด์ค€๋‹ค๊ณ  ์ดํ•ด..)

โœ”๏ธ EC2 ์ธ์Šคํ„ด์Šค ํ™˜๊ฒฝ์—์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์„œ๋ฒ„ ๊ตฌ๋™ ๋ฐ ์ข…๋ฃŒ

์„œ๋ฒ„ ๊ตฌ๋™

  • nohup: ํ„ฐ๋ฏธ๋„์˜ ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜์–ด๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง€์†์‹œํ‚ค๋Š” ๋ช…๋ น์–ด
  • & : ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰
nohup python app.py &

์„œ๋ฒ„ ์ข…๋ฃŒ

  • ps -ef: ํ˜„์žฌ ๊ตฌ๋™์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ์ถœ๋ ฅ
  • | grep 'app.py': ์•ž์— ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ ์ค‘์—์„œ 'app.py'๋ฅผ ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ
  • kill -9 : ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ์ข…๋ฃŒ
ps -ef | grep 'app.py'

kill -9 ํ”„๋กœ์„ธ์Šค๋ฒˆํ˜ธ

โœ”๏ธ ๋„๋ฉ”์ธ ์—ฐ๋™

๊ฐ€๋น„์•„ ์—์„œ ๋„๋ฉ”์ธ ๊ตฌ๋งค
.shop ๋„๋ฉ”์ธ 1๋…„์— 550์› .. ์˜ค์šฐ ..

๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์— EC2 ์ธ์Šคํ„ด์Šค ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋ฅผ ์—ฐ๋™

๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘๊ทผ ํ›„ ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์—ฐ๋™ ๋ !



2์ผ๋™์•ˆ HTML/CSS/JS - DB(mongoDB) - Server(Flask) - infra(aws) ๊ฑฐ์˜ ํ’€์Šคํ…์„ ๋„“๊ณ  ์•๊ฒŒ ๊ฒฝํ—˜ํ–ˆ๋‹ค. ์Œ.. ๋ณต์Šต์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ ์„ธ์ƒ ๋นก์„ผ ํ•™์Šต์ด์—ˆ๋˜ .. ์•„๋ฌดํŠผ very good!

์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์ œ๊ณต๋˜์–ด์„œ ์ •๋ง ํŽธํ•˜๊ฒŒ EC2 ์ธ์Šคํ„ด์Šค์— ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜์˜€์ง€๋งŒ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์„ EC2 ์ธ์Šคํ„ด์Šค์— ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์–ด๋งˆ์–ด๋งˆํ•œ ๊ตฌ๊ธ€๋ง์ด ๊ธฐ๋Œ€๋œ๋‹ค...๐Ÿ˜…

profile
์ข€ ๋” ์ฒœ์ฒœํžˆ ๊นŒ๋จน๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๐Ÿง

0๊ฐœ์˜ ๋Œ“๊ธ€