์›น/์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ__์›น

[์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ] ๐Ÿ’ป ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ - 5์ฃผ์ฐจ (2) (ๅฎŒ)

ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ 2022. 6. 25. 21:07

ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•1์ฃผ์ฐจโ€• ใ€‹

ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•2์ฃผ์ฐจโ€• ใ€‹

ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ€•3์ฃผ์ฐจโ€• ใ€‹ 

ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ”4์ฃผ์ฐจโ” ใ€‹

ใ€Š ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ โ”€5์ฃผ์ฐจ (1)โ”€ ใ€‹


[ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ]

 - ๊ธฐ์กด  ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๋ฌผ์„ ํ™•์ธ ํ•˜๋ ค๋ฉด app.py๋ฅผ ์‹คํ–‰์‹œ์ผœ flask ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ตฌ๋™ํ•˜์—ฌ ํ™•์ธ ํ•˜์˜€์Œ.

 - ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ(์›น ์„œ๋น„์Šค ๋Ÿฐ์นญ)๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ด๋ฒˆ์—” AWS ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ.

 

[ IP ์ฃผ์†Œ์™€ ํฌํŠธ(PORT) ]

 - DNS (Domain Name System)

๋”๋ณด๊ธฐ

- ์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์›น ์„œ๋น„์Šค์— ์ ‘์†ํ•  ๋•Œ ๋„๋ฉ”์ธ(URL)์ด ์•„๋‹Œ IP์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ ‘์† ํ•˜๊ณ  ์žˆ์Œ.

- ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ๋ณด๋Š” ๋„๋ฉ”์ธ ํ˜•ํƒœ๋Š” ๋ฌธ์ž์™€ ์ˆซ์ž์˜ ํ˜ผ์šฉ์˜ ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ. (Ex: Google.com, Naver.com...)

- ์ด๋Š” DNS ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋„๋ฉ”์ธ(URL)์„ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ๊ฒƒ

 

 - IP (Internet Protocol)

๋”๋ณด๊ธฐ

- ์ธํ„ฐ๋„ท์ด ํ†ตํ•˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ํŠน์ • ์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ์†ก์‹ ํ•˜๋Š” ํ†ต์‹ ์— ๋Œ€ํ•œ ๊ทœ์•…

- PC์˜ ๊ฒฝ์šฐ ์šด์˜์ฒด์ œ๊ฐ€ ์ƒ์ดํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ ๊ตฌํ˜„ ์–ธ์–ด๊ฐ€ ๋‹ค๋ฅด๋‹ค ๋ณด๋‹ˆ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต์‹ ์‹œ ์ด๋Ÿฌํ•œ ์ ์„ ๋ณด์™„ํ•˜๊ณ ์ž

  ๊ณตํ†ต๋œ ํ†ต์‹  ๊ทœ์•…(ํ”„๋กœํ† ์ฝœ)์ด ํ•„์š”ํ•จ

- Host to Host ํ†ต์‹ , ์ฆ‰ PC๊ฐ„ ์†ก์ˆ˜์‹  ํ†ต์‹ ์„ ์ฑ…์ž„์ง€๋Š” ์—ญํ• ์„ ๋‹ด๋‹น

 

 - IP ์ฃผ์†Œ

๋”๋ณด๊ธฐ

- IP ํ†ต์‹ ์— ํ•„์š”ํ•œ ๊ณ ์œ  ์ฃผ์†Œ๋ฅผ ์˜๋ฏธ

- ํ†ต์‹  ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜๋Š” ๊ธฐ๊ธฐ๋“ค์ด ์„œ๋กœ ํ†ต์‹ ์„ ํ• ๋•Œ ์‹๋ณ„์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€์—ฌ๋˜๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ์ž„

- 2022๋…„ ๊ธฐ์ค€ IPv4์™€ IPv6 ๋‘ ๊ฐ€์ง€ ์ฒด๊ณ„๊ฐ€ ์กด์žฌํ•จ

