在谷歌云计算上获取新的永久IP地址

在谷歌云计算上获取新的永久IP地址

我已经使用 Web 界面在 Google Compute Engine 中创建了一些实例。我想开始在命令行上执行此操作,以便我可以创建更多实例并自动化该过程。Web 界面告诉我创建实例时可以使用什么命令。我请求一个永久的公共 IP 地址,我可以看到有效的命令,但我如何知道可以请求哪些地址?例如,我使用命令“gcloud compute ...instances create“serverA”.. --address 1.2.3.4 ...”创建了 serverA。我重用了之前分配的地址,但我认为我很幸运它起作用了,当我想在命令行上创建更多实例时,我无法猜测要使用哪些其他 IP 地址。有没有办法查询可用的地址?谢谢。

汤姆

答案1

更新

第二种方法是使用部署管理器。您可以拥有一个配置文件,在其中创建 IP 资源。在同一个文件中,您可以指定部署分配了该 IP 的 VM。

即运行

gcloud 部署管理器部署创建 testdeploy --config=myconf.yaml

其中 myconf.yaml 文件内容是

resources:
- name: test-rabbitmq-ip
  type: compute.v1.address
  properties:
    region: us-central1
- type: compute.v1.instance
  name: vm-my-first-deployment1
  properties:
    zone: us-central1-f
    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/f1-micro
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20160923
    networkInterfaces:
    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      # Access Config required to give the instance a public IP address
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
        natIP: $(ref.test-rabbitmq-ip.address)

答案2

您可以保留静态 IP,并使用 gcloud 命令创建带有 --address 标志的实例,该标志指向保留的静态 IP,因为无法查询可用地址。请记住,未附加到任何实例的保留静态 IP 将发生费用

更新: 1. 您需要通过运行以下命令来保留一个静态IP:

gcloud compute --project "YOUR_PROJECT_ID" addresses create "STATIC_IP_NAME" --region "YOUR_REGION"
  1. 运行以下命令,使用您刚刚保留的静态 IP 创建新实例:

gcloud compute --project“YOUR_PROJECT_ID”实例创建“INSTANCE_NAME”--zone“YOUR_ZONE”--machine-type“n1-standard-1”--network“YOUR_NETWORK_NAME”--address STATIC_IP_NAME--can-ip-forward--maintenance-policy“MIGRATE”--scopes“https://www.googleapis.com/auth/cloud-platform“ - 图像 ”https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20151104“ --启动磁盘大小 "10" --启动磁盘类型 "pd-standard" --启动磁盘设备名称 "DISK_NAME"

在这种情况下,我选择了 debian-8 图像和 n1-standard-1 机器类型,当然您可以根据需要进行更改。

相关内容