비공개 연결

개요

비공개 연결은 Datastream이 내부 IP 주소를 사용해서 리소스와 통신할 수 있게 해주는 Virtual Private Cloud(VPC) 네트워크와 Datastream의 비공개 네트워크 사이의 연결입니다. 비공개 연결을 사용하면 Datastream 네트워크에서 전용 연결이 설정되어 다른 고객이 이를 공유할 수 없습니다.

비공개 연결을 사용하여 Datastream을 모든 소스에 연결할 수 있습니다. 하지만 직접 피어링된 VPC 네트워크만 서로 통신할 수 있습니다.

전환 피어링은 지원되지 않습니다. Datastream이 피어링된 네트워크가 소스가 호스팅된 네트워크가 아니면 리버스 프록시가 필요합니다. 소스가 Cloud SQL일 때 그리고 소스가 다른 VPC에서 호스팅되거나 Google 네트워크 외부에서 호스팅될 때 리버스 프록시가 모두 필요합니다.

이 페이지에서는 프록시를 사용하여 Datastream과 Cloud SQL 사이에 또는 Datastream과 다른 VPC에서 또는 Google 네트워크 외부에서 호스팅되는 소스 사이에 비공개 연결을 설정하는 방법을 알아봅니다.

Cloud SQL에 리버스 프록시가 필요한 이유는 무엇인가요?

비공개 IP 주소를 사용하도록 MySQL용 Cloud SQL 또는 PostgreSQL용 Cloud SQL 인스턴스를 구성할 때는 Cloud SQL 인스턴스가 있는 기본 Google 서비스의 VPC 네트워크와 사용자의 VPC 네트워크 사이에 VPC 피어링 연결을 사용합니다.

Datastream 네트워크가 Cloud SQL의 비공개 서비스 네트워크와 직접 피어링될 수 없고 VPC 피어링이 전환형이 아니기 때문에 Datastream에서 Cloud SQL 인스턴스로 연결을 설정하기 위해 Cloud SQL에 대한 리버스 프록시가 필요합니다.

다음 다이어그램은 리버스 프록시를 사용해서 Datastream과 Cloud SQL 사이에 비공개 연결을 설정하는 방법을 보여줍니다.

Datastream 사용자 흐름 다이어그램

다른 VPC에서 호스팅되는 소스에 리버스 프록시가 필요한 이유는 무엇인가요?

Datastream의 VPC 네트워크가 VPC 네트워크('Network1')와 피어링되었고 다른 VPC 네트워크('Network2')에서 소스에 액세스할 수 있으면 Datastream이 VPC 네트워크 피어링만 사용하여 소스와 통신할 수 없습니다. 또한 Datastream과 소스 사이의 연결을 설정하기 위해 역방향 프록시가 필요합니다.

다음 다이어그램은 역방향 프록시를 사용하여 Datastream과 Google 네트워크 외부에 호스팅되는 소스 사이의 비공개 연결을 설정하는 방법을 보여줍니다.

Datastream 사용자 흐름 다이어그램

역방향 프록시 설정

  1. Datastream이 소스에 연결하는 데 사용되는 VPC 네트워크를 식별합니다.
  2. 이 VPC 네트워크에서 기본 Debian 또는 Ubuntu 이미지를 사용하여 새 가상 머신(VM)을 만듭니다. 이 VM은 리버스 프록시를 호스팅합니다.
  3. 서브넷이 Datastream과 동일한 리전에 있고 역방향 프록시가 트래픽을 소스로 전달하고 그 반대로는 전달하지 않는지 확인합니다.
  4. SSH를 사용하여 프록시 VM에 연결합니다. SSH 연결에 대한 자세한 내용은 SSH 연결 정보를 참조하세요.
  5. 프록시 VM에서 소스의 내부 IP 주소 및 포트로 ping 또는 telnet 명령어를 실행하여 VM이 소스와 통신할 수 있는지 확인합니다.
  6. 프록시 VM에서 다음 코드를 사용하여 시작 스크립트를 만듭니다. 시작 스크립트에 대한 자세한 내용은 Linux VM에서 시작 스크립트 사용을 참조하세요.

    #! /bin/bash
    
    export DB_ADDR=[IP]
    export DB_PORT=[PORT]
    
    export ETH_NAME=$(ip -o link show | awk -F': ' '{print $2}' | grep -v lo)
    
    export LOCAL_IP_ADDR=$(ip -4 addr show $ETH_NAME | grep -Po 'inet \K[\d.]+')
    
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -p tcp -m tcp --dport $DB_PORT -j DNAT \
    --to-destination $DB_ADDR:$DB_PORT
    iptables -t nat -A POSTROUTING -j SNAT --to-source $LOCAL_IP_ADDR
    

    스크립트는 VM이 재부팅될 때마다 실행됩니다.

  7. Datastream에서 비공개 연결 구성을 만들어 사용자의 VPC와 Datastream의 VPC 사이의 VPC 피어링을 설정합니다.

  8. 방화벽 규칙이 비공개 연결을 위해 선택된 IP 주소 범위의 트래픽을 허용하는지 확인합니다.

  9. Datastream에서 연결 프로필을 만듭니다.

리버스 프록시 설정 권장사항

이 섹션에서는 게이트웨이 및 프록시 VM을 설정할 때 사용할 권장사항을 설명합니다.

머신 유형

가장 적합한 머신 유형을 결정하려면 간단한 설정에서 시작하여 부하와 처리량을 측정하세요. 사용량이 적고 문제 없이 최대 처리량이 처리되는 경우 CPU 수와 메모리 양을 줄이는 것이 좋습니다. 예를 들어 처리량이 최대 2GBps인 경우 n1-standard-1 머신 유형을 선택합니다. 처리량이 2GBps를 초과하는 경우 e2-standard-2 머신 유형을 선택합니다. e2-standard-2 유형은 효율성 향상을 위한 비용 효율적인 구성입니다.

아키텍처 유형

고가용성이 낮은(HA 이외) 인스턴스

원하는 운영체제에서 단일 VM을 배포합니다. 복원력 향상을 위해 단일 VM에 관리형 인스턴스 그룹(MIG)을 사용할 수 있습니다. VM이 비정상 종료되면 MIG는 실패한 인스턴스를 다시 만들어 자동으로 복구합니다. 자세한 내용은 인스턴스 그룹을 참조하세요.

고가용성(HA) 인스턴스

두 VM이 각각 다른 리전(해당되는 경우) 또는 다른 영역에 있는 MIG를 설정합니다. MIG를 만들려면 그룹에서 사용할 수 있는 인스턴스 템플릿이 있어야 합니다. MIG는 내부 다음 홉 IP 주소를 사용하여 내부 레이어 4 부하 분산기 뒤에 생성됩니다.

다음 단계