サブネット内のすべてのインスタンスに大きなインスタンス ネットマスクを構成する
このページでは、サブネット内のすべての Compute Engine インスタンスに、デフォルトよりも大きなネットマスクを構成する方法について説明します。この構成を使用するには、サブネットを作成し、[サブネット
マスクの解決](--resolve-subnet-mask)設定を構成します。コンピューティング
インスタンスをサブネットに接続すると、インスタンスは /32 ではなく、サブネットのネットマスクと同じサイズのネットマスクで構成されます。コンピューティング インスタンスのネットマスクの詳細については、コンピューティング
インスタンスのネットマスクをご覧ください。
始める前に
- アカウントに Google Cloud ログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイに利用できる $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 ネットワーク管理者(role/compute.networkAdmin)の IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
サブネットを作成して大きなインスタンス ネットマスクを構成する
コンソール
Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。
VPC ネットワークを選択します。
[サブネット] タブをクリックします。
[サブネットを追加] をクリックします。
[**名前**] に、サブネットの名前を入力します。
[**リージョン**] でリージョンを選択します。
[**目的**] で [**なし**] を選択します。
[IP スタックタイプ] で [IPv4(シングルスタック)] を選択します。
[プライマリ IPv4 範囲] に、有効な IPv4 アドレス 範囲を入力します。
セカンダリ IPv4 範囲を追加する場合は、次の操作を行います。
- [Subnet range name] に、セカンダリ IPv4 範囲の名前を入力します。
- [**セカンダリ IPv4 範囲**] に、有効な IPv4 アドレス範囲を入力します。
[**サブネット マスクの解決**] で、次のいずれかを選択します。
- すべての範囲
- プライマリ範囲のみ
[追加] をクリックします。
gcloud
gcloud compute networks subnets create SUBNET_NAME \
--network=NETWORK_NAME \
--range=IP_RANGE \
--region=REGION \
--resolve-subnet-mask=ARP_RANGES
次のように置き換えます。
SUBNET_NAME: サブネットの名前。NETWORK_NAME: サブネットを作成するネットワーク。IP_RANGE: サブネットのプライマリ IPv4 アドレス範囲。REGION: サブネットのリージョン。ARP_RANGES: ARP 応答を受信する範囲。有効な値はARP_PRIMARY_RANGEとARP_ALL_RANGESです。
サブネットにコンピューティング インスタンスを作成する
サブネットに接続されたコンピューティング インスタンスを作成します。インスタンスの作成の詳細については、特定のサブネットにインスタンスを作成するをご覧ください。
gcloud CLI
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--subnet=SUBNET_NAME
次のように置き換えます。
INSTANCE_NAME: インスタンスの名前。ZONE: インスタンスを作成するゾーン。SUBNET_NAME: インスタンスを接続するサブネットの名前。
構成を確認する
コンピューティング インスタンスを作成したら、DHCP サーバーがインスタンスに正しいネットマスクを構成していること、インスタンスが ARP 応答を受信していることを確認できます。は、サブネットの範囲内の IP アドレスに対して常に応答を送信するため、1 つのインスタンスのみを使用して ARP 応答を確認できます。Google Cloud
次の手順では、Linux インスタンスで構成を確認する方法について説明します。
- SSH を使用してインスタンスに接続します。
ネットワーク インターフェースの構成を確認して、ネットマスクがサブネットのネットマスク(
/32ではない)と一致していることを確認します。ip addr show
出力で、ネットワーク インターフェースの
inet行(ens4など)を探します。インスタンスがサブネット内の別の IP アドレスの ARP 応答を受信できることを確認します。
pingコマンドを使用して ARP リクエストをトリガーできます。使用されていない IP アドレスを選択できます。Google Cloud は ARP 応答を送信します。pingリクエストに応答がない場合でも。ping -c 3 OTHER_IP_ADDRESS_IN_SUBNET
OTHER_IP_ADDRESS_IN_SUBNETは、同じサブネットの IP アドレスに置き換えます。この IP アドレスは使用されている必要はありません。ARP テーブルを調べて、他の IP アドレスに関連付けられている MAC アドレスを確認します。
ip neighbor
出力には、他の IP アドレスの MAC アドレスが表示されます。