AWS

AWS EC2 μ‹œμž‘ν•˜κΈ°

λŒ•λŒ•μ΄λ°œπŸΎ 2018. 7. 12. 17:30


ν”νžˆ ν΄λΌμš°λ“œ μ„œλ²„μ˜ λŒ€ν‘œμ£ΌμžλΌ ν•˜λ©΄ μ•„λ§ˆμ‘΄μ„ λ– μ˜¬λ¦΄ κ²ƒμž…λ‹ˆλ‹€. 저도 μ‚¬μš©ν•΄λ³Έ 적은 μ—†μ—ˆμ§€λ§Œ ν•˜λ„ μ–˜κΈ°λ₯Ό 많이 λ“€μ–΄μ„œ 

κ·Έμ •λ„λ‘œλ§Œ μ•Œκ³  μžˆμ—ˆλŠ”λ° μ΄λ²ˆμ— Node jsλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ μ›Ή μ„œλ²„λ₯Ό μ΄μš©ν•  λͺ©μ μœΌλ‘œ μ•„λ§ˆμ‘΄μ„ μ ‘ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ μ›Œλ‚™ μ™„μ „ν•œ λ¬΄λ£Œκ°€ μ•„λ‹ˆκΈ°λ•Œλ¬Έμ— ( 1λ…„λ™μ•ˆ 프리티어 기간이라고 ν•΄μ„œ 무료이긴 ν•˜λ‚˜ μ‚¬μš©λŸ‰μ˜ ν•œλ„κ°€ 있음.) 과금이 될 수 μžˆλ‹€λŠ” μœ„ν—˜μ„±μ΄ μžˆκΈ°λ„ ν•΄μ„œ μ§€κΈˆ ν΄λΌμš°λ“œ μ„œλ²„λ₯Ό μ‚¬μš© 쀑이긴 ν•˜μ§€λ§Œ 맀번 λΉ„μš©νƒμƒ‰κΈ°λ₯Ό ν™•μΈν•˜λŠ”κ²Œ μΌμƒμž…λ‹ˆλ‹€. λ¬Όλ‘  μ•„μ£Ό μž‘μ€ 규λͺ¨μ˜ ν”„λ‘œμ νŠΈλΌλ©΄ κ·Έλ ‡κ²Œ μœ„ν—˜ν•  μ •λ„μ˜ μ‚¬μš©λŸ‰μ„ μ£ΌλŠ”κ±΄ μ•„λ‹Œ λ“― ν•©λ‹ˆλ‹€. (개인적인 μƒκ°μž…λ‹ˆλ‹€.)


β€» EC2λž€ 무엇인가??

Amazon Elastic Compute Cloud(EC2)λŠ” ν΄λΌμš°λ“œμ—μ„œ μ•ˆμ „ν•˜κ³  크기 쑰정이 κ°€λŠ₯ν•œ μ»΄ν“¨νŒ… νŒŒμ›Œλ₯Ό μ œκ³΅ν•˜λŠ” μ›Ή μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. κ°œλ°œμžκ°€ 더 μ‰½κ²Œ μ›Ή 규λͺ¨μ˜ ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… μž‘μ—…μ„ ν•  수 μžˆλ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Amazon EC2의 κ°„λ‹¨ν•œ μ›Ή μ„œλΉ„μŠ€ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 κ°„νŽΈν•˜κ²Œ ν•„μš”ν•œ μš©λŸ‰μ„ μ–»κ³  ꡬ성할 수 μžˆμŠ΅λ‹ˆλ‹€. μ»΄ν“¨νŒ… λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ 포괄적인 μ œμ–΄κΆŒμ„ μ œκ³΅ν•˜λ©°, Amazon의 κ²€μ¦λœ μ»΄ν“¨νŒ… μΈν”„λΌμ—μ„œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Amazon EC2λŠ” μƒˆλ‘œμš΄ μ„œλ²„ μΈμŠ€ν„΄μŠ€λ₯Ό νšλ“ν•˜κ³  λΆ€νŒ…ν•˜λŠ” 데 ν•„μš”ν•œ μ‹œκ°„μ„ 단 λͺ‡ λΆ„μœΌλ‘œ λ‹¨μΆ•ν•˜λ―€λ‘œ μ»΄ν“¨νŒ… μš”κ΅¬ μ‚¬ν•­μ˜ 변화에 따라 μ‹ μ†ν•˜κ²Œ μš©λŸ‰μ„ ν™•μž₯ν•˜κ±°λ‚˜ μΆ•μ†Œν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ μ‹€μ œ μ‚¬μš©ν•œ 만큼만 μš”κΈˆμ„ μ§€λΆˆν•˜λ©΄ λ˜λ―€λ‘œ, μ»΄ν“¨νŒ… λΉ„μš©μ΄ μ ˆμ•½λ©λ‹ˆλ‹€. Amazon EC2λŠ” κ°œλ°œμžκ°€ μž₯애에 λŒ€ν•œ 볡원λ ₯이 λ›°μ–΄λ‚˜κ³  일반적인 였λ₯˜ 상황에 영ν–₯을 받지 μ•ŠλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ꡬ좕할 수 μžˆλ„λ‘ 도ꡬλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.



