[EC2 - SSA Level] 프라이빗(private) vs 퍼블릭(public) vs 탄력적(Elastic) IP

728x90

프라이빗(private) vs 퍼블릭(public) vs 탄력적(Elastic) IP

네트워크는 IPv4, IPv6 두 종류를 갖는다.

IPv4 는 매우 대중적으로 사용되고 있다. 그에 반해 IPv6 는 덜 대중적이다.

 

기본적으로 IPv4 를 사용하지만 AWS 가 IPv6 도 지원한다는 것을 알아야 한다.

IPv4 는 현재 가장 일반적으로 온라인에서 사용되는 형태이고, IPv6 는 IoT 나 사물 인터넷에서 많이 사용된다.

IPv4 는 약 36억개의 서로 다른 주소를 사용할 수 있지만 현재는 거의 고갈되어 가고 있는 상황이다.

IPv4 : [0-255].[0-255].[0-255].[0-255], 각 자리에는 0~255 의 숫자가 들어올 수 있다.

 

예를 들어 각각의 서버 2개가 존재하고 얘네들은 각각 공용 아이피 주소를 할당받아서 사용하고 있다. 두 대의 서버는 공용 아이피 주소를 사용해서 통신을 할 수 있다.

회사 A 는 private ip 를 사용한다. private ip 를 사용할 경우 게이트웨이가 필요로 하고 해당 게이트웨이를 통해서 외부와 통신을 할 수 있게 된다.

만약 게이트웨이가 없다면 private ip 를 사용하는 내부 망에서 자기들끼리만 통신이 가능하고 외부 서버와는 통신을 할 수 없게 된다. 네트워크의 서브넷팅과 관련이 있으니 찾아서 공부해보는 것도 좋다.

기본적으로 public ip 를 가졌을 때는 아무 제약없이 인터넷을 통해 접속할 수 있고 private ip 를 가졌을 때 는 해당 private ip 내에서만 통신이 가능하다는 것이다.

public ip 는 디바이스가 인터넷 안에서 식별될 수 있게 해주는 주소이며, 유일한 값이다. 두 개의 디바이스에서 똑같은 public ip 주소를 가질 수는 없다. public ip 주소를 이용해서 위치를 식별할 수 있다.

 

private ip 는 디바이스가 같은 private ip 내부에서만 식별되며 이 안에서만 유일한 값이다.

private ip 를 사용하는 회사 A 와 회사 B 의 private ip 가 똑같을 수 있으며 이것은 문제가 되지 않는다. 왜냐하면 public ip 가 아니기때 문이다.

 

그리고 내 디바이스가 private ip 에 있을 때 NAT 장치와 프록시 역할을 하는 게이트웨이를 통해서 외부 인터넷 망에 연결할 수 있다. 그리고 마지막으로 오직 특정한 IP 들만 private ip 처럼 사용될 수 있다.

 

EC2 인스턴스를 시작하고 종지할 때 public ip 주소가 변경이 되는데 해당 인스턴스에 public ip 주소를 고정해서 사용할 경우

고정된 public IPv4 ip 주소를 Elastic IP 라고 부른다.

 

하나의 계정에선 5개의 Elastic IP 만 사용할 수 있다. AWS 에 더 달라고 요청할 수 있지만 흔한 케이스는 아니며 Elastic IP 를 사용하지 않는 것을 권장하지만 Elastic IP 는 설계상 좋은 구조가 아니다.

Elastic IP 대신에 대신에 임의의 public ip 주소를 사용해야하고, Route 53 서비스에서 DNS 를 해당 ip 주소에 할당해야 한다.

해당 방식을 사용하면 쉽게 설정이 가능하며 확장에 유리하기 때문에 유용하다.

나중에 알아볼 것이지만 public ip 주소를 사용하지 않고도 로드 밸런서를 사용할 수 있다.

 

정리하자면 EC2 인스턴스는 AWS 네트워크 내에서 사용할 수 있는 private ip 주소와 인터넷에서 사용할 수 있는 public ip 주소를 가진다.

SSH 를 통해서 EC2 인스턴스에 접근할 때는 private ip 주소를 사용하지 않는다. 왜냐하면 같은 네트워크에 존재하는 것이 아니기 떄문이다.

private ip 주소를 통해서 접근하고 싶다면 VPN 을 사용하면 된다. 근데, 굳이 이럴 필요가 없다..

728x90