Azure Linux VM(资源管理器)上的端点选项卡?
Endpoints tab on an Azure Linux VM (resource manager)?
我正在尝试将我的应用程序从 Heroku 迁移到 Azure。事实证明,这个过程比宣传的更繁琐。
在重置了很多方法之后,我终于决定在 Azure(资源管理器 VM)上设置一个 Ubuntu VM 并自己处理所有事情。我现在想在此 VM 上安装 IIS,设置 HTTP 端点并在其上配置网站。但我无法朝着这个目标前进,因为我看到的所有在线资源都希望我从 Azure 管理控制台上的 Endpoints 选项卡开始。
但是我刚刚配置的虚拟机的 Azure 管理控制台上没有端点选项卡。
我现在猜测这是经典 Azure VM 的一个特性,而不是 v2,但与 Heroku 不同的是,文档过于分散,无法清楚地描述什么是什么。
那么我的 Linux Azure VM (v2) 需要采取什么类似的方法来开始服务网络流量?
关于我的应用程序的更多信息:它是一个 Django 应用程序,它使用名为 waitress, it's db is postgresql. BTW, I can't use 'Azure Web Apps' because this feature doesn't support postgresql, nor can I install all the packages from my requirements.txt
on it since some of them require a compiler and don't have Python Wheels 的纯 python WSGI 网络服务器(机器上没有编译器 运行 网络应用程序在 Azure 应用服务中)。
v1 和 v2 的最大区别之一是网络适配器和 public IP 地址的概念。作为 VM 的独立实体。 应该 坐在他们之间的是 Network Security Group
Azure v2 的强大功能和灵活性意味着可以轻松创建实际上根本没有防火墙的解决方案。
如果您查看您创建的资源组,您的网络安全组应该在那里。从那里您可以配置端点。 (你也可以查看VM的'quick start'页面,右下角应该有一个'security group' link(我是凭记忆做的,因为我没有访问权限目前到 Azure - 所以细节可能略有偏差)
预计到达时间
v2 安全组是存在于子网边界层或网卡层的软件防火墙。
子网边界 SG 可以保护后端 VM 免受前端服务器的危害。因此,数据库服务器只能通过特定端口进行通信,无法访问互联网(例如)
连接到 Nic 的 SG 用于创建应用程序规则。例如,对于 HTTP,您将创建一个允许目标端口为 80 的单一规则,允许它来自任何 IP 地址和任何源端口。
So what's the comparable approach I need to take for my Linux Azure VM (v2), so as to start serving web traffic?
"endpoints" 的概念适用于经典部署模式(也称为经典门户)。但是在新的 Azure 门户中,资源管理 (arm) 部署模式优于经典 portal/classical 部署模式 (asm),您需要将 "Inbound security rules" 添加到您的网络安全组 (NSG)。
您可以使用新的 Azure 门户 (https://portal.azure.com)、PowerShell、Azure CLI 或 ARM 模板。我将介绍 Azure 门户和 Azure CLI。
方法 1:使用新的 Azure 门户 (https://portal.azure.com):
1. 导航到您在 Azure
中创建的 Linux VM 的网络安全组
2. 导航到您的入站安全规则设置
1. 添加新的入站安全规则以开始处理 Web 流量。 (这是一个名为 "web-rule" 的示例规则,它允许来自客户端的流量从任何端口连接到端口 80)
方法 2:使用 Azure CLI:
- 打开 Azure CLI
- 登录天蓝色:
azure login
- 切换到资源管理器模式:
azure config mode arm
运行 azure network nsg create 命令:
azure network nsg rule create -g UbuntuRG -a UbuntuVM -n web-rule -c Allow -p Tcp -r Inbound -y 200 -f Internet -o * -e * -u 80
注意:以上方法均假设您的资源组名称为"UbuntuRG",您的虚拟机名称为"UbuntuVM".
您可以找到更多信息:
How to manage NSGs using the Azure portal
How to create NSGs in Resource Manager by using PowerShell
我正在尝试将我的应用程序从 Heroku 迁移到 Azure。事实证明,这个过程比宣传的更繁琐。
在重置了很多方法之后,我终于决定在 Azure(资源管理器 VM)上设置一个 Ubuntu VM 并自己处理所有事情。我现在想在此 VM 上安装 IIS,设置 HTTP 端点并在其上配置网站。但我无法朝着这个目标前进,因为我看到的所有在线资源都希望我从 Azure 管理控制台上的 Endpoints 选项卡开始。
但是我刚刚配置的虚拟机的 Azure 管理控制台上没有端点选项卡。
我现在猜测这是经典 Azure VM 的一个特性,而不是 v2,但与 Heroku 不同的是,文档过于分散,无法清楚地描述什么是什么。
那么我的 Linux Azure VM (v2) 需要采取什么类似的方法来开始服务网络流量?
关于我的应用程序的更多信息:它是一个 Django 应用程序,它使用名为 waitress, it's db is postgresql. BTW, I can't use 'Azure Web Apps' because this feature doesn't support postgresql, nor can I install all the packages from my requirements.txt
on it since some of them require a compiler and don't have Python Wheels 的纯 python WSGI 网络服务器(机器上没有编译器 运行 网络应用程序在 Azure 应用服务中)。
v1 和 v2 的最大区别之一是网络适配器和 public IP 地址的概念。作为 VM 的独立实体。 应该 坐在他们之间的是 Network Security Group
Azure v2 的强大功能和灵活性意味着可以轻松创建实际上根本没有防火墙的解决方案。
如果您查看您创建的资源组,您的网络安全组应该在那里。从那里您可以配置端点。 (你也可以查看VM的'quick start'页面,右下角应该有一个'security group' link(我是凭记忆做的,因为我没有访问权限目前到 Azure - 所以细节可能略有偏差)
预计到达时间
v2 安全组是存在于子网边界层或网卡层的软件防火墙。
子网边界 SG 可以保护后端 VM 免受前端服务器的危害。因此,数据库服务器只能通过特定端口进行通信,无法访问互联网(例如)
连接到 Nic 的 SG 用于创建应用程序规则。例如,对于 HTTP,您将创建一个允许目标端口为 80 的单一规则,允许它来自任何 IP 地址和任何源端口。
So what's the comparable approach I need to take for my Linux Azure VM (v2), so as to start serving web traffic?
"endpoints" 的概念适用于经典部署模式(也称为经典门户)。但是在新的 Azure 门户中,资源管理 (arm) 部署模式优于经典 portal/classical 部署模式 (asm),您需要将 "Inbound security rules" 添加到您的网络安全组 (NSG)。
您可以使用新的 Azure 门户 (https://portal.azure.com)、PowerShell、Azure CLI 或 ARM 模板。我将介绍 Azure 门户和 Azure CLI。
方法 1:使用新的 Azure 门户 (https://portal.azure.com):
方法 2:使用 Azure CLI:
- 打开 Azure CLI
- 登录天蓝色:
azure login
- 切换到资源管理器模式:
azure config mode arm
运行 azure network nsg create 命令:
azure network nsg rule create -g UbuntuRG -a UbuntuVM -n web-rule -c Allow -p Tcp -r Inbound -y 200 -f Internet -o * -e * -u 80
注意:以上方法均假设您的资源组名称为"UbuntuRG",您的虚拟机名称为"UbuntuVM".
您可以找到更多信息:
How to manage NSGs using the Azure portal
How to create NSGs in Resource Manager by using PowerShell