Amazon Cloud/VPC

[AWS] ๐Ÿ“š VPC ๊ฐœ๋… & ์‚ฌ์šฉ - ์‚ฌ์„ค IP ํ†ต์‹ ๋ง [NAT Gateway / Bastion Host]

์ธํŒŒ_ 2022. 4. 22. 11:59

NAT Gateway / Bastion Host

VPC ์‚ฌ์„ค๋ง ์™ธ๋ถ€ ํ†ต์‹ 

์•ž์„œ ์šฐ๋ฆฌ๋Š” public ์„œ๋ธŒ๋„ท๊ณผ private ์„œ๋ธŒ๋„ท์„ ๋‚˜๋ˆ  ๊ตฌ์ถ•ํ•˜์˜€๋‹ค.

public ์„œ๋ธŒ๋„ท์€ ์ธํ„ฐ๋„ท๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์˜์—ญ์„ ๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ public ์„œ๋ธŒ๋„ท๊ณผ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์—ฐ๊ฒฐ์‹œํ‚ด์œผ๋กœ์„œ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹ ์ด ๋˜๊ฒŒ ํ•˜์˜€๋‹ค.

private ์„œ๋ธŒ๋„ท์€ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์„ ์ฐจ๋‹จํ•˜๊ณ  ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  Subnet์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Database Service์ธ RDS๋ฅผ ๋„ฃ์–ด๋‘๊ณ , RDS๋Š” ์ค‘์š”ํ•œ ์ •๋ณด์ด๋‹ˆ ์™ธ๋ถ€์—์„œ์˜ ์ ‘์†์„ ์ฐจ๋‹จํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ด์šฉํ•œ๋‹ค.

 

"๊ทธ๋Ÿฐ๋ฐ ๋งŒ์ผ RDS๊ฐ€ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผ ํ•  ์ผ์ด ์ƒ๊ธด๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?"

 

๊ณต์ธ IP๋ฅผ ์ƒ์„ฑํ•ด์„œ private ์„œ๋ธŒ๋„ท๋„ Internet Gateway๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•ด์ค˜์•ผํ• ๊นŒ?

๊ทธ๋Ÿฌ๋ฉด ๊ทธ๊ฑด public ์„œ๋ธŒ๋„ท์ด์ง€ private๊ฐ€ ์•„๋‹ˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™ธ๋ถ€์—์„œ๋„ ์นจ์ž…์ด ๊ฐ€๋Šฅํ•ด์ ธ ๋ณด์•ˆ์ด ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.
๋ฐ”๋กœ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด NAT Gateway์™€ Bastion Host ๊ธฐ์ˆ ์ด๋‹ค.

์ด ๋‘˜์€ ์‚ฌ์„ค๋ง์˜ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€์‹œ์ผœ์ฃผ๋ฉด์„œ ์™ธ๋ถ€์™€ ์กฐ๊ฑด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.


NAT ๊ฒŒ์ดํŠธ์›จ์ด (Network Address Translation)

๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ๋ณ€ํ™˜(Network Address Translation, ์ค„์—ฌ์„œ NAT)์€ IP ํŒจํ‚ท์˜ TCP/UDP ํฌํŠธ ์ˆซ์ž์™€ ์†Œ์Šค ๋ฐ ๋ชฉ์ ์ง€์˜ IP ์ฃผ์†Œ ๋“ฑ์„ ์žฌ๊ธฐ๋กํ•˜๋ฉด์„œ ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์„ค IP๋ฅผ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹ ํ•˜๊ธฐ์œ„ํ•ด ์“ฐ์ธ๋‹ค.

 

[WEB] ๐ŸŒ NAT ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

NAT - Network Address Translation ๊ฐœ๋… ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ๋ณ€ํ™˜(network address translation, ์ค„์—ฌ์„œ NAT)์€ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น์—์„œ ์“ฐ์ด๋Š” ์šฉ์–ด๋กœ์„œ, IPํŒจํ‚ท์˜ TCP/UDP ํฌํŠธ ์ˆซ์ž์™€ ์†Œ์Šค ๋ฐ ๋ชฉ์ ์ง€์˜ IP ์ฃผ์†Œ ๋“ฑ์„..

inpa.tistory.com

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

NAT๋ฅผ ์ด์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋Œ€๊ฐœ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ์— ์†ํ•œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

Internet ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ Public Subnet์— NAT Gateway๋ฅผ ์ƒ์„ฑํ•ด๋‘๊ณ , Private Subnet์ด ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜์•„๊ฐˆ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ๋ผ์šฐํŒ…์„ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

public ์„œ๋ธŒ๋„ท๊ณผ private ์„œ๋ธŒ๋„ท์€ ๊ฐ™์€ VPC์•ˆ์— ์žˆ์œผ๋ฉด ์„œ๋กœ ํ†ต์‹ ํ• ์ˆ˜์žˆ๋‹ค๋Š” ์ ์„ ์ด์šฉํ•˜์—ฌ, NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋งˆ์น˜ ๋Œ€๋ฆฌ๊ธฐ์‚ฌ ์—ญํ• ์ฒ˜๋Ÿผ public ์„œ๋ธŒ๋„ท์ด ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ๋ฐ์ดํ„ฐ๋ฅผ private ์„œ๋ธŒ๋„ท์—๊ฒŒ ๋Œ€์‹  ์ „๋‹ฌํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค.

