게시된 서비스 정보
이 문서에서는 Private Service Connect를 사용하여 서비스 소비자에게 서비스를 제공하는 방법을 간략하게 설명합니다.
서비스 제작자는 Private Service Connect로 VPC 네트워크에서 내부 IP 주소를 사용하여 서비스를 게시할 수 있습니다. 서비스 소비자는 VPC 네트워크에서 내부 IP 주소를 사용하여 게시된 서비스에 액세스할 수 있습니다.
소비자에게 서비스를 제공하려면 전용 서브넷을 하나 이상 만듭니다. 그런 다음 해당 서브넷을 참조하는 서비스 연결을 만듭니다. 서비스 연결은 연결 환경설정이 다를 수 있습니다.
서비스 소비자 유형
Private Service Connect 서비스에 연결할 수 있는 소비자 유형에는 두 가지가 있습니다.
엔드포인트는 전달 규칙을 기반으로 합니다.
백엔드는 부하 분산기를 기반으로 합니다.
NAT 서브넷
Private Service Connect 서비스 연결은 하나 이상의 NAT 서브넷(Private Service Connect 서브넷이라고도 함)으로 구성됩니다. 소비자 VPC 네트워크의 패킷은 소스 NAT(SNAT)를 사용하여 변환되므로 원래 소스 IP 주소는 제작자 VPC 네트워크의 NAT 서브넷에서 소스 IP 주소로 변환됩니다.
서비스 연결에는 여러 NAT 서브넷이 있을 수 있습니다. 트래픽을 중단하지 않고도 언제든지 NAT 서브넷을 서비스 연결에 추가할 수 있습니다.
서비스 연결에는 여러 NAT 서브넷이 구성될 수 있지만 NAT 서브넷은 둘 이상의 서비스 연결에서 사용할 수 없습니다.
Private Service Connect NAT 서브넷은 가상 머신(VM) 인스턴스 또는 전달 규칙과 같은 리소스에 사용할 수 없습니다. 서브넷은 수신되는 소비자 연결의 SNAT에 IP 주소를 제공하기 위해서만 사용됩니다.
NAT 서브넷 크기 조정
서비스를 게시할 때 NAT 서브넷을 만들고 IP 주소 범위를 선택합니다. 서브넷의 크기에 따라 서비스 연결에 연결할 수 있는 동시 Private Service Connect 엔드포인트 또는 백엔드 수가 결정됩니다.
IP 주소는 Private Service Connect 연결 수에 따라 NAT 서브넷에서 사용됩니다. NAT 서브넷의 IP 주소를 모두 사용하면 추가 Private Service Connect 연결이 실패합니다. 따라서 NAT 서브넷의 크기를 적절하게 조절하는 것이 중요합니다.
서브넷 크기를 선택할 때는 다음 사항을 고려하세요.
-
NAT 서브넷에는 4개의 사용할 수 없는 IP 주소가 있으므로 사용 가능한 IP 주소의 수는 2(32 - PREFIX_LENGTH) - 4입니다. 예를 들어 프리픽스 길이가
/24
인 NAT 서브넷을 만들면 Private Service Connect는 SNAT에 252개의 IP 주소를 사용할 수 있습니다. 사용 가능한 IP 주소가 4개인/29
서브넷은 VPC 네트워크에서 지원되는 가장 작은 서브넷 크기입니다. - 서비스 연결에 연결된 각 엔드포인트 또는 백엔드에 대해 NAT 서브넷에서 하나의 IP 주소가 사용됩니다.
- 엔드포인트 및 백엔드에 필요한 IP 주소 수를 추정할 때 멀티 테넌트 서비스 또는 Private Service Connect의 멀티 포인트 액세스를 사용하는 소비자를 고려합니다.
- TCP 또는 UDP 연결, 클라이언트 또는 소비자 VPC 네트워크의 수는 NAT 서브넷의 IP 주소 사용에 영향을 미치지 않습니다.
예를 들어 단일 서비스 연결에 두 개의 엔드포인트가 연결되어 있는 경우 NAT 서브넷에서 2개의 IP 주소가 사용됩니다. 엔드포인트 수가 변경되지 않으면 이 서비스 연결에 사용 가능한 IP 주소 4개가 있는 /29
서브넷을 사용할 수 있습니다.
NAT 서브넷 모니터링
NAT 서브넷에서 사용할 수 없는 IP 주소로 인해 Private Service Connect 연결이 실패하지 않도록 다음을 수행하는 것이 좋습니다.
private_service_connect/producer/used_nat_ip_addresses
서비스 연결 측정항목을 모니터링합니다. 사용되는 NAT IP 주소 수가 서비스 연결의 NAT 서브넷 용량을 초과하지 않는지 확인합니다.- 서비스 연결의 연결 상태를 모니터링합니다. 연결이 확인 필요 상태인 경우 연결의 NAT 서브넷에 사용 가능한 IP 주소가 더 이상 없을 수 있습니다.
- 멀티 테넌트 서비스의 경우 연결 한도를 사용하여 단일 소비자가 서비스 연결의 NAT 서브넷 용량을 소진하지 않도록 할 수 있습니다.
필요한 경우 트래픽을 중단하지 않고도 언제든지 NAT 서브넷을 서비스 연결에 추가할 수 있습니다.
NAT 사양
게시할 서비스를 설계할 때 Private Service Connect NAT의 다음 특성을 고려하세요.
UDP 매핑 유휴 제한 시간은 30초이며 구성할 수 없습니다.
TCP 설정 연결 유휴 제한 시간은 20분이며 구성할 수 없습니다.
클라이언트 연결 시간 초과 문제를 방지하려면 다음 중 하나를 실행하세요.
모든 연결이 20분 미만으로 유지되도록 합니다.
일부 트래픽이 20분마다 두 번 이상 전송되도록 합니다. 애플리케이션에서 하트비트 또는 keepalive를 사용하거나 TCP keepalive를 사용할 수 있습니다. 예를 들어 리전 내부 애플리케이션 부하 분산기 또는 리전 내부 프록시 네트워크 부하 분산기의 대상 프록시에서 keepalive를 구성할 수 있습니다.
TCP 임시 연결 유휴 제한 시간은 30초이며 구성할 수 없습니다.
5-튜플(NAT 서브넷 소스 IP 주소 및 소스 포트와 대상 프로토콜, IP 주소, 대상 포트)을 재사용하기 전에 2분의 지연 시간이 발생합니다.
Private Service Connect용 SNAT에서는 IP 조각을 지원하지 않습니다.
최대 연결 수
단일 제작자 VM은 단일 Private Service Connect 엔드포인트에서 최대 65,536개의 TCP 연결과 65,536개의 UDP 연결을 동시에 허용할 수 있습니다. Private Service Connect 엔드포인트가 모든 제작자 백엔드에서 집계할 수 있는 총 TCP 및 UDP 연결 수에는 제한이 없습니다. 소비자 VM은 Private Service Connect 엔드포인트에 TCP 또는 UDP 연결을 시작할 때 65,536개의 포트를 모두 사용할 수 있습니다. 모든 네트워크 주소 변환은 중앙에서 할당된 NAT 포트 풀이 필요하지 않은 프로듀서 호스트에서 로컬로 실행됩니다.
서비스 연결
서비스 프로듀서가 서비스 연결을 통해 서비스를 노출합니다.
서비스 프로듀서는 서비스를 노출하기 위해 서비스의 부하 분산기 전달 규칙을 참조하는 서비스 연결을 만듭니다.
서비스 소비자는 서비스에 액세스하기 위해 서비스 연결을 참조하는 엔드포인트를 만듭니다.
서비스 연결 URI 형식: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
단일 서비스 연결에서만 각 부하 분산기를 참조할 수 있습니다. 동일한 부하 분산기를 사용하는 서비스 연결을 여러 개 구성할 수 없습니다.
연결 환경설정
각 서비스 연결에는 연결 요청이 자동으로 허용되는지 여부를 지정하는 연결 환경설정이 있습니다. 메일을 처리하는 방법에는 세 가지가 있습니다.
- 모든 연결을 자동으로 허용. 서비스 연결은 모든 소비자의 모든 인바운드 연결 요청을 자동으로 허용합니다. 자동 수락은 수신 연결을 차단하는 조직 정책으로 재정의할 수 있습니다.
- 선택한 네트워크에 대한 연결 허용. 서비스 연결은 소비자 VPC 네트워크가 서비스 연결의 소비자 허용 목록에 있는 경우에만 인바운드 연결 요청을 수락합니다.
- 선택한 프로젝트에 대한 연결 수락. 서비스 연결은 소비자 프로젝트가 서비스 연결의 소비자 허용 목록에 있는 경우에만 인바운드 연결 요청을 수락합니다.
선택한 프로젝트 또는 네트워크에 대한 연결을 수락하는 것이 좋습니다. 다른 수단을 통해 소비자 액세스를 제어하고 서비스에 대한 권한 액세스를 사용 설정하려면 모든 연결을 자동으로 수락하는 것이 적합할 수 있습니다.
연결 상태
서비스 연결에는 연결의 상태를 설명하는 연결 상태가 있습니다. 자세한 내용은 연결 상태를 참조하세요.
소비자 허용 및 거부 목록
소비자 허용 목록 및 소비자 거부 목록은 서비스 연결의 보안 기능입니다. 허용 및 거부 목록을 사용하면 서비스 프로듀서는 서비스에 대한 Private Service Connect 연결을 설정할 수 있는 소비자를 지정할 수 있습니다. 소비자 허용 목록은 연결이 허용되는지 여부를 지정하고 소비자 거부 목록은 연결이 거부되는지 여부를 지정합니다. 두 목록 모두 연결 리소스의 VPC 네트워크 또는 프로젝트별로 소비자를 지정할 수 있습니다. 프로젝트 또는 네트워크를 허용 목록과 거부 목록에 모두 추가하면 해당 프로젝트나 네트워크의 연결 요청이 거부됩니다. 폴더별 소비자 지정은 지원되지 않습니다.
소비자 허용 목록과 소비자 거부 목록을 사용하면 프로젝트 또는 VPC 네트워크를 지정할 수 있지만 동시에 둘 다 지정할 수는 없습니다. 연결을 중단하지 않고 한 유형에서 다른 유형으로 목록을 변경할 수 있지만 업데이트 한 번으로 변경해야 합니다. 그러지 않으면 일부 연결이 일시적으로 대기 중인 상태로 변경될 수 있습니다.
소비자 허용 목록이 조직 정책과 상호작용하는 방식에 관한 자세한 내용은 소비자 허용 목록과 조직 정책 간의 상호작용을 참고하세요.
소비자 허용 목록 한도
소비자 허용 목록에는 연결 한도가 있습니다. 이 한도는 서비스 연결이 지정된 소비자 프로젝트 또는 VPC 네트워크에서 허용할 수 있는 Private Service Connect 엔드포인트 및 백엔드 연결의 총 수를 설정합니다.
프로듀서는 연결 한도를 사용하여 개별 소비자가 프로듀서 VPC 네트워크의 IP 주소 또는 리소스 할당량을 소진하지 못하도록 방지할 수 있습니다. 허용되는 각 Private Service Connect 연결은 소비자 프로젝트 또는 VPC 네트워크에 대해 구성된 한도에서 차감됩니다. 한도는 소비자 허용 목록을 create 업데이트할 때 설정됩니다. 서비스 연결을 설명할 때 서비스 연결의 연결을 볼 수 있습니다.
전파된 연결은 이 한도에 포함되지 않습니다.
예를 들어 서비스 연결에 project-1
및 project-2
가 포함된 소비자 허용 목록이 있고 둘 다 하나의 연결로 제한된다고 가정합니다. project-1
프로젝트는 연결 2개를 요청하고 project-2
는 연결 1개를 요청하며 project-3
은 연결 1개를 요청합니다. project-1
에는 연결 한도가 1개이므로 첫 번째 연결은 허용되고 두 번째 연결은 대기 상태로 유지됩니다.
project-2
의 연결은 허용되고 project-3
의 연결은 대기 상태로 유지됩니다. project-1
의 두 번째 연결은 project-1
의 한도를 늘려 허용할 수 있습니다. project-3
가 소비자 허용 목록에 추가되면 해당 연결이 대기 중에서 허용됨으로 전환됩니다.
연결 조정
연결 조정은 서비스 연결의 허용 또는 거부 목록 업데이트가 기존 Private Service Connect 연결에 영향을 줄 수 있는지 여부를 결정합니다. 연결 조정이 사용 설정된 경우 수락 또는 거부 목록을 업데이트하면 기존 연결이 종료될 수 있습니다. 이전에 거부된 연결이 수락될 수 있습니다. 연결 조정이 사용 중지된 경우 수락 또는 거부 목록을 업데이트하면 새 연결 및 대기 중인 연결에만 영향을 미칩니다.
예를 들어 Project-A
에서 여러 개의 연결이 허용된 서비스 연결을 생각해 보세요. Project-A
는 서비스 연결의 허용 목록에 있습니다. 허용 목록에서 Project-A
를 삭제하면 서비스 연결이 업데이트됩니다.
연결 조정이 사용 설정되면 Project-A
의 모든 기존 연결이 PENDING
으로 전환되어 두 VPC 네트워크 간의 네트워크 연결을 종료하고 네트워크 트래픽을 즉시 중지합니다.
연결 조정이 사용 중지된 경우 Project-A
의 기존 연결은 영향을 받지 않습니다. 네트워크 트래픽은 기존 Private Service Connect 연결 간에 계속 전송될 수 있습니다. 하지만 새 Private Service Connect 연결은 허용되지 않습니다.
새 서비스 연결에 대한 연결 조정을 구성하는 방법에 대한 자세한 내용은 명시적 승인으로 서비스 게시를 참고하세요.
기존 서비스 연결에 대한 연결 조정을 구성하는 방법에 관한 자세한 내용은 연결 조정 구성을 참고하세요.
전파된 연결
엔드포인트를 사용하여 서비스 연결에 연결하는 소비자는 연결 전파를 사용 설정할 수 있습니다. 전파된 연결을 사용하면 소비자 VPC 스포크의 워크로드는 두 VPC 네트워크가 엔드포인트를 통해 직접 연결된 것처럼 프로듀서 VPC 네트워크의 관리형 서비스에 액세스할 수 있습니다. 각 전파된 연결은 서비스 연결의 NAT 서브넷에서 IP 주소를 사용합니다.
게시된 서비스에 대한 세부정보를 볼 때 연결된 엔드포인트와 연결된 전파된 연결 수를 확인할 수 있습니다. 이 수에는 프로듀서의 전파된 연결 한도에 의해 차단된 전파된 연결은 포함되지 않습니다.
전파된 연결 한도
서비스 연결에는 전파된 연결 한도가 있어 서비스 프로듀서가 단일 소비자로부터 서비스 연결에 설정할 수 있는 전파된 연결 수를 제한할 수 있습니다. 지정되지 않은 경우 기본 전파된 연결 한도는 250개입니다.
- 서비스 연결의 연결 환경설정이
ACCEPT_MANUAL
인 경우 소비자 허용 목록에 나열된 각 프로젝트 또는 VPC 네트워크에 한도가 적용됩니다. - 연결 환경설정이
ACCEPT_AUTOMATIC
인 경우 연결된 엔드포인트를 포함하는 각 프로젝트에 한도가 적용됩니다.
소비자가 전파된 연결 한도를 초과하면 더 이상 전파된 연결이 생성되지 않습니다. 전파된 엔드포인트를 더 많이 만들려면 전파된 연결 한도를 늘리면 됩니다. 이 한도를 늘리면 새 연결이 업데이트된 한도를 초과하지 않는 한 Network Connectivity Center에서 한도로 인해 차단된 전파된 연결을 만듭니다. 이 한도를 업데이트해도 기존에 전파된 연결에는 영향을 미치지 않습니다.
할당량 소진 방지
프로듀서 VPC 네트워크에 액세스할 수 있는 모든 소비자의 Private Service Connect 엔드포인트 및 전파된 연결의 총 개수는 PSC ILB consumer forwarding rules per producer VPC network
할당량에 의해 제어됩니다.
특히 다중 테넌트 서비스의 경우 이 할당량이 소진되지 않도록 보호하는 것이 중요합니다.
다음 한도를 사용하여 할당량 소진을 방지할 수 있습니다.
- 소비자 허용 목록 연결 한도는 단일 소비자 VPC 네트워크 또는 프로젝트에서 서비스 연결에 대한 연결을 만들 수 있는 Private Service Connect 엔드포인트의 총 개수를 제어합니다. 이러한 한도를 낮추어도 기존 연결에는 영향을 미치지 않습니다. 이 한도는 전파된 연결에는 적용되지 않습니다.
- 전파된 연결 한도는 단일 소비자로부터 서비스 연결에 설정할 수 있는 전파된 연결의 총 개수를 제어합니다. 이 한도를 낮추어도 기존에 전파된 연결에는 영향을 미치지 않습니다.
예
다음 예시는 PSC ILB consumer forwarding rules per producer VPC network
할당량과 관련하여 전파된 연결 제한과 소비자 허용 목록 제한이 어떻게 작동하는지 보여줍니다.
소비자가 스포크 VPC 네트워크 spoke-vpc-1
에 엔드포인트 두 개를 만든 경우를 생각해 보겠습니다. 두 엔드포인트 모두 producer-vpc-1
의 service-attachment-1
에 연결됩니다. 스포크가 연결 전파가 사용 설정된 Network Connectivity Center 허브에 연결되어 있고 해당 허브에 연결된 다른 스포크가 없습니다.
서비스 프로듀서는 허용 목록의 각 프로젝트에 대해 소비자 허용 목록 한도가 4개가 되도록 service-attachment-1
을 구성했습니다. 프로듀서는 전파된 연결 한도를 2개로 구성하여 단일 프로젝트에 최대 2개의 전파된 연결이 있을 수 있다고 지정했습니다.
이 구성의 할당량 및 한도 사용량은 다음과 같습니다.
할당량/한도 | 사용 | 설명 |
---|---|---|
프로듀서 VPC 네트워크당 PSC ILB 소비자 전달 규칙 | 2 | 엔드포인트당 하나 |
consumer-project-1 에 대한 서비스 연결 소비자 허용 목록 연결 한도 |
2 | 엔드포인트당 하나 |
consumer-project-1 에 대한 서비스 연결 전파된 연결 한도 |
0 | 전파된 연결 없음 |
consumer-project-1
이 spoke-vpc-2
라는 다른 스포크를 spoke-vpc-1
과 동일한 Network Connectivity Center 허브에 연결한다고 가정해 보겠습니다. 이렇게 하면 consumer-project-1
에 기존 엔드포인트마다 하나씩 두 개의 전파된 연결이 생성됩니다.
이 구성의 할당량 및 한도 사용량은 다음과 같습니다.
할당량/한도 | 사용 | 설명 |
---|---|---|
프로듀서 VPC 네트워크당 PSC ILB 소비자 전달 규칙 | 4 | 엔드포인트당 하나, 전파된 연결당 하나 |
consumer-project-1 에 대한 서비스 연결 소비자 허용 목록 연결 한도 |
2 | 엔드포인트당 하나 |
consumer-project-1 에 대한 서비스 연결 전파된 연결 한도 |
2 | 전파된 연결당 하나 |
Consumer-project-1
의 전파된 연결 한도가 소진되었습니다. 소비자가 다른 VPC 스포크를 추가하면 Private Service Connect는 전파된 연결을 새로 만들지 않습니다.
다른 소비자가 consumer-project-2
에 두 개의 VPC 스포크가 있다고 가정해 보겠습니다. 스포크는 전파된 연결이 사용 설정된 Network Connectivity Center 허브에 연결됩니다. VPC 스포크 중 하나에는 service-attachment-1
에 연결되는 단일 엔드포인트가 포함되어 있습니다.
이 구성의 할당량 및 한도 사용량은 다음과 같습니다.
할당량/한도 | 사용 | 설명 |
---|---|---|
프로듀서 VPC 네트워크당 PSC ILB 소비자 전달 규칙 | 6 | consumer-project-1 에서 4개, consumer-project-2 에서 2개 |
consumer-project-1 에 대한 서비스 연결 소비자 허용 목록 연결 한도 |
2 | consumer-project-1 의 엔드포인트당 하나 |
consumer-project-2 에 대한 서비스 연결 소비자 허용 목록 연결 한도 |
1 | consumer-project-2 의 엔드포인트당 하나 |
consumer-project-1 에 대한 서비스 연결 전파된 연결 한도 |
2 | consumer-project-1 의 전파된 연결당 하나 |
consumer-project-2 에 대한 서비스 연결 전파된 연결 한도 |
1 | consumer-project-2 의 전파된 연결당 하나 |
DNS 구성
게시된 서비스 및 게시된 서비스에 연결되는 엔드포인트의 DNS 구성에 대한 자세한 내용은 서비스에 대한 DNS 구성을 참조하세요.
다중 리전 구성
다음 구성을 만들어 여러 리전에서 서비스를 사용할 수 있습니다.
프로듀서 구성:
각 리전에 서비스를 배포합니다. 서비스의 각 리전 인스턴스는 백엔드의 액세스를 지원하는 부하 분산기에 구성되어야 합니다.
서비스 연결을 만들어 서비스의 각 리전 인스턴스를 게시합니다.
소비자 구성:
백엔드를 만들어 게시된 서비스에 액세스합니다. 백엔드는 전역 외부 애플리케이션 부하 분산기를 기반으로 하며 다음 구성을 포함합니다.
해당 리전의 서비스 연결을 가리키는 각 리전의 Private Service Connect NEG입니다.
NEG 백엔드가 포함된 백엔드 서비스입니다.
이 구성에서 엔드포인트는 기본 전역 부하 분산 정책을 사용하여 트래픽을 라우팅합니다. 먼저 상태를 기준으로 한 다음 클라이언트에 가장 가까운 위치를 기준으로 합니다.
IP 버전 변환
게시된 서비스와 서비스 연결에 대한 Private Service Connect 엔드포인트 간의 연결의 경우 소비자 전달 규칙의 IP 주소의 IP 버전에 따라 엔드포인트의 IP 버전과 이그레스 트래픽이 결정됩니다. 엔드포인트의 IP 버전은 IPv4 또는 IPv6 중 하나일 수 있습니다(둘 다일 수 없음). 주소의 서브넷이 단일 스택인 경우 소비자는 IPv4 주소를 사용할 수 있습니다. 주소의 서브넷이 이중 스택인 경우 소비자는 IPv4 또는 IPv6 주소를 사용할 수 있습니다. 소비자는 IPv4 및 IPv6 엔드포인트를 모두 동일한 서비스 연결에 연결할 수 있으므로 서비스를 IPv6으로 마이그레이션하는 데 유용할 수 있습니다.
게시된 서비스 및 서비스 연결에 대한 Private Service Connect 엔드포인트 간의 연결의 경우 프로듀서 전달 규칙의 IP 버전에 따라 서비스 연결의 IP 버전과 서비스 연결을 이그레스하는 트래픽이 결정됩니다. 서비스 연결의 IP 버전은 IPv4 또는 IPv6일 수 있지만 둘 다일 수는 없습니다. 주소의 서브넷이 단일 스택인 경우 프로듀서는 IPv4 주소를 사용할 수 있습니다. 주소의 서브넷이 이중 스택인 경우 프로듀서는 IPv4 또는 IPv6 주소를 사용할 수 있습니다.
프로듀서 전달 규칙 IP 주소의 IP 버전은 서비스 연결의 NAT 서브넷의 스택 유형과 호환되어야 합니다. 프로듀서 전달 규칙이 IPv4인 경우 NAT 서브넷은 단일 스택 또는 이중 스택일 수 있습니다. 프로듀서 전달 규칙이 IPv6인 경우 NAT 서브넷은 이중 스택이어야 합니다.
Private Service Connect는 IPv4 엔드포인트와 IPv6 서비스 연결을 지원하지 않습니다. 이 경우 다음 오류 메시지와 함께 엔드포인트 만들기가 실패합니다.
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
지원되는 구성에는 다음 조합을 사용할 수 있습니다.
- IPv4 엔드포인트에서 IPv4로 서비스 연결
- IPv6 엔드포인트에서 IPv6으로 서비스 연결
-
IPv4 엔드포인트에서 IPv4로 서비스 연결
이 구성에서 Private Service Connect는 두 IP 버전 간에 자동으로 변환됩니다.
Private Service Connect 백엔드와 서비스 연결 간의 연결의 경우 소비자 및 프로듀서 전달 규칙 모두 IPv4를 사용해야 합니다.
특징 및 호환성
다음 표에서 체크표시는 기능이 지원된다는 것을, 기호가 없으면 기능이 지원되지 않는다는 것을 나타냅니다.
선택한 프로듀서 부하 분산기에 따라 프로듀서 서비스는 엔드포인트, 백엔드 또는 둘 다의 액세스를 지원할 수 있습니다.
엔드포인트 지원
이 섹션에서는 엔드포인트를 사용하여 게시 서비스에 액세스할 때 소비자와 생산자가 사용할 수 있는 구성 옵션을 요약합니다.
소비자 구성
다음 표에는 게시된 서비스에 액세스하는 엔드포인트의 지원되는 구성 옵션과 기능이 요약되어 있습니다.
소비자 구성(엔드포인트) | 프로듀서 부하 분산기 | |||
---|---|---|---|---|
내부 패스 스루 네트워크 부하 분산기 | 리전 내부 애플리케이션 부하 분산기 | 리전 내부 프록시 네트워크 부하 분산기 | 내부 프로토콜 전달(대상 인스턴스) | |
소비자 전역 액세스 |
부하 분산기의 전역 액세스 설정과 별개 |
서비스 연결이 생성되기 전에 부하 분산기에 전역 액세스가 사용 설정된 경우에만 |
서비스 연결이 생성되기 전에 부하 분산기에 전역 액세스가 사용 설정된 경우에만 |
부하 분산기의 전역 액세스 설정과 별개 |
Cloud VPN 트래픽 | ||||
자동 DNS 구성 | IPv4 전용 | IPv4 전용 | IPv4 전용 | IPv4 전용 |
연결 전파 | IPv4 전용 | IPv4 전용 | IPv4 전용 | IPv4 전용 |
IPv4 엔드포인트 |
|
|
|
|
IPv6 엔드포인트 |
|
|
|
|
프로듀서 구성
다음 표에는 엔드포인트에서 액세스하는 게시된 서비스의 지원되는 구성 옵션과 기능이 요약되어 있습니다.
프로듀서 구성(게시된 서비스) | 프로듀서 부하 분산기 | |||
---|---|---|---|---|
내부 패스 스루 네트워크 부하 분산기 | 리전 내부 애플리케이션 부하 분산기 | 리전 내부 프록시 네트워크 부하 분산기 | 내부 프로토콜 전달(대상 인스턴스) | |
지원되는 프로듀서 백엔드 |
|
|
|
해당 사항 없음 |
프록시 프로토콜 | TCP 트래픽만 | TCP 트래픽만 | ||
세션 어피니티 모드 | NONE(5-튜플) CLIENT_IP_PORT_PROTO |
해당 사항 없음 | 해당 사항 없음 | 해당 사항 없음 |
IP 버전 |
|
|
|
|
부하 분산기마다 지원하는 포트 구성이 다릅니다. 일부 부하 분산기는 단일 포트를 지원하고, 일부 부하 분산기는 포트 범위를 지원하고, 일부 포트는 모든 포트를 지원합니다. 자세한 내용은 포트 사양을 참조하세요.
백엔드 지원
게시된 서비스용 Private Service Connect 백엔드에는 소비자 부하 분산기와 프로듀서 부하 분산기라는 두 가지 부하 분산기가 필요합니다. 이 섹션에서는 백엔드를 사용하여 게시 서비스에 액세스할 때 소비자와 생산자가 사용할 수 있는 구성 옵션을 요약합니다.
소비자 구성
이 표에서는 게시된 서비스의 Private Service Connect 백엔드에서 지원하는 소비자 부하 분산기와 각 소비자 부하 분산기에서 사용할 수 있는 백엔드 서비스 프로토콜을 설명합니다. 소비자 부하 분산기는 지원되는 프로듀서 부하 분산기에 호스팅되는 게시된 서비스에 액세스할 수 있습니다.
소비자 부하 분산기 | 프로토콜 | IP 버전 |
---|---|---|
참고: 기본 애플리케이션 부하 분산기는 지원되지 않습니다. |
|
IPv4 |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
이 부하 분산기를 Private Service Connect NEG와 연결하려면 Google Cloud CLI를 사용하거나 API 요청을 전송합니다. 참고: 기본 프록시 네트워크 부하 분산기는 지원되지 않습니다. |
|
IPv4 |
프로듀서 구성
다음 표에서는 게시된 서비스의 Private Service Connect 백엔드에서 지원하는 프로듀서 부하 분산기의 구성을 설명합니다.
구성 | 프로듀서 부하 분산기 | ||
---|---|---|---|
내부 패스 스루 네트워크 부하 분산기 | 리전 내부 애플리케이션 부하 분산기 | 리전 내부 프록시 네트워크 부하 분산기 | |
지원되는 프로듀서 백엔드 |
|
|
|
전달 규칙 프로토콜 |
|
|
|
전달 규칙 포트 | 단일 포트를 사용하는 것이 좋습니다. 프로듀서 포트 구성을 참고하세요. | 단일 포트 지원 | 단일 포트 지원 |
프록시 프로토콜 | |||
IP 버전 | IPv4 | IPv4 | IPv4 |
프로듀서 포트 구성
소비자 백엔드가 내부 패스 스루 네트워크 부하 분산기에 호스팅된 게시된 서비스에 연결하면 Google Cloud는 소비자가 사용할 포트를 선택합니다. 포트는 프로듀서의 전달 규칙 포트 구성에 따라 선택됩니다. 제작자 부하 분산기에 대한 전달 규칙을 만들 때 다음 사항을 고려하세요.
- 단일 포트를 지정하는 것이 좋습니다. 이 구성에서 소비자 백엔드는 동일한 포트를 사용합니다.
여러 포트를 지정하는 경우 다음 사항이 적용됩니다.
- 포트
443
이 포함된 경우 소비자 백엔드는 포트443
을 사용합니다. - 포트
443
이 포함되지 않은 경우 소비자 백엔드는 목록이 알파벳순으로 정렬된 후 목록의 첫 번째 포트를 사용합니다. 예를 들어 포트80
과 포트1111
을 지정하면 소비자 백엔드는 포트1111
을 사용합니다. 프로듀서 백엔드에서 사용하는 포트를 변경하면 소비자에 대한 서비스가 중단될 수 있습니다.
예를 들어 포트
443
및8443
을 사용하는 전달 규칙과 포트443
및8443
에서 응답하는 백엔드 VM으로 게시된 서비스를 만든다고 가정해 보겠습니다. 소비자 백엔드가 이 서비스에 연결되면 통신에 포트443
을 사용합니다.포트
8443
에서만 응답하도록 백엔드 VM을 변경하면 소비자 백엔드는 더 이상 게시된 서비스에 연결할 수 없습니다.
- 포트
--port=ALL
을 사용하지 마세요. 이 구성을 사용하면 소비자 백엔드에서 포트1
을 사용하므로 작동하지 않습니다.
공유 VPC
서비스 프로젝트 관리자는 공유 VPC 네트워크의 리소스에 연결되는 서비스 첨부파일을 공유 VPC 서비스 프로젝트에 만들 수 있습니다.
구성은 다음을 제외하고 일반 서비스 연결과 동일합니다.
- 프로듀서 부하 분산기의 전달 규칙은 공유 VPC 네트워크의 IP 주소와 연결됩니다. 전달 규칙의 서브넷은 서비스 프로젝트와 공유되어야 합니다.
- 서비스 연결에는 공유 VPC 네트워크의 Private Service Connect 서브넷을 사용합니다. 이 서브넷은 서비스 프로젝트와 공유되어야 합니다.
로깅
백엔드 VM이 포함된 서브넷에 VPC 흐름 로그를 사용 설정할 수 있습니다. 로그에는 Private Service Connect 서브넷의 백엔드 VM과 IP 주소 간의 흐름이 표시됩니다.
VPC 서비스 제어
VPC 서비스 제어와 Private Service Connect는 서로 호환됩니다. Private Service Connect 엔드포인트가 배포된 VPC 네트워크가 VPC 서비스 제어 경계에 있으면 엔드포인트가 동일한 경계에 속합니다. 엔드포인트를 통해 액세스하는 모든 VPC 서비스 제어 지원 서비스에는 해당 VPC 서비스 제어 경계의 정책이 적용됩니다.
엔드포인트를 만들면 소비자 프로젝트와 제작자 프로젝트 간에 제어 영역 API 호출이 수행되어 Private Service Connect 연결이 설정됩니다. 동일한 VPC 서비스 제어 경계에 없는 소비자 프로젝트와 제작자 프로젝트 간에 Private Service Connect 연결을 설정하려면 이그레스 정책을 사용한 명시적 승인이 필요하지 않습니다. 엔드포인트를 통한 VPC 서비스 제어 지원 서비스와의 통신은 VPC 서비스 제어 경계로 보호됩니다.
소비자 연결 정보 보기
기본적으로 Private Service Connect는 소비자의 소스 IP 주소를 서비스 제작자의 VPC 네트워크에 있는 Private Service Connect 서브넷 중 하나의 주소로 변환합니다. 소비자의 원래 소스 IP 주소를 보려면 서비스를 게시할 때 PROXY 프로토콜을 사용 설정하면 됩니다. Private Service Connect는 PROXY 프로토콜 버전 2를 지원합니다.
모든 서비스가 PROXY 프로토콜을 지원하지는 않습니다. 자세한 내용은 기능 및 호환성을 참조하세요.
PROXY 프로토콜이 사용 설정되면 PROXY 프로토콜 헤더에서 소비자의 소스 IP 주소와 PSC 연결 ID(pscConnectionId
)를 가져올 수 있습니다.
PROXY 프로토콜 헤더의 형식은 소비자 엔드포인트의 IP 버전에 따라 다릅니다. 서비스 연결의 부하 분산기에 IPv6 주소가 있는 경우 소비자는 IPv4 주소와 IPv6 주소로 모두 연결할 수 있습니다. 수신할 트래픽의 IP 버전에 대한 PROXY 프로토콜 헤더를 수신하고 읽도록 애플리케이션을 구성합니다.
전파된 연결을 통해 전송되는 소비자 트래픽의 경우 소비자의 소스 IP 주소와 PSC 연결 ID는 전파된 Private Service Connect 엔드포인트를 참조합니다.
서비스 연결에 PROXY 프로토콜을 사용 설정하면 변경사항이 새 연결에만 적용됩니다. 기존 연결에는 PROXY 프로토콜 헤더가 포함되지 않습니다.
프록시 프로토콜을 사용 설정하는 경우 클라이언트 연결 TCP 페이로드에서 수신 PROXY 프로토콜 헤더를 파싱하고 처리하는 방법에 대한 자세한 내용은 백엔드 웹 서버 소프트웨어 문서를 참조하세요. 서비스 연결에서 PROXY 프로토콜이 사용 설정되어 있지만 백엔드 웹 서버가 PROXY 프로토콜 헤더를 처리하도록 구성되지 않았으면 웹 요청이 잘못된 형식일 수 있습니다. 요청의 형식이 잘못된 경우 서버는 요청을 해석할 수 없습니다.
Private Service Connect 연결 ID(pscConnectionId
)는 PROXY 프로토콜 헤더에 유형-길이-값(TLV) 형식으로 인코딩됩니다.
필드 | 필드 길이 | 필드 값 |
---|---|---|
유형 | 1바이트 | 0xE0 (PP2_TYPE_GCP)
|
길이 | 2바이트 | 0x8 (8바이트) |
값 | 8바이트 | 네트워크 순서에서 8바이트 pscConnectionId |
소비자 전달 규칙 또는 프로듀서 서비스 첨부파일에서 8바이트 pscConnectionId
값을 확인할 수 있습니다.
pscConnectionId
값은 지정된 시점에 모든 활성 연결에 대해 전역적으로 고유합니다. 하지만 시간이 지남에 따라 이러한 시나리오에서 pscConnectionId
가 재사용될 수 있습니다.
지정된 VPC 네트워크 내에서 엔드포인트(전달 규칙)를 삭제하고 동일한 IP 주소를 사용해서 새 엔드포인트를 만드는 경우 동일한
pscConnectionId
값이 사용될 수 있습니다.7일 대기 기간이 지난 후 엔드포인트(전달 규칙)가 포함된 VPC 네트워크를 삭제하면 해당 엔드포인트에 사용된
pscConnectionId
값이 다른 VPC 네트워크의 다른 엔드포인트에 사용될 수 있습니다.
디버깅 및 패킷 소스 추적을 위해 pscConnectionId
값을 사용할 수 있습니다.
별도의 16바이트 Private Service Connect 서비스 연결 ID(pscServiceAttachmentId
) ID는 프로듀서 서비스 연결에서 사용할 수 있습니다.
pscServiceAttachmentId
값은 Private Service Connect 서비스 연결을 식별하는 전역적으로 고유한 ID입니다. 가시성 및 디버깅용으로 pscServiceAttachmentId
값을 사용할 수 있습니다. 이 값은 PROXY 프로토콜 헤더에 포함되지 않습니다.
가격 책정
Private Service Connect의 가격은 VPC 가격 책정 페이지에 설명되어 있습니다.
할당량
프로듀서 VPC 네트워크에 액세스할 수 있는 모든 소비자의 Private Service Connect 엔드포인트 및 전파된 연결의 총 수는 PSC ILB consumer forwarding rules per producer VPC network
할당량에 따라 제어됩니다.
연결된 서비스 연결이 삭제되거나 연결을 거부하도록 구성되더라도 엔드포인트는 삭제될 때까지 이 할당량에 기여합니다. 전파된 연결은 Network Connectivity Center 허브에서 연결 전파가 사용 중지되거나 전파된 연결의 스포크가 삭제되더라도 연결된 엔드포인트가 삭제될 때까지 이 할당량에 기여합니다.
온프레미스 액세스
Private Service Connect 서비스는 엔드포인트를 사용하여 제공됩니다. 이러한 엔드포인트는 지원되는 연결된 온프레미스 호스트에서 액세스될 수 있습니다. 자세한 내용은 온프레미스 호스트에서 엔드포인트 액세스를 참조하세요.
제한사항
게시된 서비스의 제한사항은 다음과 같습니다.
- 프로듀서 부하 분산기가 다음 기능을 지원하지 않습니다.
- 공유 IP 주소를 사용하는 복수의 전달 규칙(
SHARED_LOADBALANCER_VIP
) - 백엔드 하위 설정
- 패킷 미러링은 Private Service Connect의 게시된 서비스 트래픽의 패킷을 미러링할 수 없습니다.
- 내부 프로토콜 전달에 사용되는 전달 규칙을 가리키는 서비스 연결을 만들려면 Google Cloud CLI 또는 API를 사용해야 합니다.
문제 및 해결 방법은 알려진 문제를 참조하세요.