๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[Cloud]/AWS

EC2 ์ธ์Šคํ„ด์Šค ์›น์„œ๋ฒ„์— ๋ฒ ์Šค์ฒœ ํ˜ธ์ŠคํŠธ(Bastion Host) ์ ์šฉํ•ด๋ณด๊ธฐ

by ํŒกํŽ‘ํ 2023. 1. 11.
728x90

์ถœ์ฒ˜ : bastion ์œ„ํ‚คํ”ผ๋””์•„

๐Ÿ“Œ ๋ฒ ์Šค์ฒœ(Bastion)์ด ๋ญ์ž„?

  • ์ค‘์„ธ์‹œ๋Œ€์— ์„ฑ์˜ ์™ธ๊ณฝ์— ๋Œ์ถœ๋œ ๋ถ€๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ฒ ์Šค์ฒœ์„ ํ†ตํ•ด ์ ์œผ๋กœ๋ถ€ํ„ฐ ํšจ๊ณผ์ ์œผ๋กœ ์„ฑ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ ๊ทธ๋Ÿผ ๋ฒ ์Šค์ฒœ ํ˜ธ์ŠคํŠธ(Bastion Host)๋Š”?

  • ๋ณดํ˜ธ๋œ ๋„คํŠธ์›Œํฌ์—์„œ ์œ ์ผํ•˜๊ฒŒ ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜์–ด ์žˆ๋‹ค.(Basiton)
  • ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ˜ธ์ŠคํŠธ์ด๋‹ค.
  • ๋ณดํ˜ธ๋œ ๋„คํŠธ์›Œํฌ์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

 

๐Ÿ’ก ๋ฒ ์Šค์ฒœ ํ˜ธ์ŠคํŠธ ๊ฐœ๋…์„ AWS EC2์— ์ ์šฉ์‹œํ‚จ๋‹ค๋ฉด?
 ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด AWS๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ VPC, AZ, Subnet์˜ ๊ฐœ๋…์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ AWS ๋ฆฌ์†Œ์Šค๋Š” EC2์™€ RDS. ์ด์ค‘์— RDS๋Š” ๋‹น์—ฐํžˆ Private Subnet์— ๋“ค์–ด๊ฐ€์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‹ˆ๊นŒ. ๊ทธ๋ ‡๋‹ค๋ฉด EC2๋Š” ์–ด๋–จ๊นŒ? EC2๋Š” Public Subnet์— ํฌํ•จ์‹œ์ผœ์•ผ ํ• ๊นŒ? Private Subnet์— ํฌํ•จ์‹œ์ผœ์•ผ ํ• ๊นŒ?

 ๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด Public Subnet์— ํฌํ•จ์‹œ์ผœ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Public Subnet์€ PEMํ‚ค๋งŒ ์žˆ๋‹ค๋ฉด SSH๋ฅผ ์ด์šฉํ•ด ์–ด๋””์„œ๋“ ์ง€ EC2 ์ธ์Šคํ„ด์Šค ๋‚ด๋กœ ์›๊ฒฉ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ์™ธ๋ถ€์— ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. ๋ญ”๊ฐ€ ์ฐœ์ฐœํ•˜๋‹ค. 

๐Ÿ“ ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด์ž.
1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค๋ฅผ Public Subnet์— ํฌํ•จ์‹œํ‚ค๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
2. ๊ทธ๋ ‡๋‹ค๊ณ  ๋‹จ์ˆœํžˆ Private Subnet์— ํฌํ•จ์‹œํ‚ค๋ฉด ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
3. EC2 ์ธ์Šคํ„ด์Šค๋ฅผ 2๊ฐœ ์ƒ์„ฑํ•˜์—ฌ ํ•˜๋‚˜๋Š” Public Subnet์—, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” Private Subnet์— ํฌํ•จ์‹œ์ผœ ๋กœ์ปฌ์—์„œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. 

์ฆ‰, ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ์‚ฌ์ด์— ๋ฌธ์ง€๊ธฐ ์—ญํ• ์„ ํ•  ๋ฌด์–ธ๊ฐ€๊ฐ€ ํ•„์š”ํ•ด ๋ณด์ธ๋‹ค...


๋‘๋‘ฅ.. Bastion Host ๋“ฑ์žฅ..!

 

๐Ÿšจ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์—
 1. AWS ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ์ž๋Š” EC2 ์ธ์Šคํ„ด์Šค 2๊ฐœ๋ฅผ ์ƒ์„ฑ, ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์›” 750์‹œ๊ฐ„์˜ ๋ฌด๋ฃŒ ํ”Œ๋žœ์ด ์ธ์Šคํ„ด์Šค 2๊ฐœ ์ƒ์„ฑ์œผ๋กœ ์ธํ•ด ์‚ฐ์ˆ ์ ์œผ๋กœ 375์‹œ๊ฐ„์œผ๋กœ ์ค„์–ด๋“ค๊ฒŒ ๋œ๋‹ค. ์ด ์™ธ์—๋„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๊ณณ์—์„œ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์ด ์‹ค์Šต์€ Bastion Host๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ์ง„ํ–‰ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์•„๋ž˜์˜ ๋‚ด์šฉ๋งŒ ๊ฐ€์ง€๊ณ  ์‹ค์ œ ์„œ๋น„์Šค์— ์ ์šฉํ•˜๊ธฐ์—๋Š” ๋‹ค์†Œ ๋ฌด๋ฆฌ๊ฐ€ ์žˆ๋‹ค.
