VPN은 Virtual Private Network의 약자로 큰 규모의 조직이 여러 곳에 분산되어 있는 컴퓨터들을 연결하는 보안성이 높은 사설 네트워크를 만들거나, 인터넷을 활용하여 원격지 간에 네트워크를 서로 연결하고 암호화 기술을 적용하여 보다 안정적이고 보안성 높은 통신 서비스를 제공하는 서비스를 말함.
✔️ AWS는 VPC와 VPC Gateway를 통해 온프레미스의 VPN 장비와 AWS 간의 VPN을 연결할 수 있음
AWS 클라우드에서 논리적으로 격리된 네트워크 공간을 할당하여 가상 네트워크에서 AWS 리소스를 이용할 수 있는 서비스를 제공함.
✔️ 자체 IP 주소 범위, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 선택 등 가상 네트워킹 환경을 완벽하게 제어할 수 있음.
✔️ VPC에서 IPv4, IPv6을 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스할 수 있음.
✔️ 프라이빗 IP
인터넷을 통해 연결할 수 없는, VPC 내부에서만 사용할 수 있는 IP 주소임
VPC에서 시작된 인스턴스 서브넷의 범위에서 자동으로 할당되며, 동일 네트워크에서 인스턴스 간 통신에 사용할 수 있음.
✔️ 퍼블릭 IP
인터넷을 통해 연결할 수 있는 IP주소로, 인스턴스와 인터넷 간의 통신을 위해 사용할 수 있는 IP주소임. EC2 생성 시 옵션으로 퍼블릭 IP 주소의 사용 여부를 선택할 수 있고, 인스턴스에서 퍼블릭 IP 주소를 수동으로 연결하거나 해제할 수 없음. 또한 인스턴스가 재부팅되면 새로운 퍼블릭 IP주소가 할당됨
✔️ 탄성 IP
동적 컴퓨팅을 위해 고안된 고정 퍼블릭IP 주소. 쉽게 말해 인스턴스가 재부팅될 때마다 새로운 퍼블릭 IP주소가 할당되서 생기는 문제점을 해결
다른 인스턴스에 주소를 신속하게 다시 매칭하여 인스턴스 장애 조치를 수행할 수도 있음.
VPC는 사용자의 AWS 계정을 위한 전용의 가상 네트워크이고, VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있음.
VPC 내부의 네트워크에서도 서비스 목적에 따라 IP Block으로 나누어 구분할 수 있음. 이렇게 분리된 IP Block의 모음을 서브넷이라고 함.
VPC는 리전의 모든 가용 영역에 적용되며, 각 가용 영역에 하나 이상의 서브넷을 추가할 수 있음. 하지만 서브넷은 단일 가용 영역에서만 생성할 수 있고, 여러 가용 영역으로 확장할 수 ❌
✔️ VPC 생성 시, 10.0.0.0/24로 생성하면 256개의 IP주소를 지원할 수 있고, CIDR 블록을 각각 128개의 IP주소를 지원하는 2개의 서브넷으로 나눌 수 있음
(10.0.0.0~ 10.0.0.127 / 10.0.0.128~ 10.0.0.255)
✔️ 퍼블릭 서브넷 : 서브넷 네트워크 트래픽이 인터넷 게이트웨이로 라우팅이 되는 서브넷을 퍼블릭 서브넷이라고 함
✔️ 프라이빗 서브넷 : 인터넷 게이트웨이로 라우팅 되지 않는 서브넷
일반적으로 인터넷망을 통해 서비스를 수행하는 웹서버를 퍼블릭 서브넷에 생성하고, 인터넷에 직접적으로 연결할 필요가 없고 보다 높은 보안성을 필요로 하는 DB 서버는 프라이빗 서브넷에 생성함.
각 서브넷은 서브넷 외부로 나가는 아웃바운드 트래픽에 대해 허용된 경로를 지정하는 라우팅 테이블이 연결되어 있어야 함.
생성된 서브넷은 자동으로 VPC의 기본 라우팅 테이블과 연결되며 테이블의 내용을 변경할 수 있음.
외부 네트워크에 알려진 것과 다른 IP주소를 사용하는 내부 네트워크에서 내부 IP주소를 외부 IP주소로 변환하는 작업을 수행하는 서비스임.
프라이빗 서브넷에 있는 인스턴스를 인터넷 또는 다른 AWS 서비스에 연결하고, 외부망 또는 인터넷에서 해당 인스턴스에 연결하지 못하도록 구성하는데 사용함.