

# AWS Global Accelerator에서 표준 액셀러레이터의 엔드포인트
<a name="about-endpoints"></a>

AWS Global Accelerator에서 표준 액셀러레이터의 엔드포인트는 Network Load Balancer, Application Load Balancer, Amazon EC2 인스턴스 또는 탄력적 IP 주소일 수 있습니다. AWS Global Accelerator에서 정적 IP 주소는 클라이언트의 단일 접점 역할을 하며, 표준 액셀러레이터로 Global Accelerator는 정상 엔드포인트로 들어오는 트래픽을 분산합니다. Global Accelerator는 엔드포인트의 엔드포인트 그룹이 속한 리스너에 대해 지정되는 포트(또는 포트 범위)를 사용하여 트래픽을 엔드포인트로 전달합니다.

각 엔드포인트 그룹에는 여러 엔드포인트가 있을 수 있습니다. 각 엔드포인트를 여러 엔드포인트 그룹에 추가할 수 있지만 엔드포인트 그룹은 서로 다른 리스너와 연결되어야 합니다. 리소스는 엔드포인트로서 추가될 때 유효하고 활성 상태여야 합니다.

**중요**  
듀얼 스택으로서 구성되는 액셀러레이터(즉, IPv4 및 IPv6를 지원하려는 액셀러레이터)는 듀얼 스택도 지원하는 엔드포인트만 추가해야 합니다. Network Load Balancer, Application Load Balancer 및 Amazon EC2 인스턴스는 듀얼 스택 엔드포인트로서 추가될 수 있습니다.

Global Accelerator는 표준 엔드포인트 그룹에 포함된 모든 엔드포인트의 상태를 지속적으로 모니터링합니다. 정상 상태인 활성 엔드포인트로만 트래픽을 라우팅합니다. Global Accelerator가 트래픽을 라우팅할 정상 엔드포인트가 없는 경우, 트래픽을 AWS 리전의 모든 엔드포인트로 라우팅합니다.

**Topics**
+ [액셀러레이터 엔드포인트로서 추가되는 리소스에 대한 요구 사항](about-endpoints-caveats.md)
+ [표준 엔드포인트 추가](about-endpoints-adding-endpoints.md)
+ [표준 엔드포인트 편집](about-endpoints-adding-endpoints-edit.md)
+ [표준 엔드포인트 제거](about-endpoints-adding-endpoints-remove.md)
+ [엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법](about-endpoints-endpoint-weights.md)
+ [비정상 엔드포인트에 대한 장애 조치 작동 방법](about-endpoints-endpoint-weights.unhealthy-endpoints.md)
+ [TCP 연결 시간 지연을 초래하는 연결 충돌을 방지하는 방법](about-endpoints.avoid-connection-collisions.md)

# 액셀러레이터 엔드포인트로서 추가되는 리소스에 대한 요구 사항
<a name="about-endpoints-caveats"></a>

AWS Global Accelerator에서 표준 액셀러레이터의 엔드포인트로서 추가될 수 있는 다양한 유형의 리소스에 대한 다음의 요구 사항 및 제한 사항에 유의하세요.

엔드포인트에 대한 클라이언트 IP 주소 보존을 활성화하려는 경우, 유의해야 할 추가 요구 사항이 있습니다. 자세한 내용은 [클라이언트 IP 주소 보존으로 변환 엔드포인트](about-endpoints.sipp.md) 섹션을 참조하세요.

참고: 액셀러레이터 뒤에 엔드포인트로서 추가되는 리소스를 종료하거나 삭제하기 전에 Global Accelerator 엔드포인트 그룹에서 엔드포인트를 제거하는 것이 좋습니다.

**Application Load Balancer 엔드포인트**  
+ Application Load Balancer 엔드포인트는 인터넷 연결 또는 내부용 일 수 있습니다.
+ 듀얼 스택 Application Load Balancer는 엔드포인트로서 추가될 수 있습니다.
+ Global Accelerator는 AWS 리전 내에서 실행되는 Application Load Balancer만 지원합니다. Global Accelerator는 로컬 영역에서 엔드포인트로서 실행되는 Application Load Balancer를 지원하지 않습니다.

