
1. 개요
AWS Global Accelerator 서비스는 가속 기능을 가진 서비스로, 원래는 서비스의 이름에서 알 수 있듯이 로컬 및 글로벌 사용자가 이를 통해 애플리케이션의 성능을 향상시키거나 custom routing accelerator를 사용하여 하나 이상의 사용자를 여러 대상 중에 특정 대상에 매핑하는 형태로 사용할 수 있는 서비스입니다. 기본적으로 서비스와 연결하기 위한 두 개의 static IP 주소를 제공하며, 해당 static IP는 AWS edge Network 의 Anycast IP입니다.
AWS의 자원 중에 몇 안 되는 static IP 주소 제공이 가능한 특성으로 인해, Application LoadBalancer 가 구성된 애플리케이션에 대한 서비스 Domain의 record를 CNAME와 같이 URL 형태로 등록하지 못하고 A record (IP로 등록) 등록해야 하는 CASE 나 Application LoadBalancer가 구성된 어플리케이션에 대해 방화벽 등의 보안 정책 허용을 도메인 기반이 아닌 IP로만 허용해야 하는 CASE 등에서 Global Accelerator를 활용하여 애플리케이션의 성능 + 아키텍처 설계 상 이점을 얻을 수 있습니다.
이번 포스팅에서는 Global Accelerator 활용 시 설정에 따른 상세 구성을 CASE 별로 TEST 하여 확인하고, 이에 따른 구성 시 고려 사항을 알아보도록 하겠습니다.
2. TEST 구성
2.1 개념도

2.2 설정
기타 VPC 등 기본적인 자원들을 모두 생성한 후, Application LoadBalancer의 경우 아래와 같이 생성 시 internet-facing으로 생성할지, internal로 생성할지 선택하여 각각 TEST를 진행합니다.

Application LoadBalancer까지 생성되었다면, Global Accelerator를 생성합니다. Application LoadBalancer를 Internet-facing으로 생성한 경우 Application LoadBalancer의 DNS Name으로 서비스가 정상인지 사전에 확인이 가능합니다. (이번 TEST에서는 실제 서비스 트래픽이 도착한 최종 EC2 의 AZ를 웹페이지로 띄워주는 단순한 HTTP 80 웹서비스를 구성하였습니다.)

1) Global Accelerator 생성




2) 생성된 Global Accelerator 상태 및 static IP 확인

3) Global Accelerator static IP로 서비스됨을 확인


2.3 설정 후 상세 구성 확인
1) GA (Preserve Client IP Disable) -> Internet-facing ALB
VPC에 추가 AWS 자원이 생성되지 않습니다.
2) GA (Preserve Client IP Enable) -> Internet-facing ALB
아래와 같이 Application LoadBalancer가 속한 Subnet에 Elastic Network Interface가 각각 생성됩니다.

이 밖에도 생성된 Elastic Network Interface에 신규 Security Group이 할당되어 있으나, 별도 Inbound rule은 없고 이 상태에서도 Global Accelerator 서비스 제공에는 이상이 없습니다.

3) GA (with IGW) -> Internal ALB
Internal Application Load Balancers를 Global Accelerator의 endpoint로 등록하는 경우, client IP address preservation은 항상 Enable 되며 이를 Disable 할 수는 없습니다. 아래와 같이 Application LoadBalancer가 속한 Subnet에 Elastic Network Interface가 각각 생성됩니다.

이 밖에도 생성된 Elastic Network Interface에 신규 Security Group 이 할당되어 있으나, 별도 Inbound rule 은 없고 이 상태에서도 Global Accelerator 서비스 제공에는 이상이 없습니다.

4) GA (without IGW) -> Internal ALB
Internet Gateway 가 attach 되어 있지 않은 VPC의 자원을 endpoint로 선택할 수 없습니다.
3. TEST 결과
3.1 결과 정리

3.2 고려 사항
Preserve Client IP 설정에 따라 ALB Subnet에 GA 용 ENI 생성 여부가 결정됩니다. 따라서 ALB가 속한 Subnet에 IP가 부족한 경우, GA 구성이 불가능하므로 사전에 이를 고려하여 설정을 진행해야 합니다.
또한 구성에 따라 ALB 의 SG에 어떤 IP를 허용해야 하는지 고려하여 사전에 SG 설정에 허용해야 할 IP 대역을 허용하는 rule을 등록한 후 GA 설정을 진행하도록 합니다. 특별한 경우가 아니라면 Clinet IP를 GA 백엔드에서 확인할 수 있도록 GA 의 Preserve Client IP 설정은 Enable 하는 것을 권고합니다.
4. 결론
이번 포스팅에서는 Application LoadBalancer가 구성된 애플리케이션에 대해 static IP를 사용해야 하는 요구 조건에서 Global Accelerator를 활용하여 아키텍처 설계/구축 시 설정에 따른 상세 구성 및 고려 사항에 대하여 알아보았습니다.
현재는 static IP를 제공하는 Network LoadBalancer의 Target으로 Application LoadBalancer를 선택할 수 있기 때문에 단지 static IP가 필요하여 Global Accelerator를 반드시 구성해야 할 필요는 없으나, 글로벌 서비스로 세계 여러 지역의 사용자에게 해당 애플리케이션으로 서비스를 제공하는 경우 Global Accelerator 를 활용하면 AWS 의 edge Network 을 사용하면서 custom routing 등 다양한 방식으로 효율적인 서비스 구성이 가능합니다.
따라서 앞서 살펴보았던 상세 구성에 따른 고려 사항을 숙지하여 이를 활용하면 다양한 이점이 얻을 수 있겠습니다.
5. 참고
● https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html
● https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints.sipp-caveats.html

기업명을 두 글자 이상 입력해주세요.
소식을 받아 보시려면 마케팅 정보 활용과 마케팅 정보 수신에 모두 동의해 주셔야 합니다.
제출이 완료되었습니다.
제출이 완료되었습니다.
확인 버튼을 누르시면 자사 홈페이지 홈화면으로 이동됩니다.
요청하신 자료가 이메일로 발송되었습니다.
구독 설정이 저장되었습니다.
잘못된 접근입니다. 정상적인 경로를 통해 다시 시도해 주세요.
검색 중 오류가 발생했습니다. 다시 시도해주세요.
제출에 실패하였습니다.
다시 시도해주세요.
사업자등록번호는 10자리를 입력해주세요.
지원하지 않는 파일 형식입니다.
10MB 이하의 파일만 업로드하실 수 있으며, 최대 10개까지 첨부 가능합니다.
10MB 이하의 파일만 업로드하실 수 있습니다.
파일은 최대 10개까지만 첨부하실 수 있습니다.
업로드 중 오류가 발생했습니다. 다시 시도해 주세요.
파일을 교체하시겠습니까?