왜 하나의 서버에 하나의 IP만 쓰지 않을까?
왜 하나의 서버에 하나의 IP만 쓰지 않고 여러개의 사설IP를 부여하는걸까?
예을 들어 하나의 ec2 서버를 만든다고 가정하자.
그럼 보통 하나의 ec2 인스턴스에 하나의 web서버만 띄우므로 하나의 ip만 지정해주면 된다 근데 보통 여러개의 ip를 할당해 준다 왜 그런걸까?
여러 대역의 IP 할당 이유
IP 대역은 클라우드 환경에서는 VPC안에 서브넷을 정의할 때, 사설 IP대역을 미리 정의합니다.
예를 들어, 10.0.118.0/29 라는 작은 서브넷을 할당하면, 8 개의 IP주소가 생성됩니다.
그럼 8개의 주소를 모두 사용할 수 있을것 같지만 그렇지 않습니다.
실은 6개의 주소만 사용이 가능합니다.
- 사용 가능한 IP : 10.0.0118.1 ~ 10.0.118.6
- 예약된 IP : 10.0.118.0(네트워크 주소), 10.0.118.7(브로드캐스트 주소)
또 AWS에서 IP 주소 예약에도 사용됩니다.
- 첫번째 IP : VPC 내부 라우터 주소
- 두번째 IP : AWS에서 DNS를 위한 주소
- 마지막 IP : 브로드캐스트 용도로 예약
하나의 서버에 하나의 IP만 사용하지 않는 이유
위는 ip 기준으로 대역을 설정하는 이유를 설명했습니다.
위의 조건을 봐도 그럼 3개의 ip만 할당하면 되는데 더 할당하는 이유를 알아보겠습니다.
확장성을 고려한 설계
서버가 한 대만 존재하는 환경은 드뭅니다. 일반적으로 네트워크는 여러 서버, 서비스, 장비가 함께 동작됩니다.
그런 이유로 대역을 미리 할당해 놓으면 새로운 서버를 추가하거나 서비스를 확장할 때 추가 IP를 쉽게 사용할 수 있습니다.
하나의 서버에 여러 인터페이스가 필요할 수 있음
프라이빗 IP : 내부 DB 용
퍼블릭 IP : 외부 인터넷 통신(웹 요청)
관리 네트워크 : 서버 관리와 모니터링용 별도 네트워크
로드 밸런싱과 고가용성
여러 서버가 하나의 서비스를 제공하는 경우, 로드 밸런싱을 통해 트래픽을 분산해야 합니다.
이때, 여러 서버가 같은 네트워크 대역세 속해 있어야 통신이 원활합니다.