NAT Gateway๋Š” ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ์˜ ์ ‘์†๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์™ธ๋ถ€์—์„œ NAT Gateway๋ฅผ ์ด์šฉํ•˜์—ฌ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ NAT Gateway๋ฅผ ์ด์šฉํ•˜๋ฉด ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์— ์˜ํ•œ ๋ณด์•ˆ ๋ฌธ์ œ๋„ ์ผ์„์ด์กฐ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

 

์•ž์„œ ๋ฐฐ์šด ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด(IGW)์™€ ๋น„๊ตํ•˜์ž๋ฉด, IGW๋Š” NAT GW๋ฅผ ์•„์šฐ๋ฅด๋Š” ์ƒ์œ„๊ฐœ๋…์ด๋‹ค.

์ฆ‰, NAT GW๋„ IGW ์—†์ธ ๋™์ž‘ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค. 

๋‹ค๋งŒ NAT GW๋Š” Private Subnet์— ์†Œ์†๋œ ๋ฆฌ์†Œ์Šค๋“ค์ด ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ํ†ต์‹ ์„ ํ•ด์ฃผ๊ฒŒ ํ•˜๋Š” ํŠน์ง•์ด ์žˆ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

 

NAT ๊ฒŒ์ดํŠธ์›จ์ด ์š”๊ธˆ

๊ธฐ๋ณธ์ ์œผ๋กœ VPC์˜ ๊ตฌ์„ฑ์š”์†Œ๋Š” ์„œ๋ธŒ๋„ท, ๋ณด์•ˆ๊ทธ๋ฃน, NACL, ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด ์— ๋Œ€ํ•ด์„œ๋Š” ๋”ฐ๋กœ ์‚ฌ์šฉ๋ฃŒ๊ฐ€ ์—†๋‹ค.

๋‹ค๋งŒ ์œ ์ผํ•˜๊ฒŒ NAT Gateway์— ๋Œ€ํ•œ ์‚ฌ์šฉ๋ฃŒ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์ด ๋‚˜๊ฐˆ๋•Œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์š”๊ธˆ์ด ๋ฐœ์ƒํ•˜๋ฉฐ, ๊ณ„์† ๋Œ๋ ค๋†“๊ณ ๋งŒ ์žˆ์–ด๋„ ์‹œ๊ฐ„๋‹น ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋˜๋Š” ๊ฝค ๊ฐ’๋น„์‹ผ ์„œ๋น„์Šค์ด๋‹ค.

๋งŒ์ผ ์š”๊ธˆ์„ ์•„๋ผ๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ”๋กœ ๋‹ค์Œ์— ์†Œ๊ฐœ๋  NAT Instance์— ๋Œ€ํ•ด ์•Œ์•„๋‘๋Š”๊ฑธ ๊ถŒ์žฅํ•œ๋‹ค.

์œ ํ˜• ์ •์ฑ…
NAT ๊ฒŒ์ดํŠธ์›จ์ด NAT ๊ฒŒ์ดํŠธ์›จ์ด ์‹œ๊ฐ„๋‹น ์š”๊ธˆ
๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์š”๊ธˆ โ€“ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋œ ๊ฐ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ์— ์ ์šฉ. ํ‘œ์ค€ AWS ๋ฐ์ดํ„ฐ ์ „์†ก ์š”๊ธˆ๋„ ๋ฐœ์ƒ

 

 

NAT Instance ๋ž€?

NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋ฐฐ์šฐ๋‹ค ๋ณด๋ฉด, NAT ์ธ์Šคํ„ด์Šค๋ผ๋Š”๊ฑธ ๋“ค์–ด๋ณผ ๊ฒƒ์ด๋‹ค.

๊ฐ™์€ NAT์ธ๊ฐ€? NAT ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์žˆ๋Š”๋ฐ ์ธ์Šคํ„ด์Šค๋Š” ๋˜ ๋ญ์•ผ? ๋ผ๊ณ  ์ƒ๊ฐ๋“ค ํ•  ๊ฒƒ์ด๋‹ค.

 

NAT ์ธ์Šคํ„ด์Šค๋„ ๊ฐ™์€ NAT ์—ญํ• ์„ ํ•˜๋Š” ๋†ˆ์ด๋‹ค.

๋‹ค๋งŒ NAT ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์ฐจ์ด์ ์€, NAT ๊ฒŒ์ดํŠธ์›จ์ด๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹ ์‹ ์„œ๋น„์Šค์ด๋ฉฐ, NAT ์ธ์Šคํ„ด์Šค๋Š” EC2๋ฅผ NAT๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์‹ ๊ธฐ์ˆ ์ด๋‹ค.

