애플리케이션 부하 분산기 및 프록시 네트워크 부하 분산기의 IPv6

이 문서에서는 프록시 부하 분산기에서 IPv6 트래픽을 처리하는 방법을 보여줍니다. 이 문서에서 IPv4 전용(단일 스택)은 IPv4 주소만 사용하는 리소스를 의미하고 IPv4 및 IPv6(이중 스택)은 IPv4와 IPv6 주소를 모두 사용하는 리소스를 의미합니다.

Google Cloud는 백엔드 서비스 기반 패스 스루 네트워크 부하 분산기에 IPv6 트래픽을 지원합니다. 자세한 내용은 백엔드 서비스 기반 외부 패스 스루 네트워크 부하 분산기백엔드 서비스 기반 내부 패스 스루 네트워크 부하 분산기 개요를 참조하세요.

전역 외부 애플리케이션 부하 분산기와 전역 외부 프록시 네트워크 부하 분산기는 인그레스 IPv6 트래픽을 종료한 다음 IPv4 또는 IPv6 연결을 통해 이 트래픽을 IPv4 및 IPv6(이중 스택) 백엔드로 프록시합니다.

다음 표에는 IPv6 프런트엔드와 IPv4 및 IPv6(이중 스택) 백엔드를 지원하는 부하 분산기가 나와 있습니다.

기능 애플리케이션 부하 분산기 프록시 네트워크 부하 분산기
내부 외부 내부 외부
IPv6 프런트엔드 전역
기본+
전역
기본+
IPv4 및 IPv6(이중 스택) 백엔드 리전 간*
리전*
전역*
리전*
리전 간*
리전*
전역*
리전*

* IPv4 및 IPv6(이중 스택) 인스턴스 그룹과 영역별 NEG 백엔드를 지원합니다. 영역별 NEG는 GCE_VM_IP_PORT 유형 엔드포인트에서만 이중 스택을 지원합니다.

+ 프리미엄 등급에서 지원됨

이 문서의 다음 섹션에서는 전역 외부 애플리케이션 부하 분산기와 전역 외부 프록시 네트워크 부하 분산기에서 IPv6 트래픽이 처리되는 방식을 설명합니다.

다음 예시에서는 전역 IPv6 클라이언트에서 부하 분산이 작동하는 방식을 보여줍니다.

전역 IPv6 부하 분산
전역 IPv6 부하 분산(확대하려면 클릭)

IPv6 종료를 사용하면 사용자의 IPv6 요청을 처리하고 IPv4 또는 IPv6을 통해 백엔드로 프록시할 수 있습니다. IPv6을 사용하면 다음을 수행할 수 있습니다.

  • 멀티 리전 배포에 하나의 Anycast IPv6 주소 사용. 여러 리전에서 실행되는 애플리케이션 인스턴스에 부하 분산기 IPv6 주소는 하나만 필요합니다. 즉, DNS 서버에 단일 AAAA 레코드가 존재하며 여러 IPv6 주소 간에 부하를 분산할 필요가 없습니다. 캐싱할 주소가 하나뿐이므로 클라이언트가 AAAA 레코드를 캐싱하는 것이 문제가 되지 않습니다. IPv6 주소에 대한 사용자 요청은 사용 가능한 용량이 있는 가장 가까운 정상 백엔드로 자동으로 부하가 분산됩니다.

  • HTTP, HTTPS, HTTP/2, TCP, SSL/TLS IPv6 클라이언트 트래픽의 부하를 분산하세요.

  • 단일 IPv6 부하 분산기 주소로 리전 간 오버플로. 한 리전의 백엔드가 사용할 리소스가 부족하거나 비정상이면 전역 부하 분산기에서 자동으로 사용자의 요청을 사용 가능한 리소스가 있는 가장 가까운 다음 리전으로 보냅니다. 가장 가까운 리전에 사용 가능한 리소스가 있으면 이 리전에 의해 전역 부하 분산이 서비스 제공 상태로 복귀합니다. 전역 부하 분산을 사용하려면 프리미엄 등급의 네트워크 서비스 등급을 사용해야 합니다.

  • 이중 스택 배포 실행.. IPv6 및 IPv4 클라이언트를 모두 지원하려면 IPv6용과 IPv4용으로 각각 하나씩 두 개의 부하 분산기 IP 리소스를 만들고 둘 다 동일한 애플리케이션 인스턴스와 연결합니다. IPv4 클라이언트는 IPv4 주소에 연결하고 IPv6 클라이언트는 IPv6 주소에 연결합니다. 그런 다음 이러한 클라이언트는 사용 가능한 용량이 있는 가장 가까운 정상 IPv4 또는 IPv6 이중 스택 백엔드에 자동으로 부하를 분산합니다. 이중 스택 백엔드를 지원하는 부하 분산기를 확인하려면 표: 백엔드 서비스 및 지원되는 백엔드 유형을 참조하세요. IPv6 전달 규칙은 무료로 제공되므로 IPv4에만 비용을 지불하시면 됩니다.

    IPv4 및 IPv6 트래픽을 동일한 백엔드로 전달
    IPv4 및 IPv6 트래픽을 동일한 백엔드로 전달(확대하려면 클릭)