AWS 곡식 ν™ˆνŽ˜μ΄μ§€μ— λ‚˜μ™€μžˆλŠ” λ‚΄μš©μž…λ‹ˆλ‹€. AWSμ—μ„œ λŒ€ν‘œμ μΈ μ„œλΉ„μŠ€λ‘œ λΆˆλ¦¬λŠ” EC2λŠ” κ·Έλ‚˜λ§ˆ ꡬ글링 ν–ˆμ„ λ•Œμ—λ„ κ°€μž₯ 정보가 많고 그만큼 ꡬ좕 방법도 μ‰¬μš΄ νŽΈμ— μ†ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. λ¬Όλ‘  정말 μ„Έλ°€ν•˜κ²Œ ν•΄μ•Όν•˜λŠ” μ‹€λ¬΄μ—μ„œλŠ” 마λƒ₯ 쉽닀고 ν•˜κΈ΄ μ–΄λ €μšΈ λ“― ν•©λ‹ˆλ‹€. 쉽고 κ°„νŽΈν•œ 만큼 μ‚¬μš©μžμ˜ μ»€μŠ€ν…€μ΄ 많이 ν•„μš”ν•œ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. 정말 ν……ν…… 빈 컴퓨터λ₯Ό ν•˜λ‚˜ λŒ€μ—¬ν•΄μ€€λ‹€κ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€. 

λ³΄μ•ˆ  μͺ½μ—λ„ μ‚¬μš©μžκ°€ μ‹ κ²½μ¨μ€˜μ•Ό ν•  뢀뢄이 많기 λ•Œλ¬Έμ— 깊이 κ³΅λΆ€ν•˜λ©΄ μ‰½μ§€λŠ” μ•Šμ„ 것이라 μƒκ°ν•©λ‹ˆλ‹€.


일단 그런건 λ‹€ μ œμ³λ‘κ³  ꡬ좕 방법에 λŒ€ν•΄ μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€! (기본적으둜 μ•„λ§ˆμ‘΄μ— νšŒμ›κ°€μž…μ΄ λ˜μ–΄μžˆλ‹€λŠ” κ°€μ •ν•˜μ— μ‹œμž‘ν•©λ‹ˆλ‹€.)



=> μ½˜μ†” ν™ˆμ— λ“€μ–΄κ°€μ‹œλ©΄ λ‚˜μ™€μžˆλŠ” λ©”λ‰΄μž…λ‹ˆλ‹€. μš°λ¦¬λŠ” EC2 μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  것이기 λ•Œλ¬Έμ— ν•΄λ‹Ή 메뉴λ₯Ό ν΄λ¦­ν•˜μ—¬ λ“€μ–΄κ°‘λ‹ˆλ‹€.



=> μ•„λ§ˆμ‘΄μ—μ„œλŠ” μΈμŠ€ν„΄μŠ€λΌλŠ” 단어가 ꡉμž₯히 많이 μ“°μ—¬μ§‘λ‹ˆλ‹€. μ‰½κ²Œ μƒκ°ν•˜λ©΄ μ‚¬μš©μžμ—κ²Œ μ œκ³΅λ˜λŠ” ν΄λΌμš°λ“œ μ„œλ²„ ν•˜λ‚˜ν•˜λ‚˜λ₯Ό μΈμŠ€ν„΄μŠ€λΌκ³  μƒκ°ν•˜λ©΄ 될 것 κ°™μŠ΅λ‹ˆλ‹€. μ €λŠ” ν˜„μž¬ 싀행쀑인 μΈμŠ€ν„΄μŠ€κ°€ ν•˜λ‚˜ μžˆλŠ” μƒνƒœμΈλ° μ—†λ‹€λŠ” κ°€μ •ν•˜μ— 

