好的。
因此,我刚开始将 基础结构 部署到Azure。
我了解基本知识。
我受命在Azure中创建“ Web层”,“中间层计算机”和“数据库服务器”。我可能会使用本地术语。...也许它们映射到Azure。
我正在使用App-Service-Plan和App-Service。 Windows风格。
我也非常喜欢terraform,但是我认为这个问题并不取决于terraform。 (terraform只是在Azure中创建必要对象的更简单的方法,这是我的新手理解。)
现在,我已经能够创建。
App-Service(这将是我的“网络服务器”)。我将其称为AppServiceWT。
App-Service(这将是我的“中间层”)。我将其称为AppServiceMT。
还有Sql-Server / Sql-Server数据库。
我已经能够使用terraform风格的脚本来创建其中的一些内容。
resource "azurerm_resource_group" "testrg" {}
..
resource "azurerm_app_service_plan" "testaspwt" {
name = "some-app-service-plan-for-webtier"
sku {
tier = "Standard"
size = "S1"
}
}
resource "azurerm_app_service" "testaswt" {
name = "AppServiceWT_SomeGlobalUniqueName"
}
..
resource "azurerm_app_service_plan" "testaspmt" {
name = "some-app-service-plan-for-middletier"
sku {
tier = "Standard"
size = "S1"
}
}
resource "azurerm_app_service" "testasmt" {
name = "AppServiceMT_SomeGlobalUniqueName"
}
..
resource "azurerm_sql_server" "primary_azurerm_sql_server" {}
resource "azurerm_sql_database" "primary_azurerm_sql_database" {}
所以我有“零件”(我认为是???)。
所以我现在的障碍是
我该如何保护网络流量。
要求:
middleTier可以发出sql-server-tier请求。 sql-server-tier除中间层外不可访问。在本地环境中,我们将在sql-server上打开端口1433以允许流量。
webTier可以使请求成为中间层。除了网络层之外,其他任何人都无法访问中间层。在本地环境中,我们将在中间层开放端口80/443以允许流量。
WebTier向世界开放。
我缺少什么天蓝色的“物体”?
用于指向地形“任务”(或称为“任务”的物体)的奖励点。
https://www.terraform.io/docs/providers/azurerm/index.html
但是,是的,我正在向SOF寻求帮助,以填补我脑海中的“交通”和“安全网络”空白。
谢谢。
如果我问错了问题,请告诉我。
我不想维护自己的VM。因此,我认为Azure App-Service-Plan和App-Service是正确的选择。虽然我对Azure函数和逻辑应用有点熟悉,但我们不想在本项目中使用它们。
要添加更多信息。
我最终尝试使用下面的Microsoft How-to文章来做一个“ hello world”。上面的文章没有中间层,但是一旦我掌握了这些概念,我认为我可以创建一个web / middle / sql“ hello world”。
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-dotnetcore-sqldb
答案 0 :(得分:1)
有几种方法可以保护正在创建的应用程序服务中的应用程序-
1。我相信您已经在执行此操作或不确定是否需要它,但是 我们可以验证对网络应用程序的访问权限(使用OAuth2.0等。)。
2。如果您想更好地控制我们部署应用程序的网络,我们
可以利用提供以下内容的应用服务环境
虚拟网络集成功能可帮助您限制传入
通过网络安全组(NSG)的源IP地址。
大概一次可以将其用于前端和中间层。
3。在数据库中白名单列出允许的IP地址范围。 其他任何服务都不应访问其他数据库 而不是Web应用程序,那么它应该是前端Web应用程序的IP。
答案 1 :(得分:0)
对于webapps,您唯一的选择是为sql打开webapp外部ip地址,以便能够相互通信。
webapp有几个潜在的外部ip地址,可以在sql上打开它们。只要azure sql \ webapp位于同一区域,流量将使用azure背骨。
在中间层,您应该使用IP限制(web.config可以做到这一点)。