반응형

기본 VPC

각 AWS 계정에는 즉시 사용 가능하도록 미리 구성된 기본 VPC가 포함되어 있습니다. 기본 VPC를 사용하면 블로그나 간단한 웹 사이트 등을 빠르게 시작할 수 있으며 퍼블릭 인스턴스도 쉽게 시작할 수 있습니다.

 

기본 VPC는 /16의 CIDR를 가지고 있고 기본 서브넷은 /20의 CIDR를 가지고 있습니다. 

 

탄력적 IP(EIP)

탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 설계된 정적 퍼블릭 IPv4 주소입니다. 계정의 어떤 VPC에 대해서든 탄력적 IP 주소를 인스턴스 또는 네트워크 인터페이스와 연결할 수 있습니다. 탄력적 IP 주소를 사용하면 주소를 VPC의 다른 인스턴스에 신속하게 다시 매핑하여 인스턴스의 장애를 마스킹할 수 있습니다.

 

예를 들어 인스턴스의 퍼블릭 IP는 중지 후 다시 켜지면 다른 퍼블릭 IP가 지정됩니다. 때문에 이와 연결된 정보를 변경해야 하는 번거로움이 있습니다. 이럴 때 EIP를 적용해 재시작하더라도 동일한 IP가 적용되도록 해줄 수 있습니다.

 

하나의 인스턴스에서 다른 인스턴스로 EIP를 이전할 수 있습니다. EIP 주소는 VPC의 인터넷 게이트웨이를 통해 액세스 할 수 있습니다. VPC와 네트워크 간에 VPN 연결을 설정한 경우 VPN 트래픽은 인터넷 게이트웨이가 아닌 가상 프라이빗 게이트웨이를 통과하기 때문에 EIP  주소를 액세스 할 수 없습니다.

 

EIP는 5개로 제한됩니다. 이를 절약하기 위해 NAT 디바이스를 사용할 수 있습니다. 인스턴스 장애 발생 시 주소를 다른 인스턴스로 다시 매핑할 수 있도록 주로 탄력적 IP 주소를 사용하는 것이 좋습니다. 그 외의 ㅁ ㅗ든 노드 간 통신에는 도메인 이름 시스템(DNS) 호스트 이름을 사용합니다.

 

고유 IP 주소 가져오기(BYOIP)를 만들 수 있지만 여기에는 상당한 추가 구성이 필요합니다.

 

탄력적 네트워크 인터페이스

탄력적 네트워크 인터페이스는 VPC 에서 가상 네트워크 카드를 나타내는 논리적 네트워킹 구성 요소입니다.

 

EC2에서는 네트워크 인터페이스를 생성하여 인스턴스에 연결할 수 있으며 인스턴스에서 해당 인터페이스를 분리한 후 다른 인스턴스에 연결할 수도 있습니다. 새 인스턴스로 이동하면 네트워크 인터페이스의 퍼블릭 및 EIP 주소, 프라이빗 IP 및 EIP 주소, MAC 주소가 유지됩니다. 네트워크 인터페이스의 속성은 이를 따릅니다.

 

네트워크 인터페이스를 인스턴스 간에 이동하면 네트워크 트래픽이 새 인스턴스로 리디렉션 됩니다. VPC의 각 인스턴스에는 프라이머리 네트워크 인터페이스가 있습니다.

 

각 인스턴스에는 VPC의 IP 주소 범위에서 프라이빗 IP 주소가 할당됩니다. 프라이머리 네트워크 인터페이스는 인스턴스에서 분리할 수 없습니다. 추가 네트워크 인터페이스를 생성하여 연결할 수 있습니다. 다음 태스크를 수행하려는 경우 인스턴스 하나에 여러 네트워크 인터페이스를 연결하면 유용합니다.

  • 관리 네트워크 생성
  • VPC에서 네트워크 및 보안 어플라이언스 사용
  • 워크로드 또는 역할이 서로 다른 서브넷에 있는 이중 홈 인스턴스 생성
  • 저비용 고가용송 솔루션 생송