3. ๋”ฐ๋ผ์„œ ๊ฐ€๋ณ๊ฒŒ ๋ณด๋Š” ๊ฑธ ์ถ”์ฒœํ•œ๋‹ค. ์‹ค์ œ ๊ตฌํ˜„์€ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ !

 

 

๐Ÿ“ ์•„ํ‚คํ…์ฒ˜

  • ์œ„์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ํ†ตํ•ด์„œ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•˜๋Š” ํ•ดํ‚น์ด๋‚˜ ํƒˆ์ทจ ๋“ฑ์œผ๋กœ๋ถ€ํ„ฐ ์›น์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ  VPC & ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด & ์„œ๋ธŒ๋„ท ์„ค์ •

VPC ์ƒ์„ฑ

ํ…Œ์ŠคํŠธ์šฉ VPC ์ƒ์„ฑ

  • ํ…Œ์ŠคํŠธํ•  VPC๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • IPv4 CIDR์„ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ, ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์—†๋‹ค๋ฉด ์‚ฌ์„ค๋ง ๋Œ€์—ญ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.
    • 10.0.0.0 ~ 10.255.255.255 -> A ํด๋ž˜์Šค (10.0.0.0/8)
    • 172.16.0.0 ~ 172.31.255.255 -> B ํด๋ž˜์Šค (172.16.0.0/12)
    • 192.168.0.0 ~ 192.168.255.255 -> C ํด๋ž˜์Šค (192.168.0.0/16)

 

 

์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด 

  • ์™ธ๋ถ€ ์ธํ„ฐ๋„ท๊ณผ VPC ๊ฐ„์˜ ํ†ต์‹ ์„ ํ™œ์„ฑํ™” ์—ญํ• ์„ ํ•œ๋‹ค.

 

 

์„œ๋ธŒ๋„ท

  • Public Subnet๊ณผ Private Subnet์„ ์ƒ์„ฑ
  • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”
    • ์„œ๋ธŒ๋„ท ๋˜๋Š” ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์ด ์ „์†ก๋˜๋Š” ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ…Œ์ด๋ธ”
    • Public์˜ ๊ฒฝ์šฐ ๋กœ์ปฌ๊ณผ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ํ—ˆ์šฉ
    • Private์˜ ๊ฒฝ์šฐ ๋กœ์ปฌ์„ ํ†ตํ•ด์„œ๋งŒ ํ—ˆ์šฉ

 

๋ณด์•ˆ๊ทธ๋ฃน

bastionHost-Public

  • ๋ฒ ์Šค์ฒœ ํ˜ธ์ŠคํŠธ ์—ญํ• ์„ ํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค์˜ ๋ณด์•ˆ๊ทธ๋ฃน์œผ๋กœ SSH๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ธ์Šคํ„ด์Šค ๋‚ด๋ถ€๋กœ ์ ‘์† ํ—ˆ์šฉ

bastionHost-Private

  • ์›น์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค์˜ ๋ณด์•ˆ๊ทธ๋ฃน์œผ๋กœ SSH๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ธ์Šคํ„ด์Šค ๋‚ด๋ถ€๋กœ ์ ‘์† ํ—ˆ์šฉ
  • ICMP ํฌํŠธ๋Š” PING์„ ํ†ตํ•ด ์—ฐ๊ฒฐ ํ™•์ธ์šฉ

 

๋ฒ ์Šค์ฒœ ํ˜ธ์ŠคํŠธ์šฉ์™€ ์›น์„œ๋ฒ„์šฉ EC2 ์ƒ์„ฑ

public - Bastion Host / private - Web Server

 

Bastion Host์šฉ EC2 ์ธ์Šคํ„ด์Šค์— ์ ‘์†

 

 

ping ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ ํ™•์ธ

 

์ •๋ฆฌ

  • ์‹ค์ œ๋กœ ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ๋” ๋งŽ์€ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. (๋‚ด๊ฐ€ ์•„์ง ์ž˜ ๋ชจ๋ฅด๋Š” ๋‚ด์šฉ)
    • BastionHost์šฉ EC2 ์ธ์Šคํ„ด์Šค ์•ˆ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์šฉ ์ธ์Šคํ„ด์Šค์˜ PEMํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š”๊ฑด๊ฐ€?(FTP๋ฅผ ์ด์šฉํ•ด์„œ?)
    • ๋‹ค๋ฅธ AWS ๋ฆฌ์†Œ์Šค์™€์˜ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด?(ex. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์กด์žฌํ•  ๋•Œ)
    • ๋ณต์ˆ˜์˜ AZ์— ๊ฑธ์ณ ์ƒ์„ฑํ•  ๋•Œ๋Š”?
    • ๋“ฑ๋“ฑ
  • ๊ฒฐ๋ก 
    • ์‹ค์ œ ์„œ๋น„์Šค์— ์ ์šฉํ•˜๊ธฐ์—๋Š” ์•„์ง ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ, Bastion Host๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ณต๋ถ€ํ•˜๊ธฐ์— ์ข‹์€ ์‹ค์Šต์ด์—ˆ๋‹ค.
728x90