在Google Compute Engine中创建VM实例时出错

时间:2016-06-13 20:17:34

标签: google-compute-engine

我正在尝试按照谷歌云平台控制台上提供的教程,使用Compute Engine创建MongoDB应用程序。我按照教程创建了VM,但是没有创建它们并返回以下错误:

字段&resource.networkInterfaces [0] .network':''的值无效。找不到引用的网络资源。

知道这可能是什么?我以前没有创建过任何虚拟机,所以我不确定这是什么。我没有使用命令行,我正在使用控制台执行此操作。

3 个答案:

答案 0 :(得分:4)

我刚刚尝试在新项目上创建VM时遇到同样的问题。看起来谷歌在配置新项目时遇到了问题(至少是计算引擎网络的东西)。

您必须手动创建默认网络。以下是如何做到这一点:

激活Google Cloud Shell(Cloud Console网站右上角的按钮),然后运行以下命令:

gcloud compute networks create default
gcloud compute firewall-rules create default-allow-icmp --network default --allow icmp --source-ranges 0.0.0.0/0
gcloud compute firewall-rules create default-allow-ssh --network default --allow tcp:22 --source-ranges 0.0.0.0/0
gcloud compute firewall-rules create default-allow-internal --network default --allow tcp:0-65535,udp:0-65535,icmp --source-ranges 10.128.0.0/9

之后,您应该能够创建VM。

另一种选择是向Google投诉。这不是正常行为。

答案 1 :(得分:2)

添加:

{ "results" : [ { "address_components" : [ { "long_name" : "vulica Lienina", "short_name" : "vulica Lienina", "types" : [ "route" ] }, { "long_name" : "Minsk", "short_name" : "Minsk", "types" : [ "locality", "political" ] }, { "long_name" : "Belarus", "short_name" : "BY", "types" : [ "country", "political" ] } ], "formatted_address" : "vulica Lienina, Minsk, Belarus", "geometry" : { "bounds" : { "northeast" : { "lat" : 53.9049197, "lng" : 27.5804421 }, "southwest" : { "lat" : 53.8868641, "lng" : 27.553896 } }, "location" : { "lat" : 53.8958051, "lng" : 27.5659861 }, "location_type" : "GEOMETRIC_CENTER", "viewport" : { "northeast" : { "lat" : 53.9049197, "lng" : 27.5804421 }, "southwest" : { "lat" : 53.8868641, "lng" : 27.553896 } } }, "place_id" : "ChIJL_x0NsTP20YRE6LICTM5v2I", "types" : [ "route" ] }, { "address_components" : [ { "long_name" : "Lenina", "short_name" : "Lenina", "types" : [ "locality", "political" ] }, { "long_name" : "Slucki rajon", "short_name" : "Slucki rajon", "types" : [ "administrative_area_level_2", "political" ] }, { "long_name" : "Minskaja voblasć", "short_name" : "Minskaja voblasć", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "Belarus", "short_name" : "BY", "types" : [ "country", "political" ] } ], "formatted_address" : "Lenina, Belarus", "geometry" : { "bounds" : { "northeast" : { "lat" : 53.0604058, "lng" : 27.2418881 }, "southwest" : { "lat" : 53.0405422, "lng" : 27.2215462 } }, "location" : { "lat" : 53.0546355, "lng" : 27.229549 }, "location_type" : "APPROXIMATE", "viewport" : { "northeast" : { "lat" : 53.0604058, "lng" : 27.2418881 }, "southwest" : { "lat" : 53.0405422, "lng" : 27.2215462 } } }, "place_id" : "ChIJNTp2Gl6t2UYRI1cE6L4oVh8", "types" : [ "locality", "political" ] } ], "status" : "OK" }

为我工作。网络(子网)已经存在于我的情况下(与@Ray的情况不同)因此只提到子网的名称(一般默认)有帮助。

答案 2 :(得分:0)

Terraform,Juju等会给您一个错误:

  

错误400:字段'resource.networkInterfaces [0]'的值无效:”。应该为自定义子网模式网络指定子网,无效

实际问题是subnet-mode

Google文档:

https://cloud.google.com/sdk/gcloud/reference/compute/networks/create

  

gcloud compute networks create NAME --subnet-mode=MODE

     

--subnet-mode=MODE   网络的子网模式。如果未指定,则默认为AUTO。   MODE必须是以下之一:

     

auto-子网是自动创建的。这是推荐的选择。

     

custom-手动创建子网。

https://cloud.google.com/sdk/gcloud/reference/compute/networks/list

要检查子网模式,请使用:gcloud compute networks list

NAME            SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  GATEWAY_IPV4
default         AUTO         REGIONAL
vpc-01          CUSTOM       GLOBAL
vpc-02          CUSTOM       GLOBAL
vpc-03          CUSTOM       GLOBAL

仅当您具有模式“自动” 时,这才可以解决问题,这要归功于@Ray Pitmon