μΈμŠ€ν„΄μŠ€ μ‹œμž‘ 메뉴λ₯Ό λ“€μ–΄κ°‘λ‹ˆλ‹€.



=> μ–΄λ–€ 운영체제λ₯Ό μ‚¬μš©ν•  것인지 μ„ νƒν•˜λŠ” 뢀뢄인데 프리티어λ₯Ό μ‚¬μš©ν•œλ‹€κ³  ν•˜λŠ” κ°€μ •ν•˜μ— ν•΄λ‹Ή μ œν’ˆλ“€μ€‘μ— ν•˜λ‚˜λ₯Ό μ„ νƒν•˜λ©΄ λ©λ‹ˆλ‹€. μ €λŠ” μš°λΆ„νˆ¬λ₯Ό μ‚¬μš©ν•˜λ € ν•©λ‹ˆλ‹€.


=> 프리티어 μ‚¬μš©μžλŠ” 기본적으둜 μ‚¬μš©κ°€λŠ₯ν•œ μΈμŠ€ν„΄μŠ€ μœ ν˜•μ΄ ν•˜λ‚˜ μž…λ‹ˆλ‹€. μ–΄λ–€ μ‚¬μ–‘μ˜ μ„œλ²„λ₯Ό λŒ€μ—¬ν•΄μ€„μ§€λ₯Ό κ²°μ •ν•˜λŠ” 것인데 프리티어 μ‚¬μš©μžμ˜ μ„ νƒμ§€λŠ” 이거 ν•œκ°€μ§€μ΄λ―€λ‘œ λ‹€μŒμœΌλ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€.



=> μ‚¬μš©μžμ˜ μž…λ§›μ— λ§žκ²Œλ” μΈμŠ€ν„΄μŠ€(μ„œλ²„)λ₯Ό κ΅¬μ„±ν•˜λŠ” 단계인데 μ»€μŠ€ν…€μ‹œ μΆ”κ°€μš”κΈˆμ΄ λΆ€κ³Όλœλ‹€λŠ” μ„€λͺ…이 λͺ…μ‹œλ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. 일단 μ €λŠ” κ·Έλƒ₯ 기본섀정을 따라 κ°€λ € ν•˜λ―€λ‘œ λ‹€μŒμœΌλ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€.


=> μ–Όλ§ˆλ§ŒνΌμ˜ μš©λŸ‰μœΌλ‘œ μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 것인가 λ¬»λŠ” λ‹¨κ³„μž…λ‹ˆλ‹€. μ €λŠ” κ·Έλƒ₯ μžˆλŠ” κ·ΈλŒ€λ‘œ μ§„ν–‰ν•˜κ³  λ‚˜μ€‘μ— μƒμ„±λœ

 μΈμŠ€ν„΄μŠ€μ˜ μš©λŸ‰μ„ ν™•μΈν•΄λ³΄λ‹ˆ μ•„λž˜μ™€ 같이 8κΈ°κ°€λ‘œ μž‘νžˆλŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. μ΅œλŒ€ 30κΈ°κ°€κΉŒμ§€ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€κ³  ν•˜λ‹ˆ 더 크게 ν•  μˆ˜λ„ μžˆμ„ λ“―ν•˜λ‚˜ 

μŠ€ν† λ¦¬μ§€μ— κ΄€ν•œ μžμ„Έν•œ λ‚΄μš©μ„ λ³΄λ‹ˆ μ΄λŸ¬ν•œ 그림으둜 μ„€λͺ…을 ν•΄μ£ΌλŠ”λ° μ΅œλŒ€ 30GBλ₯Ό μ œκ³΅ν•΄μ€€λ‹€λŠ” μ–˜κΈ°κ°€ 각각의 μΈμŠ€ν„΄μŠ€μ— ν•΄λ‹Ήλ˜λŠ” 것인지 μ•„λ‹ˆλ©΄ λ‹€μˆ˜μ˜ μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ ν•©μœΌλ‘œ κ³„μ‚°λ˜λŠ” κ²ƒμΈμ§€λŠ” 아직 μ‹œλ„λ₯Ό 해보지 μ•Šμ•„μ„œ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€..