- ์„œ๋ฒ„๋Š” ํ•˜๋‚˜์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ 

 

 - ํฌํŠธ (PORT)

๋”๋ณด๊ธฐ

- TCP๋‚˜ UDP์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ƒํ˜ธ๊ตฌ๋ถ„์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฒˆํ˜ธ

- ํ•˜๋‚˜์˜ IP์— ์—ฌ๋Ÿฌ ํฌํŠธ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ํ•˜๋‚˜์˜ ํฌํŠธ์— ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ฐ€๋Šฅ

- IP ๋‚ด์—์„œ ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„์„ ํ•˜๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ๋จ

- ๊ฐ ํ”„๋กœํ† ์ฝœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ†ตํ•˜๋Š” ๋…ผ๋ฆฌ์  ํ†ต๋กœ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ

- ๋ช‡๊ฐ€์ง€ ์ž˜ ์•Œ๋ ค์ง„ ํฌํŠธ ๋ฒˆํ˜ธ

โ”” FTP - 20, 21 (TCP)

โ”” DNS - 53 (TCP/UDP)

โ”” HTTP - 80 (TCP)

โ”” HTTPS - 443 (TCP)

โ”” RDP - 3389 (TCP/UDP)

 

 

[ AWS ์„œ๋ฒ„ ๊ตฌ๋งค & ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ]

 - AWS EC2

๋”๋ณด๊ธฐ

- ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ ๊ฐ€์ด๋“œ : https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html

- EC2 (Elastic Computer Cloud) : AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค

- ์•„๋งˆ์กด์œผ๋กœ๋ถ€ํ„ฐ ํ•œ๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ž„๋Œ€ํ•˜๋Š” ๊ฒƒ

- AWS์—์„œ ์ œ๊ณตํ•˜๋Š” URL(Public DNS)์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ(์„œ๋ฒ„)์— ์›๊ฒฉ ์ ‘๊ทผ ๋ฐ ์ œ์–ด ๊ฐ€๋Šฅ

 

- AWS EC2 ์„œ๋ฒ„ ๊ตฌ๋งคํ•˜๊ธฐ

๋”๋ณด๊ธฐ

โ‘  AWS ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค ๐Ÿ‘‰๋งํฌ

โ‘ก AWS EC2 ์ฝ˜์†” ํŽ˜์ด์ง€ ์ ‘์†ํ•œ๋‹ค  ๐Ÿ‘‰๋งํฌ

โ‘ข ์ฝ˜์†” ํŽ˜์ด์ง€์—์„œ ์ธ์Šคํ„ด์Šค ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค

EC2 ์ฝ˜์†” ํŽ˜์ด์ง€

 

โ‘ฃ ๋ณธ์ธ์—๊ฒŒ ๋งž๋Š” AMI๋ฅผ ์„ ํƒํ•œ๋‹ค. 

     - AMI (Amazon Machine Image) : ์„œ๋ฒ„์— ํ•„์š”ํ•œ OS์™€ ์—ฌ๋Ÿฌ ์†Œํ”„ํŠธ์›จ์–ด๋“ค๋กœ ๊ตฌ์„ฑ๋œ ํ…œํ”Œ๋ฆฟ

     - ์šด์˜์ฒด์ œ๋ฅผ ์„ ํƒํ•˜๋Š” ๋‹จ๊ณ„์ด๋ฉฐ ํฌ๊ฒŒ ๋ฆฌ๋ˆ…์Šค์™€ ์œˆ๋„์šฐ OS ์ค‘์— ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ

     - 'ํ”„๋ฆฌ ํ‹ฐ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ ' ๋ฌธ๊ตฌ๊ฐ€ ์ ํžŒ AMI์˜ ๊ฒฝ์šฐ 1๋…„๊ฐ„ ๋ฌด๋ฃŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•จ

๋‚˜๋Š” ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ธฐ ์œ„ํ•ด Ubuntu 18.04 ํƒ€์ž…์„ ์„ ํƒํ–ˆ๋‹ค.

 

