기본적으로 고객 게이트웨이 디바이스는 트래픽을 생성하고 IKE(Internet Key Exchange) 협상 프로세스를 시작하여 Site-to-Site VPN 연결을 위한 터널을 표시해야 합니다. 대신 AWS가 IKE 협상 프로세스를 시작하거나 다시 시작하도록 지정하도록 VPN 터널을 구성할 수 있습니다.
시작 작업(Startup action): 새 VPN 연결이나 수정된 VPN 연결에 대해 VPN 터널을 설정할 때 수행할 작업입니다. 기본적으로 고객 게이트웨이 디바이스는 IKE 협상 프로세스를 시작하여 터널을 표시합니다. 대신 AWS가 IKE 협상 프로세스를 시작하도록 지정할 수 있습니다.
DPD 시간 초과 작업(DPD timeout action): Dead Peer Detection(DPD) 시간 초과가 발생한 후에 수행할 작업입니다. 기본적으로 IKE 세션이 중지되고 터널이 중단되고 경로가 제거됩니다. DPD 시간 초과가 발생할 때 AWS가 IKE 세션을 다시 시작하도록 지정하거나, DPD 시간 초과가 발생할 때 AWS가 작업을 수행하지 않도록 지정할 수 있습니다.
※ DPD(Dead Peer Detection)는 연결할 수 없는 IKE(Internet Key Exchange) 피어를 감지할 수 있는 방법입니다.
디바이스는 암호화된 IKE(Internet Key Exchange) 1단계 알림 페이로드(R-U-THERE 메시지)를 피어에 보내고 피어로부터 DPD 승인(R-U-THERE-ACK 메시지)을 기다리는 것을 통해 이 검증을 수행합니다.
AWS Gateway Load Banancer 이하 GWLB 는 3rd party 어플라이언스와 융합을 목적으로 생성된 AWS 서비스 이다.
Gateway Load Balancer를 사용하면 방화벽, 침입 탐지 및 방지 시스템, 심층 패킷 검사 시스템과 같은 가상 어플라이언스를 배포, 확장 및 관리할 수 있습니다. 투명한 네트워크 게이트웨이(즉, 모든 트래픽에 대한 단일 진입 및 종료 지점)를 결합하고 수요에 따라 가상 어플라이언스를 조정하면서 트래픽을 분산합니다.
Gateway Load Balancer는 오픈 시스템 상호 연결(OSI) 모델의 세 번째 계층인 네트워크 계층에서 작동합니다. 모든 포트에서 모든 IP 패킷을 수신하고 리스너 규칙에 지정된 대상 그룹으로 트래픽을 전달합니다. 5튜플(TCP/UDP 흐름의 경우) 또는 3튜플(비 TCP/UDP 흐름의 경우)을 사용하여 특정 대상 어플라이언스에 대한 흐름의 연결을 유지합니다. Gateway Load Balancer 및 등록된 가상 어플라이언스 인스턴스는 포트 6081의 Geneve프로토콜을 사용하여 애플리케이션 트래픽을 교환합니다.
간략하게 설명하자면, GWLB는 LB 이고, GWLB Endpoint Service 는 GWLB Endpoint 와 GWLB 를 이어주는 중간 매체라고 생각하면 된다. 생성 순서는 GWLB -> GWLB Service Endpoint -> GWLB Endpoint 가 된다.
GWLB 는 그냥 생성하면 되고, GWLB Service Endpoint 는 생성시 유형을 GWLB 로 선택하고, 생성한 GWLB를 추가하면 된다. GWLB Service Endpoint 를 생성하면 '서비스 이름' 이 나오는데 이 부분을 복사한 후 GWLB Endpoint 생성시 다른서비스 선택한다음 나타나는 '서비스 이름'에 해당 부분을 넣으면 생성 된다.
GWLB 구성 예시
아래그림과 같이 Subnet 1에 있는 Applicatons servers 에서 인터넷에 나가기전에 Security appliances 를 통해 인터넷에 가기위해서는 라우팅으로 조절이 필요하다. 반대로 인터넷에서 Subnet 1 에 있는 Applications servers 에 응답을 돌려보낼때도, Security appliances 를 통해 제어 되어야 한다.
1. 애플리케이션 서버가 있는 서브넷의 라우팅 테이블에는 애플리케이션 서버의 모든 트래픽을 Gateway Load Balancer 엔드포인트로 라우팅하는 항목이 있어야 합니다.
대상 주소대상
VPC IPv4 CIDR
로컬
VPC IPv6 CIDR
로컬
0.0.0.0/0
vpc-endpoint-id
::/0
vpc-endpoint-id
2. 인터넷 게이트웨이의 라우팅 테이블에는 애플리케이션 서버로 향하는 트래픽을 게이트웨이 로드 밸런서 엔드포인트로 라우팅하는 항목이 있어야 합니다. 게이트웨이 로드 밸런서 엔드포인트를 지정하려면 VPC 엔드포인트의 ID를 사용합니다.
대상 주소대상
VPC IPv4 CIDR
로컬
VPC IPv6 CIDR
로컬
서브넷 1 IPv4 CIDR
vpc-endpoint-id
서브넷 1 IPv6 CIDR
vpc-endpoint-id
3. 게이트웨이 로드 밸런서 엔드포인트가 있는 서브넷의 라우팅 테이블은 검사에서 반환되는 트래픽을 최종 목적지로 라우팅해야 합니다. 인터넷에서 시작된 트래픽의 경우 로컬 경로를 통해 해당 트래픽이 애플리케이션 서버에 도달하도록 합니다. 애플리케이션 서버에서 발생한 트래픽의 경우 모든 트래픽을 인터넷 게이트웨이로 라우팅하는 항목을 추가하십시오.
AWS는 Amazon EC2 인스턴스 또는 Elastic Load Balancer의 탄력적 네트워크 인터페이스에서 대상으로 네트워크 트래픽을 복사할 수 있는 트래픽 미러링을 제공합니다.
트래픽 미러링 세션의 대상은 EC2 인스턴스 또는 Network Load Balancer일 수 있습니다. EC2 인스턴스를 대상으로 사용하는 경우 해당 인스턴스에서 패킷 캡처 소프트웨어를 실행하여 검사를 위해 모든 트래픽을 캡처할 수 있습니다. tcpdump 또는 Wireshark와 같은 패킷 캡처 소프트웨어를 이 용도로 사용할 수 있습니다.
보안 및 모니터링 어플라이언스는 개별 인스턴스로 배포하거나 UDP 리스너가 있는 Network Load Balancer 또는 Gateway Load Balancer 뒤에 인스턴스 집합으로 배포할 수 있습니다.트래픽 미러링은 필터 및 패킷 자르기를 지원하므로 선택한 모니터링 도구를 사용하여 관심 있는 트래픽만 추출할 수 있습니다.
개념
Source— 모니터링할 네트워크 인터페이스입니다.
필터— 미러링되는 트래픽을 정의하는 규칙 집합입니다.
대상— 미러링된 트래픽의 대상입니다.
세션— 소스, 필터 및 대상 간의 관계를 설정합니다.
이점
간소화된 작업— EC2 인스턴스에서 패킷 전달 에이전트를 관리할 필요 없이 VPC 트래픽의 모든 범위를 미러링합니다.
향상된 보안- 사용자 공간에서 비활성화하거나 변조할 수 없는 탄력적 네트워크 인터페이스에서 패킷을 캡처합니다.
Gateway Endpoint 를 사용하면 AWS PrivateLink 를 사용하지 않고도 Internet Gateway 와 NAT Gateway 없이도 AWS 서비스에 연결할 수 있습니다.
게이트웨이 엔드포인트를 통한 액세스
다음 다이어그램은 인스턴스에서 게이트웨이 엔드포인트를 통해 Amazon S3 및 DynamoDB에 액세스하는 방법을 보여줍니다. VPC에서 Amazon S3 또는 DynamoDB로의 트래픽은 게이트웨이 엔드포인트로 라우팅됩니다. 각 서브넷 라우팅 테이블에는 서비스로 전송되는 트래픽을 서비스의 접두사 목록을 사용하여 게이트웨이 엔드포인트로 보내는 라우팅이 있어야 합니다.
[참고사항]
인터넷 게이트웨이를 통한 액세스
다음 다이어그램은 인스턴스에서 퍼블릭 서비스 엔드포인트를 통해 Amazon S3 및 DynamoDB에 액세스하는 방법을 보여줍니다. 퍼블릭 서브넷의 인스턴스에서 Amazon S3 또는 DynamoDB로의 트래픽은 VPC의 인터넷 게이트웨이를 거쳐 서비스로 라우팅됩니다. 프라이빗 서브넷의 인스턴스는 Amazon S3 또는 DynamoDB로 트래픽을 전송할 수 없습니다. 기본적으로 프라이빗 서브넷에는 인터넷 게이트웨이에 대한 라우팅이 없기 때문입니다. 프라이빗 서브넷의 인스턴스에서 Amazon S3 또는 DynamoDB로 트래픽을 보내려면 퍼블릭 서브넷에 NAT 디바이스를 추가하고 프라이빗 서브넷의 트래픽을 NAT 디바이스로 라우팅합니다. Amazon S3 또는 DynamoDB로 전송되는 트래픽은 인터넷 게이트웨이를 통과하지만 AWS 네트워크를 벗어나지 않습니다.