가상 머신(VM) 인스턴스를 만들 때 Google Cloud는 VM 이름으로부터 내부 DNS 이름을 만듭니다. 커스텀 호스트 이름을 지정하지 않으면 Google Cloud는 자동으로 생성된 내부 DNS 이름을 VM에 제공하는 호스트 이름으로 사용합니다.
정규화된 DNS 이름을 지정하여 커스텀 호스트 이름으로 VM을 만들 수 있습니다. 커스텀 호스트 이름은 규칙을 유지하거나 특정 호스트 이름이 필요한 애플리케이션의 요구사항을 지원하는 데 유용합니다.
커스텀 호스트 이름을 지정해도 Google Cloud는 Compute Engine 내부 DNS 이름을 만듭니다. 자동으로 생성된 이 내부 DNS 레코드를 사용하여 VM에 연결할 수 있습니다. 내부 DNS 레코드는 커스텀 호스트 이름이 아니라 내부 DNS 이름으로 확인됩니다. 커스텀 호스트 이름이 있더라도 적절한 영역에 해당 DNS 레코드를 만들어야 합니다. 예를 들어, Cloud 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- 프로젝트에 대한
compute.instances.create
권한 -
커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly
권한 -
스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly
권한 -
인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly
권한 -
VM에 레거시 네트워크 할당: 프로젝트에 대한
compute.networks.use
권한 -
VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use
권한 -
레거시 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.useExternalIp
권한 -
VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use
권한 -
VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp
권한 -
VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한
compute.instances.setMetadata
권한 -
VM에 태그 설정: VM에 대한
compute.instances.setTags
권한 -
VM에 라벨 설정: VM에 대한
compute.instances.setLabels
권한 -
VM에 사용할 서비스 계정 설정: VM에 대한
compute.instances.setServiceAccount
권한 -
VM의 새 디스크 만들기: 프로젝트에 대한
compute.disks.create
권한 -
기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한
compute.disks.use
권한 -
기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한
compute.disks.useReadOnly
권한 커스텀 호스트 이름에 대한 DNS 레코드를 수동으로 구성해야 합니다. 커스텀 호스트 이름은 Compute Engine 내부 DNS에서 제공하는 자동으로 생성된 레코드로 확인되지 않습니다. 다음 중 하나를 사용하여 커스텀 호스트 이름에 대한 DNS 레코드를 호스팅할 수 있습니다.
다른 공개 DNS 이름 서버
VM을 만든 후에는 커스텀 호스트 이름을 변경할 수 없습니다.
- 호스트 이름에는 다음과 같이 2개 이상의 라벨이 포함됩니다.
- 각 라벨에는
[a-z]([-a-z0-9]*[a-z0-9])?
문자만 포함하는 정규 표현식이 포함됩니다. - 라벨은 점으로 연결됩니다.
- 각 라벨의 허용 길이는 1~63자(영문 기준)입니다.
- 각 라벨에는
- 호스트 이름은 253자(영문 기준) 이하여야 합니다.
Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
고급 옵션 섹션을 펼친 후 다음을 수행합니다.
- 네트워킹 섹션을 펼칩니다.
- 호스트 이름 필드에 커스텀 호스트 이름을 지정합니다.
필요에 따라 VM을 추가로 맞춤설정합니다.
만들기를 클릭하여 VM을 만들고 시작합니다.
VM_NAME
: VM의 이름입니다.HOST_NAME
: 할당하려는 정규화된 도메인 호스트 이름입니다.- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
VM의 커스텀 호스트 이름을 보려면 VM 인스턴스 페이지로 이동합니다.
인스턴스 이름을 클릭하여 VM 인스턴스 세부정보 페이지를 엽니다.
호스트 이름 섹션을 검토합니다. 호스트 이름 필드는 커스텀 호스트 이름이 설정된 경우에만 표시됩니다.
Terraform
로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Go
로컬 개발 환경에서 이 페이지의 Go 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Java
로컬 개발 환경에서 이 페이지의 Java 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Node.js
로컬 개발 환경에서 이 페이지의 Node.js 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Python
로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
필요한 역할
커스텀 호스트 이름으로 VM을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 커스텀 호스트 이름으로 VM을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
커스텀 호스트 이름으로 VM을 만드는 데 필요한 권한은 다음과 같습니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
제한사항
지원되는 운영체제
커스텀 호스트 이름은 게스트 네트워킹 소프트웨어와 통합되는 후크 스크립트를 사용하여 게스트 환경에 설정됩니다. 게스트 네트워크 소프트웨어와 통합하는 스크립트가 없는 Linux 운영체제에는 올바른 호스트 이름이 없을 수 있습니다.
커스텀 호스트 이름을 지원하는 운영체제 버전의 전체 목록은 운영체제 세부정보에서 게스트 환경 지원을 확인하세요.
이름 지정 규칙
커스텀 호스트 이름은 유효한 호스트 이름에 대한 RFC 1035 요구사항을 준수해야 합니다. 이러한 요구사항을 충족하려면 커스텀 호스트 이름이 다음 형식 사양을 충족해야 합니다.
유효하지 않음: 단일 라벨이 포함되어 있습니다.
my-host1234
유효: 점으로 연결된 라벨 3개가 포함됩니다.
my-host1234.example.com
커스텀 호스트 이름으로 VM 만들기
콘솔
다음 단계: DNS 레코드를 구성합니다. 자세한 내용은 레코드 관리를 참조하세요.
gcloud
Google Cloud CLI를 사용하여 안내에 따라 이미지에서 인스턴스 만들기 또는 스냅샷 생성 과정을 진행하고,
--hostname
플래그를 추가하고, 다음과 같이gcloud compute instances create
명령어를 사용합니다.gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
다음을 바꿉니다.
예를 들어 커스텀 호스트 이름
test.example.com
으로 VMmyinstance
를 만들려면 다음 명령어를 실행합니다.gcloud compute instances create myinstance \ --hostname=test.example.com
다음 단계: DNS 레코드를 구성합니다. 자세한 내용은 레코드 관리를 참조하세요.
Terraform
Terraform 리소스를 사용하여
Terraform 코드를 생성하려면 Google Cloud 콘솔에서 상응하는 코드 구성요소를 사용하면 됩니다.hostname
인수를 사용해 커스텀 호스트 이름으로 인스턴스를 만들 수 있습니다.다음 단계: DNS 레코드를 구성합니다. 자세한 내용은 레코드 관리를 참조하세요.
Go
자바
Node.js
Python
REST
API 안내에 따라 스냅샷 또는 이미지에서 인스턴스를 만들고 요청 본문에
hostname
필드를 지정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "hostname": "HOST_NAME", ... }
다음을 바꿉니다.
커스텀 호스트 이름 확인
Linux VM의 경우 VM에서
hostname -f
명령어를 실행하여 호스트 이름을 확인할 수 있습니다.Google Cloud Console 또는 Google Cloud CLI를 사용하여 커스텀 호스트 이름을 확인할 수도 있습니다.
콘솔
gcloud
gcloud compute
를 사용하여 VM의 커스텀 호스트 이름을 보려면--format
플래그가 지정된instances describe
하위 명령어를 사용하여 출력을 필터링합니다.VM_NAME
을 VM의 이름으로 바꿉니다.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
예를 들어
myinstance
라는 VM의 커스텀 호스트 이름을 보려면 다음 명령어를 실행합니다.gcloud compute instances describe myinstance \ --format='get(hostname)'
다음과 유사한 출력이 표시됩니다.
test.example.com
커스텀 호스트 이름이 설정되지 않은 경우 이 명령어의 출력이 비어 있습니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-