AWS Global Accelerator 작동 방법 - AWS Global Accelerator

AWS Global Accelerator 작동 방법

AWS Global Accelerator에서 제공하는 정적 IP 주소는 클라이언트의 단일 고정 진입점 역할을 합니다. Global Accelerator로 액셀러레이터를 설정하면 정적 IP 주소를 하나 이상의 AWS 리전의 리전 엔드포인트로 연결합니다. 표준 액셀러레이터의 경우, 엔드포인트는 Network Load Balancer, Application Load Balancer, Amazon EC2 인스턴스 또는 탄력적 IP 주소입니다. 사용자 지정 라우팅 액셀러레이터의 경우, 엔드포인트는 하나 이상의 EC2 인스턴스가 있는 Amazon VPC(VPC) 서브넷입니다. 정적 IP 주소는 사용자에게 가장 가까운 엣지 로케이션에서 AWS 글로벌 네트워크로 들어오는 트래픽을 허용합니다.

참고

Global Accelerator와 함께 사용할 고유 IP 주소 범위를 AWS에 가져오는(BYOIP) 경우, 대신 Accelerator와 함께 사용할 고유 풀의 정적 IP 주소를 할당할 수 있습니다. 자세한 내용은 Global Accelerator에서 고유 IP 주소 가져오기(BYOIP) 섹션을 참조하세요.

엣지 로케이션에서 애플리케이션의 트래픽은 구성된 액셀러레이터 유형에 따라 라우팅됩니다.

  • 표준 액셀러레이터의 경우, 트래픽은 사용자의 위치, 엔드포인트의 상태, 구성된 엔드포인트 가중치 등 여러 요인을 기반으로 최적의 AWS 엔드포인트로 라우팅됩니다.

  • 사용자 지정 라우팅 액셀러레이터의 경우, 각 클라이언트는 제공되는 외부 정적 IP 주소 및 리스너 포트를 기반으로 VPC 서브넷의 특정 Amazon EC2 인스턴스 및 포트로 라우팅됩니다.

Global Accelerator를 사용할 때는 다음 사항에 유의하세요.

  • 엔드포인트 가중치 재정의: 특정하고 제한된 시나리오에서 Global Accelerator는 가용성을 보장하기 위해, 설정된 엔드포인트 가중치를 재정의합니다. Global Accelerator가 엔드포인트 그룹의 엔드포인트 간에 트래픽을 로드 밸런싱하는 경우, 특정 상황에서는 클라이언트 트래픽에 대한 가용성 보존 및 엔드포인트 가중치 준수 중에서 하나를 선택해야 합니다. 예를 들어, 클라이언트 IP 주소가 보존된 액셀러레이터의 경우, Global Accelerator는 연결 충돌을 방지하기 위해 엔드포인트 가중치 설정을 재정의해야 할 수 있습니다.

  • 보안 그룹 및 규칙: 액셀러레이터를 추가할 때 이미 구성된 보안 그룹 및 AWS WAF 규칙은 액셀러레이터를 추가하기 전에와 마찬가지로 계속 작동합니다.

  • IP 단편화: 인터넷 또는 다른 대규모 네트워크를 통해 전송될 때 표준 이더넷 프레임(1,500바이트 이상)에 맞추기에는 너무 큰 IP 패킷은 중간 라우터에 의해 다편화되어 개별적으로 전송됩니다. 클라이언트와 엔드포인트는 더 작은 최대 세그먼트 크기(MSS)를 자동으로 협상하기 때문에 TCP 프로토콜에는 IP 단편화가 필요하지 않습니다. 하지만 UDP 프로토콜에는 IP 단편화가 필요합니다. 패킷이 단편화되면 Global Accelerator는 UDP 단편을 구성된 엔드포인트로 전달하여 원본 IP 패킷을 다시 조립합니다. Global Accelerator는 AWS 네트워크에서 지원되지 않으므로 엣지에 TCP 단편을 삭제합니다.