โ‘ค ์ธ์Šคํ„ด์Šค ์œ ํ˜• ์„ ํƒ

     - ์ธ์Šคํ„ด์Šค ์œ ํ˜• : ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ €์žฅ๊ณต๊ฐ„, ๋„คํŠธ์›Œํ‚น ์šฉ๋Ÿ‰ ๋“ฑ์˜ ๊ตฌ์„ฑ๋‹จ๊ณ„๋ฅผ ํ•„์š”์— ๋งž๊ฒŒ ์„ ํƒ

ํ”„๋ฆฌ ํ‹ฐ์–ด์ธ t2.micro๋ฅผ ์„ ํƒํ–ˆ์Œ

 

โ‘ฅ ์ธ์Šคํ„ด์Šค ์‹œ์ž‘ ๊ฒ€ํ†  → '์‹œ์ž‘ํ•˜๊ธฐ' ๋ฒ„ํŠผ ํด๋ฆญ

 

โ‘ฆ ๊ธฐ์กด ํ‚ค ํŽ˜์–ด ์„ ํƒ ๋˜๋Š” ์ƒˆ ํ‚ค ํŽ˜์–ด ์ƒ์„ฑํ•˜๊ธฐ

     - ํ‚ค ํŽ˜์–ด : ํƒ€์ธ์˜ ์ ‘๊ทผ์„ ์ œํ•œํ•˜๊ณ  ์‚ฌ์šฉ์ž ๋ณธ์ธ์˜ ์ธ์Šคํ„ด์Šค์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒ์„ฑํ•˜๋Š” ํ‚ค

     - ํ‚ค ํŽ˜์–ด๋Š” ๊ณต์šฉ ํ‚ค(Public Key)์™€ ๊ฐœ์ธ ํ‚ค(Private Key)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค์— ์ ‘์† ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ

       ๋ณด์•ˆ์ด ํ™•๋ณด๋œ ๊ณต๊ฐ„์— ์ €์žฅํ•ด์•ผํ•จ

ํ‚ค ํŽ˜์–ด ์ด๋ฆ„์€ ๋ณธ์ธ์ด ์ž„์˜๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.

 

โ‘ง ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ๋ณ€๊ฒฝ

     - ๋ณธ์ธ์˜ ์ธ์Šคํ„ด์Šค ์„ ํƒ > ๋ณด์•ˆ > ๋ณด์•ˆ๊ทธ๋ฃน ํด๋ฆญ

EC2 ์ฝ˜์†” > ์ธ์Šคํ„ด์Šค

     - ๋ณด์•ˆ๊ทธ๋ฃน > ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘ ํด๋ฆญ

 

     - ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘์ฐฝ์—์„œ '๊ทœ์น™ ์ถ”๊ฐ€' ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ 5000, 80, 27017๋ฒˆ ํฌํŠธ ์ฃผ์†Œ '๊ทœ์น™ ์ €์žฅ'

80ํฌํŠธ: HTTP ๊ธฐ๋ณธํฌํŠธ, 5000ํฌํŠธ: flask ๊ธฐ๋ณธํฌํŠธ, 27017ํฌํŠธ: mongoDB ์ ‘์† ํฌํŠธ

 

- โ‘ง๋ฒˆ๊นŒ์ง€์˜ ๊ณผ์ •์„ ์™„๋ฃŒํ•˜๋ฉด ๋ณธ์ธ์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์ด ์™„๋ฃŒ ๋œ ๊ฒƒ์œผ๋กœ EC2 ์ฝ˜์†”์—์„œ ์ž์„ธํ•œ ํ™•์ธ์ด ๊ฐ€๋Šฅ

 

