DevOps/AWS

CI/CD : GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 1ํŽธ (PEM, PPK ํ‚ค , PuTTy)

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 11. 27.

 

 

์ง€๋‚œ๋ฒˆ ํ˜ผ์ž์„œ ๋™๋™๋Œ€๊ณ  ์ง€์ธ์—์„œ ๋ฌผ์–ด๋ด์„œ develop ๋ธŒ๋žœ์น˜์˜ ์ž๋™๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ตฌ์ถ•ํ•ด ๋ณด์•˜๋‹ค.

 

์ด๋ฒˆ์—” ํ˜ผ์ž์„œ ์‹ค์ „ ๋А๋‚Œ์œผ๋กœ release ๋ธŒ๋žœ์น˜์˜ ์ž๋™ ๋ฐฐํฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ๋‹ค.

 

๋จผ์ € ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ EC2 ์ธ์Šคํ„ด์Šค์™€ RDS MySQL ์ด๋‹ค.

 

 

์ธ์Šคํ„ด์Šค ์‹œ์ž‘์„ ๋ˆ„๋ฅด๊ณ  ์ด๋ฆ„์„ ์ ์–ด์ค€๋‹ค.

 

AMI ๋กœ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋งŽ์ด ์žˆ๋Š” Ubuntu ๋ฅผ ํ™œ์šฉํ•˜์˜€๋‹ค.

 

์ธ์Šคํ„ด์Šค ์œ ํ˜•์œผ๋กœ๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” t2.micro ์‚ฌ์šฉํ•˜์˜€๋‹ค.

 

 

 

 

 

๋‹ค์Œ์€ ์ค‘์š”ํ•œ ํ‚คํŽ˜์–ด์ด๋‹ค.

๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ํ‚คํŽ˜์–ด๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆํ‚ค ํŽ˜์–ด ์ƒ์„ฑ์„ ๋ˆŒ๋Ÿฌ ํ‚คํŽ˜์–ด๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค.

PEM ๋กœ ํ•˜๋ฉด OpenSSH ์—ฐ๊ฒฐ์„ ํ•œ๋ฒˆ์— ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ppk ํ‚ค๋ฅผ Putty ๋กœ OpenSSH  Key๋กœ ๋ณ€ํ™˜ํ•˜๋Š” 

์ž‘์—…์„ ๊ณต๊ฐœํ•˜๊ฒ ๋‹ค.

 

 

 

 

๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ ํ‚ค๊ฐ€ ๋‹ค์šด ๋ฐ›์•„์ง€๋Š”๋ฐ, ์ž˜ ๊ฐ–๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. ๋‚˜์ค‘์— ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ ์“ฐ์ผ ํ‚ค๋‹ค.

 

 

 

๋ฐฉํ™”๋ฒฝ ๋ณด์•ˆ ๊ทธ๋ฃน์œผ๋กœ๋Š” ๊ธฐ๋ณธ์œผ๋กœ SSH ํ†ต์‹ ์ด ํ—ˆ์šฉ๋˜์–ด ์žˆ๋‹ค. ๋‚˜์ค‘์— HTTP , HTTPS ํ†ต์‹ ์„ ํ• ์ง€ ๋ชจ๋ฅด๋‹ˆ ์ฒดํฌํ•ด์„œ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ด์ฃผ์—ˆ๋‹ค. 

 

๋‚˜๋จธ์ง€๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๊ณ , ์ธ์Šคํ„ด์Šค ์‹œ์ž‘์„ ํ•ด์ฃผ์—ˆ๋‹ค.

 

 

 

๊ทธ๋Ÿผ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž˜ ๋งŒ๋“ค์–ด ์ง„๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๋ณด์•ˆ๊ทธ๋ฃน์„ ๋ˆŒ๋Ÿฌ ๋‹ค๋ฅธ ํ†ต์‹  ํฌํŠธ์—์„œ๋„ ์—ด๋ฆฌ๊ฒŒ ํ•ด์ค˜์•ผํ•œ๋‹ค. ๋‚˜์ค‘์— RDS์™€ ์—ฐ๊ฒฐ์„ ํ•˜๋Š”๋ฐ, ๋ถ„๋ช… 3306ํฌํŠธ๋ฅผ ์—ด์–ด ์คฌ๋Š”๋ฐ๋„, ์ฝ์„ ๋• ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”์ด์ƒ RDS์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•œ๋‹ค. ์“ฐ๊ธฐ์™€ ์ฝ๊ธฐ๋ฅผ ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์“ฐ๋Š” ๊ฑด์ง€, ์ด๊ฑด ๋‚˜์ค‘์— ์•Œ์•„๋ด์•ผํ• ๊ฑฐ ๊ฐ™๋‹ค. 

 

 

๋ณด์•ˆ๊ทธ๋ฃน์„ ๋ˆŒ๋Ÿฌ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ํŽธ์ง‘ํ•ด์ค€๋‹ค.

 

 

 

 

 

์ด์   ์•„๊นŒ ๋‹ค์šด๋ฐ›์€ ppk๋ฅผ PuTTYgen ์„ ์ด์šฉํ•œ SSH ํ‚ค๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.

PuTTY ๊ฐ€ ์—†๋‹ค๋ฉด ์ด๊ณณ์—์„œ ๋‹ค์šด ๋ฐ›์•„์•ผํ•œ๋‹ค.

์œˆ๋„์šฐ ๋ฒ„์ „

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.79)

This page contains download links for the latest released version of PuTTY. Currently this is 0.79, released on 2023-08-26. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

 

 

๋‹ค์šด ๋ฐ›์œผ๋ฉด ์ด๋ ‡๊ฒŒ ์•ฑ์—์„œ  PuTTY ๊ฐ€ ์ƒ๊ธด๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

๋งŒ์•ฝ GitHub Actions์— ์ง์ ‘ PPK ํ˜•์‹์˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ณ€ํ™˜ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. PuTTY Key Generator (puttygen)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PPK๋ฅผ OpenSSH ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

File - Load private key๋ฅผ ํ•˜์—ฌ ์•„๊นŒ ec2์—์„œ ์ƒ์„ฑํ•œ ํ‚คํŽ˜์–ด ํ‚ค๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

 

 

Export Open SSH key๋ฅผ ํด๋ฆญํ•˜์—ฌ OpenSSH Key๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 

์ƒ์„ฑํ•œ OpenSSH ํ‚ค๋Š” ์ž˜ ๊ฐ–๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. ๋‚˜์ค‘์— ์šฐ๋ถ„ํˆฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ ‘์†ํ•  ๋•Œ ssh ํ‚ค๋กœ์„œ๋„ ์จ์•ผํ•˜๊ณ , GitHub Actions ์—์„œ๋„ Secrets ์— ์ด ํ‚ค๋กœ ํ†ต์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ‚คํŽ˜์–ด๋ฅผ PEM ํ‚ค๋กœ ์ƒ์„ฑํ•˜์˜€๋‹ค๋ฉด ์ด ๊ณผ์ •์ด ํ•„์š”์—†๋‹ค.

 

์ƒ์„ฑํ•œ OpenSSH Key ๋ฅผ ์—ด์–ด๋ณด๋ฉด -----BEGIN RSA PRIVATE KEY----- ๋กœ ์‹œ์ž‘ํ•˜์—ฌ -----END RSA PRIVATE KEY-----๋กœ ๋๋‚  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ž˜ ๋ณ€ํ™˜ ๋œ๊ฒƒ์ด๋‹ค.

 

(๋‹ค์ŒํŽธ์—์„œ ๊ณ„์†.....)

๋Œ“๊ธ€