Private Service Connect를 사용하여 관리형 서비스 액세스

Private Service Connect를 사용하면 VPC 네트워크에서 내부 IP 주소가 있는 엔드포인트를 사용하여 서비스 제작자에 연결할 수 있습니다.

이 문서에서는 Private Service Connect 엔드포인트를 사용하여 다른 VPC 네트워크의 지원되는 서비스에 연결하는 방법을 설명합니다. 자신의 고유 서비스 또는 다른 서비스 제작자가 제공한 서비스에 연결할 수 있습니다. 자세한 내용은 서비스 게시를 참조하세요.

역할

다음 IAM 역할은 이 가이드의 작업을 수행하는 데 필요한 권한을 제공합니다.

작업 역할
Private Service Connect 엔드포인트 만들기 두 역할 모두:
Compute 네트워크 관리자(roles/compute.networkAdmin) 및
서비스 디렉터리 편집자(roles/servicedirectory.editor)
Private Service Connect 엔드포인트의 DNS 항목을 자동 또는 수동으로 구성 DNS 관리자 (roles/dns.admin)

시작하기 전에

  • 프로젝트에서 Compute Engine API사용 설정해야 합니다.

  • 프로젝트에서 서비스 디렉터리 API사용 설정해야 합니다.

  • 프로젝트에서 Cloud DNS API사용 설정해야 합니다.

  • 이그레스 방화벽 규칙은 Private Service Connect 엔드포인트의 내부 IP 주소로 트래픽을 허용해야 합니다. 묵시적 이그레스 허용 방화벽 규칙은 대상 IP 주소로의 이그레스를 허용합니다.

    VPC 네트워크에서 이그레스 거부 방화벽 규칙을 만들었거나 묵시적으로 허용되는 이그레스 동작을 수정하는 계층적 방화벽 정책을 만들었으면 엔드포인트에 대한 액세스에 영향을 줄 수 있습니다. 서비스 엔드포인트의 내부 IP 주소 대상의 트래픽을 허용하도록 특정 이그레스 허용 방화벽 규칙 또는 정책을 만듭니다.

  • 이 서비스에는 서비스 연결 URI가 있어야 합니다. 예를 들면 projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME입니다.

  • compute.googleapis.com, servicedirectory.googleapis.com, 또는 dns.googleapis.com을 제한하는 VPC 서비스 제어 경계로 보호되는 프로젝트에서 Private Service Connect 엔드포인트를 만드는 경우 추가 구성이 필요합니다. 엔드포인트를 만들기 전에 VPC 서비스 제어의 인그레스 및 이그레스 규칙을 만들어야 합니다. 자세한 내용은 VPC 서비스 제어의 인그레스 및 이그레스 규칙 구성을 참조하세요.

제한사항

  • 피어링된 VPC 네트워크에서 Private Service Connect 엔드포인트에 액세스할 수 없습니다.

  • Cloud Interconnect 연결(VLAN)을 사용하여 VPC에 연결된 온프레미스 환경에서 다른 VPC 네트워크의 서비스에 액세스하기 위해 사용되는 Private Service Connect 엔드포인트로 요청을 보낼 수 없습니다.

    Cloud VPN을 사용하여 연결된 온프레미스 환경에서 Private Service Connect 엔드포인트에 액세스에 대한 자세한 내용은 온프레미스 호스트에서 Private Service Connect 사용을 참조하세요.

  • 패킷 미러링은 게시된 서비스에 연결되는 Private Service Connect 엔드포인트와 VM 간에 패킷을 미러링할 수 없습니다.

자동 DNS 구성

다음 구성이 있으면 DNS 항목이 자동으로 Private Service Connect 엔드포인트에 생성됩니다.

  • 서비스 제작자가 서비스의 도메인 이름을 구성했습니다.

  • Private Service Connect 엔드포인트는 서비스 디렉터리 네임스페이스에 등록됩니다.

    모든 새 엔드포인트는 자동으로 서비스 디렉터리에 등록되지만 이전 엔드포인트는 등록되지 않을 수 있습니다.

두 구성이 모두 있는 경우 Private Service Connect 엔드포인트가 생성되면 NAMESPACE--REGION이라는 이름으로 서비스 디렉터리 DNS 영역이 생성됩니다. 이 비공개 영역은 REGION 리전의 서비스 디렉터리 네임스페이스 NAMESPACE에서 찾은 서비스의 DNS 항목을 저장합니다.

서비스 디렉터리를 사용하는 Private Service Connect 엔드포인트의 자동 DNS 구성(확대하려면 클릭)

Private Service Connect 엔드포인트를 만든 후 서비스 디렉터리 DNS 영역이 생성되었는지 확인할 수 있습니다. 서비스 디렉터리 DNS 영역이 생성되지 않으면 유사한 구성을 수동으로 만들 수 있습니다. 자세한 내용은 서비스 디렉터리 DNS 영역 보기를 참조하세요.

이러한 DNS 항목을 만들지 않으려면 다음 중 하나를 수행합니다.

  • 다른 목적으로 Cloud DNS를 사용하지 않는 경우 Cloud DNS API를 중지하거나 Cloud DNS에 필요한 권한을 삭제합니다.

  • DNS 영역이 생성될 때까지 기다린 후 수동으로 DNS 영역을 삭제합니다.

    DNS를 수동으로 구성하려면 수동으로 DNS 구성을 참조하세요.

Private Service Connect 엔드포인트 만들기

Private Service Connect 엔드포인트는 Private Service Connect 전달 규칙을 사용하여 또 다른 VPC 네트워크의 서비스에 연결됩니다. 각 전달 규칙은 다른 VPC 네트워크의 서비스에 액세스하기 위한 Private Service Connect 전달 규칙의 프로젝트별 할당량에 반영됩니다.

다른 VPC 네트워크의 서비스에 연결하기 위해 Private Service Connect를 사용하는 경우 VPC 네트워크에 있는 서브넷에서 IP 주소를 선택합니다.

IP 주소는 서비스 제작자의 서비스 연결과 동일한 리전에 있어야 합니다. IP 주소는 내부 IP 주소의 프로젝트 할당량에 반영됩니다.

Private Service Connect 엔드포인트를 만들면 선택한 네임스페이스 또는 기본 네임스페이스인 goog-psc-default를 사용하여 서비스 디렉터리에 자동으로 등록됩니다.

Console

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 연결된 엔드포인트 탭을 클릭합니다.

  3. 엔드포인트 연결을 클릭합니다.

  4. 대상에서 게시된 서비스를 선택합니다.

  5. 대상 서비스에서 연결할 서비스 연결 URI를 입력합니다.

    서비스 연결 URI는 projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME 형식입니다.

  6. 엔드포인트 이름에서 엔드포인트에 사용할 이름을 입력합니다.

  7. 엔드포인트의 네트워크를 선택합니다.

  8. 엔드포인트의 서브네트워크를 선택합니다.

  9. 엔드포인트의 IP 주소를 선택합니다. 새 IP 주소가 필요한 경우 IP 주소를 만들 수 있습니다.

    1. IP 주소 드롭다운 메뉴를 클릭하고 IP 주소 만들기를 선택합니다.
    2. IP 주소의 이름과 선택적인 설명을 입력합니다.
    3. 고정 IP 주소의 경우 자동 할당 또는 직접 선택을 선택합니다.

      직접 선택을 선택한 경우 사용할 커스텀 IP 주소를 입력합니다.

    4. 예약을 클릭합니다.

  10. 드롭다운 목록에서 네임스페이스를 선택하거나 새 네임스페이스를 만듭니다.

    리전은 선택한 서브네트워크를 기반으로 채워집니다.

  11. 엔드포인트 추가를 클릭합니다.

gcloud

  1. 엔드포인트에 할당할 내부 IP 주소를 예약합니다.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET
    

    다음을 바꿉니다.

    • ADDRESS_NAME: 예약된 IP 주소에 할당할 이름입니다.

    • REGION: 엔드포인트 IP 주소의 리전입니다. 이 리전은 서비스 제작자의 서비스 연결을 포함하는 동일한 리전이어야 합니다.

    • SUBNET: 엔드포인트 IP 주소의 서브넷 이름입니다.

  2. 예약된 IP 주소를 찾습니다.

    gcloud compute addresses list --filter="name=ADDRESS_NAME"
    
  3. 엔드포인트를 서비스 제작자의 서비스 연결에 연결하도록 전달 규칙을 만듭니다.

    gcloud compute forwarding-rules create ENDPOINT_NAME \
        --region=REGION \
        --network=NETWORK_NAME \
        --address=ADDRESS_NAME \
        --target-service-attachment=SERVICE_ATTACHMENT \
        [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
    

    다음을 바꿉니다.

    • ENDPOINT_NAME: 엔드포인트에 할당할 이름입니다.

    • REGION: 엔드포인트의 리전입니다. 이 리전은 서비스 제작자의 서비스 연결을 포함하는 동일한 리전이어야 합니다.

    • NETWORK_NAME: 엔드포인트의 VPC 네트워크 이름입니다.

    • ADDRESS_NAME: 예약된 주소의 이름입니다.

    • SERVICE_ATTACHMENT: 서비스 제작자의 서비스 연결 URI입니다. 예: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

    • PROJECT_ID: 프로젝트 ID입니다.

    • NAMESPACE: 사용할 서비스 디렉터리 네임스페이스입니다. 존재하지 않는 네임스페이스를 지정하면 네임스페이스가 생성됩니다.

      --service-directory-registration 플래그를 생략하면 기본 네임스페이스인 goog-psc-default가 사용됩니다.

API

  1. 엔드포인트에 할당할 내부 IP 주소를 예약합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/REGION/addresses
    
    {
      "name": ADDRESS_NAME,
      "addressType": "INTERNAL",
      "subnetwork": SUBNET_URI
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.

    • ADDRESS_NAME: 예약된 IP 주소에 할당할 이름입니다.

    • SUBNET_URI: IP 주소의 서브넷입니다. subnetworks.list 메서드 또는 gcloud compute networks subnets list --uri를 사용하여 네트워크의 URL을 찾습니다.

  2. 엔드포인트를 Google API 및 서비스에 연결하는 전달 규칙을 만듭니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
    {
      "name": ENDPOINT_NAME,
      "IPAddress": ADDRESS_URI,
      "target": SERVICE_ATTACHMENT,
      "network": NETWORK_URI,
      "serviceDirectoryRegistrations": [
          {
              "namespace": NAMESPACE,
          }
      ],
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.

    • REGION: 엔드포인트의 리전입니다.

    • ENDPOINT_NAME: 엔드포인트에 할당할 이름입니다.

    • ADDRESS_URI: 연결된 네트워크에 예약된 주소의 URI입니다. addresses.list 메서드 또는 gcloud compute addresses list --uri를 사용하여 예약된 주소의 URL을 찾습니다.

    • SERVICE_ATTACHMENT: 서비스 제작자의 서비스 연결 URI입니다. 예: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

    • NETWORK_URI: 엔드포인트의 VPC 네트워크입니다. network.list 메서드 또는 gcloud compute networks list --uri를 사용하여 네트워크의 URI를 찾습니다.

    • NAMESPACE: 엔드포인트의 네임스페이스입니다. 존재하지 않는 네임스페이스를 지정하면 네임스페이스가 생성됩니다. namespace 필드를 생략하면 goog-psc-default의 기본 네임스페이스가 할당됩니다.

VPC 서비스 제어를 위한 인그레스 및 이그레스 규칙 구성

compute.googleapis.com, servicedirectory.googleapis.com, 또는 dns.googleapis.com을 제한하는 VPC 서비스 제어 경계로 보호되는 프로젝트에서 Private Service Connect 엔드포인트를 만드는 경우 추가 구성이 필요합니다. Private Service Connect 엔드포인트를 만들려면 먼저 서비스 제작자에게 다음 정보를 요청하세요.

  • PRODUCER_PROJECT_NUMBER: 서비스 연결이 포함된 프로젝트의 프로젝트 번호입니다.

  • PRODUCER_SERVICE_ACCOUNT(선택사항): 계정별로 액세스를 제한하는 인그레스 규칙을 구성하려는 경우 서비스 연결을 만든 서비스 계정의 이름입니다.

이 정보를 사용하여 Private Service Connect 엔드포인트와 서비스 연결 간의 연결을 설정하기 위한 인그레스 및 이그레스 규칙을 만듭니다.

인그레스 및 이그레스 규칙 구성에 대한 자세한 내용은 인그레스 및 이그레스 정책 구성을 참조하세요.

  1. 소비자 프로젝트에서 제작자 프로젝트 PRODUCER_PROJECT_NUMBER로 이그레스를 허용하는 이그레스 규칙을 구성합니다.

    - egressFrom:
        identityType: ANY_IDENTITY
      egressTo:
        operations:
        - serviceName: 'compute.googleapis.com'
          methodSelectors:
          - method: 'ServiceAttachmentsService.Insert'
          - method: 'ServiceAttachmentsService.Patch'
          - method: 'RegionForwardingRulesService.Insert'
        - serviceName: 'servicedirectory.googleapis.com'
          methodSelectors:
          - method: '*'
        - serviceName: 'dns.googleapis.com'
          methodSelectors:
          - method: '*'
        resources:
        - 'projects/PRODUCER_PROJECT_NUMBER'
    
  2. 다음 인그레스 규칙 중 하나를 만듭니다.

    • 이 예시 인그레스 규칙을 사용하면 서비스 제작자가 PRODUCER_SERVICE_ACCOUNT에서 만든 서비스 연결을 업데이트하여 프로젝트를 수락 목록에 추가할 수 있습니다.

      - ingressFrom:
          sources:
          - accessLevel: '*' # All Sources
          identities: serviceAccount: PRODUCER_SERVICE_ACCOUNT
        ingressTo:
          operations:
          - serviceName: 'compute.googleapis.com'
            methodSelectors:
            - method: 'ServiceAttachmentsService.Patch'
          - serviceName: 'servicedirectory.googleapis.com'
            methodSelectors:
            - method: '*'
          - serviceName: 'dns.googleapis.com'
            methodSelectors:
            - method: '*'
          resources:
          - '*'
      
    • 이 예시 인그레스 규칙을 사용하면 서비스 제작자가 모든 계정에서 만든 서비스 연결을 업데이트하여 프로젝트를 수락 목록에 추가할 수 있습니다.

      - ingressFrom:
          sources:
          - accessLevel: '*' # All Sources
          identityType: ANY_IDENTITY
        ingressTo:
          operations:
          - serviceName: 'compute.googleapis.com'
            methodSelectors:
            - method: 'ServiceAttachmentsService.Patch'
          - serviceName: 'servicedirectory.googleapis.com'
            methodSelectors:
            - method: '*'
          - serviceName: 'dns.googleapis.com'
            methodSelectors:
            - method: '*'
          resources:
          - '*'
      

인그레스 및 이그레스 규칙을 구성한 후 PRODUCER_PROJECT_NUMBER 프로젝트의 서비스 연결에 연결하는 Private Service Connect 엔드포인트를 만들 수 있습니다.

서비스 디렉터리 DNS 영역 보기

자동 DNS 구성 기본 요건이 충족되면 DNS 영역이 NAMESPACE--REGION 형식의 이름으로 생성됩니다.

Console

  1. Cloud Console에서 Cloud DNS 영역 페이지로 이동합니다.

    Cloud DNS 영역으로 이동

  2. 이름이 NAMESPACE--REGION인 비공개 영역을 찾습니다.

gcloud

  • 다음 명령어를 실행하여 모든 비공개 DNS 영역을 나열합니다.

    gcloud dns managed-zones list \
        --filter="visibility=private"
    
  • 다음 명령어를 실행하여 이름이 NAMESPACE--REGION인 영역에 대한 세부정보를 가져옵니다.

    gcloud dns managed-zones describe NAMESPACE--REGION
    

영역이 없으면 Private Service Connect 엔드포인트의 세부정보를 보고 엔드포인트 구성에 네임스페이스 값이 포함되어 있는지 확인합니다.

엔드포인트 나열

구성된 모든 Private Service Connect 엔드포인트를 나열할 수 있습니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect 페이지로 이동합니다.

    Private Service Connect로 이동

  2. 연결된 엔드포인트 탭을 클릭합니다.

    Private Service Connect 엔드포인트가 표시됩니다.

gcloud

gcloud compute forwarding-rules list  \
    --filter 'target~serviceAttachments'

출력은 다음과 비슷합니다.

NAME  REGION  IP_ADDRESS  IP_PROTOCOL  TARGET
RULE          IP          TCP          REGION/serviceAttachments/SERVICE_NAME

API

이 API 호출은 서비스 액세스에 사용되는 Private Service Connect 엔드포인트뿐만 아니라 모든 전달 규칙을 반환합니다.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules

다음을 바꿉니다.

  • PROJECT_ID: 엔드포인트가 포함된 프로젝트입니다.
  • REGION: 엔드포인트의 리전입니다.

엔드포인트 세부정보 보기

Private Service Connect 엔드포인트의 모든 구성 세부정보를 볼 수 있습니다.

엔드포인트는 다음 상태 중 하나를 포함할 수 있습니다.

  • 대기 중: 엔드포인트가 승인이 필요한 서비스에 연결하도록 구성되었지만 이 프로젝트에 아직 승인이 제공되지 않습니다.

  • 수락됨: 엔드포인트가 서비스에 연결하도록 t승인된 프로젝트에 있습니다.

  • 거부됨: 엔드포인트가 서비스 연결이 허용되지 않은 프로젝트에 있습니다.

  • 닫힘: 엔드포인트가 이미 삭제된 서비스 연결에 연결되어 있습니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect 페이지로 이동합니다.

    Private Service Connect로 이동

  2. 연결된 엔드포인트 탭을 클릭합니다.

  3. 확인하려는 서비스를 클릭합니다.

gcloud

gcloud compute forwarding-rules describe \
    ENDPOINT_NAME --region=REGION

다음을 바꿉니다.

  • ENDPOINT_NAME: 엔드포인트의 이름입니다.
  • REGION: 엔드포인트의 리전입니다.

API

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

다음을 바꿉니다.

  • PROJECT_ID: 엔드포인트가 포함된 프로젝트입니다.
  • REGION: 엔드포인트의 리전입니다.
  • ENDPOINT_NAME: 엔드포인트의 이름입니다.

엔드포인트 라벨 지정

Private Service Connect 엔드포인트의 라벨을 관리할 수 있습니다. 자세한 내용은 리소스 라벨 지정을 참조하세요.

엔드포인트 삭제

Private Service Connect 엔드포인트를 삭제할 수 있습니다.

그러나 다음 서비스 디렉터리 구성은 엔드포인트를 삭제할 때 삭제되지 않습니다.

  • 서비스 디렉터리 네임스페이스
  • 서비스 디렉터리 DNS 영역

다른 서비스에서 서비스 디렉터리 네임스페이스와 서비스 디렉터리 DNS 영역을 사용할 수 있습니다. 서비스 디렉터리 네임스페이스를 삭제하거나 서비스 디렉터리 DNS 영역을 삭제하기 전에 네임스페이스가 비어 있는지 확인합니다.

콘솔

  1. Google Cloud Console에서 Private Service Connect로 이동합니다.

    Private Service Connect로 이동

  2. 연결된 엔드포인트 탭을 클릭합니다.

  3. 삭제할 Private Service Connect 엔드포인트를 선택하고 삭제를 클릭합니다.

gcloud

    gcloud compute forwarding-rules delete \
        ENDPOINT_NAME --region=REGION

다음을 바꿉니다.

  • ENDPOINT_NAME: 엔드포인트의 이름입니다.
  • REGION: 엔드포인트의 리전입니다.

API

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

다음을 바꿉니다.

  • PROJECT_ID: 엔드포인트가 포함된 프로젝트입니다.
  • REGION: 엔드포인트의 리전입니다.
  • ENDPOINT_NAME: 엔드포인트의 이름입니다.

DNS를 구성하는 다른 방법

자동 DNS 구성의 기본 요건이 충족되지 않으면 다른 방법으로 DNS 항목을 만들 수 있습니다.

서비스 디렉터리 DNS 영역 구성

Private Service Connect 엔드포인트가 서비스 디렉터리에 등록되어 있지만 연결된 게시 서비스에 도메인 이름이 구성되어 있지 않으면 DNS가 변경되지 않습니다.

자동 DNS 구성을 복제하려는 경우 서비스 디렉터리 네임스페이스에서 지원하는 서비스 디렉터리 DNS 영역을 수동으로 구성할 수 있습니다. 영역이 생성된 후에는 Private Service Connect 엔드포인트의 DNS 항목이 자동으로 생성됩니다.

다음 구성으로 서비스 디렉터리 DNS 영역을 만듭니다.

  • 영역 이름: NAMESPACE--REGION을 지정합니다. 여기서 NAMESPACE는 Private Service Connect 엔드포인트가 등록된 네임스페이스이고 REGION은 엔드포인트가 생성되는 리전입니다.

  • DNS 이름: 서비스 제작자가 게시된 서비스에 사용하는 DNS 도메인입니다. 이 정보는 서비스 제작자에게 확인하세요.

    DNS 이름 형식은 REGION.p.DOMAIN일 수 있습니다. 예를 들어 서비스 제작자의 공개 도메인이 example.com이고 게시된 서비스가 us-west1에 있는 경우 서비스 제작자가 us-west1.p.example.com 도메인 이름을 사용하여 서비스를 제공하는 것이 좋습니다. 후행 점을 포함합니다(예: us-west1.p.example.com.).

  • 서비스 디렉터리 네임스페이스: 이 엔드포인트에 구성한 네임스페이스입니다.

서비스 디렉터리 네임스페이스와 리전을 찾으려면 Private Service Connect 엔드포인트 세부정보를 봅니다.

이 구성을 사용하여 us-west1.p.example.com DNS 이름으로 서비스 디렉터리 DNS 영역을 구성하고 analytics 이름으로 Private Service Connect 엔드포인트를 만들면 analytics.us-west1.p.example.com의 DNS 레코드가 자동으로 생성됩니다.

서비스 디렉터리에 Private Service Connect 엔드포인트 등록

새 Private Service Connect 엔드포인트는 자동으로 서비스 디렉터리에 등록됩니다. 하지만 서비스 디렉터리에 자동 등록이 사용 설정되기 전에 Private Service Connect 엔드포인트가 생성되면 이 구성이 누락될 수 있습니다.

Private Service Connect 엔드포인트를 삭제하고 자동으로 서비스 디렉터리에 등록된 새 엔드포인트를 만들 수 있습니다.

또는 다음 단계를 수행하여 기존 Private Service Connect 엔드포인트를 서비스 디렉터리 네임스페이스에 등록할 수 있습니다.

  1. Private Service Connect 엔드포인트의 서비스 디렉터리 네임스페이스NAMESPACE를 만듭니다.

  2. Private Service Connect 엔드포인트의 서비스 디렉터리 서비스SERVICE_NAME을 만듭니다.

    서비스에서 동일한 이름(ENDPOINT_NAME)을 Private Service Connect 엔드포인트에 사용되는 전달 규칙의 이름으로 사용합니다.

  3. default 이름을 사용하여 서비스 디렉터리 엔드포인트를 만들고 Private Service Connect 엔드포인트의 IP 주소 및 포트(443)를 사용합니다.

Private Service Connect 엔드포인트를 서비스 디렉터리에 등록한 후 안내에 따라 서비스 디렉터리 DNS 영역을 구성합니다.

수동으로 DNS 구성

자동 DNS 구성을 차단했거나 구성에서 사용 설정되지 않은 경우 Cloud DNS를 사용하여 수동으로 DNS 레코드를 만들 수 있습니다.

자세한 내용은 다음 페이지를 참조하세요.

  • 액세스 제어: DNS 관리자 역할(roles/dns.admin)은 DNS 영역과 레코드를 만드는 데 필요한 권한을 제공합니다.

  • 비공개 영역을 만듭니다.

    • 비공개 영역을 구성할 때는 DNS 이름을 제공합니다. 서비스 제작자가 게시된 서비스에 사용하는 DNS 도메인을 사용합니다. 이 정보는 서비스 제작자에게 확인하세요.

      이는 REGION.p.DOMAIN 형식일 수 있습니다. 예를 들어 서비스 제작자의 공개 도메인이 example.com이고 게시된 서비스가 us-west1에 있는 경우 서비스 제작자가 us-west1.p.example.com 도메인 이름을 사용하여 서비스를 제공하는 것이 좋습니다.

  • 레코드를 추가합니다.

로깅

Private Service Connect 엔드포인트를 사용하여 다른 VPC 네트워크의 서비스에 액세스하는 VM이 포함된 서브넷에서 VPC 흐름 로그를 사용 설정할 수 있습니다. 로그는 VM과 Private Service Connect 엔드포인트 간의 흐름을 보여줍니다.

온프레미스 호스트에서 Private Service Connect 사용

온프레미스 네트워크가 VPC 네트워크에 연결된 경우 Private Service Connect 엔드포인트의 내부 IP 주소를 사용하여 온프레미스 호스트에서 Private Service Connect 게시된 서비스에 액세스할 수 있습니다.

  • Private Service Connect 엔드포인트가 있는 동일한 리전에서 온프레미스 네트워크가 Cloud VPN 터널을 사용하여 VPC 네트워크에 연결되어 있어야 합니다.

  • Private Service Connect 엔드포인트는 온프레미스 네트워크에 연결된 VPC 네트워크에 있습니다.

  • 해당 DNS 이름을 사용하여 Private Service Connect 엔드포인트에 액세스하려면 비공개 DNS 영역에 쿼리를 수행할 수 있도록 온프레미스 시스템을 구성해야 합니다.

    Cloud DNS를 사용하여 비공개 DNS 영역을 구현한 경우 다음 단계를 완료합니다.

문제 해결하기

비공개 DNS 영역 만들기 실패

Private Service Connect 엔드포인트를 만들면 서비스 디렉터리 DNS 영역이 생성됩니다. 다음과 같은 이유로 영역 생성이 실패할 수 있습니다.

  • 프로젝트에서 Cloud DNS API를 사용 설정하지 않았습니다.

  • 서비스 디렉터리 DNS 영역을 만드는 데 필요한 권한이 없습니다.

  • 이 VPC 네트워크에 영역 이름이 동일한 DNS 영역이 있습니다.

  • 이 VPC 네트워크에 이미 동일한 도메인 이름의 DNS 영역이 있습니다.

서비스 디렉터리 DNS 영역을 수동으로 만들려면 다음을 수행합니다.

  1. Cloud DNS API가 프로젝트에 사용 설정되어 있는지 확인합니다.

  2. 서비스 디렉터리 DNS 영역을 만드는 데 필요한 권한이 있는지 확인합니다.

    • dns.managedZones.create
    • dns.networks.bindPrivateDNSZone
    • servicedirectory.namespaces.associatePrivateZone
  3. 충돌하는 영역이 있지만 더 이상 필요하지 않으면 DNS 영역을 삭제합니다.

  4. Private Service Connect 엔드포인트와 연결된 서비스 디렉터리 네임스페이스에서 지원하는 서비스 디렉터리 DNS 영역을 만듭니다.