โ‘จ EC2 ์„œ๋ฒ„ ์ข…๋ฃŒ (1๋…„ ํ›„ ์ž๋™ ๊ฒฐ์ œ ๋ฐฉ์ง€)

      - AWS์˜ ํ”„๋ฆฌํ‹ฐ์–ด ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ 1๋…„๊ฐ„ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜์ง€๋งŒ ์ด ํ›„ ์ž๋™๊ฒฐ์ œ๋˜๋ฏ€๋กœ ์›์น˜ ์•Š์„ ๊ฒฝ์šฐ ์„œ๋ฒ„ ์ข…๋ฃŒ

      - 1) ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ์šฐํด๋ฆญ ํ›„ '์ธ์Šคํ„ด์Šค ์ค‘์ง€' → ๋ง ๊ทธ๋Œ€๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ์ž„์‹œ ์ค‘์ง€ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ

      - 2) ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ์šฐํด๋ฆญ ํ›„ '์ธ์Šคํ„ด์Šค ์ข…๋ฃŒ' → ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฐ€์ƒ ์„œ๋ฒ„ ์ค‘์ง€ ํ›„ ์„œ๋ฒ„ ์ข…๋ฃŒ

 

- AWS EC2 ์„œ๋ฒ„ ์„ธํŒ…

๋”๋ณด๊ธฐ

โ‘  FileZilla ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ํ•˜๊ธฐ

     - FileZilla ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ : https://filezilla-project.org/

      โ”” 1) Download FileZilla Client (All platforms) ํด๋ฆญ

           2) (๋ณธ์ธ OS ์‚ฌ์–‘์— ๋งž๋Š”) Donload FileZilla Client ํด๋ฆญ

           3) ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” FileZilla Download ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ์„ค์น˜

     - FileZilla : ์˜คํ”ˆ์†Œ์Šค ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด FTP ํด๋ผ์ด์–ธํŠธ๋กœ์„œ FTPS ํ”„๋กœํ† ์ฝœ ์ง€์›, AWS ์ธ์ฆ์„œ ๋กœ๊ทธ์ธ ์ง€์›

     - FTP (File Transfer Protocol) : TCP/IP ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ PC๋“ค์ด ํŒŒ์ผ์„ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ํ†ต์‹  ๊ทœ์•ฝ(ํ”„๋กœํ† ์ฝœ)

 

โ‘ก FileZilla์™€ ์›๊ฒฉ์„œ๋ฒ„ ์—ฐ๊ฒฐ

     - FileZilla ์‹คํ–‰ ํ›„ ์ƒ๋‹จ์˜ 'File' ๋ฐ‘์˜ ์•„์ด์ฝ˜ ํด๋ฆญ

FileZilla ์‹คํ–‰์‹œ ์ดˆ๊ธฐ ํ™”๋ฉด

     - ์•„์ด์ฝ˜ ํด๋ฆญ์‹œ 'Site Manager' ์ฐฝ ์ „ํ™˜ 'New site' ํด๋ฆญ ํ›„ 'Protocol', 'Host', 'Port', 'Logon Type', 'User', 'Key file' ์„ค์ •

์„ค์ • ์„ธํŒ… ํ›„ Connect ๋ฒ„ํŠผ ํด๋ฆญ!

 

โ‘ข FileZilla๋ฅผ ์ด์šฉํ•˜์—ฌ ์›๊ฒฉ์„œ๋ฒ„์— ํŒŒ์ผ ์ „์†ก

     - ๋ฐฐํฌํ•  ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ผ๋“ค์„ ์„ ํƒ ํ›„ ๋“œ๋ž˜๊ทธ ํ•˜์—ฌ ์›๊ฒฉ์„œ๋ฒ„์˜ ํด๋”๋กœ ์ด๋™ 

 

- AWS EC2 ์ ‘์†ํ•˜๊ธฐ

๋”๋ณด๊ธฐ

โ‘  SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ (1)

     - SSH (Secure Shell Protocol) : ์›๊ฒฉ ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ

       ๊ธฐ๋ณธ ํฌํŠธ๋Š” 22๋ฒˆ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ณด์•ˆ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋›ฐ์–ด๋‚จ 

     - ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์‹œ AMI๋ฅผ Ubuntu๋กœ ์„ ํƒํ•˜์˜€๋Š”๋ฐ. Ubuntu๋Š” Linux ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ฐฐํฌํŒ์ž„

