그래서 VPC가 뭔데 라고 한다면 일단
Amazon Virtual Private Cloud(VPC)는 기본 구성 요소로서, 이를 통해 AWS 클라우드 내에서 논리적으로 격리된 가상 네트워크를 프로비저닝할 수 있습니다. 자체 VPC를 생성하면 네트워킹 환경을 완전히 제어할 수 있습니다. 예를 들어, IP 주소 범위, 서브넷, 라우팅 테이블 및 연결 옵션을 정의할 수 있습니다.

출처 : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/configure-your-vpc.htm

위와 같이 여러 리전(지역)안에 vpc를 만들고 그 안에 AZ(Availability Zone) 안에 또 subnet을 나눠서 네트워크를 분리하는 것이다.

 

VPC를 이해하려면 기본적으로 IP에 대해서 알아야 하는것 같다.

 

IP(Internet Protocol)

IP는 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약이다.

 

aws를 이해하는데는 어떤 ip인가의 그런 의미 보다는 대충 ip를 읽을줄 알아야 할것 같다.

이유는 IP 주소로 VPC내의 리소스가 서로 통신하고, 인터넷을 통해 다른 리소스와 통신하기 때문이다.

 

특히 알아야할것 같은 부분은 CIDR(classless inter-domain  routing) 표기법인데 이걸 통해서 ip 주소 및 네트워크 마스크를 하기 때문이다.

 

대충 표시되는 법은

- 개별 IPv4 주소는 32비트로, 최대 3개의 십진수로 구성된 그룹 4개를 포함합니다. 예를 들어 10.0.1.0입니다.
- IPv4 CIDR 블록에는 마침표로 구분된 0~255의 십진수가 최대 3개인 4개 그룹이 있으며, 그 뒤에 슬래시와 0~32의 숫자가 표시됩니다. 예: 10.0.0.0/16.
- 개별 IPv6 주소는 128비트로, 4개의 16진수로 구성된 그룹 8개를 포함합니다. 예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
- IPv6 CIDR 블록에는 콜론으로 구분된 최대 4개의 16진수로 구성된 4개 그룹이 있으며, 그 뒤에 이중 콜론, 슬래시, 1~128의 숫자가 차례로 따라옵니다. 예: 2001:db8:1234:1a00::/56.

출처 : https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-ip-addressing.html

와 같이 표시하며 subnet을 쓰기 위해서는 위의 정도는 알아야 할 것 같다.

 

그래서 VPC를 어떻게 사용해야 하나

위와 같이 구성하면 된다.

즉 vpc /16 의 가장 큰 대역으로 설정한 것이며 그 안에 subnet 항목으로 subnet/24 대역으로 쪼갠것이다.

그래서 일단 vpc는 가상클라우드이고 어떤 ip 영역대역을 가지는 것이라는것을 대략적으로 알게 되었다. 그럼 subnet은 뭘까?

 

Subnet

우리가 집에 맛있는 케이크를 사왔는데 우리집은 아빠, 엄마, 나, 동생이므로 4조각으로 잘라서 먹기로 했다. 근데 엄마가 다이어트 중이라서 조금만 먹어도 된다고 해서 우리는 4등분을 먼저 한 다음 엄마가 받은 조각의 절반을 나한테 더 주었다. 이처럼 우리가 VPC로 할당 받은 ip 대역을 나누고, 그 나누어진 조각들을 subnet이라고 하면 된다.

 

예를 들어 만약 vpc를 설정후 subnet을 4개로 가져간다 하면

VPC : 10.0.0.0/16

subnet : 10.0.1.0/24(EC2 서버A), 10.0.2.0/24(EC2 서버B), 10.0.3.0/24(DB 서버A), 10.0.4.0/24(DB 서버B)

 

와 같이 4개로 쪼개고 그 안에 EC2 2개, DB 2개 처럼 쪼갤수 있다.

이제 실제로 VPC를 만들어 보고 그 안에 서브넷 4개를 만들어 보겠다.

 

VPC 만들기

vpc 탭에서 왼쪽 위의 vpc 생성을 눌러서 vpc 만들기를 진행한다.

 

안에 들어가 보면 vpc만 설정이랑 vpc등 설정이 있다. 기능이 많이 좋아진것 같다. vpc등으로 설정하면 알아서 subnet 설정, routing table 설정, 네트워크 설정 까지 한번에 해주는 기능인것 같다.

 

우리는 일단 vpc만 으로 설정한다.

