NAT 게이트웨이를 사용하여 AWS Network Firewall을 설정하려면 어떻게 해야 합니까?
NAT 게이트웨이를 사용하여 트래픽을 검사하도록 AWS Network Firewall을 구성하고 싶습니다.
간략한 설명
AWS Network Firewall은 Amazon Virtual Private Cloud(VPC) 내부의 리소스로 들어오고 나가는 트래픽을 더욱 세밀하게 제어할 수 있습니다. Amazon VPC 리소스를 보호하려면 네트워크 방화벽 엔드포인트를 자체 서브넷에 배포하고 이를 통해 워크로드 인스턴스 트래픽을 라우팅할 수 있습니다. 이는 다음 방법으로 수행할 수 있습니다.
- VPC 생성
- 방화벽 생성
- 트래픽 라우팅 구성
참고: 네트워크 방화벽은 방화벽 엔드포인트가 배포된 동일한 서브넷의 워크로드를 검사할 수 없습니다.
해결 방법
VPC 생성
- Amazon VPC 콘솔을 엽니다.
- VPC 대시보드에서 VPC 생성을 클릭합니다.
- 설정에서 다음을 입력합니다.
VPC 등을 선택합니다.
이름 태그 자동 생성에서 VPC의 이름을 입력합니다. 이 예시에서는 VPC의 이름을을 Protected_VPC_10.0.0.0_16-vpc로 지정했습니다. 자동 생성 옵션을 선택하면 이름이 VPC의 모든 리소스에 이름 태그로 추가됩니다.
IPv4 CIDR 블록에 10.0.0.0/16을 입력합니다.
IPv6 CIDR 블록에서 IPv6 CIDR 블록 없음을 선택합니다.
테넌시에서 기본값을 선택합니다.
가용 영역 수에서 2를 선택합니다.
AZ 사용자 지정에서 두 개의 가용 영역을 선택합니다. 이 예에서는 us-east-2a 및 us-east-2b를 선택합니다.
퍼블릭 서브넷 수에서**,** 2를 선택합니다**.**
****프라이빗 서브넷 수에서, 4를 선택합니다. 프라이빗 서브넷 중 2개는 방화벽용이고 2개는 워크로드 서브넷용입니다.
NAT 게이트웨이($) 의 경우 AZ당 1개를 선택합니다. NAT 게이트웨이는 퍼블릭 서브넷에 자동으로 배포됩니다.
VPC 엔드포인트의 경우 없음을 선택합니다. - VPC 생성을 선택합니다.
- 용도에 따라 서브넷의 이름을 지정합니다.
두 개의 퍼블릭 서브넷은 NAT 게이트웨이용이며 이 예에서는 Public_Subnet_AZa 및 Public_Subnet_AZb로 이름을 지정합니다.
프라이빗 서브넷의 경우 두 개는 방화벽 엔드포인트용이며 이 예에서는 Firewall_Subnet_AZa 및 Firewall_Subnet_AZb로 이름을 지정합니다.
나머지 두 개의 프라이빗 서브넷은 워크로드 엔드포인트용이며 이 예에서는 Private_Subnet_AZa 및 Private_Subnet****_AZb로 이름을 지정합니다.
방화벽 생성
- 탐색 창의 네트워크 방화벽에서 방화벽을 선택합니다.
- 방화벽 생성을 선택합니다.
- 방화벽 생성에서 다음을 입력합니다.
규칙에 이름을 입력합니다. 이 예에서는 방화벽의 이름을 Network-Firewall-Test로 지정했습니다.
VPC의 경우 Protected_VPC_10.0.0.0_16-vpc를 선택합니다.
방화벽 서브넷의의 경우 첫 번째 가용 영역(us-east-2a)을 선택하고 서브넷에는 Firewall_Subnet_AZa를 선택합니다. 그런 다음 새 서브넷 추가를를 선택하고 두 번째 가용 영역(us-east-2b)에 대해 반복한 다음 서브넷에는 Firewall_Subnet_AZb를 선택합니다.
연결된 방화벽 정책에서 빈 방화벽 정책 생성 및 연결을 선택합니다.
새 방화벽 정책 이름에 새 정책의 이름을 입력합니다. - 방화벽 생성을 선택합니다. 각 서브넷에는 고유한 라우팅 테이블이 있어야 합니다. 4개의 프라이빗 서브넷에는 연결된 고유한 라우팅 테이블이 있고, 퍼블릭 서브넷은 라우팅 테이블을 공유합니다. 인터넷 게이트웨이에 대한 고정 경로를 사용하여 새 라우팅 테이블을 생성하고 이를 퍼블릭 서브넷 중 하나에 연결해야 합니다.
트래픽 라우팅 구성
트래픽은 다음과 같이 흐릅니다.
- AZa의 워크로드 인스턴스에서 시작된 트래픽은 AZa의 방화벽 엔드포인트로 전달됩니다.
- AZa의 방화벽 엔드포인트는 AZa의 NAT 게이트웨이로 트래픽을 라우팅합니다.
- AZa의 NAT 게이트웨이는 트래픽을 VPC와 연결된 인터넷 게이트웨이로 전달합니다.
- 인터넷 게이트웨이는 트래픽을 인터넷으로 전달합니다.
역방향 트래픽은 동일한 경로를 따라 반대 방향으로 이동합니다.
- 인터넷의 반환 트래픽은 VPC에 연결된 인터넷 게이트웨이로 전달됩니다. VPC에는 인터넷 게이트웨이를 하나만 연결할 수 있습니다.
- 인터넷 게이트웨이는 트래픽을 AZa의 NAT 게이트웨이로 전달합니다. 인터넷 게이트웨이는 워크로드 가용 영역을 기반으로 이러한 결정을 내립니다. 트래픽의 목적지가 AZa에 있으므로 인터넷 게이트웨이는 AZa의 NAT 게이트웨이를 선택하여 트래픽을 전달합니다. 인터넷 게이트웨이의 라우팅 테이블을 유지할 필요가 없습니다.
- AZa의 NAT 게이트웨이는 AZa의 NAT 방화벽 엔드포인트로 트래픽을 라우팅합니다.
- AZa의 방화벽 엔드포인트는 AZa의 워크로드로 트래픽을 라우팅합니다.
참고: 인터넷 게이트웨이는 인터넷에서 워크로드 인스턴스로 반환되는 패킷의 NAT 게이트웨이를 식별할 수 있습니다.
VPC와 방화벽을 생성한 후에는 라우팅 테이블을 구성해야 합니다. 라우팅 테이블을 구성할 때 다음 사항에 유의하십시오.
- AZa의 프라이빗 서브넷(Private_Subnet_AZa)은 인터넷으로 향하는 모든 트래픽을 AZa(Firewall_Subnet_AZa)의 방화벽 엔드포인트로 전달합니다. 이는 AZb의 프라이빗 서브넷과 AZb의 방화벽 엔드포인트에서 반복됩니다.
- AZa의 방화벽 서브넷(Firewall_Subnet_AZa)은 인터넷으로 향하는 모든 트래픽을 AZa(Public_Subnet_AZa)의 NAT 게이트웨이로 전달합니다. 이는 AZb의 방화벽 서브넷과 AZb의 NAT 게이트웨이에서 반복됩니다.
- AZa의 퍼블릭 서브넷(Public_Subnet_AZa)은 모든 트래픽을 VPC에 연결된 인터넷 게이트웨이로 전달합니다.
- 반환 트래픽은 동일한 경로를 역순으로 따릅니다.
참고: 트래픽은 동일한 가용 영역에 보관되므로 네트워크 방화벽은 동일한 방화벽 엔드포인트를 통해 송신 및 수신 트래픽 경로를 모두 가집니다. 이를 통해 각 가용 영역의 방화벽 엔드포인트가 패킷에 대한 상태 기반 검사를 수행할 수 있습니다.
다음은 라우팅 테이블의 예제 구성입니다.
Public_Subnet_RouteTable_AZa (서브넷 연결: Public_Subnet_AZa)
대상 | 타겟 |
---|---|
0.0.0.0/0 | 인터넷 게이트웨이 |
10.0.0.0/16 | 로컬 |
10.0.128.0/20 | AZa의 방화벽 엔드포인트 |
참고: 이 예에서 10.0.128.0/20은 Private_Subnet_AZa의 CIDR입니다.
Public_Subnet_RouteTable_AZb (서브넷 연결: Public_Subnet_AZb)
대상 | 타겟 |
---|---|
0.0.0.0/0 | 인터넷 게이트웨이 |
10.0.0.0/16 | 로컬 |
10.0.16.0/20 | AZa의 방화벽 엔드포인트 |
참고: 이 예에서 10.0.16.0/20은 Private_Subnet_AZb의 CIDR입니다.
Firewall_Subnet_RouteTable_AZa (서브넷 연결: Firewall_Subnet_AZa)
대상 | 타겟 |
---|---|
0.0.0.0/0 | Public_Subnet_AZa의 NAT 게이트웨이 |
10.0.0.0/16 | 로컬 |
Firewall_Subnet_RouteTable_AZb (서브넷 연결: Firewall_Subnet_AZb)
대상 | 타겟 |
---|---|
0.0.0.0/0 | Public_Subnet_AZa의 NAT 게이트웨이 |
10.0.0.0/16 | 로컬 |
Private_Subnet_RouteTable_AZa (서브넷 연결: Private_Subnet_AZa)
대상 | 타겟 |
---|---|
0.0.0.0/0 | AZa의 방화벽 엔드포인트 |
10.0.0.0/16 | 로컬 |
Private_Subnet_RouteTable_AZb (서브넷 연결: Private_Subnet_AZb)
대상 | 타겟 |
---|---|
0.0.0.0/0 | AZb의 방화벽 엔드포인트 |
10.0.0.0/16 | 로컬 |
라우팅이 올바르게 구성되었는지 확인하려면 프라이빗 서브넷 중 하나에 EC2 인스턴스를 배포하여 인터넷 연결을 테스트할 수 있습니다. 네트워크 방화벽 정책에 구성된 규칙이 없으면 트래픽이 검사를 거치지 않고 인터넷에 도달할 수 있습니다. 라우팅, 보안 그룹 및 네트워크 액세스 제어 목록(네트워크 ACL)이 구성되었는지 확인한 후 방화벽 정책에 규칙을 추가합니다.
참고: 인터넷 트래픽을 방화벽을 통해 라우팅한 다음 NAT 게이트웨이를 통해 라우팅하도록 네트워크 방화벽을 설정할 수도 있습니다. 자세한 내용은 인터넷 게이트웨이 및 NAT 게이트웨이를 사용한 아키텍처를 참조하십시오.
관련 정보

관련 콘텐츠
- 질문됨 한 달 전lg...
- 질문됨 6일 전lg...
- 질문됨 4달 전lg...
- 질문됨 2달 전lg...
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 10달 전