gpt4 book ai didi

azure - 通过 REST API 刷新 Azure VM 的 IP 地址

转载 作者:行者123 更新时间:2023-12-03 05:29:10 25 4
gpt4 key购买 nike

我正在尝试使用 REST API 来更改 Azure 上的 Ubuntu 虚拟机的 IP。

在 Web 界面中,停止和启动 VM 通常会导致公共(public) IP 发生更改。但是,仅通过向 API 发出curl 请求来停止和启动虚拟机不会触发 IP 更改。

我可以使用 GET 请求请求 IP 配置的当前状态(请参阅文档 here ),但我找不到任何函数来刷新它。我还尝试在重新打开虚拟机之前将 IP 设置为静态并恢复为动态,但这也不起作用。

我发现了这个类似的问题here ,但是当我尝试这种方法时,我收到以下错误消息:

{  "error": {
"code": "IpConfigDeleteNotSupported",
"message": "IP Configuration ipconfig1 cannot be deleted. Deletion and renaming of primary IP Configuration is not supported",
"details": [] }

我还创建了辅助 IP 配置。第一个名为 ipconfig1,第二个我命名为“alternative”。这似乎是第二个网络接口(interface)。我已将第二个 IP 地址与第二个网络接口(interface)相关联。但我仍然遇到同样的错误。

我的最终请求如下所示:

curl -X PUT  -H "Authorization: Bearer MYTOKEN" -H "Content-Type: application/json" -d '{ "name": "NETWORKINTERFACE542", "id": "GROUP", "location": "westeurope", "properties": { "provisioningState": "Succeeded", "ipConfigurations": [ { "name": "alternative", "properties": { "privateIPAllocationMethod": "Dynamic", "subnet": { "id": "/subscriptions/xx-xx-xx-xx/resourceGroups/GROUP/providers/Microsoft.Network/virtualNetworks/GROUP-vnet/subnets/default" }, "primary": true, "privateIPAddressVersion": "IPv4" } } ], "dnsSettings": { "dnsServers": [], "appliedDnsServers": [] }, "enableAcceleratedNetworking": true, "enableIPForwarding": false }, "type": "Microsoft.Network/networkInterfaces" }' https://management.azure.com/subscriptions/xx-xx-xx-xx/resourceGroups/GROUP/providers/Microsoft.Network/networkInterfaces/NETWORKINTERFACE542?api-version=2020-07-01

(其中 CAPS 术语代表我的实际变量名称)

即使我什至没有在请求中引用 ipconfig1,我仍然遇到相同的错误。

有什么办法可以实现IP重置吗?

最佳答案

正如您所提到的:在 Web 界面中,停止和启动虚拟机通常会导致公共(public) IP 发生更改。

一般来说,Web UI 中的停止操作实际上是进行解除分配操作,因此您需要使用 REST API Deallocate 和 Start 来触发公共(public) IP 地址更改。

Virtual Machines - Deallocate

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate?api-version=2020-12-01

Virtual Machines - Start

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start?api-version=2020-12-01

关于azure - 通过 REST API 刷新 Azure VM 的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66587480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com