본문 바로가기
DevOps/Architecture

3tier아키텍쳐 구성1-네트워크 설정(1.VPC 2.서브넷)

by 카프리썬 2020. 2. 9.
728x90

전체적인 3티어 아키텍쳐 목차 보고오기

https://pearlluck.tistory.com/78?category=830422

 

3tier아키텍쳐 전체적인 구성

1. 아키텍쳐구성도 2. 네트워크 구성 1. vpc생성 Ipv4 사이더주소 - 10.0.0.0/16 2. 서브넷 생성 3. 인터넷게이트웨이 생성 VPC와 외부인터넷을 연결해주는 하나의 관문으로 출발지가 ‘외부’ 외부인..

pearlluck.tistory.com

 

네트워크 설정

  1. VPC생성
  2. 서브넷생성(퍼블릭2개, 프라이빗 6개)

목표 아키텍쳐 구성도

1.VPC(Virtual Private Cloud)생성

AZ의 밑단위, 하나의 IDC처럼 동작, AWS안에서 가상네트워크
논리적인 하나의 IDC를 만들어서 개인이 사용할 수 있게 씀
이 안에서 서버만들고, LB구성하고, 내 리소스를 관리할 영역들
"내 관리영역을 만들고 그 안에 내가 쓸 리소스를 두겠다!" ->VPC생성

AWS에 가입하면 이미 기본적으로 하나 생성되어 있음
지금 이 VPC안에서 EC2인스턴스, RDS DB인스턴스 등 만들어서 사용하고 있는거

기본적으로 사용하는 VPC이외에 용도에 따라서 VPC추가해서 네트워크 영역을 나눌 수 있음

 

VPC생성하려면 CIDR(사이더)표기법으로 해당 네트워크 영역(IP대역)을 지정함

 

1-1. CIDR표기법?

IPV4주소를 효율적으로 사용하기 위한 새로운 IP주소할당방법

형태 : XXX.XXX.XXX.XXX./YY

YY : 서브넷마스크 2진수로 바꾸었을 때 1의 개수

 

8개의 비트를 10진수로 바꿔서
IP
주소에는 0~255까지 올 수 있음
서브넷마다 할당할떄 중복되면 안됨
퍼블릭IP : 전세계안에서 찾아오는 방법
사설IP : 우리회사 내에서 관리하는 정책에 의해 할당된 IP
몇 개의 비트까지 네트워크를 식별할 주소인지

 

EX) 192.168.0.0 IP대역을 사용하고, 서브넷마스크는 255.255.255.0.이라면 -> 192.168.0.0./24

왜 24? 2진수로 바꾸면 11111111.11111111.11111111.0 -> 그래서 1이 24개

어떤IP범위? 앞에 3자리를 네트워크영역으로 쓰고, 뒤에자리에 해당하는 IP영역을 의미

그래서 허용하는 IP대역은 192.168.0.1부터 192.168.255.255까지

 

EX) 192.168.0.0 IP대역을 사용하고, 서브넷마스크는 255.255.0.0.이라면 è 192.168.0.0./16

왜 24? 2진수로 바꾸면 11111111.11111111.-.0 -> 그래서 1이 16개

어떤IP범위? 앞에 2자리를 네트워크영역으로 쓰고, 뒤에자리에 해당하는 IP영역을 의미

그래서 허용하는 IP대역이 192.168.0.1 부터 192.168.255.255까지

 

2진수로 바꾸면

192.168.000000000.000000000

192.168.000000000.000000001

192.168.000000000.000000010

192.168.000000000.000000011

....

192.168.11111111.11111111

->뒤에 숫자가 클수록 네트워크영역범위가 더 커서 각자 할당할 IP영역범위가 적음

->뒤에 숫자가 작을수록 네트워크영역범위가 더 좁아서 각자 할당할 IP영역범위가 큼

 

EX) 192.168.0.15/32라면?
서브넷마스크를 2진수로 바꾸면 1의 개수가 32개다 