AWS Global Accelerator 작동 방법에 대한 개요

트래픽은 잘 모니터링되고 정체가 없으며 중복된 AWS 글로벌 네트워크를 통해 엔드포인트로 이동합니다. 트래픽이 AWS 네트워크에 있는 시간을 최대화하여 Global Accelerator는 트래픽이 항상 최적의 네트워크 경로를 통해 라우팅되도록 합니다. Global Accelerator는 AWS 엣지 로케이션의 클라이언트에서 TCP 연결을 종료하고 거의 동시에 엔드포인트와 새 TCP 연결을 설정합니다. 이를 통해 클라이언트는 응답 시간을 단축하고(지연 시간 단축) 처리량을 늘릴 수 있습니다.

Global Accelerator는 사용자 지정 라우팅 액셀러레이터의 엔드포인트에 대한 클라이언트 IP 주소를 항상 보존합니다. 표준 액셀러레이터로 일부 엔드포인트 유형에 대해 클라이언트 IP 주소를 보존하고 액세스할 수 있습니다. 클라이언트 IP 주소 보존 지원 등 Global Accelerator가 지원하는 엔드포인트 유형 및 구성에 대한 자세한 내용은 액셀러레이터 엔드포인트로서 추가되는 리소스에 대한 요구 사항을 참조하세요.

표준 액셀러레이터를 사용하면 Global Accelerator는 모든 엔드포인트의 상태를 지속적으로 모니터링하고 활성 엔드포인트가 비정상이라고 판단되면 사용 가능한 다른 엔드포인트에 대한 모든 새 연결의 트래픽을 즉시 전달하기 시작합니다. 이를 통해 AWS에서 애플리케이션에 대한 고가용성 아키텍처를 생성할 수 있습니다. 상태 확인은 사용자 지정 라우팅 액셀러레이터와 함께 사용되지 않으며, 트래픽을 라우팅할 대상을 지정하므로 장애 조치가 없습니다.

글로벌 트래픽을 세밀하게 제어하려는 경우, 표준 액셀러레이터에서 엔드포인트에 대한 가중치를 구성할 수 있습니다. 또한 Global Accelerator의 트래픽 다이얼을 사용하여 성능 테스트 또는 스택 업그레이드와 같은 특정 엔드포인트 그룹에 대한 트래픽 비율을 늘리거나(다이얼 업) 줄일(다이얼 다운) 수 있습니다.

액셀러레이터 유형

AWS Global Accelerator에 사용할 수 있는 액셀러레이터에는 표준 액셀러레이터사용자 지정 라우팅 액셀러레이터라는 2가지 유형이 있습니다. 두 유형의 액셀러레이터는 모두 AWS 글로벌 네트워크를 통해 트래픽을 라우팅하여 성능 및 안정성을 개선하지만 각각 다양한 애플리케이션 요구 사항에 맞게 설계되었습니다.

표준 액셀러레이터

표준 액셀러레이터를 사용하면 Application Load Balancer, Network Load Balancer 또는 Amazon EC2 인스턴스에서 실행되는 애플리케이션의 가용성 및 성능을 개선할 수 있습니다. 표준 액셀러레이터로 Global Accelerator는 지리적 근접성 및 엔드포인트 상태에 따라 리전 엔드포인트 간에 클라이언트 트래픽을 라우팅합니다. 또한 고객은 트래픽 다이얼 및 엔드포인트 가중치와 같은 제어를 기반으로 엔드포인트 간에 클라이언트 트래픽을 이동시킬 수 있습니다. 이는 블루/그린 배포, A/B 테스트, 다중 리전 배포 등 다양한 사용 사례에 적합합니다. 더 많은 사용 사례를 보려면 AWS Global Accelerator 사용 사례 이해하기을 참조하세요.

