BLOG

AWS Global Accelerator, 신기능 출시… 클라이언트 IP 주소 사용 가능
작성일: 2019-09-27

AWS Global Accelerator는 글로벌 애플리케이션의 성능과 가용성을 향상시키기 위해 착신 네트워크 트래픽을 여러 AWS 지역으로 라우팅하는 네트워크 서비스입니다. 엣지 로케이션 및 혼잡이 없는 글로벌 네트워크를 사용하여 애플리케이션 상태, 네트워크 상태 및 사용자의 지리적 위치를 기반으로 트래픽을 전달하고 여러 AWS에서 발표된 정적인 애니 캐스트 IP 주소 세트를 제공합니다. (상세에 대해서는 ‘신기능 – 가용성 및 성능을 위한 AWS Global Accelerator’를 읽어보십시오). 착신 TCP 또는 UDP 트래픽은 Application Load Balancer,  Network Load Balancer 또는 Elastic IP 주소가 전송됩니다.

 

 

클라이언트 IP 주소의 보존

AWS는 최근 AWS Global Accelerator의 중요한 신기능 출시를 발표했습니다. 트래픽을 Application Load Balancer로 라우팅하는 경우, 엔드 포인트에서 실행된 코드에 사용자 클라이언트의 IP 주소를 사용할 수 있게 되었습니다. 이를 통해 특정 IP 주소에 고유 로직을 적용 할 수 있습니다. 예를 들어 IP 주소를 기준으로 필터링하는 보안 그룹을 사용하고 IP 주소 또는 지리적 위치를 기반으로 사용자에게 사용자 정의 컨텐츠를 제공 할 수 있습니다. IP 주소를 사용하여 사용자 기반의 지리적 분포에 대한보다 정확한 통계를 수집 할 수도 있습니다.

 

클라이언트 IP 보존 주소의 사용

AWS Global Accelerator를 이미 사용 중인 경우, 엔드 포인트에서 가중치를 사용하여 클라이언트 IP 주소 보존을 단계적으로 진행하는 것이 좋습니다. 이를 통해 IP 주소를 사용하는 규칙 또는 시스템이 계속 예상대로 작동하는지 확인할 수 있습니다.

 

이 새로운 기능을 테스트하기 위해 EC2 인스턴스를 시작하고 Application Load Balancer를 설정하고 인스턴스를 대상 그룹에 넣고 ALB 앞에 가속기를 만들었습니다.

 

브라우저의 IP 주소를 확인했습니다.

단순한 Python 프로그램 (Global Accelerator 팀 제공)을 설치하고 Global Accelerator의 IP 주소 중 하나에 HTTP 요청을 보내고 출력을 캡쳐 했습니다.

소스 (99.82.172.36)는 내 가속기가 사용하는 내부 주소입니다. 기준이 설정되고 모든 것이 예상대로 작동하면 이제 클라이언트 IP 주소 보존을 사용할 수 있습니다.

 

위와 같이 AWS Global Accelerator Console을 열고 액셀러레이터를 찾은 후 현재 구성을 검토합니다. 포트 80의 리스너를 클릭하고 기존 엔드 포인트 그룹을 클릭합니다.

거기서 엔드 포인트 추가를 클릭하고 그룹에 새로운 엔드 포인트를 추가하고 가중치 255를 사용하고 클라이언트 IP 주소 유지를 선택합니다.

내 엔드 포인트 그룹에는 두 개의 엔드 포인트 (클라이언트 IP가 유지된 엔드 포인트와 유지되지 않은 엔드 포인트)가 있으며 둘 다 동일한 ALB를 가리 킵니다.

프로덕션 환경에서 IP 주소에 의존 보안 그룹이나 다른 로직은 예상대로 한시 트래픽을 관리하기 위해 가중치를 사용하여 계속 작동하는지 확인하기 위해 낮은 무게 및 테스트로 시작하는 것입니다. (블루 / 그린 배포 및 소프트웨어 업데이트). 단순한 테스트이므로 오래된 (IP를 가지지 않는) 엔드 포인트를 삭제할 수 있습니다. 어느 쪽이든 엔드 포인트 변경은 몇 분 내에 적용되며 테스트 창을 새로 고칠 수 있습니다.

이제 내 코드가 브라우저의 IP 주소 ( X-Forwarded-For 헤더를 통해)에 액세스하고 원하는 대로 사용할 수 있음을 알 수 있습니다. 보안 그룹 규칙에서 이 IP 주소를 사용할 수도 있습니다.

 

전환 모범 사례에 대한 자세한 내용은 ‘클라이언트 IP 주소 보존을 사용하기 위한 ALB 엔드 포인트 이행’을 참고하십시오.

 

알아야 할 사항

다음은 클라이언트 IP 보존에 대해 알아야 할 중요한 사항입니다.

 

ENI (Elastic Network Interface) 사용법 – Global Accelerator는 IP 보존하는 엔드 포인트가 포함 된 각 서브넷에 대해 하나의 ENI를 작성하고, 더 이상 필요하지 않으면 삭제합니다. 편집하거나 삭제하지 마십시오.

보안 그룹 – Global Accelerator는 GlobalAccelerator라는 보안 그룹을 생성하고 관리합니다. 다시 말씀 드리지만, 편집하거나 삭제해서는 안 됩니다.

 

정식 출시

Application Load Balancer에 대한 새로운 기능을 미국 동부 (버지니아 북부) , 미국 동부 (오하이오) , 미국 서부 (오레곤) , 미국 서부 (캘리포니아) , 유럽 ​​(아일랜드) , 유럽 ​​(프랑크푸르트), 유럽 ​​(런던) , 아시아 태평양 (도쿄) , 아시아 태평양 (싱가포르) , 아시아 태평양 (서울) , 아시아 태평양 (뭄바이) 및 아시아 태평양 (시드니) 지역에서 가능하게 합니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/aws/new-client-ip-address-preservation-for-aws-global-accelerator/

 

** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.