**Network Load Balancer 엔드포인트**  
+ Network Load Balancer 엔드포인트는 인터넷 연결 또는 내부용 일 수 있습니다.
+ 듀얼 스택 Network Load Balancer는 엔드포인트로서 추가될 수 있지만 몇 가지 제한 사항이 있습니다.
  + 듀얼 스택 액셀러레이터의 경우, 듀얼 스택 Network Load Balancer를 추가할 때 Network Load Balancer에는 대상 유형이 `ip` 또는 대상 유형이 `instance` 및 IP 주소 유형이 `ipv6`인 대상 그룹이 있을 수 없습니다.
  + IPv4 액셀러레이터의 경우, 듀얼 스택 Network Load Balancer를 추가할 때 Global Accelerator에서 엔드포인트에 대한 클라이언트 IP 주소 보존을 활성화할 수 없습니다.
+ Global Accelerator는 AWS 리전 내에서 실행되는 Network Load Balancer만 지원합니다. Global Accelerator는 로컬 영역에서 엔드포인트로서 실행되는 Network Load Balancer를 지원하지 않습니다.
+ Network Load Balancer 엔드포인트의 경우, 연결 충돌을 방지하여 TCP 연결 시간이 늘어날 수 있도록 로드 밸런서의 교차 영역 트래픽을 비활성화하는 것이 좋습니다. 자세한 내용은 [TCP 연결 시간 지연을 초래하는 연결 충돌을 방지하는 방법](about-endpoints.avoid-connection-collisions.md) 섹션을 참조하세요.

**Amazon EC2 인스턴스 엔드포인트**  
+ EC2 인스턴스 엔드포인트는 C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3 또는 T1 유형 중 하나가 될 수 없습니다.
+ EC2 인스턴스는 특정 AWS 리전에서 엔드포인트로서 지원됩니다. 자세한 내용은 [AWS Global Accelerator에 대한 AWS 리전 가용성](preserve-client-ip-address.regions.md) 섹션을 참조하세요.

  Global Accelerator는 AWS 리전 내에서의 EC2 인스턴스만 지원합니다. Global Accelerator는 로컬 영역의 엔드포인트로서 탄력적 IP 주소로의 라우팅을 지원하지 않습니다.