์˜ˆ์ „์— NAT ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ด์ „ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ NAT ์ธ์Šคํ„ด์Šค๋กœ ํ™œ์šฉํ•˜์—ฌ NAT ํ†ต์‹ ์„ ํ•ด์™”์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ NAT ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ถœ์‹œ๋˜๋ฉด์„œ NAT ์ธ์Šคํ„ด์Šค ๋ฐฉ์‹์€ ๊ตฌ์‹์ด ๋˜์—ˆ์œผ๋ฉฐ ์“ธ์ผ์ด ๊ฑฐ์˜ ์—†์–ด์กŒ์ง€๋งŒ, NAT ๊ฒŒ์ดํŠธ์›จ์ด๋Š” NAT ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ๊ฐ€๊ฒฉ์ด 3๋ฐฐ ๊ฐ€๊นŒ์ด ๋‚˜๊ฐ„๋‹ค๋Š” ์  ๋•Œ๋ฌธ์— NAT ์ธ์Šคํ„ด์Šค๋ฅผ ์• ์šฉํ•˜๋Š” ๊ธฐ์—…๋„ ์žˆ๋‹ค.

 

์•ˆ๊ทธ๋ž˜๋„ VPC ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ์–‘๋„ ๋งŽ๊ณ  ํž˜๋“ค์–ด์ฃฝ๊ฒ ๋Š”๋ฐ ๊ตณ์ด ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”๊ฐ€? ๋ผ๊ณ  ๋ฌป๋Š”๋‹ค๋ฉด ๊ฐœ์ธ์ ์œผ๋กœ ๋ฐฐ์šฐ๊ธธ ์ถ”์ฒœํ•˜๋Š” ํŽธ์ด๋‹ค.

์•ž์„œ ๋งํ–ˆ๋“ฏ์ด EC2๋ฅผ NAT์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š”๊ฑฐ๋ผ, EC2๋ฅผ ๊ตฌ์ถ•ํ• ์ค„๋งŒ ์•„๋ฉด, ๊ทธ๋ƒฅ ํด๋ฆญ ๋ช‡๋ฒˆ์œผ๋กœ NAT์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด ๊ทธ๋ฆฌ ๊ตฌ์ถ• ๊ณผ์ •์ด ์–ด๋ ต์ง€ ์•Š์„ ๋ฟ ๋”๋Ÿฌ, ๋ฌด์—‡๋ณด๋‹ค NAT ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ •์‹ ๋‚˜๊ฐ„ ๋น„์šฉ๋•Œ๋ฌธ์—, ๋งŒ์ผ ๊ฐœ์ธ ๊ณต๋ถ€์šฉ์ด๋‚˜ ํฌํŠธํด๋ฆฌ์˜ค์šฉ์œผ๋กœ AWS๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•˜๋Š” ๋ฐ”๋‹ค.

 

NAT ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์„œ์šธ ์ง€์—ญ ๊ธฐ์ค€์œผ๋กœ ์‹œ๊ฐ„๋‹น 0.059๋‹ฌ๋Ÿฌ์˜ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๊ฑธ 24์‹œ๊ฐ„ ๋‚ด๋‚ด ๊ฐ€๋™ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž. ๋ฉฐ์น ๋งŒ์— ์š”๊ธˆํ•ตํญํƒ„์„ ๋งž๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ๊ฑด ํšŒ์‚ฌ ์‹ค๋ฌด์—์„œ๋‚˜ ์“ฐ์ด๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ˜๋ฉด NAT ์ธ์Šคํ„ด์Šค๋Š”, ๋งŒ์ผ ํ”„๋ฆฌํ‹ฐ์–ด EC2๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ ์š”๊ธˆ์ œ๊ฐ€ ๋”ฐ๋ผ๊ฐ€ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ• ์ˆ˜๋„ ์žˆ๋‹ค!

 

๐Ÿ‘‰ NAT ๊ฒŒ์ดํŠธ์›จ์ด ๋Œ€์‹  NAT ์ธ์Šคํ„ด์Šค๋กœ ๋น„์šฉ์„ ํ™• ์ค„์ด์ž!

 

[AWS] ๐Ÿ“š NAT Gateway โ†’ NAT Instance ๋Œ€์ฒดํ•ด์„œ ๋น„์šฉ ์ ˆ์•ฝํ•˜๊ธฐ

NAT ์ธํ”„๋ผ AWS์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค๊ณ„ํ• ๋•Œ NAT์˜ ์‚ฌ์šฉ์€ ํ•„์ˆ˜์ ์ด๋‹ค. ๋ณด์•ˆ์ƒ ์„œ๋ฒ„๋“ค์„ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ณ  ํ™•์ธํ•  ์ˆ˜ ์—†๋„๋ก ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ VPC ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ• ๋•Œ Public ์„œ๋ธŒ๋„ท๊ณผ P

inpa.tistory.com

 

๋”ฐ๋ผ์„œ NAT ๊ฒŒ์ดํŠธ์›จ์ด์™€ NAT ์ธ์Šคํ„ด์Šค๋ฅผ ์ •๋ฆฌํ•˜์ž๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

  • NAT Instance : ๊ทธ๋ƒฅ EC2 ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ํŠน๋ณ„ํ•œ AMI๋ฅผ ์„ค์น˜ํ•œ EC2๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ๊บผ์ง€๋ฉด ์ฃฝ๋Š”๋‹ค.
  • NAT Gateway : aws์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•˜๋‚˜์˜ ์„œ๋น„์Šค์ด๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ์ด ๋ณด์žฅ๋˜๊ณ ์žˆ์–ด์„œ ์ฃฝ์ง€๋ฅผ ์•Š๋Š”๋‹ค.