vpc를 만들기에 앞서서 IPv4 CIDR을 입력해 줘야 하는데 최대 /16 최소 /28 의 대역을 설정할수 있다. 이는 나중에 자세하게 포스팅 해보려고 한다. 참고로 vpc를 만들기만 해서는 따로 비용이 안드므로(vpc로의 통신량을 가격으로 설정) 부담없이 만들면 된다.

그래서 우리는 10.0.0.0/16 으로 설정한다.

 

만들게 되면 

위와 같이 나의 vpc가 만들어 지게 된다.

 

그 다음에는 subnet을 만들면 된다.

Subnet 만들기

 

vpc 탭에 서브넷으로 들어가서 왼쪽 위의 서브넷 생성을 누른다.

 

 

난 위와 같이 만들었다. 

IPv4 VPC CIDR 블록에는 내가 만든 vpc를 넣었고

그 아래에는 10.0.0.0/20 약 4천개의 ip를 할당 받은 subnet으로 만들었다. 

그리고 그 아래 버튼을 보면 서브넷 추가 만들기 버튼이 있는데 이를 통해서 여러개를 만들수 있다. 

 

그렇게 나는 4개의 서브넷을 만들었고 각각 public 2개 private 2개로 만들것이다

 

이건 별게인데 cli로 서브넷이랑 vpc를 만들경우 아래와 코드가 같다.

# VPC 생성
aws ec2 create-vpc --cidr-block 10.0.0.0/16

# Public 서브넷 1
aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.0.0/20 --availability-zone us-east-1a

# Public 서브넷 2
aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.16.0/20 --availability-zone us-east-1b

# Private 서브넷 1
aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.32.0/20 --availability-zone us-east-1a

# Private 서브넷 2
aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.48.0/20 --availability-zone us-east-1b

 

어찌 저찌 VPN이 궁금해 졌는데 이유는 VPC가 뭐지? 에서 시작한다.

VPC(virtual private cloud) 이고 VPN(virtual private network)인데 차이가 뭐지?

가 궁금해서 알아보게 된것이다.

 

VPN이 뭔데 그래서

 

VPN은 한국어로 "가상 사설망"이라고 부른다.

우리는 보통 "VPN 우회" 등의 단오로 많이 접하게 된다.

출처 : https://hidemyacc.com/protect-yourself-with-vpn

 

vpn 네트워크에 접속하게 되면, 외부에 있는 컴퓨터라도 내부 네트워크에 접속해 있는것처럼 사용하는것이다.

 

예를 들면, A 컴퓨터(ip주소 : 200.xx.xx.xx)에서 vpn(ip주소 : 201.xx.xx.xx)로 접속한다고 가정을 해봅니다.

 

그럼 인터넷 입장에서는 A 컴퓨터는 200번이아닌 201번의 ip로 인식하게 되는겁니다.

 

만약, A 컴퓨터가 vpn을 통해서가 아닌 그냥 인터넷등을 접속하면 200번의 ip로 보여질 겁니다.

회사에서 만약 인바운드 규칙, 즉 특정 사이트를 들어올때 201.xx.xx.xx 의 ip만 허용할 경우 vpn을 통해서만 접속이 가능한 겁니다.

 

즉 vpn을 통할 경우 A 컴퓨터 -> vpn -> 인터넷 순으로 ip를 통하는 것이고 ip가 바뀜으로서 특정 사이트 또는 서버에 접속이 가능해지는것이다.

 

위처럼 특정 ip로의 접속 말고도 ip 를 분리할때도 사용한다.

 

출처 : https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

 

위처럼 우리 회사 네트워크가 구성되어 있다고 보자. 근데 특정 이유로 인해서 네트워크를 다시 분리하고 싶다면 기존 인터넷선 공사도 다시해야 되고 내부선을 다 고쳐야 한다 그럴때 내부 망을 사용하게 된다.

 

출처 : https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

 

실제로는 위와 동일 하지만 가상망을 만듬으로서 새로운 네트워크를 설치한것 같은 효과를 보는것이다.

 

VPN의 장점과 단점

장점

- 인터넷 사용 시 높은 보안과 프라이버시

- 공용 Wi-Fi 에서도 안전한 데이터 전송

- 지역 제한 콘텐츠에 접근 가능

- 원격으로 회사 네트워크에 안전하게 접속

 

단점

- 인터넷 속도가 느려질 수 이씅ㅁ

- 실뢰할 수 없는 VPN 서비스를 사용할 경우 데이터 유출 위험

- 비용 발생 

 

 

+ Recent posts