์ธ์Šคํ„ด์Šค > ๋ณด์•ˆ > ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ > ํฌํŠธ๋ฒ”์œ„ ํ™•์ธ(22๋ฒˆ ํฌํŠธ: ์ƒ์„ฑ์‹œ ์ž๋™ ์ถ”๊ฐ€)

 

โ‘  SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ (2)

     - MAC OS : MAC์€ ssh๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ช…๋ น์–ด๋กœ ๋ฐ”๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ

       โ”” 1) ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ

             2) ํ‚ค ํŽ˜์–ด ์ ‘๊ทผ ๊ถŒํ•œ ๋ณ€๊ฒฝํ•˜๊ธฐ 

# sudo chmod 400 ํ‚คํŽ˜์–ด ์œ„์น˜ ๊ฒฝ๋กœ
$ sudo chmod 400 /path/my-key-pair.pem

             3) SSH๋กœ ์ ‘์†ํ•˜๊ธฐ

# ssh -i ํ‚คํŽ˜์–ด ์œ„์น˜ ๊ฒฝ๋กœ ubuntu@์ธ์Šคํ„ด์Šค ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ
$ ssh -i /path/my-key-pair.pem ubuntu@15.164.221.243
EC2 ์ฝ˜์†” > ์ธ์Šคํ„ด์Šค > ํผ๋ธ”๋ฆญIPv4์ฃผ์†Œ ํ™•์ธ ๊ฐ€๋Šฅ

 

     - Window OS : Window๋Š” ssh๊ฐ€ ์—†์œผ๋ฏ€๋กœ git bash ํ”„๋กœ๊ทธ๋žจ ์ด์šฉ

       โ”” 1) gitbash ์‹คํ–‰

             2) SSH๋กœ ์ ‘์†ํ•˜๊ธฐ

$ ssh -i ํ‚คํŽ˜์–ด ์œ„์น˜ ๊ฒฝ๋กœ ubuntu@์ธ์Šคํ„ด์Šค ํผ๋ธ”๋ฆฟ IPv4 ์ฃผ์†Œ

            3) git bash ์ข…๋ฃŒ์‹œ exit ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ssh ์ ‘์†์„ ๋จผ์ € ๋Š์–ด์ฃผ๊ธฐ

์‹ค์ œ Git Bash๋ฅผ ํ†ตํ•œ SSH ์ ‘์† ๋ชจ์Šต

 

โ‘ก ์„œ๋ฒ„ ํ™˜๊ฒฝ ํ†ต์ผ ํ•ด์ฃผ๊ธฐ

      - SSH๋ฅผ ํ†ตํ•ด ์›๊ฒฉ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ํŒŒ์ผ๋“ค์„ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ํŽธ์˜์„ฑ๊ณผ ํ†ต์ผ์„ฑ์„ ์œ„ํ•ด ์ดˆ๊ธฐ ์„ค์ •์ด ํ•„์š”

       โ”” 1) ํ•œ๊ตญ์‹œ๊ฐ„ ์„ธํŒ… : EC2 ์ปดํ“จํ„ฐ์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ํ•œ๊ตญ ์‹œ๊ฐ„๋Œ€๋กœ ์„ค์ •ํ•˜๋Š” ๋ช…๋ น์–ด

$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

             2) ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ : python3 ๋ฐ pip3 ๋ช…๋ น์–ด์˜ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ƒ์„ฑ

# python3 ๋ช…๋ น์–ด๋ฅผ python์œผ๋กœ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์„ค์ •
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10

# pip3 ์„ค์น˜
$ sudo apt-get update
$ sudo apt-get install -y python3-pip