NAT Instance NAT Gateway
๋‹จ์ผ ์ธ์Šคํ„ด์Šค AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค
= EC2 = ์„œ๋น„์Šค
๊บผ์ง€๋ฉด ์ฃฝ์Œ ๊บผ์ ธ๋„ ์ฃฝ์ง€์•Š์Œ(๊ณ ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ)
๋ณด์•ˆ๊ทธ๋ฃน ์˜ํ–ฅ ๋ฐ›์Œ ๋ณด์•ˆ๊ทธ๋ฃน ์˜ํ–ฅ ๋ฐ›์ง€์•Š์Œ
์˜ˆ์ „ ์Šคํƒ€์ผ ์š”์ฆ˜ ์Šคํƒ€์ผ
Source/Destination์„ ํ•ด์ œํ•ด์•ผ ํ•จ  
Bastion์„ ๊ฒธํ•  ์ˆ˜O Bastion์„ ๊ฒธํ•  ์ˆ˜X
Public Subnet์— ์žˆ์–ด์•ผ ํ•จ Public Subnet์— ์žˆ์–ด์•ผ ํ•จ

 

 

NAT ๊ฒŒ์ดํŠธ์›จ์ด ์‹ค์ „ ๊ตฌ์ถ•ํ•˜๊ธฐ

AWS Management Console์— ์ ‘์†ํ•˜์—ฌ VPC ์„œ๋น„์Šค์—์„œ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์„ ํƒํ•œ๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

 

NAT ๊ฒŒ์ดํŠธ์›จ์ด๋Š” Private Subnet๊ณผ ์™ธ๋ถ€์™€์˜ ํ†ต์‹  ๋งค๊ฐœ์ฒด ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์™ธ๋ถ€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์„œ๋ธŒ๋„ท์„ ๊ผญ Public Subnet์œผ๋กœ ํ• ๋‹นํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

์ •ํ™•ํžˆ ๋งํ•˜์ž๋ฉด, NAT Gateway๋Š” ๋ฐ˜๋“œ์‹œ Internet Gateway๊ฐ€ ์žˆ๋Š” Public Subnet(10.0.1.0/24, 10.0.2.0/24)์— ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Elastic IP(ํƒ„๋ ฅ์  IP ์ฃผ์†Œ)๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด NAT Gateway์— ํ• ๋‹นํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

[AWS] ๐Ÿ“š EIP(ํƒ„๋ ฅ์  IP) ๊ฐœ๋… & ์‚ฌ์šฉ ์„ธํŒ… ์ •๋ฆฌ

Elastic IP (ํƒ„๋ ฅ์  IP) EIP(Elastic IP Address)๋Š” ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์ •์ ์ธ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ณ , ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋‹ค. ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค

inpa.tistory.com

๊ทธ๋Ÿฌ๋ฉด Private Subnet(10.0.3.0/25, 10.0.4.0/25)์— ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๋“ค์€ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜์•„๊ฐˆ ๋•Œ Elastic IP(๊ณต์ธ IP)๋กœ Source IP NAT๋˜์–ด ๋‚˜๊ฐ€๊ฒŒ ๋œ๋‹ค.

(EC2(10.0.3.x/24, Private Subnet) - > NAT Gateway - > Internet Gateway - > ์™ธ๋ถ€ ์ธํ„ฐ๋„ท)

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

 

์ด์ฒ˜๋Ÿผ ํด๋ฆญ ๋ช‡๋ฒˆ ๋งŒ์œผ๋กœ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

 

ํ•˜์ง€๋งŒ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค๊ณ , Private Subnet์—์„œ ์™ธ๋ถ€๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

์œ„์—์„œ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ public subnet ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ–ˆ๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ, ์ด๋ฒˆ์—๋Š” ํผ๋ธ”๋ฆญ์ด ์•„๋‹Œ private subnet์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.

Private Subnet์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚ด๋ถ€ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•ด์„œ๋งŒ local๋กœ ๋ณด๋‚ด๋ผ๋Š” ํ…Œ์ด๋ธ”๋งŒ ์„ค์ •๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋ผ์šฐํŒ… ํŽธ์ง‘์„ ํ†ตํ•ด, 0.0.0.0/0 ์ฆ‰ ๋ชจ๋“  ํŒจํ‚ท์„ nat๋กœ ๋ณด๋‚ด๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

๊ณต์ธ ์ธํ„ฐ๋„ท(0.0.0.0)์— ๋Œ€ํ•ด์„œ๋Š” NAT Gateway๊ฐ€ ์žˆ๋Š” Public Subnet์œผ๋กœ ์ด๋™ํ•˜์—ฌ Elastic IP(๊ณต์ธ IP)๋กœ ์ฃผ์†Œ๋ฅผ ๋ณ€ํ™˜ํ•œ ํ›„ Internet Gateway๋ฅผ ํ†ตํ•ด ๊ณต์ธ ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜์•„๊ฐ€๊ฒŒ ๋œ๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation
NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation
NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

 

