[AWS] Network - VPC Network Interfaces

bluewhale·2021년 6월 15일
0

AWS

목록 보기
11/19

IP Addressing in VPC

IP 주소는 VPC 내부에 위치한 인스턴스들이 내부적으로 혹은 외부 인터넷과 통신하기 위해 필요한 자원이다. VPC는 IPv4와 IPv6를 모두 지원하며, 기본 값으로 IPv4를 사용한다. 모든 VPC는 최초 생성 시, 사설대역망 범위 내에서 IPv4 CIDR block을 지정해야 한다.

IP 주소는 성격에 따라 Private IP AddressPublic IP Address로 구분되며 서브넷의 IP addresssing behavior 규칙에 따라서 부여된다.

Private IP Address

Private IP 주소는 직역하면 사설 IP 주소로, VPC 내부에서만 사용되고 외부 인터넷에서는 유효하지 않은 IP 주소이다. 인스턴스는 최초 생성 시점에 서브넷에 할당된 주소 범위 내에서 인스턴스의 primary network interface에서 primary private IP addressDNS hostname을 를 부여받고 이를 통해 다른 인스턴스와 통신한다.

Public IP Address

Public IP 주소는 외부 인터넷에 노출되는 IP 주소이다.

모든 인스턴스에 부여되는 private IP와 달리, public IP는 해당 인스턴스가 속한 서브넷의 ip addressing behavior에 따라 부여된다. 만약, 서브넷에서 public IP를 부여하지 않는 정책을 채택한 경우, 해당 서브넷에 속한 인스턴스는 public IP를 갖지 않는다.

Public IP Address Pool

인스턴스에 대한 public IP의 할당 및 해제는 AWS가 직접 관리하는 Public IP Address Pool를 통해 이뤄지며, 사용자는 public IP에 대한 권한을 갖지 않는다. AWS는 사용자 요청이 발생한 경우, pool에서 남아있는 Public IP를 새롭게 할당하고 사용하지 않는 public IP를 회수하는 작업을 처리한다. 따라서, public IP는 고정적이지 않다는 특징을 갖는다.

고정적인 public IP 주소가 필요한 경우를 대비하여 AWS에서는 Elastic IP Address 서비스를 제공한다.

Own Public IP

사용자는 AWS로 부터 고정적인 public IP 주소 범위를 할당받아, Own IP Address Pool을 생성할 수 있다.

IP Addressing Behavior

기본적으로, 모든 nondefault 서브넷은 인스턴스에 대한 Public IP 주소를 부여하지 않는다. 따라서, 사용자 정의 서브넷에서 Public IP 주소를 사용하기 위해서는 auto-assign IP 설정을 true로 변경해주어야 한다.

Elastic IP Address

Elastic IP는 Public IP의 한 종류이다. 가변적인 public IP와 달리, Elastic IP는 사용자가 명시적으로 제거하기 전까지 사용자의 account에 고정적으로 할당된 IP 주소이다. Elastic이라는 이름처럼, 하나의 인스턴스 혹은 네트워크 인터페이스에 자유롭게 할당/회수 될 수 있다.

Elastic IP의 주요 특징은 다음과 같다.

One at a Time

Elastic IP는 한번에 하나의 인스턴스 혹은 네트워크 인터페이스에만 할당될 수 있다.

Not Compatible with Public IP

Elastic IP를 인스턴스의 primary network interface(eth0)에 할당할 경우, 해당 인스턴스가 기존에 갖고 있던 public IP 주소는 회수된다. 반대로, 인스턴스의 primary network interface(eth0)에 할당된 Elastic IP 주소를 회수할 경우, 수 분 내로 새로운 public IP가 재할당된다.

위 규칙은 Elastic IP가 인스턴스의 primary network interface에 할당된 경우에 한해서만 적용된다.

Pricing

현재 실행중인 인스턴스 혹은 네트워크 인터페이스에 할당된 Elastic IP는 한 개까지 무료로 제공되며, 2개 이상 부터는 비용이 발생한다. 정지중인 인스턴스나 미할당된 네트워크 인터페이스에 연결된 Elastic IP에 대해서는 요금이 청구된다. 2021년 6월 15일자 기준으로, Seoul 리전의 EIP 과금정책은 아래와 같다.

IPv6 미지원

현재 Elastic IP는 IPv6를 지원하지 않는다.

Tagging

Cost tagging을 제외한 다른 태그를 지원한다. 단, Elastic IP가 복구될 때 태그는 함께 복구되지 않는다.

외부 접근

외부에서 Elastic IP로 인스턴스와 통신 과정에서 NACL과 보안 그룹의 규칙이 적용된다. 또한, 응답을 받기 위해서는 인터넷 게이트웨이를 반드시 거쳐야 한다.

Elastic Network Interface

Elastic Network Interface는 VPC 네트워크의 구성 요소로, virtual network card에 대응되는 개념이다. ENI는 서브넷 내부에 생성되며, 인스턴스에 탈부탁되어 추가적인 네트워크 인터페이스를 제공한다.

예를 들어, 모든 EC2 인스턴스는 eth0이라는 이름의 primary network interface 갖는다. 사용자는 새로운 ENI를 생성하고, 이를 EC2 인스턴스에 연결함으로써 네트워크 인터페이스를 추가 할 수 있다. 이 과정을 통해, 하나의 EC2 인스턴스가 두 개 이상의 서브넷의 네트워크와 연결된다.

하나의 Elastic Network Interface는 다음의 속성을 가질 수 있다.

  • primary private IPv4 주소
  • secondary private IPv4 주소
  • private IPv4 주소 당, 한 개의 Elastic IP
  • eth0에 자동으로 할당된 public IPv4 주소 (서브넷의 IP Address Behavior에 따라 다름)
  • 한 개 이상의 IPv6 주소
  • 하나 이상의 보안 그룹
  • MAC 주소

VPC의 모든 인스턴스는 분리할 수 없는 primary 네트워크 인터페이스를 필수적으로 갖는다.

References

공식문서: IP Addressing in your VPC

공식문서: Elastic IP addresses

공식문서: Elastic network interfaces

profile
안녕하세요

0개의 댓글