Cloud 기초/AWS 기초

AWS VPC 기초 I (네트워크의 기본지식 알기)

Cloudy Allen 2023. 9. 16. 10:44

 

AWS VPC

 

이번엔 AWS VPC에 대해서 알아봅시다.

AWS VPC는 Virtual Private Cloud의 약자로 AWS에서 제공하는 가상 네트워크 서비스입니다.

가상 컴퓨터가 있으니까 가상 컴퓨터의 네트워크도 설정이 필요하겠죠?

그래서 등장한 것이 가상 네트워크입니다.

 

우선, 가상 네트워크 설정에 앞서 기본적인 네트워크 지식을 알고 넘어갈까요?

가상 네트워크를 생성하고 서브넷을 설정하면 항상 제가 힘들었던 부분이 IP를 설정하는 부분이었습니다.

보통은 저는 어떤 웹사이트를 만들고 도메인을 등록하면 자동으로 IP라는 주소가 할당되어서

사실 별로 IP에 대해서 깊이 있게 생각하지 않았습니다. (그거 그냥 자동으로 만들어지는거 아니야?)

 

네트워크이 주소가 무엇인지 전혀 지식이 없는 분들도 있을 수 있으니까 간단하게 설명드리면,

내가 어떤 웹사이트나 서비스 혹은 API에 네트워크를 타고 가려면 목적지에 대한 주소가 필요하잖아요.

그게 네트워크 주소라고 생각하시면 됩니다. (내가 네트워크를 타고 찾아가려고 하는 곳의 주소!)

 

그러면 주소와 관련해서 IP주소, 도메인 주소, Proxy 주소같은 개념이 나오는데요.

우리가 일상에서 집주소, 회사주소라고 할 때 표현하는 그 주소와 비슷하게 생각하시면 편하고

각각의 주소를 비유해서 설명드리겠습니다.

 

IP 주소: 위도, 경도로 정확하게 찍은 좌표값 주소. 정확하지만 외우기 어려움.

도메인 주소: 보통 우리가 쓰는 도로명 주소. (정확한 좌표값이 있겠지만)사람들이 규칙에 따라 이름 붙인 주소

Proxy 주소: 버스를 타고 수원역 정거장에서 내리면 정확한 주소는 몰라도 갈 수 있다. 이게 바로 프록시 주소

 

딱 정확하게 들어맞는다고 할 수는 없지만,

IP주소는 숫자로 나타낸 정확한 주소,

도메인 주소는 정확한 주소가 어려우니까 규칙에 따라 이름을 정한 쉬운 주소,

Proxy 주소는 정확한 주소는 아니지만 정확한 주소로 데려다주는 주소

정도로 이해하고 넘어가면 될 것 같습니다.

 

CIDR의 개념도 알아야 하는데요.

아주 쉽게 설명하면 CIDR는 주소를 묶는 규칙같은 거라고 생각하면 됩니다.

 

보통 아파트를 단지별로 묶는 경우가 있잖아요.

그리고 그 단지 내에서는 같은 주차 등록을 하기 때문에 통행도 편하고,

다른 단지면 같은 브랜드의 아파트여도 서로 주차 통행이 안 되는 경우도 있죠.

 

VPC에서 CIDR주소를 사용하는데요.

그 이유는 실제 웹사이트 주소처럼 오픈된 주소가 아니라

우리가 임의로 정한 사설 주소를 만들어서 쓸 것이기 때문입니다.

우리가 임의로 만든 사설 주소가 모두 실제 주소록에 저장이 되면 이미 모든 IP주소는 없어지고도 남았겠죠.

 

실제로 CIDR 주소를 하나 보면서 설명해볼까요?

 

199.36.153.8/30 (private.googleapis.com)

 

private 구글 API와 통신하기 위한 주소인데요. CIDR 주소를 사용하고 있습니다.

 

어떤 IP 주소가 CIDR 주소인지 아닌지 어떻게 알죠?

 

보통 CIDR 표기는 마지막에 "xxx.xxx.xxx.xx/30", "xx.xx.xx.xxx/16" 이런 식으로 CIDR 규칙이 들어갑니다.

