在Azure中组织环境(服务器)的最佳实践设置?

时间:2016-01-12 10:44:14

标签: azure development-environment production-environment

我即将设置一个将在Azure中托管的新项目(我第一次使用它)。我将有三种类型的环境:

  • Prelive environment (CI服务器,开发服务器,Systest服务器,性能测试服务器)
  • 实时环境(实时服务器)
  • 生产力环境(Perforce服务器,TeamCity服务器,Jira服务器)

从网络层面我想:

  1. 生产力服务器(TeamCity)可以访问Prelive&实时服务器(部署)

  2. 开发人员可以部分访问实时服务器(没有rdp但可以访问http)。我想隔离对Live环境管理的访问(仅限devops / admin)。

  3. 实现这一目标的最佳方式是什么?

    选项1 - 在Azure中使用不同的订阅?一个用于PRELIVE,一个用于生产力,一个用于LIVE。服务器能够互相访问吗?是否可以在不同的订阅和Azure AD之间建立信任以避免重复用户?

    选项2 - 每个环境(Dev,Systest,performance,live)都在自己的订阅中?

    选项3 - 使用相同的订阅和Role-based Access Control?有没有办法在网络级别将LIVE与Prelive隔离?

    选项4 - 还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

当然,从单个订阅中无法完成任何操作,但是从组织/计费/管理的角度来看,拥有多个订阅可能会有所帮助。

如果在两个单独的虚拟网络中部署两个VM,则默认情况下它们具有网络分离。然后,您可以创建安全组规则以允许使用标准TCP / IP网络限制(子网,端口等)进行访问

如果默认情况下将两个VM部署到同一虚拟网络中,则它们可以相互开放网络访问,但如果将它们部署到单独的子网中,则可以配置子网级别安全组以控制访问。

如果您的团队正在进行部署,并且您只希望Dev团队访问Dev框,则可以在服务器和资源组上配置RBAC以允许这样做。

资源组是逻辑上连接的资源(VM,VNets,Web Apps等)的集合 - 尽管上述内容仍然适用。由于该事实,同一资源组中的服务器不具有网络访问权限。

如果您是第一次使用Azure,最好的建议是留出几周时间来构建内容,并了解它可以为您和您需要的最佳方式。

在这一点上,将它全部撕下来并使用你学到的东西正确地构建它。