Amazon Virtual Private Cloud(Amazon VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.
AWS
VPC에서는 사용자가 직접 IP대역, 인터페이스, 서브넷, 라우팅 테이블, 게이트웨이 등 전반적인 네트워크 환경을 구축할 수 있다.
VPC는 Default VPC와 Custom VPC로 나뉘어지는데, Default VPC는 리전 별로 1개씩 생성되어 있으며 리소스가 AWS에 의해 미리 정의되어 있고, Custom VPC는 사용자가 직접 생성이 가능하다.
단일 퍼블릭 서브넷에 속한 EC2 인스턴스가 외부 인터넷으로 접속하는 과정 확인
(퍼블릭 서브넷 내의 인스턴스가 외부 인터넷으로 접속하기 위해서는 게이트웨이를 통과해야한다. 프라이빗 IP는 퍼블릭 IP로 접속할 수 없으며, NAT 게이트웨이를 통해 프라이빗 IP를 퍼블릭 IP로 변환하여 접속해야한다. 단 NAT 게이트웨이는 단방향 통신임.)
VPC 관리 콘솔에서 새로운 VPC를 생성한다. (IP는 10.0.0.0/16 으로 할당)
서브넷을 생성한다. (블록은 10.0.0.0/24 로 할당)
인터넷 게이트웨이를 생성한 뒤 VPC에 연결한다. (별도 설정 없이 이름만 지정)
라우팅 테이블을 생성한 뒤 사용할 VPC를 선택한다.
생성완료 후 서브넷을 연결하고, 게이트 웨이를 연결해주면 퍼블릭 서브넷은 퍼블릭 IP와 통신이 가능해진다.
EC2 인스턴스 생성하여 접속확인
프라이빗 서브넷, NAT 게이트 웨이, 프라이빗 라우팅 테이블 생성
라우팅 테이블에 서브넷과 게이트 웨이 연결
(2번과 과정 동일)
새로운 EC2 인스턴스 생성하여 접속확인
퍼블릭 인스턴스에 접속하여 로컬 통신으로 프라이빗 인스턴스로 SSH 접속
(프라이빗 서브넷은 외부 네트워크에서 내부로 접속 불가함)
$ ec2 퍼블릭 인스턴스에 접속한 뒤
$ ssh root@'private ip 주소'
간단하게 ping으로 외부 네트워크 접속확인 성공~
(프라이빗 서브넷의 경우 라우터는 NAT 게이트웨이로 데이터를 전달하고, NAT 게이트웨이는 프라이빗 IP를 퍼블릭 IP로 전환한다. )
(NAT: Network Address Translation 네트워크 주소 변환기술. 사설망(프라이빗IP)에서 공인망(퍼블릭IP)으로 접속할 때 사용)