0

我正在使用 terraform 来建立基础设施。我已经用 terraform 建立了一个虚拟机,它在 azure 上说它正在运行并且有一个公共 ip。但是,我似乎无法通过在我的网络浏览器中搜索 ip 来访问虚拟机。我的代码有问题还是我缺少什么?下面显示了创建 VM 的 terraform 代码。

resource "azurerm_virtual_machine" "myterraformvm" {
name                  = "myVM"
location              = "westeurope"
resource_group_name   = "${azurerm_resource_group.myterraformgroup.name}"
network_interface_ids = ["${azurerm_network_interface.myterraformnic.id}"]
vm_size               = "Standard_DS1_v2"

storage_os_disk {
    name              = "myOsDisk"
    caching           = "ReadWrite"
    create_option     = "FromImage"
    managed_disk_type = "Premium_LRS"
}

storage_image_reference {
    publisher = "Canonical"
    offer     = "UbuntuServer"
    sku       = "16.04.0-LTS"
    version   = "latest"
}

os_profile {
    computer_name  = "myvm"
    admin_username = "azureuser"
}

os_profile_linux_config {
    disable_password_authentication = true
    ssh_keys {
        path     = "/home/azureuser/.ssh/authorized_keys"
        key_data = "ssh-rsa here is a valid SSH key in my original code"
    }
}

 boot_diagnostics {
    enabled = "true"
    storage_uri = "${azurerm_storage_account.mystorageaccount.primary_blob_endpoint}"
}

tags {
    environment = "Igaaas"
}

}

4

1 回答 1

0

对于您的问题,如果您想使用 Web 浏览器通过公共 IP 访问 Azure VM。你需要在你的虚拟机中有一个 web 服务器并监听一个端口。

例如,您在 VM 中有一个 Web 服务器并侦听端口 80,因此您可以使用 Web 浏览器通过 vm_puvlicIP:80 访问 VM。

我看到您在代码中设置了 ssh 密钥。如果你想 ssh 你的虚拟机,你应该有一个 ssh 工具。然后您可以使用 ssh 工具通过公共 IP 和 ssh 密钥连接您的 Ubuntu。

对于 Terraform,它只是一个用于创建资源的工具,例如 VM。像 Azure 模板。

于 2018-07-19T07:10:38.427 回答