특정 서브넷의 네트워크 인터페이스를 같은 VPC 내 다른 서브넷의 인스턴스에 연결할 수 있습니다. 단, 이경우 두 네트워크 인터페이스와 인스턴스가 같은 가용 영역에 있어야 합니다. 이 제한으로 인해 다른 가용 영역으로 트래픽을 리디렉션 하려는 재해 복구(DR) 시나리오에서는 네트워크 인터페이스 사용 가능 범위가 제한됩니다.

 

NAT 게이트웨이를 통한 Network Address Translation(NAT)

NAT에서는 메시지의 특정 IP 주소가 다른 주소에 매핑됩니다. 사용되는 IP 주소 보호를 위해 NAT를 사용합니다. NAT에서는 프라이빗 IP 주소가 퍼블릭 IP 주소에 매핑되므로 NAT를 사용하면 프라이빗 IP 주소의 인터넷연결을 허용할 수 있습니다. 라우터 등의 단일 디바이스를 인터넷(퍼블릭 네트워크)과 로컬 네트워크(프라이 빗네트워크) 간의 에이전트로 사용할 수 있습니다.

 

NAT 게이트웨이를 통해 VPC의 인스턴스와 인터넷 간에 통신을 할 수 있습니다. NAT 게이트웨이는 기본적으로 수평적으로 확장되고 중복되며 가용성이 높습니다. NAT 게이트웨이는 서브넷 라우팅 테이블에서 인터넷 라우팅 가능한 트래픽에 대한 대상을 제공합니다.

 

  • 프라이빗 서브넷의 인스턴스는 인터넷 또는 다른 AWS 서비스로의 아웃 바운드트래픽을 시작할 수 있습니다.
  • AWS가 관리하는 NAT 게이트웨이 사용 시에는 프라이 빗인스턴스가 인터넷에서 전송되는인바운드 트래픽을 수신할 수 없습니다.

NAT 게이트웨이는 퍼블릭 서브넷과 프라이빗 서브넷에 모두 배치할 수 있습니다. NAT 게이트웨이를 더 많이 제어해야 하는 경우 EC2 인스턴스에 NAT 게이트웨이를 설치하여 NAT 인스턴스를 생성할 수 있습니다. 또한 CIDR 범위가 겹치더라도 프라이빗 NAT 게이트웨이를 사용하여 네트워크 간 통신을 원활하게 진행할 수 있습니다.

 

인터넷에 프라이빗 서브넷 연결

프라이빗 서브넷 인스턴스와 인터넷 또는 기타 AWS 서비스 간의 단방향 연결에 NAT 게이트웨이를 사용할 수 있습니다. 이러한 유형의 연결에서는 외부 트래픽이 프라이빗 인스턴스와 연결될 수 없습니다.

  • 프라이빗 서브넷용 라우팅 테이블은 모든 IPv4 인터넷 트래픽을 NAT 게이트웨이로 전송합니다.
  • NAT 게이트웨이는 프라입시 서브넷에서 전송되는 트래픽용 소스 IP 주소로 탄력적 IP 주소를 사용합니다.
  • 퍼블릭 서브넷용 라우팅 테이블은 몯느 인터넷 트래픽을 인터넷 게이트웨이로 전송합니다. IPv6에서는 지원하지 않는 기능입니다.

여러 가용 영역에서 VPC 배포

여러 가용 영역에 VPC를 배포하면 생성되는 아키텍처에서는 데이터 보안을 유지하면서 트래픽을 분사하는 방식으로 고가용성이 보장됩니다. 가용 영역 하나의 작동이 중단되면 다른 가용 영역으로 장애 조치할 수 있습니다.

 

이 구조를 통해 인스턴스에 접근은 가능하지만 인스턴스의 IP를 알 수는 없습니다. 이와 같이 인스턴스나 DB같은 중요 서비스들은 프라이빗 존에 배치하고 외부에서 접근만 가능하도록 아키텍처를 구성하는 것이 바람직합니다. 로드 벨런서에 대해서는 차후에 자세히 알아보도록 하겠습니다.

반응형