자세한 내용은 AWS Global Accelerator에서 표준 액셀러레이터 사용 섹션을 참조하세요.

사용자 지정 라우팅 액셀러레이터

사용자 지정 라우팅 액셀러레이터는 사용자 지정 애플리케이션 로직을 사용하여 하나 이상의 사용자를 특정 대상 및 포트로 전달하는 동시에 Global Accelerator의 성능 이점을 얻고자 하는 시나리오에 적합합니다. 한 가지 예제는 음성, 영상 및 메시징 세션을 시작하기 위해 특정 미디어 서버에 여러 호출자를 할당하는 VoIP 애플리케이션입니다. 또 다른 예제는 지리적 위치, 플레이어 스킬, 게임 모드와 같은 요인을 기반으로 게임 서버의 단일 세션에 여러 플레이어를 할당하려는 온라인 실시간 게임 애플리케이션입니다.

참고

사용자 지정 라우팅 액셀러레이터는 IPv4 IP 주소 유형만 지원합니다.

자세한 내용은 AWS Global Accelerator에서 사용자 지정 라우팅 액셀러레이터 사용 섹션을 참조하세요.

특정 요구 사항에 따라, 이러한 유형의 액셀러레이터 중 하나를 생성하여 고객 트래픽을 가속화합니다.

AWS Global Accelerator에서 유휴 제한 시간 이해

AWS Global Accelerator은(는) 연결에 적용되는 유휴 제한 시간을 설정합니다. 유휴 제한 시간이 경과할 때까지 데이터를 전송하거나 수신하지 않은 경우, Global Accelerator는 연결을 종료합니다. 유휴 제한 시간은 사용자 지정할 수 없습니다.

연결 제한 시간 초과를 방지하려면 Global Accelerator에서 TCP 연결 제한 시간 기간 내에 수신 또는 송신 방향으로 최소 1바이트의 데이터가 포함된 패킷을 전송해야 합니다. TCP 킵얼라이브 패킷을 사용하여 열린 연결을 유지할 수 없습니다.

네트워크 연결에 대한 Global Accelerator 유휴 제한 시간은 연결 유형에 따라 달라집니다.

  • TCP 연결의 제한 시간은 340초입니다.

  • UDP 연결의 제한 시간은 30초입니다.

Global Accelerator는 엔드포인트가 비정상으로 표시되거나 액셀러레이터에서 제거된 경우에도 유휴 제한 시간이 충족될 때까지 설정된 연결의 트래픽을 엔드포인트로 계속 전달합니다. 필요한 경우, Global Accelerator는 새 연결이 시작되거나 유휴 제한 시간이 지난 후에만 새 엔드포인트를 선택합니다.

AWS Global Accelerator에서 정적 IP 주소 사용

기본적으로 Global Accelerator는 액셀러레이터와 연결된 정적 IP 주소를 제공합니다. Global Accelerator가 액셀러레이터에 할당하거나 표준 액셀러레이터의 경우 고유 IP 주소 풀에서 지정된 정적 IP 주소를 사용하여 위치에 관계없이, 사용자의 위치와 가까운 AWS 글로벌 네트워크로 인터넷 트래픽을 라우팅합니다. 표준 액셀러레이터의 경우, 주소를 단일 AWS 리전 또는 여러 리전에서 실행되는 Network Load Balancer, Application Load Balancer, Amazon EC2 인스턴스 또는 탄력적 IP 주소와 연결합니다. 사용자 지정 라우팅 액셀러레이터의 경우, 하나 이상의 리전에 있는 VPC 서브넷의 EC2 대상으로 트래픽을 전달합니다. 트래픽을 AWS 글로벌 네트워크를 통해 라우팅하면 트래픽이 퍼블릭 인터넷을 통해 여러 홉을 가져올 필요가 없으므로 가용성 및 성능이 개선됩니다. 정적 IP 주소를 사용하면 여러 AWS 리전의 여러 엔드포인트 리소스에 들어오는 애플리케이션 트래픽을 분산할 수도 있습니다.

