본문 바로가기

클라우드

[클라우드] AWS와 같은 클라우드 컴퓨팅 서비스는 어떻게 모든 EC2에 IPv4를 제공해줄까?

의문의 시작?

과거부터 "IPv4의 공간이 부족해서..." 이런 문장을 많이 접했다. 그래서 사설 IP 개념이 나온 것도 부족한 IPv4를 해결하는데 적합했다라는 내용도 많이 보았다. 그런데 아마존의 AWS와 같이 클라우드 컴퓨팅 서비스를 제공하는 모든 회사들은 IPv4를 통해서 사용자가 서비스를 publish 할 수 있게 해준다.

 

예를 들어, EC2를 할당 받아서 웹서버를 열면 IPv4 80번 포트로 접근하면 해당 웹서버에 요청을 보낼 수 있다.

 

의문이 들기 시작한다.

 

IPv4 수가 부족한데, 몇 개나 생성될지 모르는 EC2(클라우드 컴퓨팅)에 하나하나 IPv4를 부여해준다고 ?!?!!

 

 

검색 전 나의 생각

1. IPv6

스타링크도 IPv6를 이용한 통신을 한다고 언뜻 들었다. 과거에 IPv6 통신 수가 점점 늘고 있다는 기사도 본적이 있는 것 같다. 언뜻 경력 많은 개발자한테 AWS가 IPv6를 대량 구매했다는 얘기도 들었던것 같았다. 그래서인지 모든 클라우드 컴퓨팅에 IPv6를 부여 하고 있을 것이라는 생각을 했다.

 

그리고, 사용자가 IPv4를 입력하면, 터널링, 듀얼 스택, IPv4 to IPv6 매커니즘 등을 통해 알아서 통신할 거라고 예상해봤다.(하지만 생각하면서 바로 철회했다)

 

2. 모종의 외계인 기술

내가 모르는 어떤 네트워킹 기술을 통해서 IPv4를 개인에게 부여하고 있는 것 처럼 보이지만, 사실 이를 분배하는 ip table 같은 것이 존재하고, 이를 통해 EC2와 통신하고 있을 것이다.

 

3. 1번과 2번을 합친 무언가

4. IPv4와 PORT

AWS 내에서 PORT를 통한 포트포워딩이 일어나고 있을 것이다.

 

반론

위 생각들은 곧 전부 철회했는데, 그 이유는 다음과 같다.

  • IPv4로 입력을 하므로, IPv4로 접근 할 수 있는(식별 할 수 있는) IPv6는 결국 일대일 대응이 되어야 하지 않나?
  • 모종의 외계인 기술? 가능성이 없다.
  • IP 테이블 사용은 결국 일대일 대응 논리와 같다.
  • 사용자는 80번 포트를 사용해서 웹서버에 접근하기 때문에, 포트포워딩이 불가능하다.
  • 전세계 사람들은 동일한 IP로는 동일한 서버로만 접근이 가능하다.

 

결과

검색을 해봤지만, 정확한 이유는 알 수 없었고, 그나마 가능성이 있는 정보들을 모아보았다.

 

1. AWS와 같은 기업들은 다른 기업으로부터 사용하지 않는 거대 IP 블럭(IPv4)을 사 모으고 있다.

2. IPv4가 부족하기 때문에, 클라우드 컴퓨팅 사용자로부터 IPv4 사용료를 받고 있으며, 인스턴스를 제거하면, IP를 회수하고 재사용한다.

3. IPv4가 부족하다고 하지만, 아직 사용되지 않은 IPv4의 양이 많이 남아있다.

4. VPC와 같은 기술로 IPv4사용량을 줄이고 있다.

5. IPv6를 지원하기는 한다.

 

정리

놀랍게도 결론에 반전이 없다. 그냥 아직까지는 버틸만 하다가 결론이다. IPv4의 사용량을 줄이려는 노력은 보인다.

그러나 아직까지는 IPv4가 부족한 실정이다 라고 하기에는 설레발인듯 하다.

 

 

References

https://www.quora.com/If-IPv4-addresses-have-already-run-out-how-can-AWS-and-other-cloud-providers-just-give-them-away

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