단일 인스턴스에 더 큰 넷마스크 구성

이 페이지에서는 커스텀 이미지를 구성하여 더 큰 넷마스크(서브넷의 넷마스크와 동일한 크기)가 있는 Compute Engine 인스턴스를 만드는 방법을 설명합니다.

또는 서브넷에 연결된 모든 컴퓨팅 인스턴스에 더 큰 넷마스크를 구성하는 서브넷을 만들 수 있습니다. 유지보수를 간소화하고 보조 범위를 지원받으려면 커스텀 이미지를 만드는 대신 서브넷을 통해 더 큰 인스턴스 넷마스크를 구성하는 것이 좋습니다.

서브넷을 만드는 것이 사용 사례에 적합하지 않으면 커스텀 이미지를 만들고 이 이미지를 사용하여 더 큰 넷마스크가 있는 컴퓨팅 인스턴스를 만들 수 있습니다. DHCP 서버는 /32 대신 서브넷의 넷마스크로 인스턴스 인터페이스를 구성하며 인스턴스는 서브넷의 기본 IPv4 범위에 연결된 다른 인스턴스와 직접 통신할 수 있습니다. 보조 IPv4 범위는 영향을 받지 않습니다.

컴퓨팅 인스턴스 넷마스크에 대한 자세한 내용은 컴퓨팅 인스턴스 넷마스크를 참조하세요.

시작하기 전에

  1. Compute Engine 이미지에 관한 다음 가이드를 읽어보세요.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

필요한 역할

커스텀 이미지와 인스턴스를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (role/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

MULTI_IP_SUBNET 옵션을 구성하는 커스텀 이미지 만들기

커스텀 이미지를 만들 때 소스 이미지를 지정하는 방법에는 여러 가지가 있습니다. 다음 예에서는 이미지 계열을 기반으로 커스텀 이미지를 만드는 방법을 보여줍니다. 커스텀 이미지 만들기에 대한 자세한 내용은 커스텀 이미지 만들기를 참조하세요.

gcloud CLI

gcloud compute images create IMAGE_NAME \
    --source-image-family=SOURCE_IMAGE_FAMILY \
    --source-image-project=PROJECT \
    --guest-os-features=MULTI_IP_SUBNET

다음을 바꿉니다.

  • IMAGE_NAME: 커스텀 이미지의 이름입니다.
  • SOURCE_IMAGE_FAMILY: 이 이미지를 만드는 데 사용할 소스 이미지 계열입니다. 예를 들어 debian-13입니다.
  • PROJECT: 이미지 계열이 있는 소스 프로젝트입니다(예: debian-cloud 또는 프로젝트 URI).

MULTI_IP_SUBNET 커스텀 이미지에서 컴퓨팅 인스턴스 만들기

커스텀 이미지를 사용하는 컴퓨팅 인스턴스를 만들려면 만든 이미지를 지정합니다. 인스턴스 만들기에 대한 자세한 내용은 커스텀 이미지에서 인스턴스 만들기를 참조하세요.

gcloud CLI

gcloud compute instances create INSTANCE_NAME \
    --image=IMAGE_NAME \
    --zone=ZONE \
    --subnet=SUBNET_NAME

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스의 이름입니다.
  • IMAGE_NAME: 만든 커스텀 이미지의 이름입니다.
  • ZONE: 인스턴스를 만들 영역입니다.
  • SUBNET_NAME: 인스턴스를 연결할 서브넷의 이름입니다.

구성 확인

컴퓨팅 인스턴스를 만든 후 DHCP 서버가 인스턴스에 올바른 넷마스크를 구성하고 인스턴스가 ARP 응답을 수신하는지 확인할 수 있습니다. 항상 서브넷 범위의 IP 주소에 대한 응답을 전송하므로 인스턴스를 하나만 사용하여 ARP 응답을 확인할 수 있습니다. because Google Cloud always sends a reply for IP addresses in the subnet's range.

다음 단계에서는 Linux 인스턴스에서 구성을 확인하는 방법을 보여줍니다.

  1. SSH를 사용하여 인스턴스에 연결합니다.
  2. 네트워크 인터페이스 구성을 확인하여 넷마스크가 서브넷의 넷마스크와 일치하는지 확인합니다 (/32 아님).

    ip addr show
    

    출력에서 네트워크 인터페이스의 inet 줄(예: ens4)을 찾습니다.

  3. 인스턴스가 서브넷의 다른 IP 주소에 대한 ARP 응답을 수신할 수 있는지 확인합니다. ping 명령어를 사용하여 ARP 요청을 트리거할 수 있습니다. 사용 중이 아닌 IP 주소를 선택할 수 있습니다.Google Cloud 요청에 대한 응답이 없더라도 ARP 응답을 전송합니다.ping

    ping -c 3 OTHER_IP_ADDRESS_IN_SUBNET
    

    OTHER_IP_ADDRESS_IN_SUBNET을 동일한 서브넷의 IP 주소로 바꿉니다. 이 IP 주소는 사용 중일 필요가 없습니다.

  4. ARP 테이블을 확인하여 다른 IP 주소와 연결된 MAC 주소를 확인합니다.

    ip neighbor
    

    출력에 다른 IP 주소의 MAC 주소가 표시됩니다.