또한 정적 IP 주소를 사용하면 더 많은 리전에 애플리케이션을 추가하거나 리전 간에 애플리케이션을 마이그레이션하는 것이 더 쉬워집니다. 고정 IP 주소를 사용하면 변경 시 사용자가 애플리케이션에 일관되게 연결할 수 있습니다.

원하는 경우, 고유 사용자 지정 도메인 이름을 액셀러레이터의 정적 IP 주소와 연결할 수 있습니다. 자세한 내용은 사용자 지정 도메인 트래픽을 액셀러레이터로 라우팅 섹션을 참조하세요.

정적 IP 주소는 AWS 엣지 네트워크에서 애니캐스트됩니다.

IPv4의 경우, Global Accelerator는 2개의 정적 IPv4 주소를 제공합니다. 듀얼 스택의 경우, Global Accelerator는 정적 IPv4 주소 2개와 정적 IPv6 주소 2개의 총 4개의 주소를 제공합니다. Global Accelerator(IPv4만 해당)와 함께 사용할 고유 IP 주소 범위를 AWS(BYOIP)에 가져오는 경우, 대신 Accelerator와 함께 사용할 고유 풀의 IPv4 주소를 할당할 수 있습니다. 자세한 내용은 Global Accelerator에서 고유 IP 주소 가져오기(BYOIP) 섹션을 참조하세요.

듀얼 스택이 있는 액셀러레이터의 경우, Global Accelerator는 동일한 2개의 /64 CIDR 접두사에서 IPv6 주소를 할당합니다. 이렇게 하면 허용 목록 작성 및 ACL 제어 설정 단계를 간소화하는 데 도움이 될 수 있습니다.

IPv4 IP 주소 유형에 맞게 구성된 표준 액셀러레이터에 IPv4 전용 엔드포인트를 추가할 수 있지만, 듀얼 스택으로서 구성되는 액셀러레이터에는 듀얼 스택도 지원하는 엔드포인트만 추가해야 합니다. 듀얼 스택 액셀러레이터에 지원되는 엔드포인트에 대한 자세한 내용은 액셀러레이터 엔드포인트로서 추가되는 리소스에 대한 요구 사항을 참조하세요.

Global Accelerator는 고유 IP 주소 범위를 AWS에 가져온 다음 해당 풀에서 정적 IP 주소를 지정하지 않는 한 Amazon IP 주소 풀에서 정적 IP 주소를 제공합니다. (자세한 내용은 Global Accelerator에서 고유 IP 주소 가져오기(BYOIP) 섹션을 참조하세요.) 콘솔에서 액셀러레이터를 생성하려면 첫 번째 단계는 Global Accelerator에 액셀러레이터의 이름을 입력하거나 고유 정적 IP 주소를 선택하여 정적 IP 주소를 프로비저닝하도록 요청하는 것입니다. 액셀러레이터 생성 단계를 보려면 AWS Global Accelerator 시작을 참조하세요.

액셀러레이터를 비활성화하고 트래픽을 더 이상 수락하거나 라우팅하지 않더라도 정적 IP 주소는 액셀러레이터가 있는 한 액셀러레이터에 할당된 상태로 유지됩니다. 하지만 액셀러레이터를 삭제하면 할당된 정적 IP 주소가 손실되므로 더 이상 해당 주소를 사용하여 트래픽을 라우팅할 수 없습니다. Global Accelerator로 태그 기반 권한과 같은 IAM 정책을 사용하여 액셀러레이터를 삭제할 권한이 있는 사용자를 제한할 수 있습니다. 자세한 내용은 Global Accelerator를 사용한 ABAC 섹션을 참조하세요.

Global Accelerator가 상태 확인을 사용하는 방법

