뭐든 즐기면서 ;)

AWS ENI(AWS Elastic Network Interface) 본문

서버/AWS

AWS ENI(AWS Elastic Network Interface)

Tada.*+ 2024. 2. 17. 15:58
728x90

ENI(Elastic Network Interface)

VPC에서 가상 네트워크 카드를 나타내는 논리적인 네트워킹 구성 요소, EC2의 가상 랜카드이다.

ENI 기능 및 특징

  • 서브넷에 연결
  • ENI 하나에 한 개 또는 복수의 Private IP오직 하나의 Public IP를 가질 수 있음.
    Public IP는 없어도 됨.(Private Subnet에 연결되는 ENI일 경우 Public IP가 필요 없겠쬬?)
    • 인스턴스 사양마다 연결 가능한 ENI 개수가 정해져 있음(AWS 사이트 인스턴스 사양 부분 참고)
  • MAC Address를 가짐(인터페이스 '세부 정보'에서 확인 가능)

1

  • 모든 인스턴스는 기본적으로 Primary ENI가 하나 있어야 함(아래 이미지 참고, 인스턴스 생성 후 기본적으로 하나가 있음)
    • 인스턴스 생성 시 자동 생성됨
    • Primary ENI는 인스턴스에서 제거할 수 없음

2

  • Primary ENI는 하나의 서브넷에만 연결됨. 이는 인스턴스 생성 시 어느 서브넷에 연결할 건지 지정하는 이유이기도 함
    3

여기부터는 심화

  • 단, 기본 ENI말고 새로 생성한 ENI의 경우, EC2와 같은 AZ이면 다른 서브넷에도 연결 가능 ( 아래 4-2 그림 참고 )
  • Security Group이 인스턴스 단위에 적용된다고 알고 있었지만, 사실은 ENI 단위에 적용되는 것임
  • Elastic IP (아래에서 상세 설명)
    • ENI Switching
  • Source/Destination Check 기능 (아래에서 상세 설명)

AWS에서의 ENI 위치와 잘못 알고 있던 인스턴스 위치

우리가 ENI를 배우기 전은 인스턴스의 위치가 Subnet 안에 위치한다고 생각하지만, 그는 사실 틀린 것이다.

4-1

사실 인스턴스는 서브넷 내부가 아닌 AZ에 위치해 있으며, 외부로부터의 트래픽이 ENI를 통해 들어오고, 해당 ENI에 연결되어 있는 인스턴스가 최종 목적지인 것이다.

4-2

아래 이미지는, 위에 ENI 기능 및 특징에서 언급한, 인스턴스가 존재하는 AZ가 아닌, 다른 AZ의 ENI와 연결이 불가능하다는 것을 보여주는 이미지이다.

4-3

ENI와 Public IP

아래 그림을 보면, 1.235.33.45 IP로 트래픽 요청이 오면 Table을 참조하여 Public IP '1.235.33.45'에 대응되는 Private IP '172.31.16.17' ENI로 통신이 가고, Web Instance 최종 트래픽 처리를 하게 된다.

5-1

위 상태에서 Web Instance가 중지되면 아래와 같이 Table에서 해당 레코드가 없어지게 된다. (아래 이미지)

5-2

그리고 재시작을 하게 되면, Public IP는 다른 번호로, Private IP는 그대로 레코드가 다시 생성된다.

5-3

실습 확인

실행 중 Public IP 확인

5-4

중지 후 Public IP 확인

5-5
5-6

위 그림을 보면 Public IP가 없어진 것이 확인된다. 그리고 다시 재실행 후 Public IP를 확인해 보자. 중지 전 IP와 재실행 후 IP가 다른 것을 확인할 수 있다. 그리고 Private IP는 그대로인 것도 확인된다.

5-7

Elastic IP

고정된 Public IP에 변화되는(탄력적인) Private IP를 할당해줄 수 있다.

아래 그림처럼 테이블에 고정된 Public IP가 있고, Private IP(연결된 ENI IP)만 바뀌게 되는 것이다.

6-1

ENI Switching

Public IP에 연결된 Private IP을 변경하는 개념

Elastic IP 기능은 아래와 같은 상황에서 아주 유용하게 쓰인다.

Public IP 32.172.3.44에는 구 버전의 ENI(인스턴스)가 연결되어 있는데, 이를 빠르고 간단하게 신규 버전의 인스턴스로 간단히 연결을 해줄 수 있다.

6-2 (구 버전에 연결되어 있는 상태)

실습

6-4

 

6-5

* 아래, 'study-ENI'가 아니라 'study-elasticIP'로 변경함;;

6-6
6-7
6-8

우리는 아까 'ENI와 Public IP' 대목에서 인스턴스 재시작을 할 때 Public IP가 바뀐 것을 확인했었다.( 이미지 5-4~5-7 )

Elastic IP 설정 후에는 어떻게 달라졌는지 확인해 보자.

6-9

재시작 후에도 Public IP는 그대로이다.

6-10

이 상태에서 Private IP(즉, 인스턴스)를 변경하려면, 아래와 같이 하면 된다.

ENI 관리 창으로 간다.

6-11
6-12
6-13
6-13

Source/Destination Check

트래픽 발생지가 본인일 때, 트래픽 목적지가 자신이 아닐 때의 트래픽은 무시하도록 하는 기능
  • 설정에 따라 해당 기능 해제 가능. 
    • 바로 NAT Instance가 이 기능을 해제해야 하는 경우에 속한다.
      NAT Instance의 경우 자신을 위한 트래픽이 아닌 중계 역할을 하는 것이므로, 해당 기능 해제를 해야 한다.
      (아래 이미지 참고)

7-1

실습

7-2
7-3

참고 영상

728x90

'서버 > AWS' 카테고리의 다른 글

AWS API Gateway  (0) 2024.03.16
AWS VPC Peering  (1) 2024.02.18
AWS VPC Endpoint  (0) 2024.02.15
AWS IGW(Internet Gateway) / AWS Routing table  (0) 2024.02.14
AWS VPC  (0) 2024.02.02
Comments