μ•„λ§ˆ ν›„μžκ°€ μ•„λ‹κΉŒ 생각이 λ“­λ‹ˆλ‹€.



=> νƒœκ·Έ μΆ”κ°€ λ‹¨κ³„λŠ” λ›°μ–΄ λ„˜κ³  λ³΄μ•ˆ κ·Έλ£Ή μͺ½μ„ λ§ˆμ§€λ§‰μœΌλ‘œ μΈμŠ€ν„΄μŠ€ 생성이 λλ‚˜κ²Œ λ˜λŠ”λ° Node둜 μ›Ήμ„œλ²„λ₯Ό κ΅¬μΆ•ν•˜λŠ” μ €λŠ” HTTP와 μ œκ°€ μ‚¬μš©ν•˜λ €λŠ” 포트번호 3000λ²ˆμ„ κ·œμΉ™μ„ μΆ”κ°€ν•˜μ—¬ μœ„μ™€κ°™μ΄ μƒμ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ³΄μ•ˆμ΄ μ „ν˜€ λ˜μ§€ μ•Šμ€ κ°€μž₯ 기본적인 ν˜•νƒœλ‘œ μƒμ„±ν•˜μ˜€κΈ° λ•Œλ¬Έμ— 맨 처음 λ§ν–ˆλ˜ 것 처럼 λ³΄μ•ˆ λΆ€λΆ„μ—μ„œ μ‚¬μš©μžκ°€ λ”°λ‘œ 보완해야할 뢀뢄이 μžˆμ–΄λ³΄μž…λ‹ˆλ‹€.  ν•΄λ‹Ή 단계λ₯Ό 끝으둜 μΈμŠ€ν„΄μŠ€λ₯Ό ν•˜λ‚˜ μƒμ„±ν•˜κ²Œ  λ©λ‹ˆλ‹€.



μƒμ„±λœ μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜κΈ° μœ„ν•΄μ„œλŠ” awsμ—μ„œ μƒμ„±ν•΄μ£ΌλŠ” ν‚€ νŽ˜μ–΄κ°€ ν•„μš”ν•©λ‹ˆλ‹€. 


=> ν‚€ νŽ˜μ–΄ 생성을 ν†΅ν•΄μ„œ ν‚€ νŽ˜μ–΄ 이름을 μž…λ ₯ν•˜λ©΄ .pem 파일이 μžλ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œκ°€ λ©λ‹ˆλ‹€. 

ν•΄λ‹Ή 파일이 어디에 μ €μž₯λ˜λŠ”μ§€ 잘 μ•Œμ•„λ‘μ„Έμš” ν•΄λ‹Ή κ²½λ‘œμ—μ„œ 터미널 λͺ…λ Ήμ–΄λ₯Ό 톡해 μ ‘κ·Όν•˜κ²Œ λ©λ‹ˆλ‹€.



=> 이제 μƒμ„±λœ μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•  μ°¨λ‘€μž…λ‹ˆλ‹€. ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€λ₯Ό 우클릭 ν•œ 후에 μ—°κ²° 메뉴λ₯Ό μ„ νƒν•˜λ©΄


=> μ΄λŸ¬ν•œ 창이 뜨게 λ˜λŠ”λ° 터미널 λͺ…λ Ήμ–΄λ₯Ό κΈ°μ€€μœΌλ‘œ μ„€λͺ…을 λ“œλ¦½λ‹ˆλ‹€. 제 ν™˜κ²½μ΄ μœˆλ„μš°κ°€ μ•„λ‹ˆλΌ PuTTYλ₯Ό μ‚¬μš©ν•΄λ³Έ 적이 μ—†μ–΄μ„œ μœˆλ„μš° 같은 κ²½μš°λŠ” PuTTYλ₯Ό μ‚¬μš©ν•œ μ—°κ²°λ²•μœΌλ‘œ 접근을 ν•΄μ•Όν•  λ“― ν•©λ‹ˆλ‹€.

