标签: multi-tenancy

在多域上使用 SSL,自动扩展 Elastic Beanstalk 设置

我们正在为我们的公司创建一个内容管理系统。重要的是,此 CMS 支持动态数量的服务器上的动态域名。经过数小时的研究,我们认为 Amazon 的 Elastic Beanstalk 是最佳选择。我们还需要的一件事是能够为与我们的系统关联的域动态启用 SSL。

因此,在我们的系统中,我们可以创建一个与域相关联的“站点”。创建站点时,我们还应该能够选择是否通过 SSL/TLS 托管域。我们计划对系统进行白标,并预计将有大量域与其关联。

我一直在探索能够在服务器(或负载平衡器)上设置 SSL 并能够动态更改哪些域受到保护的不同可能性。这是我所在的位置:

  • 使用亚马逊的证书管理器:这将是最理想的方式。它与 AWS 集成并且非常易于使用。但是,它有几个使人衰弱的限制: 1. 每次请求新证书时,您都必须通过电子邮件验证每个域。没什么大不了的 2. 它不能将证书应用于 EC2 实例,只有负载均衡器和负载均衡器只能分配一个证书。这意味着每当您想要保护另一个域时,您都必须重新验证每个域。不好。
  • 在负载均衡器上使用 Let's Encrypt:这将是保护我们网站的下一个最佳方式(我可以看到)。每当需要保护新站点时,我们都会为所有需要 SSL 的域请求新证书。创建证书后,我们将其推送到 IAM 并告诉 EBS 将负载均衡器与新证书相关联。我看到的唯一问题是LetsEncrypt 将他们的证书限制为 100 个域,非免费但相对便宜的 SSL 提供商 SSLMate 也是如此。现在可能工作,但它不能扩展。是否有自动 SSL 提供程序对证书上的域数量没有限制?
  • 使用 Passthrough SSL:Amazon 的 Elastic Beanstalk 允许您以这样的方式设置它,以便负载均衡器将加密的流量直接传递到 EC2 实例。然后您可以允许 EC2 实例处理证书。然后我可以利用 LetsEncrypt 并为每个域分配一个单独的证书。我在考虑自动缩放时遇到了一个问题:我们需要跨实例复制证书。我的解决方案是将证书存储在安全的 S3 存储桶中,然后在所有 EC2 实例上运行一个 cron 以提取新的/更新的证书。

最后一个想法有什么问题吗?我正在尝试做的事情有更好的解决方案吗?我错过了什么吗?在意?或者也许是我问题的超级简单解决方案?

请注意,我使用的是 docker,所以我可以在服务器上设置任何我需要的东西。

ssl multi-tenancy autoscaling elastic-beanstalk lets-encrypt

8
推荐指数
1
解决办法
1126
查看次数

在 VLAN 用完时构建网络

这是一个完全假设的问题,我现在不在这种情况下。

如果您运行多租户网络并且拥有超过 4096 个客户,您的 VLAN 拓扑和路由会发生什么变化?

您是否必须在最高级别开始将您的网络“分区”到新的路由器/交换机树中,然后重新开始使用 VLAN 编号?

routing switch architecture vlan multi-tenancy

7
推荐指数
2
解决办法
1941
查看次数

是否有 Linux HA 软件负载均衡器为多个不相关的域名提供 HTTPS 服务,但均衡到单个 Web 服务器集群?

我有一个基于云的(Amazon AWS、Rackspace 等)多租户 SaaS 应用程序,我需要支持多个不相关租户域的 HTTPS 通信。

作为说明性示例,假设我们的 SaaS 可在以下位置获得:

https://foo.com
Run Code Online (Sandbox Code Playgroud)

租户可以通过以下方式访问其租户特定的 UI 和服务端点:

https://tenantA.foo.com
https://tenantB.foo.com
...
Run Code Online (Sandbox Code Playgroud)

这在今天很容易通过一个通配符 SSL 证书来支持。

然而,使用我们的 SaaS,我们的租户可能希望直接向他们自己的用户公开我们的 UI(但为他们打上品牌)。

这会导致一个问题:假设 John Smith 是 的现有客户tenantA(并且不知道foo.com)。如果 John Smith 被定向到https://tenantA.foo.com,他们很容易混淆(例如“谁他妈的是 foo.com?我为什么在这里?我被黑客入侵了吗?啊哈!”)。

为了避免这个问题,我们的租户会设置一个子域,如:

https://foo.tenantA.com
Run Code Online (Sandbox Code Playgroud)

这避免了许多最终用户的困惑:tenantA的用户可以看到他们认为拥有的 URL,tenantA并且将更容易使用该应用程序。但是tenantA希望我们托管有关应用程序的所有内容,这意味着foo.com的基础架构需要为 SSL 连接提供服务。

为此,我们希望支持以下内容:

  1. 租户上传了一个 SSL 证书+密钥给我们foo.tenantA.com
  2. 我们获取该 SSL 证书并将其动态安装到高度可用的负载平衡集群(2 个或更多 LB 节点)中,该集群将请求负载平衡到我们的 SaaS 应用程序 Web 端点。
  3. 租户将其 DNS 更新foo.tenantA.com为 CNAME 重定向到tenantA.foo.com.

这样,我们的负载均衡器池将提供/终止所有 …

ssl https load-balancing saas multi-tenancy

5
推荐指数
1
解决办法
1190
查看次数

在多租户 Exchange 2010 安装中,是否可以路由到不同组织的不同发送连接器

我们使用多租户 Exchange 2010 安装为其他组织托管邮件。

我们希望根据发送邮件的组织路由到两个不同的出站中继之一。

是否可以根据组织选择使用哪个发送连接器?

exchange exchange-2010 multi-tenancy

5
推荐指数
1
解决办法
1408
查看次数

Amazon RDS 租赁模型是什么?

我的组织希望更好地了解 Amazon RDS 架构。特别是,我的经理希望了解 RDS 的“租赁”模型,即该服务如何容纳多个客户以及 Amazon RDS 数据库实例如何工作。

以下是按照提供最多到最少隔离的顺序列出的一些可能性:

  1. 数据库实例位于运行 MySQL 的单个且独占的 VM 上;该虚拟机上没有运行其他数据库实例
  2. 数据库实例只是在给定虚拟机上运行的多个实例之一,但每个数据库实例都有自己的 MySQL 实例
  3. 多个数据库实例可以连接到单个虚拟机上的单个 MySQL 服务器,但特殊的软件使连接看起来像是我们正在连接到我们自己的专用 MySQL 实例。

我的猜测是,数字 1 是正确的,但我的老板会更高兴得到比猜测更明确的东西,比如 Amazon 白皮书或解释 RDS 架构的其他文档。

有人有这样一个文档的指针吗?

mysql multi-tenancy amazon-rds

5
推荐指数
1
解决办法
3525
查看次数

让租户托管自己的数据

我们正在开发一个 Web 应用程序并计划将其部署在多租户模型中。然而,我们的一些潜在客户对无法控制他们的数据的想法感到非常不安。考虑到这一点,我们计划让他们托管自己的数据库。但是我们在备份上遇到了问题,如果客户托管数据库,我们无法为他们备份。

有没有人以前处理过这种情况?任何建议/意见将不胜感激!谢谢!

security cloud database saas multi-tenancy

0
推荐指数
1
解决办法
83
查看次数