즉, 8 4개니까 서브넷마스크 255.255.255.255

2진수로 바꾸면 11111111.11111111.11111111.11111111
그러면 전체가 다 네트워크 영역이기 때문에 호스트영역은 없음
허용하는 IP대역이 192.168. 0.15이 자체 하나가 됨.

 

/16, /24가 아니면 계산하기 힘드니까 툴 사용

 

http://www.subnet-calculator.com/

 

Online IP Subnet Calculator

IP Subnet Calculator The IP Subnet Mask Calculator enables subnet network calculations using network class, IP address, subnet mask, subnet bits, mask bits, maximum required IP subnets and maximum required hosts per subnet. Results of the subnet calculatio

www.subnet-calculator.com

 

1-2. 서브넷마스크?

ip주소는 네트워크 영역/ 호스트영역으로 이루어짐
네트워크 영역 : 어느 네트워크에 해당하는지 나타내는 부분, 같은 네트워크 안에 있으면 같음(시군구)
호스팅 영역 :
각 기기들을 구분하는 영역(몇동몇호)

ex) 같은 네트워크 안에 있는 192.168.0.1 / 192.168.0.2 두가지 ip가 있다면
네트워크 영역은 192.168.0.까지고 뒤에 8비트로 된 1이랑 2는 각 컴퓨터를 구분하는 호스트명
ex)
같은 네트워크 안에 있는 10.0.1.1 / 10.0.1.2 / 10.0.2.1  세가지 ip가 있다면
네트워크 영역은 10.0 까지고 뒤에 1.1/1.2/2.1 16비트가 각 컴퓨터를 구분하는 호스트명

 

서브넷마스크는 주어진 ip주소를 네트워크 환경에 맞게 나누어 주기 위해 쓰는 이진수 조합
, ip주소를 할당할 때 어디까지 네트워크 영역이고, 어디까지 호스트 영역인지 알려줌
그 네트워크 영역을 잡아주는 곳에 마스크를 씌운다.

 

 

EX) 192.168.0.0 IP대역을 사용하고, 서브넷마스크는 255.255.255.0.이라면 -> 192.168.0.0./24

왜 24? 2진수로 바꾸면 11111111.11111111.11111111.0 -> 그래서 1이 24개

어떤IP범위? 앞에 3자리를 네트워크영역으로 쓰고, 뒤에자리에 해당하는 IP영역을 의미

그래서 허용하는 IP대역은 192.168.0.1부터 192.168.0.254까지

 

EX) 192.168.0.0 IP대역을 사용하고, 서브넷마스크는 255.255.0.0.이라면 è 192.168.0.0./16

왜 24? 2진수로 바꾸면 11111111.11111111.-.0 -> 그래서 1이 16개

어떤IP범위? 앞에 2자리를 네트워크영역으로 쓰고, 뒤에자리에 해당하는 IP영역을 의미

그래서 허용하는 IP대역이 192.168.0.1 부터 192.168.255.254까지

2진수로 바꾸면

192.168.000000000.000000000

192.168.000000000.000000001

192.168.000000000.000000010

192.168.000000000.000000011

....

192.168.11111111.11111111

 

EX) 192.168.0.15/32라면?
서브넷마스크를 2진수로 바꾸면 1의 개수가 32개다 

즉, 84개니까 서브넷마스크 255.255.255.255 (2진수로 바꾸면 11111111.11111111.11111111.11111111)
그러면 전체가 다 네트워크 영역이기 때문에 호스트영역은 없음
허용하는 IP대역이 192.168. 0.15이 자체 하나가 됨.

 

+기존의 IP주소할당 방식 : 네트워크 클래스 방식
ip
주소에 범위를 정하고, 해당 범위대로 클래스를 분류하는 방식, 네트워크 규모에 따라서 결정됨
A
클래스 : 0~127

B클래스 : 128~191

C클래스 : 192~223
D
클래스 : 224~239

E클래스 : 240~245