뒤에 나오는 30, 16의 숫자가 어디까지 IP주소를 묶을래? 라는 규칙을 정하는 부분입니다.

 

IP 주소는 나름의 규칙이 있는데요 (그냥 아무 숫자나 입력하면 되는거 아니었음??)

8자리 2진수를 사용합니다. 그러니까 주소를 만들 수 있는 범위는

0000 0000 . 0000 0000 . 0000 0000 . 0000 0000 ~ 1111 1111 . 1111 1111 . 1111 1111 . 1111 1111

이렇게 8x4해서 32개의 2진수(0,1)를 바꿔서 정할 수 있죠.

그러면 2의 0승부터 7승까지 활용해서 0~255의 숫자를 나타낼 수 있습니다.

(2진법으로 '0000 0000'이 0, '1111 1111'이 255입니다.)

즉, 결론을 말하면 0.0.0.0 ~ 255.255.255.255까지 정할 수 있습니다.

 

 

참 쉽죠? (밥 아저씨급 기만)

너무 어려우시면

아 ip주소는 0부터 255 중에서 숫자를 골라서 4개를 쓰면 되는구나 

일단 이 정도로만 알고 넘어갑시다.

 

음...일단 알겠어요. 그런데 주소는 왜 묶어요? 이상한 CIDR라는 개념 때문에 더 어려워요!!

 

주소를 묶는건 아까 설명드린 아파트 단지를 묶는 것과 같습니다.

 

예를 들어 같은 단지에는 서로 편지를 쓰거나 소포를 붙였을 때

우체국까지 가지 않고 경비실에서 전달해준다고 해봅시다.

그러면 훨씬 편하고 빨리 편지가 전달이 되겠죠?

 

IP주소를 CIDR로 묶는 것도 같은 이점이 있습니다.

훨씬 빠른 통신이 가능합니다.

 

그리고 다른 장점은 주소를 관리하기 편하고 주소를 따로 발급받지 않아도 된다는 장점이 있습니다.

예를 들어 잠실 주공 아파트라는 이름으로 서울시 송파구 송파대로 567라는 주소를 받았으면

아파트 단지를 하나로 묶여서 주소를 주고 그 안에서 알아서

동을 나누든 단지를 나누든 세부 주소 규칙은 알아서 정하고 관리할 수 있다는 장점이 있습니다.

 

그리고 만약 아파트에 사는 모든 사람들이 따로 도로명 주소를 받는다면

주소가 복잡해지고 불필요한 주소가 많이 만들어져서 비효율적이겠죠?

마찬가지로 CIDR로 주소를 설정하면 일정 부분까지 IP를 묶어서 관리(라우팅)하기 때문에 

불필요한 주소를 줄여서 효율적인 주소 관리가 가능합니다.

 

자 이제 아까 나왔던 199.36.153.8/30를 봅시다. 

이건 30개까지 고정으로 묶고 나머지를 알아서 쓰도록 허용한다는 의미로 생각하면 됩니다.

 

그러니까 우리가 쓸 수 있는 주소의 갯수는 4*8=32에서 30을 빼면 2개이고

2진수니까 2*2해서 4개입니다. (00, 01, 10, 11)

즉, 쓸 수 있는 IP는 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11 이렇게 됩니다.

(좀 더 자세한 내용은 구글에서 CIDR 계산법을 검색하시기 바랍니다.)

 

네트워크에 대한 내용도 상당히 깊게 파볼 수 있는 주제이지만

우리는 VPC와 서브넷의 CIDR주소를 만들 정도만 알면 되기 때문에 이 정도로 가볍게(?) 보고 넘어가겠습니다.

(아니 그냥 VPC 안 만들고 싶어졌어요..ㅠ)

 

VPC는 가상 네트워크이고 서브넷은 그 가상 네트워크의 주소를 쪼개서 쓰는 단위라고 생각하면 됩니다.

일단 이 정도로 하고 AWS VPC 기초 II (AWS VPC와 서브넷 생성) 에서 실제 VPC와 서브넷을 만들어봅시다.

 

AWS VPC 기초 II (AWS VPC와 서브넷 생성) https://kh-archive.tistory.com/42