μ•„κΉŒ ν‚€νŽ˜μ–΄λ₯Ό λ‹€μš΄λ‘œλ“œ λ°›μ•˜μ„ 텐데 터미널을 μΌœμ„œ ν•΄λ‹Ή .pem 파일이 λ‹€μš΄λ‘œλ“œ 된 경둜둜 κ°€μ„œ 1,2,3의 λͺ…λ Ήμ–΄λ₯Ό μ°¨λ‘€λ‘œ μ‹€ν–‰μ‹œν‚΅λ‹ˆλ‹€. μžμ‹ μ˜ ν‚€νŽ˜μ–΄ 파일 이름에 λ”°λΌμ„œ λͺ…λ Ήμ–΄λ₯Ό 달리 ν•΄μ£Όμ‹œλ©΄ λ˜κ² μŠ΅λ‹ˆλ‹€. (μ €λŠ” νŒŒμΌμ΄λ¦„μ΄ aws.pem μž…λ‹ˆλ‹€.) 



=> 맨 λ§ˆμ§€λ§‰ λͺ…λ Ήμ–΄λ₯Ό μˆ˜ν–‰ μ‹œμ— μ΄λ ‡κ²Œ ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€λ‘œ SSH 접속이 λ©λ‹ˆλ‹€. 비주얼적인 뢀뢄이 μ—†λŠ” 컴퓨터λ₯Ό λͺ…λ Ήμ–΄ ν˜•νƒœλ‘œ μ œμ–΄ν•  수 μžˆλŠ” μƒνƒœλ‘œ μ ‘κ·Όν•˜μ…¨λ‹€κ³  보면 λ˜κ² μŠ΅λ‹ˆλ‹€. 

μ œκ°€ VNCλ₯Ό 톡해 λΉ„μ£Όμ–Όλͺ¨λ“œλ‘œ 접근을 ν•΄λ΄€μ§€λ§Œ μ •~~~~~~~~~~~~~말 느렀 ν„°μ Έμ„œ λ°”λ‘œ 꺼버렸고 SSH둜 ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜λŠ”κ²Œ κ°€μž₯ λ‚˜μ•„λ³΄μž…λ‹ˆλ‹€. 심지어 SSH둜 접근해도 λŠλ¦½λ‹ˆλ‹€. γ…‹γ…‹ 그리고 μ—¬κΈ°μ„œλΆ€ν„°λŠ” λ¦¬λˆ…μŠ€ λͺ…λ Ήμ–΄λ‘œ λͺ¨λ“ κ±Έ μ‘°μž‘ν•©λ‹ˆλ‹€.

λ¦¬λˆ…μŠ€μ˜ νŒ¨ν‚€μ§€ κ΄€λ¦¬μžμΈ apt-getλͺ…λ Ήμ–΄λ₯Ό 톡해 λŒ€λΆ€λΆ„ μ„€μΉ˜ν•˜λ©° 각자 μ›ν•˜λŠ” ν™˜κ²½μ— 맞게 ν•˜λ‚˜ν•˜λ‚˜ κΉ”μ•„μ•Όν•©λ‹ˆλ‹€.



μ €λŠ” Node jsλ₯Ό μ΄μš©ν•΄μ„œ λ‘œμ»¬μ—μ„œ κ³„μ†ν•΄μ„œ μ›Ήμ„œλ²„λ₯Ό λ§Œλ“œλŠ” μž‘μ—… μ€‘μ΄μ—ˆλŠ”λ° awsλ₯Ό μ΄μš©ν•˜λ €λŠ” μ΄μœ λŠ”

1) λ‘œμ»¬μ—μ„œ ν•˜λŠ” μ›Ήμ„œλ²„ μž‘μ—…μ€ λ‹€λ₯Έμ‚¬λžŒμ΄ 접근이 λΆˆκ°€ν•©λ‹ˆλ‹€. (μ›Ήμ‚¬μ΄νŠΈλ‘œμ„œμ˜ μ˜λ―Έκ°€ μ—†μŒ)

2) λ°±κ·ΈλΌμš΄λ“œλ‘œ 싀행이 κ°€λŠ₯ν•©λ‹ˆλ‹€. (제 컴퓨터가 꺼져도 μ›Ήμ„œλ²„κ°€ 죽지 μ•ŠμŠ΅λ‹ˆλ‹€.)


EC2λ₯Ό 처음 μ‹œμž‘ν•˜λŠ” 방법을 μ†Œκ°œν•œ κ²ƒμ΄λ―€λ‘œ 이 ν¬μŠ€νŒ…μ—μ„œλŠ” μΈμŠ€ν„΄μŠ€μ— Node jsν™˜κ²½μ„ μ„€μΉ˜ν•˜λŠ” 뢀뢄은 κΈ°μž¬ν•˜μ§€ μ•Šκ² μŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.