표준 액셀러레이터의 경우, AWS Global Accelerator은(는) 정적 IP 주소와 연결된 엔드포인트의 상태를 자동으로 확인한 다음 정상 엔드포인트로만 사용자 트래픽을 전달합니다.

Global Accelerator에는 자동으로 실행되는 기본값 상태 확인이 포함되어 있지만 확인 및 기타 옵션의 타이밍을 구성할 수 있습니다. 사용자 지정 상태 확인 설정을 구성한 경우, Global Accelerator는 구성에 따라 특정 방식으로 이러한 설정을 사용합니다. 이러한 설정은 Amazon EC2 인스턴스 또는 탄력적 IP 주소 엔드포인트의 Global Accelerator에서 구성하거나 Network Load Balancer 또는 Application Load Balancer의 Elastic Load Balancing 콘솔에서 설정을 구성할 수 있습니다. 자세한 내용은 액셀러레이터의 상태 확인 액세스 보장 섹션을 참조하세요.

표준 액셀러레이터에 엔드포인트를 추가할 때 트래픽이 엔트포인트로 전달되기 전에 엔트포인트는 상태 확인을 통과하여 정상으로 간주되어야 합니다. Global Accelerator에 표준 액셀러레이터에서 트래픽을 라우팅할 정상 엔드포인트가 없는 경우, 모든 엔드포인트로 요청을 라우팅합니다.

트래픽 다이얼 및 엔드포인트 가중치로 트래픽 흐름을 관리하는 방법

AWS Global Accelerator이(가) 표준 액셀러레이터를 사용하여 엔드포인트로 트래픽을 전송하는 방법을 사용자 지정할 수 있는 2가지 방법이 있습니다.

  • 트래픽 다이얼을 변경하여 하나 이상의 엔드포인트 그룹에 대한 트래픽 제한

  • 가중치를 지정하여 그룹의 엔드포인트에 대한 트래픽 비율을 변경합니다.

트래픽 다이얼 작동 방법

표준 액셀러레이터의 각 엔드포인트 그룹의 경우, 트래픽 다이얼을 설정하여 엔드포인트 그룹으로 전송되는 트래픽 비율을 제어할 수 있습니다. 비율은 모든 리스너 트래픽이 아닌 엔드포인트 그룹에 이미 전달된 트래픽에만 적용됩니다.

트래픽 다이얼은 엔드포인트 그룹이 수락하는 트래픽의 일부를 제한하며, 이는 해당 엔드포인트 그룹으로 전달되는 트래픽 비율로서 표시됩니다. 예를 들어, us-east-1의 엔드포인트 그룹에 대한 트래픽 다이얼을 50(즉, 50%)으로 설정하고 액셀러레이터가 100개의 사용자 요청을 해당 엔드포인트 그룹에 전달하는 경우, 그룹에서는 50개의 요청만 수락합니다. 액셀러레이터는 나머지 50개의 요청을 다른 리전의 엔드포인트 그룹에 전달합니다.

자세한 내용은 트래픽 다이얼을 사용하여 리전에 트래픽 흐름 조정 섹션을 참조하세요.

가중치 작동 방법

표준 액셀러레이터의 각 엔드포인트의 경우, 가중치를 지정할 수 있으며, 이 가중치는 액셀러레이터가 각 엔드포인트로 라우팅하는 트래픽 비율을 변경하는 숫자입니다. 예를 들어, 이는 리전 내에서 성능 테스트를 수행하는 데 유용할 수 있습니다.

가중치는 액셀러레이터가 엔드포인트로 전달하는 트래픽 비율을 결정하는 값입니다. 기본적으로 엔드포인트의 가중치는 128입니다. 즉, 가중치 최대값의 절반은 255입니다.

액셀러레이터는 엔드포인트 그룹의 엔드포인트에 대한 가중치 합계를 계산한 다음 각 엔드포인트의 가중치 대 총합의 비율을 기반으로 트래픽을 엔드포인트로 전달합니다. 가중치 작동 방법의 예제는 엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법 섹션을 참조하세요.

