내부 DNS를 사용하여 VM에 액세스


같은 Virtual Private Cloud 네트워크의 VM은 IP 주소 대신 내부 DNS 이름을 사용하여 서로 액세스할 수 있습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

        Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

VM의 내부 DNS 이름 확인

다음 절차를 수행하여 VM 인스턴스에 할당된 내부 DNS 이름을 확인합니다. hostname 메타데이터 항목을 쿼리하여 내부 DNS 이름을 가져올 수 있습니다.

  1. VM에 연결
  2. hostname 메타데이터를 쿼리합니다.

    Linux VM

    curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
      -H "Metadata-Flavor: Google"
    

    Windows VM

    Invoke-RestMethod `
      -Headers @{"Metadata-Flavor" = "Google"} `
      -Uri "http://metadata.google.internal/computeMetadata/v1/instance/hostname"
    

메타데이터 서버는 VM에서 사용하는 내부 DNS 이름의 유형을 보여주는 다음 형식 중 하나로 VM의 호스트 이름을 반환합니다.

  • 영역 DNS: VM_NAME.ZONE.c.PROJECT_ID.internal
  • 전역 DNS: VM_NAME.c.PROJECT_ID.internal

출력에 표시되는 항목의 의미는 다음과 같습니다.

  • VM_NAME: VM의 이름입니다.
  • ZONE: VM이 있는 영역
  • PROJECT_ID: 이미지가 속한 프로젝트입니다.

내부 DNS 이름으로 VM에 액세스

VM에 액세스하려면 IP 주소 대신 내부 DNS 이름을 사용합니다.

다음 예시에서는 ping을 사용하여 영역 DNS를 사용하는 VM에 연결합니다. 이 방법은 인스턴스로 들어오는 ICMP 트래픽을 허용하는 방화벽 규칙을 만든 경우에 작동합니다.

$ ping VM_NAME.ZONE.c.PROJECT_ID.internal -c 1

PING VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17) 56(84) bytes of data.
64 bytes from VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17): icmp_seq=1 ttl=64 time=0.136 ms

다음을 바꿉니다.

  • VM_NAME: VM의 이름
  • ZONE: VM이 있는 영역
  • PROJECT_ID: 이미지가 속한 프로젝트입니다.

다음 단계