이번 실습의 구성도는 위 사진과 같습니다.
먼저 위 구성도에 맞게 네트워크 리소스를 생성하겠습니다.
VPC는 GWLB와 WEB으로 구성하였습니다.
GWLB-VPC : 보안VPC(GWLB, GWLB Endpoint Service, Applicance)
WEB-VPC : 서비스VPC(Endpoint, WEB Server)
Subnet 역시 구성도와 동일하게 4개로 구성하였습니다.
GWLB-EP-Subnet : GWLB와 Endpoint Service가 위치할 서브넷
GWLB-FW-Subnet : 파트너 어플라이언스(Fortinet F/W)가 위치할 서브넷
WEB-EP-Subnet : Endpoint가 위치할 서브넷
WEB-WEB-Subnet : 웹서버가 위치할 서브넷
이번 실습에서 서비스를 담당할 WEB 서버를 구성하겠습니다.
WEB서버는 별도의 애플리케이션을 올리지 않고 Apache 웹 서버만 설치하겠습니다.
적절한 인스턴스를 생성하고 아파치를 설치해 주겠습니다
설치 대상 서브넷은 WEB-WEB-Subnet입니다.
# Apache 설치
yum install httpd
정상적으로 웹 서버에 접근이 되는지 확인합니다.
타겟그룹은 GWLB가 트래픽을 전달할 대상들의 집합입니다.
이제 구성도를 참고해 타겟그룹으로 설정하기 위한 방화벽을 생성하겠습니다.
방화벽의 서브넷은 GWLB-FW-Subnet입니다.
EC2를 생성하는 과정에서 AMI를 빠른 시작이 아닌 AWS Marketplace에 존재하는 fortinet 방화벽을 선택해 설치해줍니다.
GENEVE 프로토콜을 사용하기 위해서는 어플라이언스가 해당 프로토콜을 지원해야 하는데, Fortinet의 경우 AWS 파트너로써 해당 프로토콜을 지원하고 있습니다.
인스턴스 생성 과정에서 보안그룹을 설정할 때 GENEVE 프로토콜에 대한 정책을 추가해주어야 합니다.
GENEVE 프로토콜은 6081/UDP입니다.
다음은 타겟그룹을 생성하겠습니다.
콘솔 > EC2 > Target groups 화면에서 Create target group 버튼을 선택해 타겟그룹을 생성합니다.
이제 타겟그룹의 타입을 설정해야 하는데 현재 Fortinet은 Instance와 IP address 두 가지 방법을 선택할 수 있습니다.
이번에는 Instance 타입을 선택하고 하단의 프로토콜은 GENEVE 프로토콜을 선택해줍니다.
다음은 타겟그룹이 위치한 VPC를 설정하고 헬스체크 방식을 정해야 합니다.
방화벽이 위치한 GWLB-VPC를 선택하고, 헬스체크는 HTTPS(443/TCP)를 통해 수행하겠습니다.
이제 다음 화면에서 타겟그룹의 대상을 추가하게 됩니다.
앞에서 선택을 잘못하지 않았다면, GWLB-VPC에 위치한 Fortinet 방화벽 인스턴스가 사용 가능한 인스턴스 목록에 나타납니다.
방화벽 인스턴스를 선택하고 아래 타겟그룹에 포함시켜줍시다.
정상적으로 생성된 타겟그룹을 확인할 수 있습니다.