그런데 클래스의 범주에 딱 맞는게 아니면, 고정구간을 가지고 ip주소를 할당하는 방식이기 때문에

문제발생(?) 높은 클래스를 선택하면 남은 주소들이 낭비, 낮은 클래스를 사용하면 주소부족

그래서 이에 비해 ip주소를 할당하는데 유연성 제공하는 사이더 표기방식으로 변경됨

 

2. 서브넷생성

 VPC안에 서브넷을 여러개 추가(내부를 논리적으로 쪼갬)

vpc안에서 실제로 사용할 대역을 추가로 설정, 어떤 AZ에 위치시킬지 서브넷을 추가로 생성

서브넷을 여러 개로 나누면 네트워크 격리하고, 이 서브넷간에 접근제어를 설정하는 것

두개이상의 AZ영역에 네트워크 구성되도록 만들기 권장

 

VPC는 다른 AWS계정의 VPC와도 연결할 수 있고, VPN 이용해서 회사 네트워크랑도 연결가능

VPC는 리전별로 생성하고, 서브넷은 가용영역(AZ)별로 생성한다.

 

어떻게 쪼갤 것인가? 퍼블릭2(256, 24비트), 프라이빗2(천개이상의IP)


요구조건이 큰거부터 먼저 분할

IP주소 2진수로 되어 잇는걸 10진수로 만듬(10 -> 00001010)

000001010.00000000. 00000000. 00000000 / 16
->앞에 16자는 할당된 네트워크영역(퍼블릭) = 고정
이 뒤에만 변경해서 서브넷 할당

S0000000. 00000000 ->앞에 0이나1로 올수 있음(2개서브넷가능)
ss000000. 00000000 ->
4개서브넷가능
서브넷개수는 2배로 늘어남

비트6개가 서브넷이 된다 à 2^6

000001010.00000000.0000000. 00000000 è 10.0.0.0 /22 
크게 크게 간격으로(4) 쪼개고 그 안에서 또 쪼개는거 -> 10.0.0.0/24로 쪼갬
각각의 주소가 다른 곳으로 할당함
000001010.00000000
.0000100. 00000000 -> 10.0.4.0 /22
000001010.00000000.0001000. 00000000
->10.0.8.0 /22
000001010.00000000.0001100. 00000000 ->
10.0.12.0/22

 

 

2-1. 퍼블릭 서브넷

외부에서 내부로 접근이 가능하면 퍼블릭.

인터넷 게이트웨이랑 연결-> 프라이빗 서브넷으로 들어오고 나갈 수 있는 통로
라우팅 테이블을 통해서 0.0.0.0은 외부로 나가라고 설정

 

2-2.프라이빗 서브넷

외부 인터넷과 격리된 상태로 유지할 때

nat게이트웨이 배치->프라이빗 서브넷들에 있는 값을 외부 인터넷으로 리턴하는 통로

 

AZ1에 있는 서브넷들
AZ3에 있는 서브넷들

Q. 192.168.0.0/24 이라면, 사용할 수 있는 IP개수는 256개이여야하는데
(192.168.0.0
부터 192.168.255.255) 왜 실제로는 251개일까?


5
개의 주소는 할당제외가 된다.
10.0.0.0 :
네트워크 주소

10.0.0.1 : 게이트웨이용 주소로 할당

10.0.0.2 : DNS용 주소로 할당

10.0.0.3 : AWS에서 여분으로 남겨 둔 주소로 할당

10.0.0.255 : 네트워크 브로드캐스트 주소

 

참고 : https://forums.aws.amazon.com/thread.jspa?threadID=157325

불러오는 중입니다...

 

Public 서브넷에 있는 EC2(10.0.0.144)에서 직접 확인

확인 : 10.0.0.1 (게이트웨이)

-> 각 서브넷별로 다름, 그래서 서브넷에 IGW가 없더라도 이 게이트웨이로 서브넷끼리 통신가능

확인 : 10.0.0.2 (DNS서버)

반응형

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });