비공개 서비스 액세스 사용 설정

서비스 제작자는 서비스 소비자가 비공개(RFC 1918) 또는 공개 IP 주소로 리소스를 프로비저닝하도록 허용할 수 있습니다. 비공개 IP 주소를 사용하려는 서비스 소비자는 비공개 서비스 액세스를 사용해야 합니다. 하지만 서비스 소비자는 관리형 서비스가 제공하는 경우에만 비공개 서비스 액세스를 사용할 수 있습니다. 비공개 연결을 제공하려면 일회성 온보딩 프로세스를 완료해야 합니다.

온보딩 프로세스를 수행하려면 Service Networking API 및 테넌시 유닛을 사용해야 합니다. 자세한 단계별 지침은 Google 담당자에게 문의하세요.

개요

다음 섹션에서는 관리형 서비스에 비공개 서비스 액세스를 사용 설정하는 데 필요한 구성요소 및 일반 네트워크 토폴로지를 설명합니다.

테넌시 유닛

서비스 소비자가 관리형 서비스를 사용 설정한 경우에는 서비스가 Google Cloud 조직과 서비스 소비자의 프로젝트 사이의 관계를 형식화하기 위해 테넌시 유닛을 만듭니다. 테넌시 유닛은 서비스 소비자별로 리소스와 청구 비용을 분리합니다.

각 서비스 소비자에는 두 개의 테넌시 유닛이 있습니다. 하나는 관리형 서비스용이고 다른 하나는 비공개 액세스 관리 서비스용입니다. 관리형 서비스는 서비스 소비자에게 제공하는 외부 서비스이며, 비공개 액세스 관리 서비스는 서비스 소비자 VPC 네트워크와의 비공개 연결을 관리합니다. 이러한 테넌시 유닛은 관리형 서비스가 있는 동일한 Google Cloud 조직에 있어야 합니다.

서비스 네트워킹

서비스 네트워킹은 서비스 제작자와 서비스 소비자 간의 비공개 연결 설정(VPC 네트워크 피어링 사용)을 자동화합니다. 비공개 액세스 관리 서비스를 만든 프로젝트에서 서비스 네트워킹을 사용 설정하고 사용하세요. 이는 관리형 서비스가 포함된 프로젝트와 다른 프로젝트입니다.

서비스 소비자가 관리형 서비스와의 비공개 연결을 설정하면 서비스 네트워킹은 공유 VPC 호스트 프로젝트공유 VPC 네트워크를 자동으로 생성합니다. 호스트 프로젝트 및 네트워크는 조직의 미리 지정된 Google Cloud 폴더에 생성됩니다. 이 폴더 이름은 온보딩 프로세스 중에 지정합니다. 프로젝트와 네트워크는 테넌시 유닛에 포함되어 있으므로 격리되어 있으며 해당 서비스 소비자만 사용할 수 있습니다.

서비스 네트워킹은 공유 VPC 네트워크를 만든 후 공유 VPC 네트워크와 서비스 소비자의 VPC 네트워크 사이에 VPC 네트워킹 피어링 연결을 자동으로 설정합니다.

서비스 소비자는 비공개 연결을 설정할 때 할당된 IP 주소 범위도 지정해야 합니다. 이 할당은 서비스 제작자만 사용할 수 있는 IP 주소를 예약합니다. 예를 들어 서비스 소비자가 리소스를 프로비저닝할 때 서비스 제작자는 서비스 네트워킹을 사용하여 공유 VPC 네트워크에 서브넷을 만듭니다. 서브넷의 IP 주소 범위는 할당된 범위 내에서 서비스 네트워킹이 자동으로 선택합니다. 이 프로세스는 공유 VPC 네트워크와 서비스 소유자 VPC 네트워크 간의 충돌을 방지합니다.

공유 VPC 서비스 프로젝트

서비스에서 처음으로 서비스 소비자의 리소스를 프로비저닝하면 관리형 서비스가 서비스 네트워킹 호스트 프로젝트에 연결된 공유 VPC 서비스 프로젝트에 해당 리소스를 프로비저닝합니다. 이러한 공유 VPC 관계를 통해 서비스 프로젝트의 리소스가 공유 VPC 네트워크의 서브넷을 사용할 수 있습니다.

관리형 서비스는 온보딩 프로세스 중에 미리 지정된 폴더와 테넌시 유닛에 서비스 프로젝트를 만듭니다. 이 폴더와 테넌시 유닛은 관리형 서비스와 관련이 있으며 서비스 네트워킹이 사용하는 것과는 다릅니다.

네트워크 토폴로지

다음 예에서는 단일 서비스 제작자에 대한 비공개 연결이 설정된 단일 서비스 소비자를 보여줍니다. 이 서비스 소비자는 여러 리전에 두 개의 리소스를 프로비저닝했습니다. 각 리소스는 다른 리전에 있으므로 다른 서브넷에 있습니다.

