SSH(Secure Shell) 을 톡해 VM(Virtual Machine)에 λ‚˜λ§Œμ˜ μ½”λ“œλ₯Ό λ„£μ–΄ 보자


1. μ™ΈλΆ€ IP μ£Όμ†Œ κ³ μ • μ˜ˆμ•½ν•˜κΈ°

Virtual Machine μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λœ λͺ¨μŠ΅κ³Ό 세뢀정보

VM μΈμŠ€ν„΄μŠ€ 세뢀정보에 μžˆλŠ” 직렬 포트1(μ½˜μ†”) 에 λ“€μ–΄κ°€λ©΄

ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€κ°€ μ–΄λ–€ μ‹μœΌλ‘œ λΉŒλ“œλ˜μ—ˆλŠ”μ§€ μƒμ„Έν•œ λ‚΄μš©μ΄ λ‚˜μ˜΅λ‹ˆλ‹€.

 

λ§Œμ•½ μΈμŠ€ν„΄μŠ€κ°€ μ œλŒ€λ‘œ μƒμ„±λ˜μ—ˆμ§€λ§Œ, μ›ν•˜λŠ”λŒ€λ‘œ λ™μž‘ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄

μ½˜μ†”μ— λ“€μ–΄κ°€μ„œ 힌트λ₯Ό 얻을 수 μžˆμ–΄μš”!

 

VPC λ„€νŠΈμ›Œν¬ μ•ˆμ˜ "μ™ΈλΆ€ IP μ£Όμ†Œ" 에 λ‚˜μ™€μžˆλŠ” μ„ΈλΆ€ 사항

μ™ΈλΆ€ μ£Όμ†Œ 섀정을 μœ„ν•΄ λ„€νŠΈμ›Œν‚Ή - VPC λ„€νŠΈμ›Œν¬ - μ™ΈλΆ€ IPμ£Όμ†Œλ‘œ λ“€μ–΄κ°€ λ΄…μ‹œλ‹€.

μœ„μ—μ„œ instance-1의 λ‚΄λΆ€ IP와 λ”λΆˆμ–΄ μ™ΈλΆ€ μ£Όμ†Œκ°€ λ‚˜νƒ€λ‚˜ μžˆλŠ” 것을 λ³Ό 수 μžˆμ–΄μš”.

ν•˜μ§€λ§Œ 졜초 VM을 μƒμ„±ν•˜κ²Œ 되면, ν•΄λ‹Ή μ™ΈλΆ€ μ£Όμ†ŒλŠ” μž„μ‹œλ‘œ μ„€μ • λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

즉, ν…ŒμŠ€νŠΈλ₯Ό ν•˜λŠ” λ™μ•ˆ 이 μž„μ‹œ μ£Όμ†Œκ°€ μ‚¬λΌμ§ˆ μˆ˜λ„ μžˆλŠ” κ²λ‹ˆλ‹€.

 

λ§Œμ•½ λ™μΌν•œ IPλ₯Ό μœ μ§€μ‹œν‚€κ³  μ‹Άλ‹€λ©΄ κ³ μ •μœΌλ‘œ λ°”κΎΈλŠ” 것도 쒋은 λ°©λ²•μ΄μ—μš”.

ν•˜μ§€λ§Œ https 인증을 ν•˜μ§€ μ•Šμ€ httpλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλ‹€λ©΄, μ™ΈλΆ€ 해킹에 μ·¨μ•½ν•˜λ‹€λŠ” 것을 κΈ°μ–΅ν•©μ‹œλ‹€.

이번 μ‹œλ¦¬μ¦ˆμ—μ„œλŠ” 이것을 κ³ μ •μœΌλ‘œ λ³€κ²½ν•΄μ„œ μ‚¬μš©ν•΄ λ³Ό κ±°μ—μš”.


2. SSH μ—μ„œ CentOs νŒ¨ν‚€μ§€ μ„€μΉ˜

λ‹€μ‹œ, VM μΈμŠ€ν„΄μŠ€λ‘œ λŒμ•„κ°€μ„œ μ—°κ²° - SSHλ₯Ό 클릭 ν•΄λ΄…μ‹œλ‹€.