์ง€๊ธˆ๊นŒ์ง€์˜ ์„ค์ •๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. Internet Gateway๊ฐ€ ์žˆ๋Š” Public Subnet์— NAT Gateway ์ƒ์„ฑํ•˜๊ณ  Elastic IP(๊ณต์ธ IP) ํ• ๋‹น
  2. Private Subnet์˜ Routing table์— 0.0.0.0/0์— ๋Œ€ํ•˜์—ฌ NAT ๊ฒŒ์ดํŠธ์›จ์ด(nat-id) ์ถ”๊ฐ€

์ด๋ฅผ ์ด๋ฏธ์ง€๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ด์ œ Private Subnet์— ์žˆ๋Š” ์„œ๋น„์Šค๋“ค์€ ์ธํ„ฐ๋„ท ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋„์—ˆ๋‹ค.

NAT-๊ฒŒ์ดํŠธ์›จ์ด-Network-Address-Translation

์ฐธ๊ณ ๋กœ ์—ฌ๋Ÿฌ ๊ฐ€์šฉ์˜์—ญ์— NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ•˜๋‚˜๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋ฉด NAT ๊ฒŒ์ดํŠธ์›จ์ด ๊ฐ€์šฉ์˜์—ญ์ด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๋‹ค๋ฅธ์ชฝ๋„ ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ€์šฉ์˜์—ญ ๋‹น NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋งŒ๋“œ๋Š”๊ฑธ ๊ถŒ์žฅ๋˜๋Š” ํŽธ์ด๋‹ค.

Bastion Host

์•ž์„œ NAT Gateway๋ฅผ ํ†ตํ•ด private ์„œ๋ธŒ๋„ท๋„ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท๊ณผ ๊ฐ„์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‹ค๋งŒ NAT Gateway๋Š” ์„œ๋ธŒ๋„ท์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐˆ์ˆ˜๋Š” ์žˆ์–ด๋„, ๊ฑฐ๊พธ๋กœ ์™ธ๋ถ€์—์„œ private ์„œ๋ธŒ๋„ท์œผ๋กœ ์ ‘์†์€ ๋ชปํ•œ๋‹ค.

๋งŒ์ผ ssh๋กœ ์™ธ๋ถ€์—์„œ ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ด ์กฐ์ •ํ•  ์ผ์ด ์žˆ๋‹ค๋ฉด, private ์„œ๋ธŒ๋„ท์€ ์–ด๋–ป๊ฒŒ ์ ‘์†ํ•ด์„œ ํ•ด์•ผํ• ๊นŒ?

์•„์˜ˆ ์™ธ๋ถ€์—์„œ private ์„œ๋ธŒ๋„ท์œผ๋กœ๋Š” ์˜์˜ ์ ‘์†์„ ๋ชปํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?


๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ”๋กœ ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ํ•ด์ฃผ๋Š”๊ฒŒ Bastion Host์ด๋‹ค

Bastion-Host

Bastion Host๋ž€ Public Subnet์— ์œ„์น˜ํ•˜๋ฉฐ, Private Subnet๊ณผ์˜ ํ†ต์‹ ์„ ๋„์™€์ฃผ๋Š” ๋Œ€๋ฆฌ์ธ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ข€ ๋” ์ „๋ฌธ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‚ด๋ถ€์™€ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์‚ฌ์ด์—์„œ ์ผ์ข…์˜ ๊ฒŒ์ดํŠธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ˜ธ์ŠคํŠธ์ด๋‹ค.

๊ด€๋ฆฌ์ž๊ฐ€ Bastion Host์œผ๋กœ SSH ์—ฐ๊ฒฐ์„ ํ•œ ํ›„ Bastion Host์—์„œ Private Subnet์˜ Host์— SSH ์—ฐ๊ฒฐ์„ ํ•˜๋Š” ํ˜•ํƒœ๋กœ Private Subnet์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์—ฌ๊ธฐ์„œ ํ”ํžˆ๋“ค ์ฐฉ๊ฐํ•˜๋Š”๊ฒŒ ์žˆ๋Š”๋ฐ Bastion Host๋Š” ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด๋‚˜ NAT ๊ฒŒ์ดํŠธ์›จ์ด ๊ฐ™์ด ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋“ฑ๋กํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ๊ทธ๋ƒฅ private ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด ์ ‘์†ํ• ์ˆ˜์žˆ๋Š” public ์„œ๋ธŒ๋„ท์„ ๊ทธ๋ƒฅ Bastion Host๋ผ๊ณ  ์ผ์ปซ๋Š” ๊ฒƒ์ด๋‹ค.

Bastion-Host

์ •๋ฆฌํ•˜์ž๋ฉด, NAT๊ฐ€ Private Subnet์—์„œ ์™ธ๋ถ€์™€ ํ†ต์‹ ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋ผ๋ฉด, Bastion Host๋Š” ์™ธ๋ถ€์—์„œ Private Subnet๊ณผ ํ†ต์‹ ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.


Bastion Host ์‹ค์ „ ๊ตฌ์ถ•ํ•˜๊ธฐ

Bastion Host๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์„ฑ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. VPC ๋ฐ Public/Private Subnet ๊ตฌ์„ฑ
  2. Public EC2(Bastion Host) ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  3. Private EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  4. Bastion Host(public EC2)๋ฅผ ํ†ตํ•ด Private EC2 ์ ‘๊ทผ

 

