単一のインスタンスに大きなネットマスクを構成する
このページでは、カスタム イメージを構成して、サブネットのネットマスクと同じサイズの大きなネットマスクを持つ Compute Engine インスタンスを作成する方法について説明します。
別の方法として、サブネットに接続されているすべてのコンピューティング インスタンスに対して、より大きなネットマスクを構成するサブネットを作成することもできます。メンテナンスを容易にし、セカンダリ範囲のサポートを受けるには、カスタム イメージを作成するのではなく、サブネットを介してインスタンスの大きなネットマスクを構成することをおすすめします。
ユースケースでサブネットの作成が機能しない場合は、カスタム イメージを作成し、このイメージを使用して、より大きなネットマスクを持つコンピューティング インスタンスを作成できます。DHCP サーバーは、/32 ではなくサブネットのネットマスクでインスタンス インターフェースを構成します。インスタンスは、サブネットのプライマリ IPv4 範囲に接続されている他のインスタンスと直接通信できます。セカンダリ IPv4 範囲は影響を受けません。
コンピューティング インスタンスのネットマスクの詳細については、コンピューティング インスタンスのネットマスクをご覧ください。
始める前に
- Compute Engine イメージに関する次のガイドをご覧ください。
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.
必要なロール
カスタム イメージとインスタンスの作成に必要な権限を取得するには、プロジェクトに対する 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-13PROJECT: イメージ ファミリーが配置されているソース プロジェクト(例: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 応答を受信することを確認できます。Google Cloud はサブネットの範囲内の IP アドレスに対して常に返信を送信するため、1 つのインスタンスのみを使用して ARP 応答を確認できます。
次の手順では、Linux インスタンスで構成を確認する方法について説明します。
- SSH を使用してインスタンスに接続します。
ネットワーク インターフェースの構成を確認して、ネットマスクがサブネットのネットマスク(
/32ではない)と一致していることを確認します。ip addr show
出力で、ネットワーク インターフェースの
inet行(ens4など)を探します。インスタンスがサブネット内の別の IP アドレスの ARP 応答を受信できることを確認します。
pingコマンドを使用して ARP リクエストをトリガーできます。使用されていない IP アドレスを選択できます。pingリクエストに対する応答がない場合でも、Google Cloud は ARP 応答を送信します。ping -c 3 OTHER_IP_ADDRESS_IN_SUBNET
OTHER_IP_ADDRESS_IN_SUBNETは、同じサブネットの IP アドレスに置き換えます。この IP アドレスは使用されている必要はありません。ARP テーブルを調べて、他の IP アドレスに関連付けられている MAC アドレスを確認します。
ip neighbor
出力に、もう一方の IP アドレスの MAC アドレスが表示されます。