트래픽 다이얼 및 가중치는 표준 액셀러레이터가 다양한 방식으로 트래픽을 처리하는 방법에 영향을 미칩니다.

  • 엔드포인트 그룹에 대한 트래픽 다이얼을 구성합니다. 트래픽 다이얼을 사용하면 액셀러레이터가 이미 근접성과 같은 기타 요인을 기반으로 트래픽에 전달한 트래픽을 '다이얼 다운'하여 그룹에 대한 트래픽(또는 모든 트래픽) 비율을 차단할 수 있습니다.

  • 반면, 가중치를 사용하여 엔드포인트 그룹 내의 개별 엔드포인트에 대한 값을 설정합니다. 가중치는 엔드포인트 그룹 내에서 트래픽을 분할하는 방법을 제공합니다. 예를 들어, 가중치를 사용하여 리전의 특정 엔드포인트에 대한 성능 테스트를 수행할 수 있습니다.

트래픽 다이얼 및 가중치가 장애 조치에 미치는 영향에 대한 자세한 내용은 비정상 엔드포인트에 대한 장애 조치 작동 방법 을 참조하세요.

ICMP 응답 메시지 및 AWS Global Accelerator

ICMP Packet Too Big 또는 Fragmentation Needed와(과) 같은 ICMP 응답 메시지는 인터넷에서 가용성을 보장하는 데 도움이 됩니다. AWS Global Accelerator은(는) 모든 전역 IP 주소의 엣지에서 ICMP 에코 메시지(ping)에 응답합니다. 이러한 ping은 고객의 엔드포인트로 전달되지 않습니다. Global Accelerator로 성능을 정확하게 테스트하려면 테스트에 더 깊은 프로토콜을 사용합니다.

다음은 ICMP가 인터넷 가용성을 보장하는 데 어떻게 도움이 되는지에 대한 간략한 요약입니다. 네트워크 연결의 MTU(최대 전송 단위)는 연결을 통해 전달할 수 있는 허용되는 최대 크기의 패킷 크기(바이트)입니다. 연결의 MTU가 클수록 하나의 패킷으로 전달할 수 있는 데이터의 양이 늘어납니다. 경로 MTU 탐색(PMTUD)을 사용하여 두 디바이스 간의 경로 MTU를 결정할 수 있습니다. 경로 MTU는 발신 호스트와 수신 호스트 간의 경로에서 지원되는 최대 패킷 사이즈입니다. 네트워크의 MTU 크기가 두 호스트 간에 차이가 있는 경우, MTU보다 큰 패킷이 삭제되고 패킷을 삭제한 수신 호스트가 발신자에게 ICMP 메시지로 알립니다. 자세한 내용은 경로 MTU 탐색을 참조하세요.

Global Accelerator의 액셀러레이터에서 ICMP 트래픽을 차단할 수 없습니다. 모든 ICMP 트래픽을 차단하면 ICMPv6 Packet Too Big (PTB)(유형 2) 및 Destination Unreachable: Fragmentation Needed and Don't Fragment was Set(유형 3, 코드 4)와 같은 ICMP 메시지도 삭제됩니다. 이러한 메시지는 트래픽을 성공적으로 원래 호스트로 되돌리는 데 필요합니다. 따라서 이러한 삭제된 메시지는 Global Accelerator를 기반으로 구축된 TCP 및 프로토콜이 일반 MTU보다 작은 네트워크에 있는 클라이언트의 트래픽을 삭제하여 PMTUD를 방지합니다.

PMTUD가 작동하려면 엔드포인트의 보안 그룹도 ICMP 트래픽을 허용해야 합니다. 특정 최종 사용자 네트워크에 고유한 가용성 문제가 있는 경우, 엔드포인트 보안 그룹이 ICMP 트래픽을 허용하는지 확인합니다.