【问题标题】:How to Set IP to Static with Powershell and Azure如何使用 Powershell 和 Azure 将 IP 设置为静态
【发布时间】:2018-01-11 19:58:54
【问题描述】:

我有一个 Azure 开发测试实验室,我正在通过 Power Shell 将其部署到 Azure。我能够毫无问题地部署 ARM 模板并加入测试域(不是 Azure AD)。我想做的下一步是将IP设置为静态。我可以想到 3 种方法来做到这一点。要么事先找出 IP 结构,然后使用这些设置进行部署。让 DHCP 分配设置并尝试使用 Powershell DSC 将它们从动态设置为静态。或者来自 DHCP 的某种类型的首选租约。这些实验室旨在临时建立和拆除。 IP 是内部的,而不是公共的。我可以事先知道 IP。有人可以就最有意义的追求提出建议吗?

【问题讨论】:

  • Azure 配置问题是题外话,更适合 Serverfault - 除非有编程问题。
  • 已更新以包含 IP 信息。它是内部的,不是公开的,
  • 2 三个选项都需要 powershell 脚本,所以我觉得这里更适合。我也会发布服务器故障。
  • 您可以为此使用 ARM 模板,请查看我的答案。另外,这是一个完全有效的问题,它不是问如何配置服务器,而是问如何自动化部署@vonPryz

标签: powershell azure


【解决方案1】:

好吧,有几种查看方式,首先,您可以在部署时定义 ip,将其设置为静态,而不是动态:

{
"name": "xxx",
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2016-10-01",
"location": "loc",
"properties": {
  "ipConfigurations": [
    {
      "name": "ipconfig1",
      "properties": {
        "privateIPAllocationMethod": "Static",
        "privateIPAddress": "ipgoeshere",
        "subnet": {
          "id": "subnetgoeshere"
        }
      }
    }
  ]
}

但此方法仅在您事先知道可用的 IP 地址时才有效,并且您必须查找这些地址并将其传递给模板。

另一种方法是将 NIC 创建为动态的,获取其 IP 地址并将其设置为静态。一切都可以通过 ARM 模板完成。例子有点多,这里就不贴了,大家可以查看here。查找名为:"[concat(variables('vmNamePrefix'),'setStaticIp')]""[concat(variables('vmNamePrefix'),copyIndex(1),'-primaryIp')]", 的部署及其对应的模板:getipsetip

powershell也可以做差不多的事情,我没有脚本Handy,但是逻辑是一样的,deploy > getip > setip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 2021-05-28
    • 2022-08-17
    • 2019-05-01
    • 2021-04-21
    • 2021-07-14
    • 2012-09-05
    相关资源
    最近更新 更多