IPv6 종료 및 프록시

다음 그림과 같이 부하 분산기에 IPv6 종료를 구성하면 백엔드를 IPv6 클라이언트의 IPv6 애플리케이션으로 나타낼 수 있습니다.

부하 분산을 위한 IPv6 종료
부하 분산을 위한 IPv6 종료(확대하려면 클릭)

사용자가 IPv6을 통해 부하 분산기에 연결하면 다음과 같은 결과가 발생합니다.

  1. IPv6 주소 및 전달 규칙을 사용하는 부하 분산기가 사용자 연결을 대기합니다.
  2. IPv6 클라이언트가 IPv6을 사용해 부하 분산기에 연결합니다.
  3. 부하 분산기가 역방향 프록시로 작동하고 IPv6 클라이언트 연결을 종료합니다. 백엔드 서비스 IP 주소 선택 정책에 따라 요청을 백엔드에 대한 IPv4 또는 IPv6 연결에 배치합니다.
  4. 역방향 경로에서 부하 분산기가 백엔드로부터 응답을 수신하고 이를 다시 원래의 클라이언트에 대한 IPv6 연결에 배치합니다.

제한사항

  • 기존 프록시 네트워크 부하 분산기 및 기존 애플리케이션 부하 분산기는 이중 스택 백엔드를 지원하지 않습니다. IPv6 트래픽은 부하 분산기에서 종료된 후 IPv4 연결을 통해 백엔드로 프록시 처리됩니다.

  • 리전 외부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 내부 프록시 네트워크 부하 분산기, 리전 간 내부 프록시 네트워크 부하 분산기 또는 리전 외부 프록시 네트워크 부하 분산기는 IPv6 프런트엔드를 지원하지 않습니다. 인그레스 IPv4 트래픽은 IPv4 또는 IPv6 연결을 통해 IPv4 및 IPv6(이중 스택) 백엔드로 프록시됩니다.

  • VM 인스턴스 그룹 백엔드와 GCE_VM_IP_PORT 엔드포인트가 있는 영역 네트워크 엔드포인트 그룹(NEG)만 IPv4 및 IPv6(이중 스택)를 지원합니다.

부하 분산기 전달 규칙에 부합하는 IPv6 주소 할당

외부 부하 분산기를 구성할 때는 하나 이상의 전역 전달 규칙을 제공해야 하며, 이는 각각 외부의 공개적으로 라우팅된 IPv4 또는 IPv6 IP 주소(또는 모두)를 사용합니다. 이 IP 주소를 사이트의 DNS 레코드에 사용할 수 있습니다.

전달 규칙을 만들 때는 프로젝트에 예약된 고정 IP 주소를 사용하거나, 규칙을 만들 때 전달 규칙이 자동으로 임시 IP 주소를 가져오도록 설정할 수 있습니다. 고정 IP 주소가 프로젝트에 예약되어 있으므로 의도적으로 해제할 때까지 이를 유지할 수 있습니다. 임시 주소는 전달 규칙이 존재하는 한 전달 규칙에 속합니다. 전달 규칙을 삭제하면 임시 주소가 다시 Google Cloud 풀로 해제됩니다.

