Internet Gateway (IGW)
- 서브넷에 인터넷 액세스를 연결하기 위해서는 인터넷 Gateway가 필요하며
인터넷 Gateway는 VPC의 리소스를 인터넷에 연결하도록 허용하는 EC2 인스턴스나 람다 함수 등을 뜨함 - 수평으로 확장되고 가용성과 중복성이 높은 관리형 리소스
- VPC와는 별개로 생성해야 함
- VPC는 인터넷 Gateway 하나에만 연결되며 인터넷 Gateway에는 VPC 하나만 연결되어야 함
- 인터넷 Gateway 자체는 인터넷 액세스를 허용하지 않으므로 작동을 위해 라우팅 테이블을 수정해야 함
<인터넷 Gateway 및 라우팅 테이블 실습>
- Adding Internet Gateway
하나의 AZ에 서브넷은 두 개일 때 VPC에 인터넷 Gateway 생성
- Editing Route Tables
인터넷 Gatway를 만들었어도 서브넷에 인터넷 액세스를 제공하지 못하므로 라우팅 테이블을 수정하기 위해
공용 서브넷에 공용 EC2 인스턴스를 만들고 라우팅 테이블을 수정해서
EC2 인스턴스를 라우터에 연결하고 인터넷 Gateway에 연결하여 인터넷 Gateway와 인터넷이 연결됨
- 공용 서브넷에 EC2 인스턴스 생성
서브넷에서 PublicSubnetA와 B의 자동 할당 IPv4 설정을 변경하여 공용 IPv4 주소를 할당하도록 활성화한 후 EC2 생성
Amazon Linux 2 AMI를 선택한 후 유형은 t2.micro로 선택하고 인스턴스 세부 내용에서 DemoVPC 네트워크와 서브넷을 선택
그리고 자동 할당 공용 IP를 활성화하도록 설정
스토리지는 기본 스토리지를 사용하고 태그는 넘어가고 보안 그룹은 새로운 보안 그룹을 생성하여 SSH의 포트 22를 허용해 생성
생성된 EC2 인스턴스를 보면 공용 IPv4 주소가 할당된 것을 볼 수 있으나 인터넷 연결은 되어있지 않음
그러므로 인터넷 게이트웨이를 추가해야 함
- 인터넷 게이트웨이 생성 및 추가
기본 VPC에 연결된 인터넷 게이트웨이는 존재하지만 현재는 DemoVPC에 일치하는 인터넷 게이트웨이가 없음
그러므로 인터넷 게이트웨이를 생성하기 위해 이름은 DemoIGW라고 설정하여 생성
현재 분리되어 있는 상태이기 때문에 Actions에서 Attach to VPC를 선택해 DemoVPC를 연결
그러면 인터넷 게이트웨이가 VPC에 연결되게 되게 되지만 EC2 인스턴스 연결을 시도하게 되면 문제가 발생함
이는 인터넷 경로를 지정해 주지 않아서 발생하는 문제이며 이를 위해 라우팅 테이블을 수정해야 함
이를 위해 두 가지 라우팅 테이블을 PublicRouteTable과 PrivateRouteTable이라는 이름으로 만들고 DemoVPC를 할당
이제 공용 라우팅 테이블의 Subent Assocations를 수정해서 모든 공용 서브넷을 공용 라우팅 테이블에 추가
그리고 사설 라우팅 테이블에는 모든 사설 서브넷을 추가
이를 통해 공용 및 사설 라우팅 테이블에 각각 서브넷 두 개가 연결되게 됨
하지만 서브넷은 전부 할당했으므로 기본 라우팅 테이블에는 연결된 서브넷이 없게 됨
이를 해결하기 위해서는 EC2 인스턴스가 공용 서브넷에서 실행되기 때문에
라우팅 테이블과 연결되어 있으므로 공용 라우팅 테이블에서 경로를 수정해야 함
공용 라우팅 테이블을 보면 10.0.0.0/16이 로컬로 향하는 트래픽 규칙이 있으며 이는 VPC의 모든 IP를 뜻함
즉, 이는 VPC의 CIDR이며 VCP와 대응하고 있으므로 VPC 내부에서부터 로컬을 향해 라우팅되어야 함
그러므로 두 번째 라우터를 만들 때 첫 번째 주소를 사용하기 위해 모든 IP를 선택하고 대상 옵션을 인터넷 게이트웨이로 설정
만약 이때 Destination이 CIDR의 로컬 IP로 설정할 경우에는 경로도 로컬이 되어야 하지만
공용 IP 등의 다른 IP인 경우 이처럼 대상은 인터넷 게이트웨이가 되어 인터넷 게이트웨이로 트래픽을 보내도록 설정함
이 작업을 통해 EC2 인스턴스에 인터넷 액세스 권한을 주게 된 것
이후 다시 EC2 Instance Connect를 하게 되면 인터넷이 연결되어 핑을 보낼 수 있게 되고 Google에서 데이터를 받게 됨
'Cloud > AWS' 카테고리의 다른 글
[SAA] NAT 인스턴스 (0) | 2022.04.26 |
---|---|
[SAA] Bastion 호스트 (0) | 2022.04.26 |
[SAA] 서브넷 개요 (0) | 2022.04.26 |
[SAA] VPC 개요 (0) | 2022.04.26 |
[SAA] CIDR, 비공개 및 공개 IP (0) | 2022.04.26 |