# pip3 ๋ช…๋ น์–ด๋ฅผ pip๋กœ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์„ค์ •
$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

             3) ํฌํŠธ ํฌ์›Œ๋”ฉ ์„ค์ • : 80ํฌํŠธ๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ 5000ํฌํŠธ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด

$ sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
ํฌํŠธ ํฌ์›Œ๋”ฉ : 80ํฌํŠธ๋Š” http ๊ธฐ๋ณธ ํฌํŠธ์ด๊ธฐ์— ์ ‘์† IP์ฃผ์†Œ ๋’ค ํฌํŠธ๋ฒˆํ˜ธ ๋ถ™์ผ ํ•„์š”x

             4) mongoDB ์„ค์น˜ 

# MongoDB - install
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
s udo apt-get update
$ sudo apt-get install -y mongodb-org

$ sudo mkdir -p /data/db

# MongoDB - run
$ sudo service mongod start
$ sleep 7
$ netstat -tnlp

# MongoDB set user, set conf file
$ mongo admin --eval 'db.createUser({user: "test", pwd: "test", roles:["root"]});'
$ sudo sh -c 'echo "security:\n  authorization: enabled" >> /etc/mongod.conf'
$ sudo sed -i "s,\\(^[[:blank:]]*bindIp:\\) .*,\\1 0.0.0.0," /etc/mongod.conf

$ sudo service mongod stop
$ sudo service mongod start
$ sleep 5
$ netstat -tnlp

 

โ‘ข SSH ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ 

# install flask
$ pip install flask

# install pymongo
$ pip install pyMongo

 

โ‘ฃ nohup ์„ค์ •ํ•˜๊ธฐ : Git Bash(SSH ์ ‘์†) ์ข…๋ฃŒ์‹œ์—๋„ ์›๊ฒฉ์„œ๋ฒ„์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋Œ์•„๊ฐ€๋„๋ก ์„ค์ •

      - nohup ๋ช…๋ น + &(๋ฐฑ๊ทธ๋ผ์šด๋“œ) ๋ช…๋ น์„ ํ†ตํ•ด  ์›๊ฒฉ ์ ‘์† ์ข…๋ฃŒ์‹œ์—๋„ ํŒŒ์ผ ์‹คํ–‰ ์œ ์ง€

# nohup ์‹คํ–‰์œ ์ง€ํ•  ํŒŒ์ผ &
$ nohup python app.py &

      - nohup ๋ช…๋ น ๋˜๋Š” &(๋ฐฑ๊ทธ๋ผ์šด๋“œ) ๋ช…๋ น์„ ํ†ตํ•ด  ์‹คํ–‰์ค‘์ธ ํŒŒ์ผ ๊ฐ•์ œ ์ข…๋ฃŒ ๋ฐฉ๋ฒ•

# ๊ฐ•์ œ ์ข…๋ฃŒํ•  ํŒŒ์ผ์˜ pid ๊ฐ’(ํ”„๋กœ์„ธ์Šค ๋ฒˆํ˜ธ) ํƒ์ƒ‰ ๋ช…๋ น์–ด
# ps -ef | grep 'ํƒ์ƒ‰ํŒŒ์ผ๋ช… '
$ ps -ef | grep 'app.py'

# ํ”„๋กœ์„ธ์Šค ๊ฐ•์ œ ์ข…๋ฃŒ ๋ช…๋ น์–ด
# kill -9 [pid ๊ฐ’]
$ kill -9 21070
$ kill -9 21080

 

 

โ”€ EC2 ์„œ๋ฒ„ ์„ธํŒ… ํ›„ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€ ์ ‘์†ํ•˜๊ธฐ โ”€

ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ†ตํ•ด ํฌํŠธ๋ฒˆํ˜ธ :5000 ์ƒ๋žต ๊ฐ€๋Šฅ

 

 

 

[ ๋„๋ฉ”์ธ ๊ตฌ๋งค & ์—ฐ๊ฒฐํ•˜๊ธฐ ]

 - ๋„๋ฉ”์ธ

๋”๋ณด๊ธฐ