Secure shell에 μ§„μž… ν•œ λͺ¨μŠ΅.

생성 μ§ν›„μ—λŠ” μ•„λ¬΄λŸ° νŒŒμΌλ„ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„μš”.

λ¨Όμ €, μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό 터미널에 μ°¨λ‘€μ°¨λ‘€λ‘œ μž…λ ₯ν•΄λ΄…μ‹œλ‹€.

sudo -s
yum install -y
yum install npm
yum install git
yum install screen

이둜 인해 ν„°λ―Έλ„μ—μ„œ κΆŒν•œ (μ΅œμƒμœ„ κΆŒν•œ)을 νšλ“ν•˜κ³ ,

yumμ΄λΌλŠ” centosμ—μ„œ μ‚¬μš©ν•˜λŠ” νŒ¨ν‚€μ§€ μ„€μΉ˜ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•  수 μžˆμ–΄μš”.

λ˜ν•œ, yum을 톡해 npmκ³Ό screen κ³Ό git μ΄λΌλŠ” νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.

 


> npm μ΄λž€? <

(Node Package Manager)

Javascript μ½”λ“œλ“€μ„ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ Node JSλ₯Ό μ‚¬μš©ν•˜λŠ”λ°,

이 Node JSμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” νŒ¨ν‚€μ§€λ“€μ„ κ΄€μž₯ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.

npm install xx λ₯Ό 톡해 Node JSμ—μ„œ μ‚¬μš©ν•  λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„

μ™ΈλΆ€μ—μ„œ λ‹€μš΄λ‘œλ“œν•˜μ—¬ μ‚¬μš© ν•  수 μžˆμ–΄μš”!


> screen μ΄λž€ ? <

λ‹¨μˆœνžˆ λ§ν•˜μžλ©΄, μ—¬λŸ¬ 개의 μ°½μ„ λ§Œλ“€ 수 있게 ν•΄μ£ΌλŠ” νŒ¨ν‚€μ§€.

ν„°λ―Έλ„μ—μ„œ 좔가적인 창을 λ§Œλ“€μ–΄, 터미널을 μ’…λ£Œν•˜λ”λΌλ„

μ½”λ“œκ°€ κ³„μ†ν•΄μ„œ 싀행될 수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.


> Git μ΄λž€? <

GitHub에 μ˜¬λ €λ†“μ€ 본인의 μ½”λ“œλ‚˜ μ˜€ν”ˆμ†ŒμŠ€λ“€μ„

λΆˆλŸ¬μ˜€κ±°λ‚˜ μ—…λ°μ΄νŠΈ ν•  수 μžˆλŠ” νŒ¨ν‚€μ§€.



3. GitHub의 μ½”λ“œλ₯Ό 가져와 μ„€μΉ˜ν•˜κΈ°

GitHub 등에 본인의 μ½”λ“œκ°€ μžˆλŠ” μ‚¬λžŒλ“€μ€ clone으둜 λΆˆλŸ¬μ˜΅μ‹œλ‹€.

λ§Œμ•½ GitHub의 μ‚¬μš©μ΄ 처음이라면, 일단 νšŒμ›κ°€μž…λΆ€ν„° ν•΄μ•Όν•΄μš”.

μ½”λ“œκ°€ μ—†λŠ” μ‚¬λžŒλ“€μ€, 터미널에 μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄λ΄…μ‹œλ‹€.

git clone https://github.com/formicae/gcp_example.git
ls
cd gcp_example

μ •μƒμ μœΌλ‘œ μ™„λ£Œλ˜λ©΄ μœ„μ™€ 같은 그림이 ν‘œμ‹œλ  것이닀.

μ—¬κΈ°κΉŒμ§€ μ™„λ£Œλ˜μ—ˆλ‹€λ©΄, μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό 터미널에 μž…λ ₯ν•΄λ΄…μ‹œλ‹€

screen
screen -ls

