デフォルトの VPC にインスタンスを作成し、ifconfig を確認すると、/32
以下に示すように、ネットマスクは であると表示されます。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.138.0.2 netmask 255.255.255.255 broadcast 10.138.0.2
inet6 fe80::4001:aff:fe8a:2 prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:8a:00:02 txqueuelen 1000 (Ethernet)
RX packets 4728 bytes 39926123 (38.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3900 bytes 442039 (431.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
問題は、インストールしようとしているアプリケーションが/32
サブネットを許可していないことです。テスト VPC ネットワークを作成しようとしましたが、それを使用するとインスタンスに SSH 接続できなくなりました。デフォルトのサブネットにセカンダリ範囲を追加しようとしましたが、成功しませんでした。ネットマスクを拡張しようとしましたが、sudo ifconfig eth0 10.138.0.2 netmask 255.255.255.0
SSH 接続がフリーズしました (Web ブラウザーを使用して SSH 接続)。その後、インスタンスに SSH 接続できなくなりました。これに対する他のアプローチは何でしょうか?
ここに質問がありますが、回答されていないようです:Google Cloud Compute は内部インターフェースに /20 サブネット マスクを設定しました
答え1
残念ながら、このパラメータは Google Cloud Platform との統合を強化するためにそのように設定されています。
新しい VPC を作成するときに SSH ができない理由については、新しいファイアウォール ルールを作成する必要があります。新しいファイアウォール ルールは 1 つの VPC にのみ適用され、古いファイアウォール ルールは新しい VPC には適用されません。
Google Cloud Platform との統合を実現するには、アプリケーションのサポートに問題を報告することをお勧めします。
答え2
Google 検索からここにたどり着いた人のために、GCE ドキュメントで見つけたものをここに示します。そのまま引用します:
/32 以外のネットマスクでインターフェースを構成するには、フラグ --guest-os-features MULTI_IP_SUBNET を使用してイメージを作成し、それを使用してインスタンスを作成する必要があります。たとえば、debian-9 ベースのイメージを使用している場合は、次のコマンドを使用してイメージを作成できます。
gcloud compute images create debian-9-multi-ip-subnet \
--source-disk debian-9-disk \
--source-disk-zone us-west1-a \
--guest-os-features MULTI_IP_SUBNET