- ๋„๋ฉ”์ธ ๋˜๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„(Domain name)์€ ์‚ฌ๋žŒ์ด ์™ธ์šฐ๊ฑฐ๋‚˜ ์‹๋ณ„ํ•˜๊ธฐ ํž˜๋“  IP์ฃผ์†Œ๋กœ์˜ ์ ‘์†์„ ์›ํ•  ๋•Œ ์‹๋ณ„์˜ ์šฉ์ด์„ฑ์„

  ๋†’์ด๊ฑฐ๋‚˜ ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋„คํŠธ์›Œํฌ ํ˜ธ์ŠคํŠธ๋ช…์„ ์˜๋ฏธํ•จ

-๋„๋ฉ”์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๊ตญ์ œ ์ธํ„ฐ๋„ท ์ฃผ์†Œ์ž์› ๊ด€๋ฆฌ๊ธฐ๊ด€(ICANN)๊ณผ ํ•ด๋‹น ๊ตญ๊ฐ€ ๊ธฐ๊ด€์œผ๋กœ๋ถ€ํ„ฐ

 ์Šน์ธ์„ ๋ฐ›์•„, ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์˜ ๋„๋ฉ”์ธ ๋“ฑ๋ก์„ ์œ„์ž„๋ฐ›๋Š” ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ์Œ

๋„๋ฉ”์ธ ๊ตฌ์กฐ

 

 - ๊ฐ€๋น„์•„๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ ๊ตฌ๋งค

๋”๋ณด๊ธฐ

- ๊ฐ€๋น„์•„ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ : https://www.gabia.com/

- ๊ฐ€๋น„์•„ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ ๊ตฌ๋งค

   โ‘  ๊ฐ€๋น„์•„ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž…

   โ‘ก ๊ฐ€๋น„์•„ ํ™ˆํŽ˜์ด์ง€์—์„œ ๋“ฑ๋ก์„ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ๋ช… ๊ฒ€์ƒ‰

์ฒดํฌ๋ฐ•์Šค ์† '์›ํ•˜๋Š” ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•˜์„ธ์š”'๋ž€์— ์ž…๋ ฅ ํ›„ ๊ฒ€์ƒ‰

   โ‘ก ์‚ฌ์ดํŠธ์˜ ์„ฑ๊ฒฉ๊ณผ ๊ฐ€๊ฒฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ ์„ ํƒ ํ›„ ์‹ ์ฒญ

์ด๋ฒคํŠธ๋กœ ์—ฐ๊ฐ„ 500์›์— ๊ตฌ๋งค ๊ฐ€๋Šฅํ•œ .shop ๋„๋ฉ”์ธ์„ ์„ ํƒํ•˜์˜€์Œ

   โ‘ข My๊ฐ€๋น„์•„ ํŽ˜์ด์ง€ ์ ‘์†

   โ‘ฃ My๊ฐ€๋น„์•„ > DNS ๊ด€๋ฆฌํˆด ์„ ํƒ

   โ‘ค ๋ณธ์ธ์˜ ๊ฐ€๋น„์•„ ๋“ฑ๋ก ๋„๋ฉ”์ธ์˜ DNS ์„ค์ • 

DNS ๊ด€๋ฆฌํˆด > DNS ์„ค์ •
DNS ์„ค์ • > ๋ ˆ์ฝ”๋“œ ์ˆ˜์ •

 

   โ‘ฆ DNS ์„ค์ • > ๋ ˆ์ฝ”๋“œ ์ˆ˜์ • ํ•˜๊ธฐ 

        - ์ž„์˜์˜ ํ˜ธ์ŠคํŠธ๋ช… ์„ค์ • ํ›„ '๊ฐ’/์œ„์น˜'๋ž€์— ์—ฐ๊ฒฐํ•  IP์ฃผ์†Œ ์ž…๋ ฅ > ์ƒํƒœ ํ™•์ธ > ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€ > ์ €์žฅ