서비스 제작자의 서비스 네트워킹 개요(확대하려면 클릭)
  • 엔드포인트 프로젝트는 두 개가 있는데, 하나는 관리형 서비스용이고 다른 하나는 비공개 액세스 관리 서비스용입니다. 이들은 동일한 Google Cloud 조직에 있어야 합니다.

  • Google Cloud 조직 내에는 각 Endpoints 서비스를 위한 2개의 폴더가 있습니다. 비공개 액세스 관리 서비스 폴더에는 비공개 연결용 공유 VPC 호스트 프로젝트가 있습니다. 관리형 서비스 폴더에는 서비스 소비자 리소스용 서비스 프로젝트가 포함됩니다.

    • 각 폴더에서 서비스 소비자 관련 프로젝트는 테넌시 유닛에 포함됩니다. 두 테넌시 유닛이 모두 consumer-project-a와 연결됩니다.
  • 서비스 소비자는 비공개 연결(VPC 네트워크 피어링 연결이기도 함)을 시작해야 합니다. 서브넷 IP 주소가 수신되는 비공개 연결에 할당된 IP 주소 범위를 제공해야 합니다. 서비스 소비자 단계에 대한 자세한 내용은 비공개 서비스 액세스 구성을 참조하세요.

    • 여러 서비스를 제공하는 경우 서비스 소비자는 하나의 비공개 연결만 필요로 합니다. 서비스 소비자와 주고받는 모든 트래픽은 공유 VPC 호스트 프로젝트를 거칩니다.
  • 단일 서비스 소비자 프로젝트에서 여러 VPC 네트워크가 비공개로 서비스에 연결할 수 있습니다. 이 경우 연결된 VPC 네트워크마다 공유 VPC 호스트 프로젝트가 필요합니다. 그러나 이러한 프로젝트 모두 동일한 consumer-project-a 테넌시 유닛에 포함될 수 있습니다.

  • 호스트 프로젝트에서 방화벽 규칙 및 경로를 구성하여 새 리소스에 대한 연결을 사용 설정해야 합니다. 다른 서비스가 동일한 공유 VPC 네트워크를 사용할 수 있으므로 이러한 규칙은 서로 다른 서비스 간의 연결을 허용하거나 거부할 수 있습니다.

온보딩 프로세스

다음은 온보딩 프로세스의 일반적인 개요 목록입니다. 비공개 연결을 제공할 관리형 서비스마다 이 프로세스를 완료해야 합니다. 자세한 내용은 Google 담당자에게 문의하세요.

  1. 피어링 관리 서비스를 만듭니다.

    이는 서비스 제작자가 Service Management and Endpoints API를 통해 빌드하는 관리형 서비스입니다. 자세한 내용은 Google 담당자에게 문의하세요.

  2. Google 담당자에게 다음 구성 정보를 제공합니다.

    • 서비스 소비자가 서비스 제작자에게 연결할 때 할당해야 하는 최소 IP 주소 범위(IPv4 프리픽스 길이로 지정). 여러 서비스를 제공하는 경우 사용자가 /16과 같이 더 큰 IP 주소 범위를 할당하도록 하는 것이 좋습니다.
    • 비공개 액세스 관리 서비스가 공유 VPC 호스트 프로젝트를 만드는 폴더 ID. Resource Manager를 사용하여 폴더 ID를 확인하세요.
    • 비공개 액세스 관리 서비스가 공유 VPC 호스트 프로젝트를 만드는 조직과 연결된 결제 계정
    • 호스트 프로젝트의 네트워크 방화벽 규칙을 관리하는 주 구성원(일반적으로 서비스 계정 ID)
  3. Compute Engine API를 활성화합니다.

    각 공유 VPC 호스트 프로젝트에 대해 compute.googleapis.com API를 활성화합니다. 이 작업은 Service Usage API를 사용하거나 프로젝트 구성에서 수행할 수 있습니다.

    리소스가 프로비저닝된 후 호스트 프로젝트에 공유 VPC 네트워크의 방화벽 규칙을 구성합니다. VPC 네트워크에 액세스할 때는 온보드 프로세스 중에 지정한 ID를 사용해야 합니다. 다른 서비스를 제공하는 경우 해당 서비스가 동일한 VPC 네트워크를 사용할 수도 있습니다. 다른 서비스로 가는 트래픽을 실수로 허용하거나 거부할 수 있는 규칙을 만들지 마세요.

  4. 서비스 소비자에게 알려줍니다.

    서비스 소비자에게 비공개 연결을 설정해야 한다고 알려주세요. 자세한 내용은 비공개 서비스 액세스 구성을 참조하세요. 서비스 소비자는 다음 정보를 제공해야 합니다.

    • 비공개 연결을 설정하려는 프로젝트 및 네트워크의 이름
    • 리소스를 프로비저닝해야 하는 Cloud 리전

다음 단계