+ 인스턴스를 종료하기 전에 Global Accelerator 엔드포인트 그룹에서 EC2 인스턴스를 제거하는 것이 좋습니다. EC2 인스턴스를 Global Accelerator의 엔드포인트 그룹에서 제거하기 전에 종료한 다음 동일한 VPC에서 동일한 프라이빗 IP 주소로 다른 인스턴스를 생성하고 상태 확인을 통과하는 경우, Global Accelerator가 트래픽을 새 엔드포인트로 라우팅합니다.
+ 듀얼 스택 EC2 인스턴스는 엔드포인트로서 추가될 수 있습니다. 하지만 인스턴스는 기본 IPv6 탄력적 네트워크 인터페이스(ENI)가 인스턴스에 연결되어 있어야 합니다. 자세한 내용은 Amazon Elastic Compute Cloud 사용 설명서의 [네트워크 인터페이스로 작업](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#working-with-enis)을 참조하세요.

**탄력적 IP 주소**  
+ 듀얼 스택 탄력적 IP 주소는 엔드포인트로서 추가될 수 없습니다.

모든 엔드포인트의 경우, 리소스를 Global Accelerator 뒤에 있는 엔드포인트로서 구성할 때 인터넷을 통해 트래픽을 동일한 엔드포인트로 직접 전송하지 않는 것이 좋습니다. 직접 트래픽을 전송하면 연결 충돌 문제가 발생할 수 있습니다.

또한 액셀러레이터 및 액셀러레이터 자체의 엔드포인트로서 추가되는 리소스는 교차 계정 지원을 구성하지 않는 한 동일한 계정이 소유해야 합니다. 하지만 로드 밸런서 엔드포인트 뒤에 있는 대상 인스턴스는 다른 계정이 소유할 수 있습니다. 이 시나리오에서는 대상 인스턴스를 소유한 계정에 로드 밸런서 및 액셀러레이터를 소유한 계정에 의해 소유된 서브넷에 액세스할 수 있는 권한이 부여되어야 합니다. 자세한 내용은 [Global Accelerator에서 교차 계정 액세스 구성](cross-account-resources.md) 섹션을 참조하세요.

# 표준 엔드포인트 추가
<a name="about-endpoints-adding-endpoints"></a>

트래픽이 리소스로 전달될 수 있도록 엔드포인트 그룹에 엔드포인트를 추가합니다. 표준 엔드포인트를 편집하여 엔드포인트의 가중치를 변경할 수 있습니다. 또는 엔드포인트 그룹에서 엔드포인트를 제거하여 액셀러레이터에서 엔드포인트를 제거할 수 있습니다. 엔드포인트를 제거해도 엔드포인트 자체에는 영향을 주지 않지만 Global Accelerator는 더 이상 해당 리소스로 트래픽을 전달할 수 없습니다.

먼저 리소스를 생성한 다음 Global Accelerator에서 엔드포인트로서 추가할 수 있습니다. 리소스는 엔드포인트로서 추가될 때 유효하고 활성 상태여야 합니다. Global Accelerator가 지원하는 엔드포인트 유형 및 구성에 대한 자세한 내용은 [액셀러레이터 엔드포인트로서 추가되는 리소스에 대한 요구 사항](about-endpoints-caveats.md) 섹션을 참조하세요.

엔드포인트 그룹에서 엔드포인트를 추가하거나 제거할 수 있는 한 가지 이유는 사용량입니다. 예를 들어, 애플리케이션에 대한 수요가 증가하면 더 많은 리소스를 생성할 수 있습니다. 그런 다음 하나 이상의 엔드포인트 그룹에 엔드포인트를 더 추가하여 증가된 트래픽을 처리할 수 있습니다. Global Accelerator는 엔드포인트를 추가하고 엔드포인트가 초기 상태 확인을 통과하는 즉시 엔드포인트로 요청을 라우팅하기 시작합니다.

엔드포인트의 가중치를 조정하여 엔드포인트에 비례적으로 트래픽을 더 많이 또는 더 적게 전송하여 엔드포인트에 대한 트래픽을 관리할 수 있습니다. 자세한 내용은 [엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법](about-endpoints-endpoint-weights.md) 섹션을 참조하세요.

참고: 클라이언트 IP 주소 보존으로 엔드포인트를 추가하는 것을 고려 중인 경우, 먼저 [AWS Global Accelerator에서 클라이언트 IP 주소 보존](preserve-client-ip-address.md)의 정보를 검토합니다.

이 섹션에서는 AWS Global Accelerator 콘솔에서 엔드포인트를 추가하는 방법을 설명합니다. AWS Global Accelerator로 API 작업을 사용하려면 [AWS Global Accelerator API 참조](https://docs.aws.amazon.com/global-accelerator/latest/api/Welcome.html)를 참조하세요.

# 표준 엔드포인트를 추가하려면


1. [https://us-west-2.console.aws.amazon.com/globalaccelerator/home\$1GlobalAcceleratorHome:](https://us-west-2.console.aws.amazon.com/globalaccelerator/home#GlobalAcceleratorHome:)에서 Global Accelerator 콘솔을 엽니다.

1. **액셀러레이터** 페이지에서 액셀러레이터를 선택합니다.

1. **리스너** 섹션의 **리스너 ID**에서 리스너의 ID를 선택합니다.

1. **엔드포인트 그룹** 섹션의 **엔드포인트 그룹 ID**에서 엔드포인트를 추가할 엔드포인트 그룹의 ID를 선택합니다.

1. **편집**을 선택합니다.

1. **엔드포인트** 섹션에서 **엔드포인트 추가**를 선택합니다.

1. **엔드포인트 추가** 페이지의 드롭다운 목록에서 리소스를 선택합니다.

   AWS 리소스가 없는 경우, 목록에도 항목이 없습니다. 계속하려면 로드 밸런서, Amazon EC2 인스턴스 또는 탄력적 IP 주소와 같은 AWS 리소스를 생성합니다. 그런 다음 여기의 단계로 돌아가 목록에서 리소스를 선택합니다.
**참고**  
듀얼 스택 액셀러레이터가 있는 경우, 듀얼 스택 엔드포인트를 추가해야 합니다. Network Load Balancer, Application Load Balancer 및 Amazon EC2 인스턴스는 듀얼 스택 엔드포인트로서 추가될 수 있습니다.

1. 선택적으로 **가중치**에 0\$1255 사이의 숫자를 입력하여 트래픽을 이 엔드포인트로 라우팅하는 가중치를 설정합니다. 엔드포인트에 가중치를 추가할 경우, 지정되는 비율에 따라 트래픽을 라우팅하도록 Global Accelerator를 구성합니다. 기본적으로 모든 엔드포인트의 가중치는 128입니다. 자세한 내용은 [엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법](about-endpoints-endpoint-weights.md) 섹션을 참조하세요.

1. 선택적으로 엔드포인트의 클라이언트 IP 주소 보존을 활성화합니다. **클라이언트 IP 주소 보존**에서 **주소 보존**을 선택합니다. 자세한 내용은 [AWS Global Accelerator에서 클라이언트 IP 주소 보존](preserve-client-ip-address.md) 섹션을 참조하세요.
**참고**  
클라이언트 IP 주소를 보존하는 엔드포인트에 트래픽을 추가하고 라우팅하기 전에 보안 그룹과 같은 필요한 모든 보안 구성을 업데이트하여 허용 목록에 사용자 클라이언트 IP 주소를 포함시켜야 합니다.

1. **엔드포인트 추가**를 선택합니다.

# 표준 엔드포인트 편집
<a name="about-endpoints-adding-endpoints-edit"></a>

이 섹션에서는 AWS Global Accelerator 콘솔에서 엔드포인트를 편집하는 방법을 설명합니다. AWS Global Accelerator로 API 작업을 사용하려면 [AWS Global Accelerator API 참조](https://docs.aws.amazon.com/global-accelerator/latest/api/Welcome.html)를 참조하세요.

# 표준 엔드포인트를 편집하려면


엔드포인트 구성을 편집하여 가중치를 변경할 수 있습니다. 자세한 내용은 [엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법](about-endpoints-endpoint-weights.md) 섹션을 참조하세요.

1. [https://us-west-2.console.aws.amazon.com/globalaccelerator/home\$1GlobalAcceleratorHome:](https://us-west-2.console.aws.amazon.com/globalaccelerator/home#GlobalAcceleratorHome:)에서 Global Accelerator 콘솔을 엽니다.

1. **액셀러레이터** 페이지에서 액셀러레이터를 선택합니다.

1. **리스너** 섹션의 **리스너 ID**에서 리스너의 ID를 선택합니다.

1. **엔드포인트 그룹** 섹션의 **엔드포인트 그룹 ID**에서 엔드포인트 그룹의 ID를 선택합니다.

1. **엔드포인트 편집**을 선택합니다.

1. **엔드포인트 편집** 페이지에서 업데이트한 다음 **저장**을 선택합니다.

# 표준 엔드포인트 제거
<a name="about-endpoints-adding-endpoints-remove"></a>

이 섹션에서는 AWS Global Accelerator 콘솔에서 엔드포인트를 제거하는 방법을 설명합니다. AWS Global Accelerator로 API 작업을 사용하려면 [AWS Global Accelerator API 참조](https://docs.aws.amazon.com/global-accelerator/latest/api/Welcome.html)를 참조하세요.

엔드포인트에 서비스를 제공해야 하는 경우, 엔드포인트 그룹에서 엔드포인트를 제거할 수 있습니다. 엔드포인트를 제거하면 엔드포인트 그룹에서 제거되지만 그렇지 않은 경우, 엔드포인트에 영향을 주지 않습니다. Global Accelerator는 엔드포인트 그룹에서 제거되자마자 엔드포인트로 트래픽 전달을 중지합니다. 엔드포인트는 진행 중인 클라이언트 트래픽에 중단이 없도록 모든 현재 요청이 완료될 때까지 기다리는 상태로 전환됩니다. 요청 수신을 재개할 준비가 되면 엔드포인트를 엔드포인트 그룹에 다시 추가할 수 있습니다.

참고: 액셀러레이터 뒤에 엔드포인트로서 추가되는 리소스를 종료하거나 삭제하기 전에 Global Accelerator 엔드포인트 그룹에서 엔드포인트를 제거하는 것이 좋습니다.

# 엔드포인트를 제거하려면


1. [https://us-west-2.console.aws.amazon.com/globalaccelerator/home\$1GlobalAcceleratorHome:](https://us-west-2.console.aws.amazon.com/globalaccelerator/home#GlobalAcceleratorHome:)에서 Global Accelerator 콘솔을 엽니다.

1. **액셀러레이터** 페이지에서 액셀러레이터를 선택합니다.

1. **리스너** 섹션의 **리스너 ID**에서 리스너의 ID를 선택합니다.

1. **엔드포인트 그룹** 섹션의 **엔드포인트 그룹 ID**에서 엔드포인트 그룹의 ID를 선택합니다.

1. **엔드포인트 제거**를 선택합니다.

1. 확인 대화 상자에서 **제거**를 선택합니다.

# 엔드포인트 가중치가 트래픽 볼륨을 관리하는 방법
<a name="about-endpoints-endpoint-weights"></a>

가중치 기반 라우팅을 사용하면 엔드포인트 그룹의 특정 리소스(엔드포인트)로 라우팅되는 트래픽의 양을 선택할 수 있습니다. 이는 로드 밸런싱 및 애플리케이션의 새 버전 테스트 등 여러 가지 방법에 유용할 수 있습니다.

가중치는 Global Accelerator가 표준 액셀러레이터의 엔드포인트로 전달하는 트래픽 비율을 결정하기 위해 설정할 수 있는 값입니다. 엔드포인트는 Network Load Balancer, Application Load Balancer, Amazon EC2 인스턴스 또는 탄력적 IP 주소일 수 있습니다. Global Accelerator는 엔드포인트 그룹의 엔드포인트에 대한 가중치 합계를 계산한 다음 각 엔드포인트의 가중치 대 총계의 비율을 기반으로 트래픽을 엔드포인트로 전달합니다. 기본적으로 엔드포인트의 가중치는 128로 설정되며, 이는 최대값인 255의 절반입니다.

## 엔드포인트 가중치 작동 방법
<a name="about-endpoints-endpoint-weights.how-it-works"></a>

가중치를 사용하려면 엔드포인트 그룹의 각 엔드포인트에 전송하려는 트래픽 양에 해당하는 상대 가중치를 할당합니다. 기본적으로 엔드포인트의 가중치는 128입니다. 즉, 가중치 최대값의 절반은 255입니다. Global Accelerator는 그룹의 모든 엔드포인트에 대한 총 가중치의 비율로서 할당되는 가중치를 기반으로 엔드포인트에 트래픽을 전송합니다.

![\[Global Accelerator에서 엔드포인트에 대한 상대 가중치 작동 방법\]](http://docs.aws.amazon.com/ko_kr/global-accelerator/latest/dg/images/WRR_calculation.png)


예를 들어, 트래픽의 일부를 하나의 엔드포인트로 보내고 나머지를 다른 엔드포인트로 보내려는 경우, 각각 1과 255의 가중치를 지정할 수 있습니다. 가중치가 1인 엔드포인트는 트래픽의 1/256(1/1\$1255)이 전송되고, 다른 엔드포인트는 255/256 (255/1\$1255)이 전송됩니다. 가중치를 변경하여 각 엔드포인트에 대한 트래픽 볼륨의 균형을 점진적으로 변경할 수 있습니다. Global Accelerator에서 엔드포인트로 트래픽 전송을 중지하려면 해당 리소스의 가중치를 0으로 변경할 수 있습니다.

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

# 비정상 엔드포인트에 대한 장애 조치 작동 방법
<a name="about-endpoints-endpoint-weights.unhealthy-endpoints"></a>

엔드포인트 그룹에 가중치가 0보다 큰 정상 엔드포인트가 없는 경우, Global Accelerator는 다른 엔드포인트 그룹에서 가중치가 0보다 큰 정상 엔드포인트로 장애 조치를 시도합니다. 이 장애 조치의 경우, Global Accelerator는 트래픽 다이얼 설정을 무시합니다. 따라서 예를 들어, 엔드포인트 그룹이 트래픽 다이얼을 0으로 설정하는 경우, Global Accelerator는 장애 조치 시도에서 해당 엔드포인트 그룹을 계속 포함합니다.

Global Accelerator가 가장 가까운 3개의 엔드포인트 그룹(즉, AWS 리전)을 시도한 후 가중치가 0보다 큰 정상 엔드포인트를 찾지 못하는 경우, 클라이언트에 가장 가까운 엔드포인트 그룹의 무작위 엔드포인트로 트래픽을 라우팅합니다. 즉, *열리지 않습니다*.

다음 사항에 유의하세요.
+ 장애 조치를 위해 선택된 엔드포인트 그룹은 트래픽 다이얼이 0으로 설정된 엔드포인트 그룹일 수 있습니다.
+ 가장 가까운 엔드포인트 그룹은 원래 엔드포인트 그룹이 아닐 수 있습니다. 이는 Global Accelerator가 원래 엔드포인트 그룹을 선택할 때 계정 트래픽 다이얼 설정을 고려하기 때문입니다.

예를 들어, 구성에 정상 엔드포인트와 비정상 엔드포인트라는 2개의 엔드포인트가 있고, 각 엔드포인트의 가중치가 0보다 크도록 설정했다고 가정해 보겠습니다. 이 경우, Global Accelerator는 트래픽을 정상 엔드포인트로 라우팅합니다. 하지만 이제 유일한 정상 엔드포인트의 가중치를 0으로 설정한다고 가정해 보겠습니다. 그런 다음 Global Accelerator는 가중치가 0보다 큰 정상 엔드포인트를 찾기 위해 3개의 추가 엔드포인트 그룹을 시도합니다. 찾을 수 없는 경우, Global Accelerator는 클라이언트에 가장 가까운 엔드포인트 그룹의 무작위 엔드포인트로 트래픽을 라우팅합니다.

복구가 발생하면 즉, 리전이 다시 정상 상태가 되면 Global Accelerator는 정기적인 라우팅 동작으로 돌아갑니다. 즉, 일반적으로 라우팅은 약 30초 이내에 트래픽 다이얼이 0으로 설정되지 않은 정상 엔드포인트로 다시 시작됩니다. 하지만 설정된 활성 연결은 이동되지 않습니다. 클라이언트 또는 서버에 의해 연결이 재설정되거나 클라이언트가 새 연결을 만들 때까지 0 가중치 리전으로 계속 라우팅됩니다.

# TCP 연결 시간 지연을 초래하는 연결 충돌을 방지하는 방법
<a name="about-endpoints.avoid-connection-collisions"></a>

AWS Global Accelerator의 연결 충돌로 인해 간헐적인 연결 문제가 발생할 수 있습니다. 이는 특정 시나리오에서 사용자(동일한 소스 IP 및 소스 포트 포함)가 Global Accelerator의 리소스에 액세스할 때 발생할 수 있습니다. 충돌로 인해 액셀러레이터를 통과하는 트래픽의 TCP 연결 시간이 지연될 수 있습니다.

액셀러레이터 엔드포인트의 다른 대상 포트로 들어오는 트래픽을 라우팅할 수 있는 Global Accelerator의 특성인 *포트 재정의*로 액셀러레이터를 구성하여 이러한 지연을 방지할 수 있습니다. 이 섹션의 지침에 따라 포트 재정의를 사용하여 연결 충돌을 방지하고 잠재적인 TCP 연결 시간 지연을 방지하는 방법을 알아봅니다.

## 연결 충돌을 일으킬 수 있는 시나리오
<a name="about-endpoints.avoid-connection-collisions.scenarios"></a>

Global Accelerator에는 연결 충돌로 이어져 TCP 연결 시간 지연으로 이어질 수 있는 3가지 시나리오가 있습니다.
+ 여러 액셀러레이터로 엔드포인트로서 동일한 리소스를 구성합니다.
+ 리소스를 Global Accelerator 뒤에 있는 엔드포인트로서 구성하고 인터넷을 통해 최종 사용자로부터 동일한 리소스로 트래픽을 직접 전송합니다.
+ 교차 영역 트래픽의 Network Load Balancer 엔드포인트를 구성합니다.

Network Load Balancer 엔드포인트의 경우, 연결 충돌을 방지하려면 로드 밸런서의 교차 영역 트래픽을 비활성화하는 것이 좋습니다. 자세한 내용은 *Network Load Balancer 사용 설명서*의 [TCP 연결 지연](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-troubleshooting.html#tcp-delays)을 참조하세요.

다른 시나리오의 경우, 충돌을 방지하려면 엔드포인트 그룹과 함께 포트 재정의 특성을 사용하는 것이 좋습니다. 포트 재정의를 사용하여 Global Accelerator 리스너 포트를 엔드포인트 리소스의 다른 대상 포트 번호에 매핑할 수 있습니다. 리스너 포트는 기본적으로 엔드포인트 리소스에서 동일한 포트 번호를 사용합니다. 포트 재정의를 사용하면 액셀러레이터는 동일한 사용자(소스 IP 및 소스 포트 포함)의 트래픽을 동일한 엔드포인트로 라우팅할 수 있지만 충돌을 방지하는 다른 대상 포트 번호를 사용할 수 있습니다.

다음 섹션에서는 연결 충돌을 방지하기 위해 포트 재정의를 구성하는 방법에 대한 각 시나리오의 구체적인 예제를 제공합니다. 포트 재정의 구성에 대한 자세한 내용은 [제한된 포트 또는 연결 충돌에 대해 리스너 포트 재정의](about-endpoint-groups-port-override.md) 섹션을 참조하세요.

## 포트 재정의를 사용하여 연결 충돌을 방지하는 방법
<a name="about-endpoints.avoid-connection-collisions.how-to-prevent"></a>

기본적으로 액셀러레이터는 리스너를 생성할 때 지정되는 동일한 프로토콜과 동일한 대상 포트 범위를 사용하여 AWS 리전에서 엔드포인트로 사용자 트래픽을 라우팅합니다. 하지만 리스너 포트의 포트 번호 매핑을 재정의하도록 선택할 수도 있습니다. 즉, 리스너 포트 번호를 매핑하여 엔드포인트의 다른 대상 포트 번호로 트래픽을 라우팅할 수 있습니다.

예를 들어, 포트 80 및 443에서 TCP 트래픽을 수락하는 리스너를 정의하는 경우, 기본적으로 액셀러레이터는 엔드포인트의 동일한 포트인 80 및 443으로 트래픽을 라우팅합니다. 하지만 포트 재정의 특성을 사용하면 액셀러레이터는 해당 포트에서 들어오는 트래픽을 8080 및 8443과 같은 엔드포인트의 다른 포트로 라우팅할 수 있습니다.

동일한 리소스가 구성된 2개(또는 그 이상)의 액셀러레이터에서 리스너에 대해 서로 다른 포트 매핑을 생성하여 각 액셀러레이터에 대해 별도의 대상 포트 번호를 사용하고 충돌을 방지할 수 있습니다.

예를 들어, Accelerator-A와 Accelerator-B가 있고 각각 TCP와 포트 443에 대해 구성된 리스너가 있다고 가정해 보겠습니다. Accelerator-A의 리스너가 포트 443을 8443에 매핑하고 Accelerator-B의 리스너가 포트 443을 9443에 매핑하도록 포트 재정의를 설정할 수 있습니다. 이제 Application Load Balancer 엔드포인트 ALB-1234를 구성하여 포트 8443과 9443 모두에서 수신 대기합니다. 그런 다음 동일한 사용자 IP 주소에서 포트 443(두 액셀러레이터의 리스너로)으로 들어오는 트래픽은 연결 충돌 또는 TCP 연결 시간 지연 없이 ALB-1234에 도착합니다.

다음의 그림 예제에서 트래픽 경로를 볼 수 있습니다.

`Accelerator-A [listener: tcp,443] → Endpoint-Group [port-override: 443→8443] → ALB-1234 (listener: HTTPS,8443)`

`Accelerator-B [listener: tcp,443] → Endpoint-Group [port-override: 443→9443] → ALB-1234 (listener: HTTPS,9443) `

유사한 방법으로 포트 재정의를 사용하여 액셀러레이터의 리스너 포트 번호에 대한 기본값 매핑을 재정의하여 직접 사용자 트래픽과 액셀러레이터를 통해 액세스되는 리소스에 대한 연결 충돌을 방지할 수 있습니다. 이 시나리오에서 충돌을 방지하려면 다음을 수행합니다.

1. 리소스가 직접 트래픽에 대해 수신 대기할 포트를 결정합니다.

1. 기본값 포트를 재정의하도록 액셀러레이터의 리스너를 구성하고, 액셀러레이터 트래픽의 해당 포트에 대해 수신 대기할 리소스에서 리스너를 구성합니다.

예를 들어, 액셀러레이터의 리스너에 대해 포트 재정의를 설정하여 포트 443을 포트 8443에 매핑할 수 있습니다. 이제 포트 8443에서 액셀러레이터 트래픽을 수신 대기하고 포트 443에서 직접 트래픽을 수신 대기하도록 Application Load Balancer 엔드포인트를 구성할 수 있습니다. 이 구성으로 동일한 사용자 IP 주소에서 들어오는 트래픽에 대한 Application Load Balancer의 연결 충돌을 방지할 수 있습니다.