์ž„์˜์˜ ํ˜ธ์ŠคํŠธ ๋ช…

 

   โ‘ง ์—ฐ๊ฒฐ๋œ ๋„๋ฉ”์ธ ํ™•์ธ

coding-gym.shop ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ์ ‘์† ๊ฐ€๋Šฅ

 

 

[ OG ํƒœ๊ทธ ์„ค์ • ]

๋”๋ณด๊ธฐ

- Open Graph Protocol (OGP) : ์˜คํ”ˆ ๊ทธ๋ž˜ํ”„ ํ”„๋กœํ† ์ฝœ์ด๋ž€ ์›น์‚ฌ์ดํŠธ์˜ HTML ๋ฌธ์„œ ๋‚ด head > meta ํƒœ๊ทธ ์ค‘

  OG ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ๋“ค์„ ์ฐพ์•„๋‚ด ๋ณด์—ฌ์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ

- OG (Open Graph) : HTML ๋ฌธ์„œ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๊ฐ„๋‹จํžˆ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ฝ˜ํ…์ธ ์˜ ์š”์•ฝ ๋‚ด์šฉ์„ ์‹œ๊ฐํ™” ํ•˜๋„๋ก ์„ค์ •

์นด์นด์˜คํ†ก ์•ฑ ๋‚ด ๋งํฌ ๊ณต์œ ์‹œ ๋ณด์—ฌ์ง€๋Š” OG

 

์†์„ฑ ์„ค๋ช… ํ˜•์‹
og:title ํ‘œ์‹œํ•  ์›น์‚ฌ์ดํŠธ ์ œ๋ชฉ
    <meta property="og:title" content="์›น ์‚ฌ์ดํŠธ ์ œ๋ชฉ" />
og:description ํ‘œ์‹œํ•  ์›น์‚ฌ์ดํŠธ์˜ ์†Œ๊ฐœ๋ฌธ
    <meta property="og:description" content="์†Œ๊ฐœ๋ฌธ๊ตฌ" />
og:type ํ‘œ์‹œํ•  ์›น์‚ฌ์ดํŠธ ์ข…๋ฅ˜     <meta property="og:type" content="website" />
og:url ํ‘œ์‹œํ•  ์›น์‚ฌ์ดํŠธ ์ •์‹ URL
    <meta property="og:url" content="URL ๋ช…" />
og:image ํ‘œ์‹œํ•  ์ด๋ฏธ์ง€
    <meta property="og:image" content="{{ url_for('์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ(ํด๋” ๋ช…)', filename='์ด๋ฏธ์ง€ ํŒŒ์ผ๋ช…') }}" />

 

- OG ์บ์‹œ ์ดˆ๊ธฐํ™” : ์ดˆ๊ธฐ OG ํƒœ๊ทธ ์„ค์ • ํ›„ ์ธ์•ฑ ํ˜น์€ ์›น์‚ฌ์ดํŠธ์—์„œ ํ•ด๋‹น URL์„ ์—…๋กœ๋“œ(๊ณต์œ )ํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ์บ์‹œ๊ฐ€ ํ•œ๋™์•ˆ ์ €์žฅ

  OG ํƒœ๊ทธ ๋ณ€๊ฒฝ ์‹œ ์ €์žฅ๋œ ์บ์‹œ ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™” ํ•„์š”

 โ”” ํŽ˜์ด์Šค๋ถ og ํƒœ๊ทธ ์ดˆ๊ธฐํ™” : https://developers.facebook.com/tools/debug/

      ์นด์นด์˜คํ†ก og ํƒœ๊ทธ ์ดˆ๊ธฐํ™” : https://developers.kakao.com/tool/clear/og  

 

OG ํƒœ๊ทธ ์„ค์ • ํ›„ ์นด์นด์˜คํ†ก ์•ฑ ์ฑ„ํŒ… ๋‚ด URL ๋งํฌ ๊ณต์œ ์‹œ ํ™”๋ฉด