screen을 ν†΅ν•΄μ„œ 또 ν•˜λ‚˜μ˜ 창을 μƒμ„±ν–ˆμŠ΅λ‹ˆλ‹€.

κ·Έ λ’€, 총 ν™œμ„±ν™”λœ screen을 ν™•μΈν•˜λŠ” λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜λ©΄

μ•„λž˜μ™€ 같은 κ²°κ³Όλ₯Ό λ³Ό 수 μžˆμ„ κ±°μ—μš”.

λ§ˆμ§€λ§‰μœΌλ‘œ, μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄ μ½”λ“œλ₯Ό μ„œλ²„μ—μ„œ κ΅¬λ™μ‹œμΌœ λ΄…μ‹œλ‹€!

npm start

μœ„ 그림의 문ꡬ가 λ‚˜μ˜€λ©΄, μ œλŒ€λ‘œ 싀행이 되고 μžˆλ‹€λŠ” λœ»μž…λ‹ˆλ‹€.

이제 SSH 터미널을 λ•μ‹œλ‹€.

λ§Œμ•½, Screen을 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ SSH 터미널을 λ„λŠ” μˆœκ°„

μ„œλ²„μ— 올린 μ½”λ“œλŠ” κ·ΈλŒ€λ‘œ λŠκ²¨λ²„λ¦½λ‹ˆλ‹€.

이 λ•Œλ¬Έμ— Screen을 μ‚¬μš©ν•˜μ—¬ μ½”λ“œλ₯Ό λ™μž‘μ‹œν‚€λŠ” κ²ƒμž…λ‹ˆλ‹€.


4. λ°©ν™”λ²½ μ„€μ •ν•˜κΈ°

λ§ˆμ§€λ§‰μœΌλ‘œ μ„œλ²„μ˜ λ™μž‘μ„ ν™•μΈν•˜κΈ° 전에, 방화벽을 손봐 μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 λ°©ν™”λ²½μ—μ„œ, http에 ν•΄λ‹Ήν•˜λŠ” 방화벽을 μˆ˜μ •ν•©μ‹œλ‹€.

PORT 3000을 μΆ”κ°€ν•˜λŠ” μ΄μœ λŠ”, Node JS μ½”λ“œμ—μ„œ

접속 ν•  수 μžˆλŠ” PORTλ₯Ό 3000으둜 μ œν•œν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

PORTλ₯Ό μ‚¬μš©ν•˜λŠ” λͺ©μ μ€ λ‹€μ–‘ν•œλ°, 좔후에 닀뀄 λ³Όκ²Œμš”.

이제 λ§ˆμ§€λ§‰μœΌλ‘œ, μ•„κΉŒμ „μ— κ³ μ •μ‹œν‚¨ μ™ΈλΆ€ IPμ—μ„œ

PORT 번호 3000λ²ˆμ„ μΆ”κ°€ν•˜μ—¬ μ›Ήμ—μ„œ μš”μ²­μ„ λ³΄λ‚΄λ΄…μ‹œλ‹€.

μ„œλ²„μ—μ„œ Screen을 톡해 Node JS μ½”λ“œκ°€ λ™μž‘ν•˜κ³  μžˆμœΌλ―€λ‘œ,

GET method λ₯Ό 톡해 μ•„λž˜μ™€ 같은 문ꡬ가 λ‚˜νƒ€λ‚  κ±°μ—μš”.

μ—¬κΈ°κΉŒμ§€ 기본적인 VM μ„œλ²„ 생성이 μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€!

 

μ°Έκ³ ) κΈ€μ“΄μ΄μ˜ μ„œλ²„λΉ„μš©μ„ μœ„ν•΄ μœ„μ˜ μ™ΈλΆ€IPλŠ” 막아놓은 μƒνƒœμ΄λ―€λ‘œ

ν•΄λ‹Ή IPμ—μ„œ 응닡이 μ™œ μ—†λŠ”μ§€μ— λŒ€ν•œ 고민은 ν•˜μ§€ μ•Šμ•„λ„ λœλ‹΅λ‹ˆλ‹€! γ…Žγ…Ž

+ Recent posts