부하 분산기에 IPv4 및 IPv6 주소가 모두 필요한 경우, 두 개의 전달 규칙을 만들고 IPv4 주소를 하나의 전달 규칙과 연결하고 IPv6 주소를 다른 전달 규칙과 연결할 수 있습니다. 그런 다음 두 규칙을 동일한 부하 분산기와 연결할 수 있습니다.

IPv6 주소 형식

Google Cloud는 /64 IPv6 주소 범위를 IPv6 전달 규칙에 할당합니다. Google Cloud CLI는 0으로 설정된 최하위 64비트로 IPv6 주소를 나열하지만 부하 분산기는 모든 범위의 트래픽을 허용합니다. 따라서 클라이언트가 어떤 IPv6 서버 IP 주소에 연결되어 있는지에 따라 X-Forwarded-For 헤더에 할당된 범위에 다른 부하 분산기 IPv6 주소가 존재할 수도 있습니다.

Google Cloud는 IPv6 주소를 형식화할 때 RFC 5952, 섹션 4의 권장사항을 따릅니다.

외부 애플리케이션 부하 분산기를 위한 IPv6 종료가 포함된 클라이언트 IP 헤더

부하 분산기가 클라이언트로부터의 IPv6 연결을 백엔드로의 IPv4 연결로 프록시 처리하면 원래의 소스 IP 주소가 부하 분산기의 IP 주소로 대체됩니다. 하지만 백엔드에서 종종 로깅, 의사 결정, 또는 다른 목적을 위해 원래의 소스 IP 주소를 알아야 하는 경우가 있습니다. Google Cloud는 원래의 IPv6 클라이언트 IP 주소가 포함된 백엔드로 전파되는 HTTP 헤더를 제공합니다.

IPv6의 HTTP 헤더는 IPv4의 헤더와 비슷합니다. 요청의 형식은 다음과 같습니다.

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

마지막 요소는 부하 분산기 IP 주소를 표시합니다. 두 번째 요소부터 마지막 요소까지는 부하 분산기에 표시되는 클라이언트 IP 주소를 표시합니다. 클라이언트 또는 개입 프록시가 요청을 부하 분산기에 보내기 전에 다른 X-Forwarded-For 헤더를 추가하는 경우 X-Forwarded-For 헤더에 다른 요소가 있을 수도 있습니다.

예를 들어 X-Forwarded-For 헤더는 다음과 같이 표시됩니다.

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234는 클라이언트의 IPv6 주소입니다. 2607:f8b0:4005:801::200e는 외부 애플리케이션 부하 분산기의 IPv6 주소입니다.

단일 스택에서 이중 스택으로 변환

IPv4 전용(단일 스택)을 사용하는 부하 분산기 리소스를 IPv4 및 IPv6(이중 스택)으로 변환할 수 있습니다. 부하 분산기 리소스를 업데이트하면 IPv6 트래픽을 백엔드로 자동 라우팅할 수 있습니다.

부하 분산기 리소스와 백엔드를 이중 스택으로 변환하는 방법은 다음 문서를 참조하세요.

부하 분산기 문서
전역 외부 애플리케이션 부하 분산기
리전 간 내부 애플리케이션 부하 분산기
리전별 외부 애플리케이션 부하 분산기
리전별 내부 애플리케이션 부하 분산기
애플리케이션 부하 분산기를 IPv6로 변환
SSL 프록시 및 TCP 프록시 전역 외부 프록시 네트워크 부하 분산기
리전 간 내부 프록시 네트워크 부하 분산기
리전별 외부 프록시 네트워크 부하 분산기
리전별 내부 프록시 네트워크 부하 분산기
프록시 네트워크 부하 분산기를 IPv6로 변환

가격 책정

IPv6 종료를 위한 전달 규칙은 추가 비용 없이 제공됩니다. 임시 IPv6 주소에는 비용이 청구되지 않습니다. 예약된 IPv6 주소는 사용 여부에 관계없이 기존 요금이 청구됩니다. 그렇지 않은 경우 IPv6 부하 분산의 가격은 IPv4 부하 분산의 가격과 동일합니다. 부하 분산 가격 세부정보는 네트워크 가격 책정을 참조하세요.

다음 단계

* IP 주소 선택 프로토콜