VPC란?
before read
해당 글에는 개인적인 생각이 들어가 있습니다. 틀린 내용이 있을수도 있으니 이에 대해서 양해 부탁드립니다.
VPC란?
- VPC는 Virtual Private Cloud의 약자로 AWS 상에 존재하는 가상 네트워크를 뜻한다.
- "이것이 왜 필요한가?" 에 대해서 생각해 볼 수 있다. AWS Instacne는 각각의 고유한 Private IP를 가지고 있다. VPC가 없던 시절 AWS 사용자들은 이 IP들을 하나로 묶어서 별도의 Network 망을 구축할수가 없었다고 한다.
- “Network 망이 있든 없든 무슨 상관이냐?” 라고 궁금증을 가질 수 있다. 생각해보자, 내가 생성한 모든 Instance들에 대해 특정 트래픽은 차단하거나 외부 인터넷에서 접속이 불가능 하도록 만들고 싶다고 가정하자. 이를 위해서는 어떻게 해야 할까? 각각의 Instance 들마다 트래픽을 차단을 설정해야 될 것이고, 각 PC마다 설정된 Public IP를 모두 제거 해주는 등 관리하기 귀찮은 상황이 생기게 될 것이다.
- 위 같은 상황을 효율적으로 관리하기 위해서 AWS에서 제공해주는 것이 바로 VPC이다. VPC는 AWS 사용자에게 실제로는 존재하지 않는 가상의 Network망을 구축해서 내부에 속한 Instance들의 관리를 편리하게 할 수 있도록 도와준다. 즉, AWS라는 넓은 Cloud의 세계에서 가상의 개인적인 Cloud 세계 ( Virtual Private Cloud ) 를 구축할 수 있도록 도와주는 것이 VPC 이다.
VPC 구성하기
VPC는 크게 4가지 방식으로 구성된다.
- VPC 내부에서 사용될 IP 주소의 범위를 정하기.
- 가용 영역(AZ)별 서브넷 설정하기.
- 인터넷으로 향하는 라우트 경로 만들기.
- 트래픽 Control을 위한 VPC 보안 설정 만들기.
각각의 항목에 대해서 자세하게 알아보자.
1. VPC의 IP 주소 범위 설정
- AWS에서는 Private IP Address를 [1] CIDR(Classless Inter-Domain Routing) 방식으로 구성한다.
- VPC IP 주소는 반드시 [2] RFC1918 사설망 범위에 포함시키도록 한다.
- 이는 AWS Public IP와 Private IP의 Overlapping을 방지하기 위해서라고 한다.
2. 가용 영역 ( Availability Zone ) 별 서브넷 설정
- VPC에서 특정 범위의 IP 주소를 사용하도록 설정을 했다면 또 이것을 그룹화 시키기 위해서 서브넷이라는 것을 사용한다.
- 이 서브넷은 Region내에 있는 [3] 가용영역 ( Availability Zone ) 내부에만 구성을 할 수 있다.
- 서브넷들은 VPC 내에서 Overlapping 되지 말아야 하기 떄문에 서로 다른 IP 범위를 설정해야 한다.
- 만약 VPC IP 할당량이 172.56.0.0/16 이고 이곳에 2개의 서브넷을 구성한다면 하나는 172.56.
0
.0/24, 다른 하나는 172.56.1
.0/24로 구성해야 한다는 의미이다.
- 만약 VPC IP 할당량이 172.56.0.0/16 이고 이곳에 2개의 서브넷을 구성한다면 하나는 172.56.
- 서브넷은 /24 ( 251 address ) 만큼만 사용할 것을 권장한다.
- /24 라서 8개의 bit를 통해 256개의 address를 사용 가능해야 하나 5개의 ip address는 대표주소, 브로드캐스트, aws 내부 사용 ip 3개가 이미 할당되어 있어 251개만 사용이 가능하다.
출처 : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/images/nat-gateway-diagram.png
- /24 라서 8개의 bit를 통해 256개의 address를 사용 가능해야 하나 5개의 ip address는 대표주소, 브로드캐스트, aws 내부 사용 ip 3개가 이미 할당되어 있어 251개만 사용이 가능하다.
3. 라우팅 테이블 만들기
[1]: CIDR 방식은 “192.168.0.0/16”와 같이 표현하며 의미는 11000000(192).10101000(168).00000000(0).00000000(0) IP에서 상위 16 비트는 고정해서 Network ID로 구성하고, 하위 16 비트는 HostID로 구성을 하겠다는 의미이다. 즉, “192.168.123.1” 이나 “192.168.111.31” 은 모두 “192.168.0.0” 으로 간주해서 네트워크를 group화 시키겠다는 의미이다.
[2]: IPv4 범위 = 10.0.0.0~10.255.255.255 (10.0.0.0/8), 172.16.0.0~172.31.255.255 (172.16.0.0/12), 192.168.0.0~192.168.255.255 (192.168.0.0/16)
[3]: 가용 영역(AZ)이란 Availability Zone의 약자로 Region별로 2~3개 정도 구성된다. 이것의 역할을 고가용성을 위해 데이터 센터를 여러곳에 배치해두고 자연재해 등 서버가 물리적으로 파괴되었을때를 대비해서 Data가 백업될 수 있도록 운영하는 AWS의 방식이다.
댓글남기기