์‹ค์Šต์„ ์œ„ํ•ด์„œ public ์ธ์Šคํ„ด์Šค์™€ private ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์„œ ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. 

์œ„์—์„œ ap-northeast-2a ๊ฐ€์šฉ์˜์—ญ์— ์ธ์Šคํ„ด์Šค 2๊ฐœ๋ฅผ ์ƒ์„ฑํ–ˆ์—ˆ์œผ๋‹ˆ, ์ด๋ฒˆ์—” ๋‹ค๋ฅธ ๊ฐ€์šฉ์˜์—ญ ap-northeast-2c์— ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด ๋ฉ”๋‰ด์—์„œ ์ธ์Šคํ„ด์Šค โ†” VPC ์—ฐ๊ฒฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธํŒ… ํ•œ๋‹ค.

AMI, EC2 ํƒ€์ž…, ์Šคํ† ๋ฆฌ์ง€๋Š” ์ž์œ ๋กญ๊ฒŒ ํ•ด์ค˜๋„ ๋œ๋‹ค. ๋‹จ, ํ‚คํŽ˜์–ด๋Š” ๋ณด๋‹ค ๋ณด์•ˆ์ ์ธ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด public์šฉ ํ‚คํŽ˜์–ด, private ํ‚คํŽ˜์–ด ๋‘˜์„ ๋‚˜๋ˆ ์„œ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค.

 

[ap-northeast-2c / public ์„œ๋ธŒ๋„ท ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ]

ํผ๋ธ”๋ฆญ IP ์ž๋™ ํ• ๋‹น์„ ํ™œ์„ฑํ™” ํ•ด์ฃผ๋Š”๊ฑธ ์žŠ์ง€๋ง์ž

Bastion-Host
Bastion-Host
Bastion-Host
Bastion-Host

 

 

[ap-northeast-2c / private ์„œ๋ธŒ๋„ท ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ]

Bastion-Host
Bastion-Host

 

private ์„œ๋ธŒ๋„ท ์ธ์Šคํ„ด์Šค ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •์—์„œ ์œ ์˜ํ• ์ ์ด ์žˆ๋Š”๋ฐ,

public ์„œ๋ธŒ๋„ท ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๋•, ์ „์ฒด ํŠธ๋ž˜ํ”ฝ 0.0.0.0/0 ์ด๋ผ๊ณ  ๋ช…์‹œํ•œ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, privte๋Š” ์™ธ๋ถ€์™€์˜ ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•˜๊ณ  public ์ธ์Šคํ„ด์Šค์—์„œ ์˜จ๊ฒƒ๋งŒ ํ—ˆ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋–„๋ฌธ์—, ์†Œ์Šค์— ์œ„์—์„œ ๋“ฑ๋กํ•œ ํผ๋ธ”๋ฆญ ๋ณด์•ˆ๊ทธ๋ฃน์ธ my_Bation_SG๋ฅผ ๋“ฑ๋กํ•ด public ์„œ๋ธŒ๋„ท์—์„œ๋งŒ ์˜จ๊ฒƒ๋งŒ ํ—ˆ์šฉํ• ๊บผ๋ผ๊ณ  ๋ช…์‹œํ•œ๋‹ค.

์ด๊ฒƒ์ด Bastion Host๋“ฑ๋ก์„ ํ•œ๊ฒƒ์ด๋‹ค.

Bastion-Host
Bastion-Host

 

public / private ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์„ ์™„๋ฃŒํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด์งˆ ๊ฒƒ์ด๋‹ค.

Bastion-Host


Bastion Host ๋กœ private EC2์— ์ ‘๊ทผํ•˜๊ธฐ

public๊ณผ private ์„œ๋ธŒ๋„ท ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, public ์ธ์Šคํ„ด์Šค์— ๋จผ์ € ์™ธ๋ถ€์—์„œ ssh ์ ‘์†์„ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

putty๋กœ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ด ๊ฐ•์˜์—์„  mobaXterm์„ ์ด์šฉํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

mobaXterm์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์˜€๋‹ค. 

์ •๋ง ์œ ์šฉํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ํˆด์ด๋‹ˆ ๊ฐœ์ธ์ ์œผ๋กœ ๋ฐ˜๋“œ์‹œ ์Šต๋“ํ•˜๊ธธ ๊ถŒํ•˜๋Š” ๋ฐ”๋‹ค.

 

[MobaXterm] ๐Ÿ’ฝ ๋ชจ๋ฐ”์—‘์Šคํ…€ ์„ค์น˜ & ์‚ฌ์šฉ & SSH ์ ‘์† ๋ฐฉ๋ฒ•

MobaXterm ๋ฆฌ๋ˆ…์Šค์— Telnet, SSH ์ ‘์†์„ ์œ„ํ•ด Putty๋‚˜ XShell์„ ๊น”๊ณ , FTP/SFTP์ ‘์†์„ ์œ„ํ•ด FileZilla๋ฅผ ๊น”๊ณ , ๊ทธ ์™ธ ๋‹ค์–‘ํ•œ ์›๊ฒฉ ์ ‘์†์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณต์ˆ˜๊ฐœ ์„ค์น˜ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋ฉด ๋งŽ์ด ๋ณต์žกํ•ด์ง€๊ณ  ๋ฒˆ๊ฑฐ๋กœ์›Œ ์ง„๋‹ค..

inpa.tistory.com

 

[AWS] ๐Ÿ“š EC2 ์™ธ๋ถ€ ์ ‘์†(SSH) 5๊ฐ€์ง€ ๋ฐฉ๋ฒ• - PuTTy / FileZilla / MobaXterm / CMDER / GIT BASH

EC2 ์™ธ๋ถ€ ์ ‘์†ํ•˜๊ธฐ [PuTTy] ๊ฐ€์žฅ ์œ ๋ช…ํ•˜๊ณ  ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค(SSH) ์ ‘์† ํˆด์ธ Putty๋ฅผ ์ด์šฉํ•ด์„œ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ํ•„์š”ํ•œ ์ค€๋น„๋ฌผ์€ Putty์™€ Puttygen ๋‘ ๊ฐ€์ง€์ด๋‹ค. Puttygen์€ ์œ„

inpa.tistory.com


์ค€๋น„๊ฐ€ ๋˜์—ˆ์œผ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ด์ค€๋‹ค.

Bastion-Host
Bastion-Host

 

์ ‘์†์ด ๋ฌธ์ œ์—†์ด ๋˜์—ˆ๋‹ค๋ฉด, ์ด์ œ public ์ธ์Šคํ„ด์Šค์—์„œ private ์ธ์Šคํ„ด์Šค์—๊ฒŒ ping์„ ๋•Œ๋ ค๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

$ ping <private ์ธ์Šคํ„ด์Šค ์‚ฌ์„คIP>
ping์ด๋ž€ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ (Host)์— IP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ์ •์ƒ์ ์œผ๋กœ ๋„๋‹ฌํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 
ping์€ ICMP echo request ๋ฉ”์„ธ์ง€๋ฅผ ์ „์†กํ•˜์—ฌ reply ๋ฉ”์„ธ์ง€๋ฅผ ์ˆ˜์‹ ํ•  ๋•Œ ๊นŒ์ง€ ๋Œ€๊ธฐํ•œ๋‹ค.

Bastion-Host
Bastion-Host

 

์ด์ œ private ์ธ์Šคํ„ด์Šค๋กœ ssh๋กœ ์ ‘์†ํ•ด๋ณด๋„๋ก ํ•˜์ž.

๋‹ค์‹œํ•œ๋ฒˆ ๋งํ•˜์ง€๋งŒ private EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„ , Bastion Host๋กœ SSH ์ ‘์†์„ ํ•œ ํ›„ ๋‹ค์‹œ Bastion Host์—์„œ Private EC2๋กœ SSH ์ ‘์†์„ ํ•˜๋Š” ์‹์œผ๋กœ private ์ธ์Šคํ„ด์Šค ์ ‘์†์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์™œ๋ƒํ•˜๋ฉด Private EC2์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์–ด๋„ Public IP ์ฃผ์†Œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์šฐ๋ฆฌ๋Š” private ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ• ๋•Œ ๋”ฐ๋กœ private์šฉ ํ‚คํŽ˜์–ด๋ฅผ ์ƒ์„ฑํ–ˆ์—ˆ๋‹ค.

๋”ฐ๋ผ์„œ public ์ธ์Šคํ„ด์Šค(Bastion Host)์—์„œ private ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๋ ค๋ฉด, ๋‹น์—ฐํžˆ private ํ‚คํŽ˜์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๊ทธ๋ง์€ ftp๋ฅผ ํ†ตํ•ด ํ‚คํŽ˜์–ด ํŒŒ์ผ์„ public ์ธ์Šคํ„ด์Šค(Bastion Host)์— ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.

putty๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋”ฐ๋กœ ftpํˆด(ํŒŒ์ผ์งˆ๋ผ)๋ฅผ ์ด์šฉํ•ด์„œ ์˜ฎ๊ฒจ์•ผ ๋˜๊ฒ ์ง€๋งŒ mobaXterm์„ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ„ํŽธํ•˜๊ฒŒ ์˜ฎ๊ธธ์ˆ˜ ์žˆ๋‹ค.

Bastion-Host

๊ทธ ํ›„ my_privatekeypair.pem ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ 600์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. (๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด ํ‚คํŽ˜์–ด์˜ ํผ๋ฏธ์…˜์ด ๋„ˆ๋ฌด ๊ณต๊ฐœ๋˜์–ด ์žˆ๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)

$ chmod 600 my_private_keypair.pem

Bastion-Host

 

๊ทธ๋ฆฌ๊ณ  ssh ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด private ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ด์ค€๋‹ค.

$ ssh -i my_private_keypair.pem ec2-user@<private ์ธ์Šคํ„ด์Šค ์‚ฌ์„คIP>

Bastion-Host

์ •์ƒ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ Bastion Host์—์„œ Private EC2๋กœ ์ ‘์†๋˜์–ด ํ„ฐ๋ฏธ๋„ ์ƒ์—์„œ ๋งˆ์น˜ Private EC2๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

Host PC -> Bastion Host -> Private EC2๋กœ SSH ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ด์ง€๋งŒ ํ„ฐ๋ฏธ๋„ ์ƒ์—์„œ๋Š” Private EC2์˜ Bash ์ถœ๋ ฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ Private Subnet์˜ EC2๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์ด์ฒ˜๋Ÿผ Bastion Host๋ฅผ ์ด์šฉํ•˜๋ฉด Private Subnet์˜ ์ธ์Šคํ„ด์Šค์— ๊ด€๋ฆฌ์ž๊ฐ€ ์ ‘์†ํ•จ์œผ๋กœ์„œ ๋ณด์•ˆ๊ณผ ์™ธ๋ถ€์ ‘์† ๋‘๋งˆ๋ฆฌ์˜ ํ† ๋ผ๋ฅผ ์žก๋Š” ์‹์œผ๋กœ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.


MobaXterm์œผ๋กœ ํŽธํ•˜๊ฒŒ Bastion โ†’ private ์ ‘๊ทผํ•˜๊ธฐ

๊ทธ๋Ÿฌ๋‚˜ Bastion ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๊ณ  ์ผ์ผํžˆ ssh ๋ช…๋ น์–ด๋ฅผ ์น˜๊ธฐ ๋งค์šฐ ๊ท€์ฐฎ๋‹ค.

ํด๋ฆญ ๋ช‡๋ฒˆ์œผ๋กœ ํ•œ๋ฐฉ์— private ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ• ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์—†์„๊นŒ?

๋‹คํ–‰ํžˆ mobaXterm์—๋Š” SSH Gateway ๋ผ๋Š” ๋…์ ์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

๋งˆ์น˜ Bastion์„ SSH ๊ฒŒ์ดํŠธ์›จ์ด๋กœ์„œ ์ค‘๊ฐ„๋‹ค๋ฆฌ ์—ญํ• ์„ํ•ด์„œ ํ•œ๋ฐฉ์— private ์ธ์Šคํ„ด์Šค๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

 

๋จผ์ € ํ•ด์™”๋“ฏ์ด Basic SSH ์„ธํŒ…์„ ๋“ฑ๋กํ•œ๋‹ค.

์ด๋•Œ ๋“ฑ๋กํ•˜๋Š”๊ฑด Bastion์ด ์•„๋‹Œ private ์ธ์Šคํ„ด์Šค์˜ IP๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค.

MobaXterm-bastion

 

๊ทธ๋ฆฌ๊ณ  ์œ„์˜ ํƒญ์—์„œ Network settings ํƒญ์œผ๋กœ ์ด๋™ํ•˜๊ณ  SSH gateway (jump host) ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

MobaXterm-bastion

 

๊ทธ๋Ÿฌ๋ฉด SSH jump Host ๋ฅผ ๋“ฑ๋กํ• ์ˆ˜ ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ๋‹ค๊ฐ€ Bastion ์ธ์Šคํ„ด์Šค์˜ IP๋ฅผ ๊ธฐ์žฌํ•ด์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹จ ํด๋ฆญ ํ•œ๋ฐฉ์œผ๋กœ Bastion IP๋ฅผ ์ ํ”„ํ•ด์„œ ๋ฐ”๋กœ private IP๋กœ ์ ‘์†ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค!

MobaXterm-bastion


private EC2์—์„œ mysql ์„ค์น˜ํ•ด๋ณด๊ธฐ

ssh ์—ฐ๊ฒฐ์„ ํ–ˆ์œผ๋ฉด ์ด์ œ private EC2 ์—์„œ mysql ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž.

$ yum install mysql

Bastion-Host

๋งŒ์ผ ์œ„์ฒ˜๋Ÿผ ์„ค์น˜๊ฐ€ ์•ˆ๋˜๋ฉด public ์„œ๋ธŒ๋„ท์— NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋“ฑ๋ก์„ ์•ˆํ•ด์ค€ ๊ฒƒ์ด๋‹ค.

์ด๋Š” ๋‹น์—ฐํ•˜๋‹ค. Bastion Host๋Š” ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€๋กœ ์ ‘๊ทผํ•˜๋Š” ํ˜ธ์ŠคํŠธ์ด์ง€ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์œผ๋กœ ์ ‘์†ํ• ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— mysql ์„ค์น˜๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ”๋กœ ์œ„์—์„œ ๋ฐฐ์šด NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋‹ค์‹œํ•œ๋ฒˆ ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ private ์„œ๋ธŒ๋„ท ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ๋“ฑ๋ก์„ ํ•ด์ฃผ๋ฉด, private EC2์—์„œ ๋งˆ์น˜ ์™ธ๋ถ€์™€ ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ฒ˜๋Ÿผ yum install์„ ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


๋ฐ˜๋ฉด ์œ„์—์„œ NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ž˜ ๋“ฑ๋กํ•ด์ฃผ์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊น”๋”ํ•˜๊ฒŒ ์„ค์น˜๊ฐ€ ์ง„ํ–‰๋  ๊ฒƒ์ด๋‹ค.

Bastion-Host


# ์ฐธ๊ณ ์ž๋ฃŒ

https://www.youtube.com/@AWSClassroom

https://aws-hyoh.tistory.com/58

https://jesuisjavert.github.io/2021/01/26/aws-study5/

https://kimjingo.tistory.com/180