# tableau Guides - Full Documentation [跳转到主要内容](#main-content) # Tableau Cloud 手动迁移指南 本指南介绍了如何将 Tableau Server 部署手动迁移到 Tableau Cloud。简而言之,本指南对于运行 Tableau Server,用户数少于 100 且熟悉完全手动、自助式迁移过程的管理员很有用。 如果您有更多的用户并且您的数据要求更复杂,您可能会受益于与[专业服务或经验丰富的迁移合作伙伴](https://www.tableau.com/zh-cn/solutions/tableau-migration)合作来迁移到 Tableau Cloud。再往下,本主题包括有关如何规划迁移的指导。 但首先,让我们确保您了解为什么迁移到 Tableau Cloud 对您的组织来说可能是明智之举。 ## 为什么迁移有意义 如果您为一小群用户运行单个 Tableau Server,那么将您的操作转移到 Tableau Cloud 几乎不可能不节省时间和金钱。迁移到 Tableau Cloud 的简单好处是节省了时间,而对于我们大多数人来说,时间往往供不应求。如果您是一名数据科学家或分析师,发现自己意外地运行了 Tableau Server 安装,请迁移并恢复您的数据! 那么更大的组织呢?如果您的组织超过 100 个用户,那么您无疑也将受益于大规模节省成本和时间。Tableau Cloud 专为处理大型组织而构建,但本指南并非如此。如果您希望迁移更大的组织,请查看 [Tableau Cloud 迁移](https://www.tableau.com/zh-cn/solutions/tableau-migration),在这里您可以了解有关与专业服务或经验丰富的迁移合作伙伴合作的详细信息。 对于许多组织而言,Tableau Cloud 将更快、更可靠,并且比您现在为保持 Tableau Server 正常运行所做的任何工作都更省事。您将永远不需要面对另一个主要的服务器升级,甚至是维护版本更新,如您所知,这实际上只是以另一个名义偷偷进入的升级。Tableau Cloud 始终运行最新版本,具有最新的功能。服务中融入了可靠性和性能。迁移过程结束后,您使用 Tableau Cloud 的时间将花在管理用户和数据上。就是这样。您不需要对服务错误进行故障排除、梳理日志或重新启动,然后再重新启动。 与您的客户经理一起计算支持您的用户的成本。在评估总体成本时,请记住,每用户许可费用的单一指标并不能提供 SAAS 和自托管服务器之间的同类比较。如果不包括管理 Tableau Server 所花费的时间以及更新或租赁硬件的资本成本,则这种比较尤其贫乏。在云中运行单个服务器的年度成本可能超过 10,000 美元。当然,任何分析都必须包括维护、定期更新和故障排除的人员成本。 ### 深入研究 - 有关迁移到 Tableau Cloud 的快速相关评估,请参阅博客文章[我应该将我的分析迁移到 Tableau Cloud 吗?](https://www.tableau.com/zh-cn/blog/should-i-move-my-analytics-cloud) - 有关从本地或自托管迁移到 Tableau Cloud 的优势的详细信息,请参见 GigaOm 的研究文章[CxO 决策简介:SaaS 商业智能平台](https://portal.gigaom.com/report/cxo-decision-brief-saas-business-intelligence-platforms)。 - 有关详细介绍现实世界中成本节省和性能改进的案例研究,请参见 [Splunk 迁移到 Tableau Cloud 消除了服务器管理开销并提高了仪表板性能](https://www.tableau.com/zh-cn/solutions/customer/splunk-migrates-tableau-cloud-eliminates-server-admin-overhead)。 ## 迁移何时没有意义 以下列表描述了可以继续管理您自己的 Tableau Server 实例而不是迁移的场景。我们致力于不断改进 Tableau Cloud,并将在发布新功能以弥补这些差距时更新此列表。但是,在您决定迁移之前,请务必验证 Tableau Cloud 是否满足您的要求。在继续迁移之前,请务必验证您的要求。 - **法规和数据驻留:**您的企业在必须遵守 Tableau Cloud 尚未满足的法规(例如 FedRAMP、PCI 等)或数据驻留要求的空间中运营。请[查看我们的当前合规性列表](https://compliance.salesforce.com/en/services/tableau-cloud)并经常回来查看以了解新认证何时可用。 - **数据源:**您的组织所依赖的数据解决方案不适用于 Tableau Cloud,不受 Tableau Bridge 支持,或者超出了您以兼容方式提取数据的所有权范围。此类数据源的示例包括多维数据集数据源、自定义连接器、打包的 Tableau 连接器 (.taco) 文件等。下一个主题[规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm)将介绍 Tableau Cloud 中可用的不同受支持数据源和选项。您还可以下载免费的 [Tableau Cloud 迁移技术准备情况评估](https://exchange.tableau.com/zh-cn/products/921),以查看您当前正在使用哪些数据源以及 Tableau Cloud 是否支持这些数据源。 - **站点容量:**如果您的数据超过 1 TB,请查看 [Tableau Cloud Advanced Management](https://help.tableau.com/current/online/zh-cn/itm_intro.htm)。否则,请查看[Tableau Cloud 站点容量](https://help.tableau.com/current/online/zh-cn/to_site_capacity.htm)以优化任何必要的整合。[Tableau Cloud 迁移技术准备情况评估](https://exchange.tableau.com/zh-cn/products/921)可以帮助您识别需要整合的资产。 - **身份验证:**如果您需要 LDAP 用于外部身份存储、Kerberos 身份验证或 Kerberos 委托身份验证。 - **数据管理:**Tableau Bridge 不支持 Tableau Prep 流程。如果您需要使用 Tableau Prep 流程对私有网络后面的数据进行自动数据更新,请参见[如何在 Tableau Cloud 中使用本地数据运行 Tableau Prep Conductor 流程](https://kb.tableau.com/articles/howto/how-to-run-tableau-prep-conductor-flows-with-on-premises-data-in-tableau-cloud?lang=zh-cn)。Tableau Bridge 也不支持使用 Python 的 Tableau Prep 流程。 ## 谁应阅读本指南 本指南是针对将要迁移到 Tableau Cloud 的个人或团队编写的。本指南专为拥有 100 个或更少用户的 Tableau Server 安装而设计。本指南提供了一个逐步的手动过程,在一两周内将您的组织从 Tableau Server 迁移到 Tableau Cloud 中的全功能站点。 在 Tableau Cloud 中迁移并创建核心管理功能(身份/用户、站点配置、身份验证、数据连接等)后,可以与组织中的创建者共享大部分内容迁移。“创建者”是拥有基于 Creator 角色的许可证的用户。根据您的目标,您(管理员)或您的创建者可以迁移内容。为此,我们创建了大量与迁移相关的内容,供您的 Creator 参考。迁移内容的用户需要拥有 Creator 许可证和对[Tableau Desktop](https://www.tableau.com/zh-cn/products/desktop) 的访问权限。如果 Creator 要迁移 Tableau Prep 流程,那么他们还必须安装 Tableau Prep Builder。 ## 迁移后 在本指南中,我们将尽力涵盖尽可能多的 Tableau Cloud 平台,但有些功能管理员无法代表其最终用户进行设置。迁移完成后,用户将需要对其内容进行一些更新。还有一些特性更适合在 Tableau Cloud 中重新创建,这样可以利用云的原生功能。 ### Tableau Cloud 中的功能差异 如前所述,从管理角度来看,运行 Tableau Cloud 与管理自己的 Tableau Server 相比,耗费的劳动力要少得多。您可以在 Tableau Server 帮助主题_“从 Tableau Server 迁移到 Tableau Cloud 的技术注意事项”_ ( [Windows](https://help.tableau.com/current/server/zh-cn/migrate_server_to_cloud_overview.htm) | [Linux](https://help.tableau.com/current/server-linux/zh-cn/migrate_server_to_cloud_overview.htm)) 中找到功能差异的汇总列表。以下是一些最常见的项目。 - 在 Tableau Cloud 中,作为管理员,您无权直接访问 _Tableau Server 存储库_ ([Windows](https://help.tableau.com/current/server/zh-cn/server_process_repository.htm) | [Linux](https://help.tableau.com/current/server-linux/zh-cn/server_process_repository.htm))。作为替代,您可以使用[在线管理见解](https://help.tableau.com/current/online/zh-cn/adminview_insights_manage.htm)来了解您的 Tableau 环境中正在发生的事情,包括当前的许可状态和性能。 - Tableau Cloud 上不提供来宾访问权限。相反,使用[已连接应用](https://help.tableau.com/current/online/zh-cn/connected_apps.htm)来扩大访问范围。 - 虽然不支持完全自定义字体功能,但有一组 Google 字体可用于发布的内容。 - Tableau Cloud 使用租户和站点模型进行管理。使用 [Tableau Cloud Manager](https://help.tableau.com/current/online/zh-cn/cloud_manager_intro.htm),您可以在租户上创建多个站点,类似于在 Tableau Server 上的操作。默认情况下,您最多可以创建 3 个 Tableau Cloud 站点。根据您购买的 Tableau 版本,此容量将增加 — [企业版](https://help.tableau.com/current/online/zh-cn/to_tab_enterprise_features.htm)最多 10 个站点,[Tableau+](https://help.tableau.com/current/online/zh-cn/to_tab_plus_features.htm) 最多 50 个站点。 运行 [Tableau Cloud 迁移技术就绪性评估](https://exchange.tableau.com/zh-cn/products/921),了解在迁移到 Tableau Cloud 之前是否有任何可能需要调整的用例。 ### 最终用户需要完成的任务 有些功能管理员无法代表他们的最终用户进行设置,或者需要手动重新配置。我们已将完整列表作为[最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm)单独提供,以便您可以直接与您的用户共享,但这些任务包括: - Webhook - 嵌入解决方案更新 - 更新 REST API 脚本 - 配置分析扩展程序 ## 版本兼容性  作为一般规则,我们的文档基于最新版本的 Tableau Server,但由于本指南中涵盖的过程不是程序化或自动化迁移,因此我们预计从旧版本的 Tableau Server 迁移到 Tableau Cloud 不会出现问题。严格来说,在管理配置方面,本指南中的过程更像是“移植”而不是“迁移”。 ## 许可 Tableau Cloud 使用“基于角色的订阅”许可。Tableau Server 支持“基于角色的订阅”许可和旧版定价模型。如果您使用不同的(早期)许可模式,请联系您的 Tableau 客户团队,将您的许可转换为“基于角色的订阅”。 ## 额外支持 阅读本材料后,您可能会决定不自己进行手动迁移,而宁愿将其交给专家。如果是这样,请联系我们[经验丰富的迁移合作伙伴](https://www.tableau.com/zh-cn/solutions/tableau-migration#partners)之一,了解他们如何帮助您加速向 Tableau Cloud 迁移。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # Tableau Server 企业部署指南 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 Tableau Server 企业部署指南(EDG)的制定旨在提供有关(在本地或在云中)部署 Tableau Server 的说明性指南。该指南在参考体系结构的上下文中提供了针对企业方案的部署指南。我们已经测试了参考体系结构,以验证是否符合安全性、规模和性能基准,这些基准符合行业标准的最佳实践。 在高层,行业标准企业部署的核心功能由分层拓扑组成,其中服务器应用程序功能的每个层(Web 网关层、应用程序层和数据层)均受访问控制的子网限定和保护。从 Internet 访问服务器应用程序的用户在 Web 层进行身份验证。身份验证完成后,该请求将被代理到受保护的子网,应用程序层将在该子网中处理业务逻辑。高价值数据受到第三个子网(数据层)的保护。应用程序层中的服务通过受保护的网络与数据层进行通信,以向后端数据源提供数据请求。 在此部署中,安全性是所有设计决策和实施的重中之重。但是,可靠性、性能和可扩展性也是优先要求。给定参考体系结构的分布式和模块化设计,通过将每个节点上的兼容服务进行策略性共置并在阻塞点处添加服务,可以通过线性可预测的方式扩展可靠性和性能。 ## 谁应阅读本指南 EDG 是为企业 IT 管理员开发的,他们可能需要: - IT 管理的 Tableau 部署 - 行业合规实施 - 行业部署最佳实践 - 默认安全部署 EDG 是用于部署企业参考架构的实施指南。虽然此版本的 EDG 包含一个示例 AWS/Linux 实施,但经验丰富的企业 IT 管理员可以将本指南用作资源,将规定的参考架构部署到任何行业标准数据中心环境中。 ## 版本 此版本的 EDG 针对 Tableau Server 的 2021.2.3 版本(或更高版本)制定。虽然您可以将 EDG 用作部署较旧版本的 Tableau Server 的一般参考,但建议您将参考体系结构与 Tableau Server 2021.2.3 或更高版本一起部署。某些功能和选项在较旧版本的 Tableau Server 上不可用。 如需获得最新的功能和改进,我们建议将 EDG 与 Tableau Server 2022.1.7 及更高版本一起部署。 本指南中描述的参考架构支持以下 Tableau 客户端:使用兼容浏览器的 Web 制作、Tableau Mobile 和 Tableau Desktop 版本 2021.2.1 或更高版本。其他 Tableau 客户端(Tableau Prep、Bridge 等)尚未通过参考架构进行验证。 ## 突出特点 Tableau Server 参考架构的第一个版本引入了以下方案和功能: - 客户端预身份验证:在访问内部 Tableau Server 之前,Tableau 客户端(Desktop、Mobile、Web 制作)都通过 Web 层中的企业身份验证提供程序进行身份验证。此过程是通过在 Tableau Server 独立网关上配置一个 authN 插件作为反向代理服务器来管理的。请参见[第 5 部分 - 配置 Web 层](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part5.htm)。 - 零信任部署:由于到 Tableau Servers 的所有流量都经过预身份验证,因此整个 Tableau 部署在不需要可信连接的私有子网中运行。 - 外部存储库:参考架构指定将 Tableau 存储库安装到外部 PostgreSQL 数据库上,允许 DBA 将存储库作为通用数据库进行管理、优化、扩展和备份。 - 初始节点恢复:EDG 引入了一个脚本,可在发生故障时自动进行初始节点恢复。 - 基于 tar 的备份和还原:在 Tableau 部署的战略里程碑处使用熟悉的 tar 备份。如果发生故障或部署错误配置,您可以通过恢复关联的 tar 备份快速恢复到之前的部署阶段。 - 性能改进:客户和实验室验证表明,与标准部署相比,运行 EDG 时性能提高了 15-20%。 ## 许可 本指南中规定的 Tableau Server 参考架构需要 Tableau Advanced Management 许可证才能启用 Tableau Server 外部存储库。您还可以选择部署 Tableau Server 外部文件存储,这也需要 Tableau Advanced Management 许可证。请参见_“关于 Tableau Server 上的 Tableau Advanced Management”_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/itm_intro.htm))。 [跳转到主要内容](#main-content) # 为 Tableau Cloud 重新创建刷新计划 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 ## 为数据提取数据源建立新的刷新计划 - 对于数据提取数据源,导航到 Tableau Cloud 中的已发布或嵌入式数据源。选择“数据提取刷新”>“新建数据提取刷新”>“选择数据提取计划”。 对于需要 Tableau Bridge 的数据源,请确保在建立数据提取刷新之前为连接配置了 Bridge。请参见[使用 Bridge 处理私有云数据](https://help.tableau.com/current/online/zh-cn/to_bridge_vpc.htm)。 ## 为 Tableau Prep 流程建立新的刷新计划 计划流程仅适用于 Data Management 客户。 - 若要为 Tableau Prep 流程建立新的刷新计划,请导航到 Tableau Cloud 中的流程。选择“计划任务”\>“新建任务”\> 选择并配置计划。对任何链接的任务执行相同的操作。有关详细信息,请参见[计划流程任务](https://help.tableau.com/current/online/zh-cn/prep_conductor_schedule_flow_task.htm)。 Tableau Cloud 不支持流程的自定义计划。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. **您在此处**:为 Tableau Cloud 重新创建刷新计划 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 为迁移的用户配置权限和内容访问 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 既然您已将数据源、工作簿和 Prep 流程添加到 Tableau Cloud,您就可以添加用户了。在我们这样做之前,了解 Tableau 如何确定谁有权访问哪些数据非常重要。Tableau Cloud 允许您指定谁有权访问内容,并允许您限制数据源内的数据访问。 我们将使用内容访问工具来限制谁有权访问内容项,并使用行级安全工具来限制用户可以在数据源中看到的数据。 ## 内容访问 项目、嵌套项目和单个内容项均受权限规则约束。您可以查看这些规则如何在您的 Tableau Server 环境中使用,然后在 Tableau Cloud 中重新创建它们。请参见[权限](https://help.tableau.com/current/online/zh-cn/permissions.htm)。 ## 行级安全性 如果您有任何具有行级安全性的数据源或工作簿,您的行级安全权限和计算将需要针对 Tableau Cloud 进行更新,因为用户名和组名可能会在转换期间发生变化。请参见[在数据行级别限制访问权限](https://help.tableau.com/current/pro/desktop/zh-cn/publish_userfilters.htm)和[为行级安全性创建数据策略](https://help.tableau.com/current/online/zh-cn/dm_vconn_create_rlspolicy.htm)。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. **您在此处**:为迁移的用户配置权限和内容访问 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 最终用户迁移检查清单 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 欢迎使用 Tableau Cloud! 您来到这里是因为您的 Tableau 管理员最近将您的 Tableau Server 环境迁移到了 [Tableau Cloud](https://online.tableau.com/),这是 Tableau 的完全托管分析平台。 在迁移过程中,您需要花费几分钟时间完成以下任务,以确保顺利过渡到 Tableau Cloud。如果您在 Tableau Server 上使用以下任何功能,则需要在 Tableau Cloud 上重新创建它们。查看此列表以了解需要重新创建哪些功能并按照提供的步骤进行操作! 在您迁移这些项目时,请与您的 Tableau 管理员一起访问 Tableau Server 和 Tableau Cloud。 - **URL 动作**:您需要更新源自 Tableau Server 的 URL 动作,以便它们指向 Tableau Cloud URL,或者您可以使用更新的字段变量。请参见 [URL动作](https://help.tableau.com/current/pro/desktop/zh-cn/actions_url.htm)。 - **订阅**:您需要在 Tableau Cloud 站点上重新订阅视图、工作簿和流程。请参见[创建视图或工作簿订阅](https://help.tableau.com/current/online/zh-cn/subscribe_user.htm)。 - **自定义视图**:自定义视图是应用了所选内容和筛选器的视图的副本。您需要在 Tableau Cloud 站点上重新应用自定义视图。请参见[使用自定义视图](https://help.tableau.com/current/pro/desktop/zh-cn/customview.htm)。 - **行级安全性**:用户和组名称可以在迁移中更改。如果您在 Tableau 数据策略、数据源或工作簿内的行级安全解决方案中使用了组和用户名,则需要在迁移后更新它们。 - **“数据问答”(Ask Data) 功能镜头**:您需要在 Tableau Cloud 上重新配置“数据问答”(Ask Data) 功能镜头。请参见[创建针对特定受众聚焦“数据问答”(Ask Data) 功能的镜头](https://help.tableau.com/current/pro/desktop/zh-cn/ask_data_lenses.htm)。 - **收藏夹**:您必须重新创建您的收藏夹。您可以将除嵌入数据源之外的任何类型的内容添加到收藏夹。请参见[标记收藏夹](https://help.tableau.com/current/pro/desktop/zh-cn/favorites.htm)。 - **集合**:用户需要在 Tableau Cloud 中重新创建集合。 - **用户帐户设置**:更新您的电子邮件设置和用户界面选项。请参见[管理您的帐户设置](https://help.tableau.com/current/pro/desktop/zh-cn/useracct.htm)。 - **数据源的已保存凭据**:您必须更新之前包含已保存凭据的所有数据源。请参见[为数据连接管理保存的凭据](https://help.tableau.com/current/pro/desktop/zh-cn/manage_stored_credentials.htm)。 - **Webhook**:您必须在 Tableau Cloud 上重新创建 Webhook。请参见 [Tableau Webhook](https://help.tableau.com/current/developer/webhooks/zh-cn/index.html)。 - **嵌入解决方案**:如果 Tableau Server 视图嵌入到任何其他应用程序中,则需要更新这些解决方案以使用 Tableau Cloud 配置。这包括但不限于内容项的 URL、网页如何与项交互以及对可视化项的身份验证。 - **仪表板扩展程序**:根据用例,仪表板扩展程序可能需要适应新的 Tableau Cloud 环境。请参见[仪表板扩展程序](https://help.tableau.com/current/pro/desktop/zh-cn/dashboard_extensions.htm)。您的 Tableau 管理员可能需要[在 Cloud 站点上设置仪表板扩展程序](https://help.tableau.com/current/online/zh-cn/dashboard_extensions_server.htm)。 - **Data Management**:如果您的组织具有 Data Management 功能(通过之前购买的 Data Management,或通过购买 Tableau Enterprise),那么您必须更新数据质量警告和字段描述。请参见[虚拟连接和数据策略](https://help.tableau.com/current/online/zh-cn/dm_vconn_overview.htm)。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. **您在此处**:用户迁移清单 [跳转到主要内容](#main-content) # 创建和配置 Tableau Cloud 站点 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 本指南中描述的迁移过程首先与您的客户经理合作,将您的 Tableau 许可证从 Server 转移到 Cloud。如果您想在迁移之前测试 Tableau Cloud,也欢迎您随时[试用 Tableau Cloud](https://www.tableau.com/zh-cn/products/trial)。 ## 步骤 1:与 Tableau 客户经理合作转移许可 迁移的第一步是与您的客户经理合作,将您的许可从 Server 转移到 Cloud。完成后,您可以在 60 天内访问这两种产品。大多数拥有 100 个或更少用户的客户会在一周内完成此迁移过程,因此在您过渡时应该有足够的时间来访问这两种产品。如果需要更多时间,您可以与您的客户经理合作。 ## 步骤 2:创建其他 Tableau Cloud 站点 如果您已在 Tableau Server 上创建了多个站点,则可能需要使用 [Tableau Cloud Manager](https://help.tableau.com/current/online/zh-cn/cloud_manager_intro.htm) 在 Tableau Cloud 上创建等效站点。作为云管理员,您可以[将站点添加](https://help.tableau.com/current/online/zh-cn/cloud_manager_sites.htm)到单独的内容环境中,管理用户和许可证,以及控制权限。您可以创建的 Tableau Cloud 站点数量取决于您购买的 Tableau 版本。 创建其他站点后,对每个站点继续执行本主题中的其余步骤。 ## 步骤 3:指定身份验证方法 默认身份验证方法将是用户名和密码 (TableauID)。TableauID 用户需要进行多重身份验证,以确保安全访问 Tableau Cloud。我们还支持许多行业标准单点登录选项。有关详细信息,请参见[身份验证](https://help.tableau.com/current/online/zh-cn/security_auth.htm)以确定哪种身份验证方法对您的组织最有意义。 ## 步骤 4:熟悉站点 浏览[站点设置](https://help.tableau.com/current/online/zh-cn/sites_add.htm)并确保它们已根据您组织的需要进行适当配置。 ## 步骤 5:配置数据连接 Tableau Cloud 连接到数据的方式因数据的存储位置而异。每种方法可能需要不同的准备工作,如下所示。如果您不确定哪个选项适合您,请联系您的客户经理。 ### 公开可用的云数据 例如,公开可用的云数据包括 Google Drive、Dropbox、OneDrive 和 Snowflake。 如果连接是数据库,您可能需要启用 Tableau Cloud 才能对其进行查询。若要启用连接,请参见[授权访问发布到 Tableau Cloud 的云数据](https://help.tableau.com/current/pro/desktop/zh-cn/publish_tableau_online_ip_authorization.htm)。 对于 Excel 和 .csv 文件等平面文件:我们建议将这些文件保存在 Google Drive、Dropbox 或 OneDrive 等云存储中。然后,您可以启用与 Tableau Cloud 中的数据的直接连接。如果不能这样做,您将需要配置 Tableau Bridge 以保持与本地保存的平面文件的连接。 ### 本地部署数据、本地文件或私有云数据 例如,本地文件、私有云数据和本地部署数据可能是 SQL Server、Oracle 或本地 Excel 文件。 如果您有私有数据要求,则需要安装和配置 [Tableau Bridge](https://help.tableau.com/current/online/zh-cn/to_bridge_install.htm)。Tableau Bridge 在 Tableau Cloud 和受防火墙保护的数据之间提供安全通信。在可以访问您的数据的单独计算机上的防火墙后面安装 Bridge。请参见[关于 Bridge 客户端](https://help.tableau.com/current/online/zh-cn/to_bridge_client.htm)。 可选:对于本地文件(Excel、CSV 等),您可以将它们保存在 Google Drive、Dropbox、Onebox 等云存储中,而不是使用 Tableau Bridge。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. **您在此处:**创建和配置 Tableau Cloud 站点 00 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 学习资料库 欢迎使用学习资料库。查找您想要详细了解的过程中所包含的步骤名称。向下滚动到下一个表以获取附加的学习教程、视频、白皮书等等。[Tableau 帮助](https://help.tableau.com/current/pro/desktop/zh-cn/default.htm)也是一个很好的信息来源。
入门指南教程步骤要浏览的主题

连接到示例数据源

进行拖放以率先观看

关注结果

通过地理方式浏览您的数据

下钻查询至详细信息

生成仪表板以显示您的见解

将您的发现与其他人共享

以下是附加的学习教程、视频、白皮书等等。使用这些资源来提高您对 Tableau Desktop 的理解。
您要执行什么操作?尝试此位置适用于此内容类型

了解 Tableau 界面中需要的内容

Tableau 工作区

Tableau 用户界面 (UI) 中的标记图像。

查找更多教程,并效仿使用示例数据

自己动手练习

简单的操作方法演练,介绍如何创建最受欢迎的图表类型,并说明何时可能需要使用每种类型,包括:

  • 条形图
  • 文本表
  • 折线图
  • 散点图
  • 热图
  • 直方图
  • 甘特图
  • 饼图
  • 树状图
  • 盒形图
  • 填充气泡图
  • 地图

查找示例,了解数据可视化的最佳做法

可视化最佳做法

创建有效仪表板的最佳做法

讲述精彩故事的最佳实践

设计无障碍视图的最佳做法

发布的数据源的最佳做法

  • 如何创建美观的可视化项。

  • 如何设计可帮助发现关键细节并加快决策速度的高效的仪表板。

  • 如何使用 Tableau 故事点来讲述精彩故事。

  • 如何创建有视觉或身体缺陷的用户可访问的可视化项。

  • 如何使用发布的数据源使数据可用于分析。

在开始工作之前了解有关 Tableau 产品的更多上下文

白皮书

有关最佳做法、行业趋势以及数据分析中的下一步的深入讨论。

查找在线培训或现场培训

学习与培训

参加免费的在线、按需培训课程,或者报名参加课堂培训,以加深您的专业知识。

了解如何在您的系统配置环境中使用 Tableau,或者如何与其他公司的其他产品结合使用 Tableau

知识库

应支持请求而创建的内容,目的在于在特定的环境或情况下帮助使用 Tableau。
[跳转到主要内容](#main-content) # 将剩余用户添加到 Tableau Cloud 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 现在您已经迁移了所有内容并设置了项目、组和权限,您可以添加其余(或所有)用户。 本主题描述如何在站点中添加用户。若要在多个站点中添加或移除用户并修改他们的站点角色,云管理员可以使用 Tableau Cloud Manager。有关详细信息,请参见[“使用 Tableau Cloud Manager 管理用户”](https://help.tableau.com/current/online/zh-cn/cloud_manager_users.htm)。 ## 添加用户 添加用户之后,他们就可以访问内容。在添加用户之前,请确保遵循[为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm)中的过程。 我们还建议在迁移到 Tableau Cloud 之前了解用户站点角色。请参见[设置用户的站点角色](https://help.tableau.com/current/online/zh-cn/users_site_roles.htm)。 您可以手动添加用户,如下所示。如果您有很多用户并且想要使用 CSV 文件将其批量导入,请参见[导入用户](https://help.tableau.com/current/online/zh-cn/users_import.htm)。 ### 手动添加用户 1. 在登录 Tableau Server 站点时,选择**“用户”**。 2. 在“用户”页面上,单击“添加用户”,然后单击“按用户名添加用户”。 ![](/tableau/next/zh-cn/guides/migration/zh-cn/Img/users_add_online.png) 3. 选择您希望导入的用户登录 Tableau Cloud 时使用的身份验证方法。如果站点上未配置身份验证,则将为导入的用户分配带有 MFA 的 Tableau 身份验证方法。 **注意:**在添加用户后,您随时可以转到“用户”页面以更改用户的身份验证类型。 4. 在**“输入用户名”**文本框中,输入用户的用户名(电子邮件地址格式)。如果添加多个用户,请用分号分隔每个用户名。 例如,_tdavis@example.com; jjohnson@example.com; hwilson@example.com_ 5. 从下拉列表中选择一个站点角色,以便将该站点角色分配给您添加的所有用户。 有关站点角色定义,请参见[“设置用户的站点角色”](https://help.tableau.com/current/online/zh-cn/users_site_roles.htm)。 6. 单击“添加用户”。 如果新用户的用户名已经与 tableau.com 上的帐户关联,则此用户需要使用此帐户的现有电子邮件地址和密码登录。 如果新用户的用户名尚未与 tableau.com 上的帐户关联,则此用户需要提供姓名和密码。 在用户提供这些值之前,其在 Tableau Server 用户列表中的条目将显示电子邮件地址,前面有一个句点。例如: `.snguyen@example.com` 用户登录后,条目将更新为显示全名。例如: `Susan Nguyen` ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. **您在此处**:将用户添加到 Tableau Cloud 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 对于运行手动迁移的许多组织而言,让用户(或用户子集)将他们熟悉的内容迁移到新的 Tableau Cloud 站点可能是有意义的。本主题中描述的内容迁移步骤可以由您组织中的用户(具有 Creator 角色)完成。 ## 开始之前 在您着手进行内容迁移之前,我们希望强调一下建议,即进行全面清点并清理您现有的 Tableau Server 环境。请参见[大扫除:您的内容给您带来快乐吗?](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm#Cleaning) **让 Tableau Server 保持打开状态!**在迁移过程中,确保所有内容和业务流程在 Tableau Server 系统中保持运行。在确认您的内容和过程已正确迁移到 Tableau Cloud 之前,请勿停用您的 Tableau Server 环境。 ## 步骤 1:为您的站点创建具有最低访问权限策略的项目 我们建议设置具有最低访问权限策略的新 Tableau Cloud 站点。重要的是要知道,在将用户添加到 Tableau Cloud 后,他们就可以开始访问平台上的内容。 在开始之前,我们建议您查看[快速入门:权限](https://help.tableau.com/current/online/zh-cn/qs_permissions.htm)以了解有关权限如何在 Tableau 中交互和继承的进修课程。如果您熟悉 Tableau Server 上下文中的这些概念,那么您就可以开始了。Tableau Cloud 权限使用与 Server 相同的逻辑。 按照以下步骤设置具有最低访问权限策略的项目。 1. 在创建更多项目之前,在“默认”项目上配置[模板权限](https://help.tableau.com/current/online/zh-cn/permissions_capabilities.htm)。 2. 移除“所有用户”组的权限。移除“所有用户”可确保项目为需要访问内容的用户配置明确的权限。 3. [创建组](https://help.tableau.com/current/online/zh-cn/to_add_users_groups.htm)。随着您的组织和/或内容的扩展,组可以简化权限管理。 有关更一般的项目权限指导,请参见[使用项目管理内容访问权限](https://help.tableau.com/current/online/zh-cn/projects.htm)。 ## 步骤 2:添加具有 Creator 角色的用户 配置最低访问权限策略后,现在是添加要迁移内容的任何用户的时候了。如果您不依赖用户来迁移内容,则可以稍后在流程中添加他们。请参见[为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm)。 请遵循以下准则来添加 Creator 用户: - 查看站点角色:[设置用户的站点角色](https://help.tableau.com/current/online/zh-cn/users_site_roles.htm)。 - 您可以[手动添加用户](https://help.tableau.com/current/online/zh-cn/sites_addusers.htm),也可以[使用 CSV 文件导入他们](https://help.tableau.com/current/online/zh-cn/users_import.htm)。 - 添加用户并设置他们的角色后,将他们添加到您在上一步中设置的相应组中。 ## 步骤 3:迁移已发布数据源 如果多个工作簿使用单一已发布数据源,您只需迁移已发布数据源一次。 1. 在 Tableau Desktop 上,登录到您的 Tableau Server 环境,导航到您要迁移的工作簿,然后单击“下载”。 2. 在 Tableau Desktop 的“数据”菜单上,选择数据源,选择“创建本地副本”,然后保存数据源的本地副本。 3. 从工作表中选择“数据”>“替换数据源”。输入以下选项: - 当前:当前本地副本替换:您保存的本地副本 - 在“数据”窗格中,右键单击原始已发布数据源,然后选择“关闭”。 4. 选择“服务器”,然后单击“注销”。 5. 在“数据”菜单中选择数据源,然后选择“发布到服务器”。 6. 在 Tableau Desktop 中,登录到 Tableau Cloud,然后发布数据源。 7. 如有必要,安排在 Tableau Cloud 中刷新该数据源。有关详细信息,请参见[为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm)。 如果新发布的数据源是工作簿中唯一的数据源,则按照接下来的两个步骤也发布工作簿。如果工作簿有多个已发布数据源,请跳至下一步。 1. 发布数据源时,验证是否已选择“更新工作簿以使用发布的数据源”。 2. 选择“服务器”>“发布工作簿”,将工作簿发布到 Tableau Cloud。 ## 步骤 4:迁移具有多个已发布数据源的工作簿 对要迁移到 Tableau Cloud 的所有已发布数据源重复以下过程。 1. 在 Tableau Desktop 上,登录到您的 Tableau Server 环境,导航到您要迁移的已发布数据源,然后单击“下载”。 2. 文件将在 Tableau Desktop 中打开。在 Tableau Desktop 的“数据”菜单上,选择数据源,选择“创建本地副本”,然后保存数据源的本地副本。 3. 在“数据”窗格中,右键单击原始已发布数据源,然后选择“关闭”。 4. 对工作簿中的所有已发布数据源重复步骤 2-3。 5. 选择“服务器”,然后单击“注销”。 6. 从工作表中选择“数据”>“替换数据源”。输入以下选项: - 当前:当前的本地副本 - 替换:您保存的本地副本 7. 替换所有已发布数据源后,选择“选择”>“发布工作簿”以将工作簿发布到 Tableau Cloud。 如果工作簿还具有需要 Tableau Bridge 的嵌入式数据源,则这些数据源将需要在迁移过程中单独发布。请参见[发布数据源](https://help.tableau.com/current/pro/desktop/zh-cn/publish_datasources.htm)。 ## 步骤 5:迁移具有嵌入式数据源的工作簿 1. 在 Tableau Desktop 上,登录到您的 Tableau Server 环境,导航到您要迁移的工作簿,然后单击**“下载”**。 2. 选择**“服务器”**,然后单击**“注销”**。 3. 选择**“服务器”**,然后单击**“登录”**以登录到 Tableau Cloud。 4. 如果嵌入式数据源需要 Tableau Bridge 进行自动刷新并且是**文件数据**(例如 .cvs 和 .xlsx),请按照[发布本地数据(仅限 Tableau Cloud)](https://help.tableau.com/current/pro/desktop/zh-cn/publish_datasources.htm#publish-onpremises-data-tableau-cloud-only)中的说明进行操作。 5. 如果数据源不需要 Tableau Bridge **或者**不是文件数据,**请选择“服务器”>“发布工作簿”**。 ## 步骤 6:迁移 Tableau Prep 流程 对于所有公开可用的云数据,您可能需要启用 Tableau Cloud 才能对其进行查询。若要启用连接,请参见[授权访问发布到 Tableau Cloud 的云数据](https://www.google.com/url?q=https://help.tableau.com/current/pro/desktop/zh-cn/publish_tableau_online_ip_authorization.htm)。 对要迁移到 Tableau Cloud 的所有 Tableau Prep 流程重复以下过程。在运行 [Tableau Prep Builder](https://www.tableau.com/zh-cn/products/prep/download) 的计算机上运行此过程。 1. 登录到您的 Tableau Server 环境,导航到您要迁移的流程,然后单击“下载”。 2. 该流程将在 Tableau Prep Builder 中打开: 1. 如果流程连接到至少一个已发布的数据源,系统将自动提示您登录服务器。如果系统未自动提示您,请从顶部菜单中选择“服务器” > “登录”并登录到 Tableau Server。 2. 从顶部菜单导航并选择“服务器”。在“登录到服务器 URL”中,单击“注销” 。 3. 如果流程连接到至少一个已发布的数据源,您将看到以下警告: ![](/tableau/next/zh-cn/guides/migration/zh-cn/Img/prep-migrate_583x269.png) 4. 单击“注销”。 3. 导航到顶部菜单,然后选择“服务器”\>“登录”\>“快速连接到 Tableau Cloud”以登录 Tableau Cloud。 4. 如果流程不包含任何已发布的数据源,请继续执行下一步。如果流程连接到至少一个已发布的数据源 1. 打开“连接”窗格并连接到 Tableau Cloud 上新版本的已发布数据源。 2. 拖放新连接以替换现有的 Tableau Server 已发布数据源输入步骤。 3. 右键单击连接浮出控件中的现有连接,然后删除 Tableau Server 已发布数据源。 4. 对流程中所有其他已连接的已发布数据源重复这些步骤。 5. 如果您的流程输出到任何已发布数据源,请导航到输出步骤并更新它们以引用 Tableau Cloud 上新发布的数据源。 - 对流程中的所有其他输出已发布数据源重复这些步骤。 6. 替换所有已发布数据源后,选择“服务器” > “发布流程”,或单击右上角的“发布”按钮,将流程发布到 Tableau Cloud。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. **您在此处**:将数据源、工作簿和流程迁移到 Tableau Cloud 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 教程:开始使用 Tableau Desktop ##### 了解如何连接到数据、创建数据可视化项、演示您的发现以及与其他人共享您的见解。 本教程演练 Tableau Desktop 的特性和功能。在您演练本教程时,您将在 Tableau 工作簿中创建多个可视化项。您将采取的步骤以及工作将使用的工作簿基于在一家大型零售连锁店总部工作的员工的故事。随着您逐步提出关于您的公司及其业绩的问题,故事随之展开。 您将了解如何连接到 Tableau Desktop 中的数据;构建、呈现和共享某些有用的视图;以及在操作过程中应用关键功能。完成这些步骤预计需要一到三个小时的时间。 ## 背景故事... 假设您是一家大型零售连锁店的员工。您的经理刚刚拿到季度销售额报表,并且注意到,某些产品的销售额似乎比其他产品更好,某些地区的利润没有她预期的那样好。您的老板对账面利润感兴趣:您要负责查看总销售额和利润,看看是否能找出对销售额和利润造成影响的因素。 她还要求您确定需要改进的领域,并将您的发现提供给团队。团队可以浏览您的结果并采取行动,以提高公司产品线的销售额和盈利能力。 您将使用 Tableau Desktop 构建一个简单的产品数据视图,按地区建立产品销售额和利润的地图,构建包含您的发现的仪表板,然后创建要呈现的故事。然后,您将在 Web 上分享您的发现,以便远程团队成员能够查看。 展开**“了解更多信息”**部分可查看背景和示例。尝试一下: 了解更多信息:连接到数据 第一次请使用示例 - 超市数据源。(我们将演示如何操作。)在您熟悉 Tableau Desktop 中的核心功能之后,请用您自己的数据尝试运行这些步骤。 如果需要下载 Superstore 数据集,可以从 [Tableau Public 示例数据](https://public.tableau.com/app/learn/sample-data)页面访问该数据集。

步骤

步骤 1:连接到数据
全面了解开始页面以及如何连接到您的数据。
步骤 2:进行拖放以率先观看
开始了解 Tableau 工作区,学习 Tableau 的语言,并开始检查您的数据。
步骤 3:关注结果
问更深层次的问题,并使用其他工具来改进您的视图以及深入了解您的数据。
步骤 4:通过地理方式浏览您的数据
学习如何在地图上绘制您的数据,看看是否能够发现任何趋势。
步骤 5:下钻查询至详细信息
下钻查询至数据详细信息并了解如何创建“前”筛选器。
步骤 6:生成仪表板以显示您的见解
了解如何生成仪表板并设置其格式以显示您创建的可视化项。
步骤 7:生成故事以进行演示
了解如何生成故事并设置其格式以演示您的发现。
步骤 8:共享您的发现
在 Tableau Server 或 Tableau Cloud 上与组织共享您的发现,或者在 Tableau Public 上与世人共享。
学习资料库
现在,您是个数据明星,请用这些额外的资源不断学习。
[跳转到主要内容](#main-content) # 步骤 1:连接到数据 您的经理要求您调查公司的整体销售额和盈利能力并确定需要改进的重要方面。您有一堆数据,但是您不确定从何处着手。您决定首先下载 Tableau Desktop Free Edition。 有关相关资源和视频,请参见[使用 Tableau Desktop 连接到数据](https://www.tableau.com/zh-cn/learn/tutorials/on-demand/connecting-data-tableau-desktop?playlist=509089)。 ## 打开 Tableau Desktop 并开始操作 打开 Tableau Desktop 后首先看到的是[开始页面](https://help.tableau.com/current/pro/desktop/zh-cn/environment_startpage.htm)。您在此处选择 Tableau 访问您的数据所需的连接器。 ![Tableau 开始页面](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Connect1.png) 开始页面包含可从中进行选择的多个选项: **1.****Tableau 图标**。单击任何页面左上角的 ![Tableau 徽标的图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Connect2.png) 可以在开始页面和制作工作区之间切换。 **2.****连接窗格**。 - 连接到文件(例如 Microsoft Excel、PDF、空间文件等)中的数据。 - 连接到基于服务器的平台(如 Google Drive、Amazon Redshift、Oracle)中的数据,或者 Tableau Cloud 或 Tableau Server 中的已发布数据源。 - 连接到之前已连接到的数据源。 Tableau 支持连接到存储在各个地方的各种数据的功能。“连接”窗格列出了您可能想要连接到的最常见地方,或者单击“更多”链接以查看更多选项。有关连接到数据源的详细信息,请参见本教程的[学习库](https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)。 **3.**快速入门**加速器**:您可以连接到自己的数据的预构建模板。 **4.**快速开始**示例工作簿**:Tableau Desktop 附带的示例工作簿。 **5.****打开**:最近打开的工作簿。 **6.****发现**:其他资源。 在“连接”窗格中的“已保存数据源”下,单击**示例 - 超市**以连接到示例数据集。“超市”包含有关产品、客户和销售额的信息,您可以使用这些信息确定此虚构零售公司内部需要改进的重要方面。 如果需要下载“超市”数据集,可以在 [Tableau Public 示例数据](https://public.tableau.com/app/learn/sample-data)页面上找到该数据集,然后使用 Microsoft Excel 连接器。 ![“保存的数据源”下列出的示例 - 超市](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Connect_Superstore.png) 选择**示例 - 超市**后,您的屏幕将如下所示: ![空白工作表](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Connect4.png) 了解更多信息: Tableau 将如何处理您的数据? 连接到数据之后,Tableau 将执行以下操作: - 打开新工作表。这是一块白板,您可以在其中创建您的第一个视图。 - 显示您连接到的数据源。如果使用多个数据源,您可以看到它们都列在此处。 - 将数据源中的列添加到左边的**“数据”**窗格中。列会添加为字段。 - 将数据类型(如日期、数字、字符串等)和角色(维度或度量)自动分配给您的数据。(以后我们将详细讨论这些术语。) 如果想要查看有关数据的更多详细信息,则可以在左下角选择**“数据源”**页面。在此,您可以查看您的前 1000 行数据,一些分析师将会发狂:排序或隐藏字段、将字段拆分为多个列,以及重命名列标题,这些都不需要修改原始数据。Tableau 中出现的情况存留在 Tableau 中;数据是安全的。 如果您导航到**“数据源”**页面以查看详细信息,则只需单击**“工作表 1”**标签即可回到开始位置。 有关“数据源”页面的详细信息,请参见[学习库](https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)。 了解更多信息:准备您自己的数据 如果连接到自己的数据,则在 Tableau 中连接到该数据之前,您可能需要进行一些准备工作。这是因为 Tableau 会进行与数据相关的假设,以便能够正确显示数据以供您使用。 有关准备数据的详细信息,请参见[学习库](https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)。 请转到[步骤 2:进行拖放以率先观看](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-drag.htm)继续。 [跳转到主要内容](#main-content) # 步骤 2:进行拖放以率先观看 ## 创建视图 您着手查明需要改进的重要方面,但是从哪里开始呢?有了四年的数据之后,您决定深入到总体销售数据中,看看会有什么发现。首先创建一个简单的图表。 有关相关资源和视频,请参见 [在 Tableau Desktop 中导航工作区](https://www.tableau.com/zh-cn/learn/tutorials/on-demand/navigating-workspace-tableau-desktop?playlist=509089)。 了解更多信息:本部分中的术语
术语描述
聚合与粒度

聚合是将行级别的定量数据汇总到更高类别(如销售总额或平均利润)的方式。Tableau 会自动执行此操作,因此您可以将数据细分成您想要使用的详细级别。

粒度表示数据的详细程度 — 例如,日期的粒度可以为日、月、年等。

维度和度量

维度是定性数据,例如名称或日期。默认情况下,Tableau 会自动将包含定性信息或分类信息的数据归类为维度,例如,任何具有文本或布尔 (true/false) 值的字段。这些字段通常显示为数据行的列标题(例如“客户名称”或“订单日期”),并且还定义视图中显示的粒度级别。

度量是定量数值数据。默认情况下,Tableau 会将任何包含这种数据的字段视为度量,例如销售交易或利润。归类为度量的数据可以根据给定维度进行聚合,例如,按区域列出的总销售额,其中销售额为度量,总额(或总计)为聚合,区域为维度。

连续与离散

连续字段可以包含无数个值。这可以是一个值范围,例如特定日期范围内的销售额或数量。在 Tableau 中,连续字段显示为绿色。

离散字段包含有限数目的值,例如国家/地区、州/省/市/自治区或客户名称。在 Tableau 中,离散字段显示为蓝色。

[学习资料库](https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)中具有**关于维度和度量的更多信息**。 了解更多信息:Tableau 工作区控件和元素 在本部分中,您会将字段拖到“行”和“列”功能区,并且还将使用“标记”卡。下图标识了您将使用的一些工作区控件和元素。 ![工作区元素概述](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag28.png)
元素描述

A撤消

请尽管利用 Tableau 试验您的数据。您始终可以利用“撤消”按钮返回到开始位置。使用此按钮可以撤消您在工作簿中执行的上一次操作。

您可以无限次撤消,恢复到您上次打开工作簿时的状态,即使是在保存工作之后也可以。

B“数据”窗格

显示包括在视图和可用字段中的数据源的名称。字段可以基于其源表或按文件夹进行分组。

学习资料库中具有关于“数据”窗格的更多信息。

C and D卡和功能区

卡是 Tableau 中可用的不同控件的容器。功能区是一种卡控件类型。当您将字段从“数据”窗格拖到“列”或“行”功能区时,会在视图中的轴上将数据添加为行或列。

当您将字段从“数据”窗格拖到“标记”卡时,您可以按类型、颜色、大小、形状等控制视觉属性。此操作只影响视图中的标记;轴不会发生更改。

学习资料库中具有关于卡和功能区的更多信息。

E显示/隐藏卡

是否无意中隐藏了一个现在需要的卡?没问题!Tableau 工作区上的所有部分几乎都可以开启或关闭,以为您提供最大空间供您创建您的可视化项。

若要显示或隐藏卡,如“页面”、“筛选器”或“图例”,请单击工具栏上“显示/隐藏卡”显示/隐藏卡图标 按钮上的下拉箭头,并清除或启用卡复选标记。

您甚至可以通过单击窗格右上角的“最小化”最小化“数据和分析”窗格 按钮将“数据和分析”窗格折叠到工作区的左下角。再次单击按钮可将窗格还原为原来的样子。

1. 从“数据”窗格中,将**“Order Date”(订单日期)**拖到**“列”**功能区。 **注意:** 将“Order Date”(订单日期)拖到**“列”**功能区时,Tableau 会在数据集中为每个年度创建一个列。每个列下面都有一个“Abc”指示器。这表示您可以在此拖动文本或数值数据,像您可能在 Excel 电子表格中看到的一样。如果您要将“Sales”(销售额)拖到此区域,Tableau 会创建一个交叉表(如电子表格)并显示每个年度的总销售额。 2. 从“数据”窗格中,将**“Sales”(销售额)**拖到**“行”**功能区。 Tableau 会使用累计(聚合)为总和的销售额生成以下图表。您可以按订单日期查看每年的总聚合销售额。 ![为“列”功能区使用“Order Date”(订单日期)并1为“行”功能区使用“Sum(Sales)”的折线图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag1.png) _当您首次创建包括时间(在本例中为“订单日期”)的视图时,Tableau 都会生成一个折线图。_ 此折线图表明销售额看上去还不错,并且似乎随着时间的推移在增加。这是一条好信息,但是它并未真正详细告诉您哪些产品具有最高销售额,以及是否有些商品的表现比其他商品好。因为您刚开始,所以您决定深入研究一番,看看能有什么其他发现。 了解更多信息:浏览选项 若要快速更改图表类型,请选择**“标记”**卡上的下拉菜单。 例如,对于区域图,您可以选择**“区域”**。 ![“标记”菜单中列出的图表类型](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag2.png) Tableau 支持称为标记类型的多种不同图表类型。有关详细信息,请参见[学习资料库](https://help.tableau.com/current/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)中**有关标记类型的详细信息**。 **注意:** 继续本教程之前,请确保您的图表类型已设置回**“自动”**。 检查您的工作!观察“创建视图”的实际运行效果 _单击图像可重播。_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 改善您的视图 若要深入了解哪些产品推动了整体销售,可以尝试添加更多数据。首先添加产品类别,以不同的方式查看销售总额。 1. 从“数据”窗格中,将**“Category”(类别)”**拖到**“列”**功能区,并将其放在“YEAR(Order Date)”的右边。您可能需要展开“Product”分层结构才能看到“Category”(类别)字段。 您的视图将更新为条形图。通过将第二个离散维度添加到此视图中,您可以将您的数据分类为离散块,而不是在一段时间内连续查看您的数据。这将创建一个条形图并按年度向您显示每种产品类别的总体销售额。 ![在“列”功能区上使用“Year(Order Date)”和“Category”(类别),并在“行”功能区上使用“Sum(Sales)”的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag4.png) 了解更多信息:更改您的透视 若要水平而不是垂直显示条形图,请单击工具栏上的**“交换行和列”**。 **注意:** 在继续学习“入门指南”教程之前,请先撤消此操作。 ![突出显示“交换行和列”图标的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag7.png) 了解更多信息:显示数字 您可以查看数据点信息或将其添加到您的视图中。在此示例中,此信息按类别显示确切的销售总额。 若要在您的视图中查看有关每个数据点的信息(即标记),请将光标悬停在其中一个条上以显示工具提示。工具提示会显示该类别的总销售额。以下是 2025 年的“Office Supplies”(办公用品)类别的工具提示: ![显示 2021 年办公用品销售额的工具提示](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag5.png) 若要将数据点信息作为标签添加到您的视图中,请单击工具栏上的**“显示标记标签”**。下面,我们将显示每个类别和年度的总销售额。 **注意:** 在继续学习“入门指南”教程之前,请先撤消此操作。 ![突出显示“显示标记标签”图标的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag6.png) 您的视图做得很好,它现在按家具、办公用品和技术这些类别显示销售额。并且显示了一个有趣的细节! 从此视图中,您可以看到,虽然办公用品在 2025 年的销量确实非常好,但是家具的销售增长速度超过了办公用品的销售增长速度。也许您可以建议您的公司将销售工作重点放在家具上而不是办公用品上?您的公司销售了这些类别中的大量不同产品,因此您需要更多信息才能提出建议。 为了帮助回答这个问题,您决定按子类别查看产品,以查看哪些商品是畅销商品。例如,对于“家具”类别,您想要查看有关书柜、椅子、家具和桌子的详细信息。查看该数据可能会帮助您深入了解销售额,进而了解总体盈利能力,所以请向您的条形图添加子类: 1. 双击或将**“Sub-Category”(子类)**拖到**“列”**功能区。 **注意:** 您可以拖放或双击字段以将它添加到您的视图中,但要小心。Tableau 会假设在何处添加该数据,数据可能不会放在您所期待的地方。您始终可以单击“撤消”以移除该字段,或者可以将其拖离 Tableau 将其放入到的区域以重新开始。 子类是另一种离散字段。它会在视图底部创建另一个标题,并为按类别和年度细分的每个子类(68 个标记)显示一个条形。 ![在“列”功能区上显示“Order Date”(订单日期)、“Category”(类别)和“Sub-Category”(子类),并在“行”功能区上显示“Sum(Sales)”的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag9.png) 现在,您将会取得一些进展,但这是要在视觉上进行分类的大量数据。下一部分中,您将学习如何添加颜色、筛选器等,以将重点关注特定结果。 了解更多信息:使用不同的视图来比较产品销售额 如果您想要按类别查看产品对总体销售额的贡献大小,则 Tableau 会为您提供另一个选项。 如果您将**“Sub-Category”(子类)**拖到“标记”卡上的**“颜色”**,则会用唯一颜色所标识的每个子类的附加标记创建一个堆叠条形图。Tableau 会自动在“Sub-Category”(子类)值的右侧显示一个图例卡。 **注意:** 在继续学习“入门指南”教程之前,请先撤消此操作。 ![在“列”功能区上显示“Order Date”(订单日期)和“Category”(类别)、在“行”功能区上显示“Sum(Sales)”,并在“标记”卡的“颜色”上显示“Sub-Category”(子类)的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag8.png) 此图向您快速显示了每个产品对每个类别和年度的总额贡献的销售额,并且一目了然地直接显示了大额贡献者和小额贡献者。 子类会按照它们在图例中的列出顺序显示为堆叠条,而不是根据它们在“销售”轴上的位置显示为堆叠条。 例如,上面的视图在每个“Furniture”(家具)条形的顶部显示“Bookcases”(书柜),因为在图例中,“Bookcases”(书柜)列在“Chairs”(椅子)、“Furnishings”(家具)和“Tables”(桌子)的上方。图例中显示了子类,以便可以采取对您有意义的方式到处移动它们并检查您的数据。 视您想要进行的分析的种类而定,堆叠条形图可能适合您,也可能不适合您。 检查您的工作!观察“改善您的视图”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 步骤摘要 此步骤讲的全部是如何逐渐了解您的数据,以及如何开始问关于数据的问题以进行深入了解。您了解了如何: - 在视图中创建一个适合您的图表。 - 在视图中添加字段以获得正确的详细级别。 现在,您准备开始重点关注您的结果以确定更具体的关切领域。下一部分中,您将学习如何使用筛选器和颜色来帮助直观地浏览您的数据。 请转到[步骤 3:关注结果](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-focus.htm)继续。 [跳转到主要内容](#main-content) # 步骤 3:关注结果 您创建了按类别和子类细分的产品销售额的视图。您将开始取得一些进展,但这是要进行分类的大量数据。您需要能够轻松地找到感兴趣的数据点并重点关注特定结果。那么,Tableau 具有一些非常适合做这项工作的选项! 利用筛选器和颜色,您可以更多地去关注那些您感兴趣的详细信息。在增加对数据的重点关注后,您可以开始使用其他 Tableau Desktop 功能与该数据进行交互。 ## 将筛选器添加到您的视图中 您可以使用筛选器在视图中包含或排除值。在本示例中,您决定将两个简单的筛选器添加到工作表中,以便能够更轻松地按子类查看特定年度的产品销售额。 1. 在“数据”窗格中,右键单击**“Order Date”(订单日期)**,并选择**“显示筛选器”**。 2. 对**“子类”**字段重复以上步骤。 筛选器将按您选择它们的顺序添加到视图的右侧。筛选器是卡类型,并且通过单击筛选器并将其拖到视图中的另一个位置在画布上移动筛选器。拖动筛选器时,将会出现一条线,显示您可拖动筛选器将其移动的位置。 **注意**:“入门指南”教程使用筛选器卡的默认位置。 学习资料库中具有**关于筛选的更多信息**(在顶部菜单中)。 ![带有“Sub-Category”(子类)和“Order Date”(订单日期)筛选器的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag10.png) 检查您的工作!观察“将筛选器应用于视图”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 将颜色添加至视图 添加筛选器可以帮助您对所有这些数据进行排序 - 但,哇,那么多的蓝色!该对这采取行动了。 目前,您正在查看各种产品的销售总额。您可以看到某些产品的销售额一直很低,而某些产品可能是减少这些产品线销售工作的理想选择。但是,您的不同产品的整体盈利能力如何?将**“Profit”(利润)**拖到颜色上,以查看会发生什么情况。 从“数据”窗格中,将“**Profit**”(利润)拖到“标记”卡上的**“颜色”**。 通过将利润拖到颜色上,您现在发现桌子、书柜甚至是计算机有负利润。并且显示了另一个细节! ![“列”功能区上带有“Order Date”(订单日期)、“Category”(类别)和“Sub-Category”(子类)的条形图;“行”功能区上的“Sum(Sales)”,以及“标记”卡的“颜色”上的“Sum(Profit)”](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Dragcolor1.png) **注意:** Tableau 会自动添加一个颜色图例并分配发散调色板,因为您的数据包括负值和正值。 了解更多信息:使用颜色 添加颜色可以增强视图的视觉效果,但是它也可能会使感兴趣的数据突显出来。Tableau 会使用默认调色板将颜色分配给视图中的产品,但您并非只能使用该调色板。您可以做出选择! 如果您想要使用所显示的颜色以外的其他颜色,则可以随时更改颜色或调色板。只需在“标记”卡上单击**“颜色”**,然后单击**“编辑颜色”**。您可以在打开的“编辑颜色”对话框中选择其他调色板。 **注意:** “入门指南”教程使用默认调色板。 根据视图中的数据,“编辑颜色”对话框可能会向您显示发散调色板与分类调色板。 发散调色板看起来如下图所示。发散调色板通常会分配给连续字段。 ![“编辑颜色”菜单中列出的发散调色板](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Dragcolor2.png) 如果您将要使用图例,则它看起来可能如下图所示。像这样的分类调色板通常会分配给离散字段。 ![“编辑颜色”菜单中列出的分类调色板](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Drag12.png) 检查您的工作!观察的“将颜色添加至视图”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 查找关键的细节 正如您所了解到的那样,在使用 Tableau Desktop 生成视图时,您可以浏览您的数据。通过添加筛选器和颜色,可以帮助您更好地呈现您的数据,并且可以马上找出问题。 下一步是与您的视图进行交互,以便您可以开始得出结论。 通过查看您的视图,您发现您有一些不盈利的产品,但是现在您想要看看这些产品是否年复一年一直都不盈利。 该使用筛选器仔细看看了。 1. 在视图内的**“子类”**筛选器卡中,清除除**“书柜”**、**“计算机”**和**“桌子”**之外的所有复选框。 ![带有发散调色板的条形图,用于显示子类别的损益](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_FocusFilter1.png) 现在您可以看到,在某些年度,书柜和计算机是盈利的。然而,最近计算机无利可图。虽然您已经取得了一项重要发现,但是在向您的上司提出任何行动项目之前,您需要收集更多信息。 凭直觉,您决定按区域对视图进行细分: 2. 从“数据”窗格中,将“**Region**”(区域)拖到“**行**”功能区,并将其放在“Sum(Sales)”左侧。 Tableau 使用多个轴创建了一个按区域细分的视图。 现在,您会看到每个区域按产品列出的销售额和盈利能力。通过将区域添加到视图中并筛选子类,您注意到,所报告的南部中计算机的负利润总的说来比其他区域高。您发现了隐藏的细节! ![显示每个地区计算机子类盈利能力的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Focus_MachineSpike.png) 此视图以最佳方式概述了到目前为止的工作。选择**“子类”**筛选器卡(如果您更改了您的筛选器)中的**“所有”**以重新显示所有子类、命名此工作表和添加标题。 6. 在工作区左下方,双击**“工作表 1”**并键入**“Sales by Product/Region”(按产品/区域列出的销售额)**。 您选择将分析重点放在南部,但您不想失去已经创建的视图。在 Tableau Desktop 中,您可以复制您的工作表以从停下来的地方继续。 7. 在工作簿中,右键单击**“按产品/区域列出的销售额”**工作表,并选择**“复制”**。 8. 将复制的工作表重命名为**“南部的销售额”**。 9. 从新工作表内的“数据”窗格中,将**“Region”(区域)**拖到**“筛选器”**功能区,以在视图中将其添加为筛选器。 10. 在“筛选器区域”对话框中,清除除**“South”(南部)**之外的所有复选框,然后单击**“确定”**。 11. 右键单击**“行”**功能区上的**“Region”(区域)**胶囊,并取消选中**“显示标题”**。 您的视图将更新为如下图所示: ![显示南部子类盈利能力的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_FocusSouth1.png) 现在,您可以重点关注南部的销售额和利润。您会立即看到计算机销售额在 2022 年有负利润,在 2025 年又有。这件事绝对需要调查! 4. 选择**“文件”**\>**“另存为”**以保存您的工作。为工作簿指定一个名称,例如“Regional Sales and Profits”(区域销售额和利润)。 了解更多信息:Tableau 组织保存的工作簿的方式 安装 Tableau 时,它会在**“文档”**\>**“我的文档”**\>**“我的 Tableau 存储库”**下面为您自动创建一个文件夹目录。“我的 Tableau 存储库”包含多个文件夹,用于存储数据源、已保存工作簿、地理编码数据等。 学习资料库中具有**关于将您的工作表另存为其他 Tableau 文件类型的更多信息**(在顶部菜单中)。 检查您的工作!观察“查找关键细节”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 步骤摘要 在此步骤中,您使用了筛选器和颜色,以便使数据处理更加轻松一点。您还了解了 Tableau 提供的一些有趣的功能,这此功能用于帮助您回答有关您的数据的关键问题。您了解了如何: - 应用筛选器和颜色,以便能够更加轻松地关注您最感兴趣的数据区域。 - 使用 Tableau 提供的工具与您的图表进行交互。 - 复制工作表并保存您的更改,以在不丢失您所做的工作的情况下继续以不同方式浏览您的数据。 在 Tableau Desktop 中浏览您的数据后,您确定了关注范围。您知道南部的销售额和利润有问题,但是您还没有解决方案。您需要看看可能造成这些结果的其他因素。接下来,您将利用 Tableau 中的另一个重要功能来处理地理数据。 请转到[步骤 4:通过地理方式浏览您的数据](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-explore.htm)继续。 [跳转到主要内容](#main-content) # 步骤 4:通过地理方式浏览您的数据 您已经生成了一个出色的视图,它允许您按产品查看若干年的销售额和利润。在查看南部的产品销售额和盈利能力之后,您决定寻找该区域的趋势或模式。 由于要查看地理数据(“区域”字段),因此您可以选择生成地图视图。地图视图非常适用于显示和分析这种信息。另外,它们简直太酷了! 对于此示例,Tableau 已经为“Country”(国家/地区)、“State/Province”(州/省/市/自治区)、“City”(城市)和“Postal Code”(邮政编码)字段分配了适当的地理角色。这是因为它认识到这些字段中的每个字段都包含地理数据。您可以开始工作,并立即创建您的地图视图。 了解更多信息:了解地理角色 Tableau 可识别许多常见地理数据,例如州/省/市/自治区和城市名称。当 Tableau 识别此类型的数据时,它将为字段自动分配适当的地理角色,以便这些字段成为地理字段。 **“数据”**窗格中的地理字段旁边有地球仪图标 ![标识地理数据字段的地球仪图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore16_24x13.png)。如果为字段分配了地理角色,那么当您将该字段添加到“标记”卡上的**“详细信息”**时,Tableau 会自动创建地图视图。这个将在稍后详述。 如果 Tableau 未将您的数据识别为地理数据,您可以手动为每个相关字段分配地理角色。 可以从以下一些地理角色中进行选择: - 机场 - 地区代码 (美国) - CBSA/MSA (美国) - 城市 - 国会选区 (美国) - 国家/地区 - 郡县 - NUTS 欧洲 - 州/省/市/自治区 - 邮政编码 ![手动为字段分配地理角色的图像](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore1.png) ## 生成地图视图 重新开始一个新工作表。 1. 在工作区的底部,单击**“新建工作表”**图标。 ![新工作表图标的突出显示](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_explore17.png) Tableau 将保留您以前的工作表并创建一个新工作表,以便您可以继续浏览您的数据而不会丢失您所做的工作。 4. 在**“数据”**窗格中,双击**“State/Provincee”(州/省/市/自治区)**并将其添加至“标记”卡上的**“详细信息”**。 现在您有了地图视图! ![加拿大和美国大陆的符号地图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_explore3.png) 了解更多信息:双击以添加地理字段 您可以双击字段以将它们快速添加到视图中。当您双击地理区域字段时,它会自动添加到“标记”卡上的“详细信息”中,并且将利用标记为字段中列出的每个位置创建一个地图视图。 因为 Tableau 已经知道州/省/市/自治区名称是地理数据,并且为**“State/Province”(州/省/市/自治区)**维度分配了州/省/市/自治区地理角色,所以 Tableau 会自动创建一个地图视图。 在您的数据源中,美国 48 个相邻的州和加拿大的省都各有一个标记。(糟糕的是,阿拉斯加和夏威夷未包含在您的数据源中,所以它们未映射。) 请注意,**“Country”(国家/地区)**字段也添加到了此视图中。之所以发生这种情况,是因为示例 - 超市中的地理字段是分层结构的一部分。分层结构中较高的级别可以自动添加为详细级别。 此外,生成的“Latitude”(经度)和“Longitude”(纬度)字段会添加到“列”和“行”功能区中。您可以将这些看作 X 和 Y 字段。无论何时想要创建地图视图,它们都是必不可少的,因为为数据中的每个位置都分配了横向值和纵向值。有时,这些字段是 Tableau 依据数据中的地理字段生成的。或者,您的数据可能包含其自己的纬度和经度值。您可以在学习资料库中查找资源以详细了解这方面的内容。 现在,拥有一个聚焦毗邻的美国和加拿大的优秀地图是一回事,但是想要查看南部发生的情况又是另外一回事,记得吗? 13. 将**“Region”(区域)**拖到**“筛选器”**功能区,然后仅向下筛选到**“南部”**。地图视图会放大到“南部”区域,并且每个州/省/市/自治区(共 11 个)都具有标记。 现在,您想要查看此区域的更详细数据,因此您开始将其他字段拖到“标记”卡: 15. 将**“Sales”(销售额)**度量拖到“标记”卡的**“颜色”**上。 ![美国南部 11 个州的地图,以各种深浅不一的蓝色着色](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_explore2.png) 此视图会自动更新为填充地图,并且会根据每个州/省/市/自治区的总销售额为每个州/省/市/自治区着色。因为您正在探索产品销售额,所以您希望您的销售额以美元显示。单击**“标记”**卡上的**“Sum(Sales)”**字段,然后选择**“格式”**。对于“数字”,选择**“货币”**。 无论何时将包含正数(如销售额)的连续度量添加到“标记”卡上的“颜色”时,您的填充地图都是蓝色。为负值分配的颜色为橙色。 有时您可能不希望地图是蓝色。也许您喜欢绿色,或者您的数据不应该用蓝色来表示,如野火或交通堵塞。这只会令人感到困惑! 无需担心,就像以前那样,您可以更改调色板。 20. 在“标记”卡上单击**“颜色”**,然后选择**“编辑颜色”**。 对于此示例,您想要知道销售业绩好的州/省/市/自治区以及销售业绩不好的州/省/市/自治区。 22. 在“调色板”下拉列表中,选择**“橙色-蓝色发散”**并关闭对话框。这允许您快速查看业绩低和业绩高的州/省/市/自治区。 视图将更新为如下所示: ![基于州/省/市/自治区总销售额的橙色-蓝色发散颜色的地图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore5.png) 但是,稍等。橙色太多了!发生了什么事? 数据是准确的,并且_从技术上讲_,您可以比较业绩低和业绩高的州/省/市/自治区,但这真的是整个故事吗? 这些橙色州/省/市/自治区的销售额真的那么糟糕吗,或者只有佛罗里达州中有更多人购买您的产品?或许您在显示为橙色的州/省/市/自治区中有更小或更少的库存。或者也许显示为蓝色的州/省/市/自治区中具有较高的人口密度,所以就会有更多的人买您的东西。 无论是哪种情况,您都休想向您的上司显示此视图,因为您不确信数据讲述的故事是否有用。 29. 单击工具栏中的**“撤消”**图标 ![向左箭头图标。](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore22.png) 以恢复为那个合适的蓝色视图。 这里还有一个颜色问题。一切看起来都太好了 - 这也是个问题! 乍一看,佛罗里达州的业绩似乎最好。如果将光标悬停在其标记上,则会显示销售总额为 89,474 美元,例如,与南卡罗莱纳州相比,其销售额仅有 8,482 美元。然而,南部中是否有任何州/省/市/自治区已经_盈利_? 32. 将**“Profit”(利润)**拖到“标记”卡的**“颜色”**上,以查看是否可以回答此问题。 ![基于州/省/市/自治区总利润的橙色-蓝色发散颜色的地图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore6.png) 现在好多了!由于利润往往包括正值和负值,所有 Tableau 将自动选择橙色-蓝色发散调色板,以快速显示具有负利润的州/省/市/自治区和具有正利润的州/省/市/自治区。 现在清楚了,尽管田纳西州、北卡罗来纳州和佛罗里达州的销售额似乎还可以,甚至是很不错,但是它们具有负利润。但是原因是什么呢?您将在下一步中回答这个问题。 检查您的工作!观看“生成地图视图”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 请转到[步骤 5:下钻查询至详细信息](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-drilldown.htm)继续。 [跳转到主要内容](#main-content) # 步骤 5:下钻查询至详细信息 在上一个步骤中,您发现田纳西州、北卡罗来纳州和佛罗里达州利润为负值。为了找出原因,您决定更进一步向下钻取,并重点关注这三个州/省/市/自治区中单独发生了什么事情。 ## 从地图视图中停下来的地方接着讲 正如您在上一个步骤中所看到的那样,地图非常适合大范围显现数据。条形图将帮助您进入本质性讨论。为此,您将创建另一个工作表。 1. 双击**“工作表 3”**并将此工作表命名为**“利润地图”**。 2. 右键单击工作区底部的**“Profit Map”(利润地图)**,并选择**“复制”**。将新工作表命名为**“负利润条形图”**。 3. 在“负利润条形图”工作表中,单击**“智能显示”**,然后选择**水平条**。 “智能显示”会根据您添加到视图中的数据突出显示不同的图表类型。 **注意:** 您随时可以再次单击**“智能显示”**以将其折叠起来。 ![“智能显示”菜单中突出显示的水平条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore8.png) 现在,您又有了一个条形图 - 就像下面这样。 ![显示南部地区各州利润的水平条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore9.png) 7. 若要选择左侧的多个条形,请单击并拖动光标,使选择范围覆盖**“Tennessee”(田纳西州)**、**“North Carolina”(北卡罗来纳州)**和**“Florida”(佛罗里达州)**之间的条形。在显示的工具提示上,选择**“只保留”**以重点关注这三个州/省/市/自治区。 ![显示同时选择的三个条形的蓝色框](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore_click_and_drag.png) **注意:** 您也可以右键单击其中一个突出显示的条,然后选择**“只保留”**。 请注意,“州/省/市/自治区”的_“包含”_字段已添加到“筛选器”功能区中,以指明从视图中筛选了某些州/省/市/自治区。字段上带有两个圆圈的图标表示此字段是一个集。通过在“筛选器”功能区上右键单击字段,然后选择**“编辑筛选器”**,您可以编辑此字段。 现在您想要查看这些州/省/市/自治区中的城市数据。 9. 在**“行”**功能区上,单击**“州/省/市/自治区”**字段上的**加号**图标,以下钻到“城市”详细级别。 这里几乎有太多的信息,所以您决定对视图进一步进行筛选,使用“前 N 个”筛选器查看负利润最多的城市。 检查您的工作!观看步骤 1-5 的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 创建“前 N 个”筛选器 您可以在 Tableau Desktop 中使用“前 N 个”筛选器,以限制视图中所显示的标记数。在本例中,您需要使用“前 N 个”筛选器以进一步查明业绩差的城市。 1. 从“数据”窗格中,将**“城市”**拖到**“筛选器”**功能区。 2. 在“筛选器”对话框中,选择**“前”**选项卡,然后执行以下操作: 1. 单击**“按字段”**。 2. 单击**“前”**下拉列表,并选择**“后”**以显示表现最差者。 3. 在文本框中键入 **5**,以显示数据集中业绩排在最后 5 位的城市。 Tableau Desktop 已经根据视图中的字段为“前 N 个”筛选器选择了字段(“利润”)和聚合(“总和”)。这些设置可以确保您的视图将只显示五个利润总和成绩最差的城市。 ![设置为“按字段:后 5 个”的“筛选 \[城市\]”对话框的“前”选项卡](Img/gs_Explore12.png) 6. 单击**“确定”**。 您已经找到头绪了!但有六个城市在视图中,包括北卡罗来纳州的杰克逊维尔,其利润为正值。为何在您创建了应该会筛选出盈利城市的筛选器之后,具有正利润的城市仍然会显示在视图中? 之所以包括北卡罗来纳州的杰克逊维尔,是因为“City”(城市)是视图中显示的最低详细级别。为了让 Tableau Desktop 区分北卡罗莱纳州的杰克逊维尔与佛罗里达州的杰克逊维尔,您需要下钻到位置分层结构中的下一个详细级别,在本例中,此级别为“邮政编码”。添加邮政编码后,您可以排除北卡罗莱纳州的杰克逊维尔,但不排除佛罗里达州的杰克逊维尔。 1. 在“行”功能区上,单击**“城市”**上的加号图标,以下钻到“邮政编码”详细级别。 2. 右键单击北卡罗莱纳州的杰克逊维尔的邮政编码 **28540**,然后选择**“排除”**。 “邮政编码”已添加到“筛选器”功能区中,以指明从视图中筛选了“邮政编码”字段中的某些成员。即使从视图中移除了“邮政编码”字段,仍然会保留该筛选器。 4. 将**“邮政编码”**拖出“行”功能区。 视图将更新为如下所示: ![南部五个利润最低的城市的条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore14.png) 检查您的工作!观看步骤 1-8 的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 现在,您已经在您的视图中关注到利润最低的城市,您可以执行进一步的调查以确定导致利润最低的产品。 ## 确定麻烦制造项 您决定按子类细分视图,以确定拖累利润的产品。您知道“子类”字段包含有关地点销售的产品的信息,所以您将从那里着手。 1. 将**“Sub-Category”(子类)**拖到**“行”**功能区,并将其放在“城市”的右边。 2. 将**“Profit”(利润)**拖到“标记”卡的**“颜色”**上,以更便于查看具有负利润的产品。 3. 在“数据”窗格中,右键单击**“Order Date”(订单日期)**,并选择**“显示筛选器”**。 如果需要,您现在可以浏览每一年的负利润,并快速找出造成亏损的产品。 计算机、桌子和活页夹似乎表现得不怎么好。那么,如果您在杰克逊维尔、康科德、伯灵顿、诺克斯维尔和孟菲斯停止销售这些商品会怎样? ![显示表现最差城市子类别盈利能力的水平条形图](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Explore15.png) ## 验证您的发现 排除活页夹、计算机和桌子能提高佛罗里达州、北卡罗莱纳州和田纳西州的利润吗?为了找出答案,您可以筛选出问题产品,看看会发生什么情况。 1. 通过单击**“利润视图”**工作表标签,回到您的地图地图。 2. 在“数据”窗格中,右键单击**“Sub-Category”(子类)**,并选择**“显示筛选器”**。 您提供的所有产品的筛选器卡将出现在地图视图旁边。稍后您将使用此筛选器。 3. 从“数据”窗格中,将**“Profit”(利润)**和**“Profit Ratio”(利润率)**拖到“标记”卡上的**“标签”**。 - 若要将利润率的格式设置为百分比,请右键单击**“Profit Ratio”(利润率)**,然后选择**“格式”**。然后,对于**“默认”**部分中的**“数字”**,选择**“百分比”**并设置要在地图上显示的小数位数。对于此地图,我们将选择零位小数。然后关闭格式窗格。 现在,您可以看到每个州/省/市/自治区的确切利润,而不必将光标悬停在它们上。 4. 在“数据”窗格上,右键单击**“Order Date”(订单日期)**,并选择**“显示筛选器”**以提供一些视图上下文。 视图中将显示 YEAR(Order Date) 的筛选器卡。现在,您可以查看所有年度或年度组合的利润。这可能对您的演示有用。 5. 从视图内“子类”筛选器卡上的列表中清除**“活页夹”**、**“计算机”**和**“桌子”**。 请记住,如果将筛选器添加到您的视图,则可以包括和排除值,以突出显示您的数据的某些部分。 当您清除每个成员时,田纳西州、北卡罗来纳州和佛罗里达州的利润将会提高,直到最后每个州/省/市/自治区都有正利润为止。 ![从“子类”筛选器中取消选择“活页夹”、“计算机”和“桌子”的结果](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_explore-deselect.png) 嘿,您有了一个有趣的发现! 对于田纳西州、北卡罗来纳州和佛罗里达州,而不是对于南部其他各州,这些州的损失肯定是由活页夹、计算机和桌子造成的。当您从筛选器卡中清除项时,您是否注意到某些其他州/省/市/自治区的利润实际降低程度?举例来说,如果您切换“子类”筛选器卡上的**“Binders”(装订机)**,则阿肯色州的利润会下降四个百分点。您可以推断出装订机在阿肯色州实际上是可盈利的。 您需要指导团队完成您所执行的步骤,以与他们共享这一发现。 11. 选择“子类”筛选器卡上的**“(所有)”**以重新包括所有产品。 了解更多信息:您可以问的更多问题 您发现,田纳西州、北卡罗来纳州和佛罗里达州的负利润是由活页夹、计算机和桌子造成的。现在怎么办? 通过回答下面的问题,您可以继续浏览数据。**注意:** 如果您使用您的视图来探讨这些问题,请在继续学习“入门指南”教程之前撤消任何更改。 - 田纳西州、北卡罗来纳州和佛罗里达州的计算机销售情况如何?您是否卖了很多?如果是,那么对利润有何影响? - 可能造成这些结果的其他因素是什么?南部的零售商出售商品时是否有折扣? - 桌子和活页夹的销售情况如何? - 当您移除计算机、桌子或活页夹后,杰克逊维尔、迈阿密、伯灵顿、诺克斯维尔和孟菲斯的销售额会发生什么情况? - 但是书柜的情况怎么样?请记住,在步骤 2 中,我们发现书柜在其他区域中完全无利可图。研究这些区域可能会揭示更多解决方案。 检查您的工作!观看“验证您的发现”的实际运行效果 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 现在,您知道计算机、桌子和活页夹是公司的问题产品。在重点关注南部时,您发现这些产品对利润具有不同的影响。这可能值得与您的上司交谈。 接下来,您将汇编到目前为止在仪表板中完成的工作,以便可以清楚地演示您的发现。 学习资料库中具有**关于使用地图和地理角色的更多信息**(在顶部菜单中)。 请转到[步骤 6:生成仪表板以显示您的见解](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-build.htm)继续。 [跳转到主要内容](#main-content) # 步骤 6:生成仪表板以显示您的见解 您已经创建了四个工作表,它们将传递您的上司需要知道的重要信息。现在您需要一种方法来显示田纳西州、北卡罗来纳州和佛罗里达州的负利润,并解释利润低的一些原因。 为此,您可以使用仪表板同时显示多个工作表,如果需要,可以让它们彼此进行交互。 有关相关资源和视频,请参见[在 Tableau Desktop 中构建仪表板](https://www.tableau.com/zh-cn/node/106947?playlist=509089)。 ## 设置仪表板 您想要强调在某些地方销售的某些商品表现不佳。您的利润条形图视图和地图视图很好地证明这一点。 1. 单击**“新建仪表板”**按钮。 ![“新建仪表板”图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Build1.png) 2. 在左侧的**“仪表板”**窗格中,您将看到您创建的工作表。将**“Sales in the South”(南部销售额)**拖到您的空仪表板。 3. 将**“Profit Map”(利润地图)**拖到仪表板,并将其放在“South”(南部)视图中的“Sales”(销售额)上。 您的仪表板将更新为如下所示: ![带有利润地图和“Sales in the South”(南部销售额)工作表的的仪表板](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Build2.png) 现在,您可以同时看到这两个视图! 但糟透的是,条形图有点扁,这不利于上司了解您的数据。 ## 排列仪表板 在您的“Sales in the South”(南部销售额)条形图内的**“Sub-Category”(子类)**中不容易查看每种商品的详细信息。 解决此问题会给您更多的空间去传递您需要的信息。 1. 在“Sales in the South”(南部销售额)上,右键单击**“Category”(类别)**列标题,并清除**“显示标题”**。 ![选择了“显示标题”的菜单](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Build3.png) 2. 在“Sales in the South”(南部销售额)上,右键单击标题“Order Date/Sub-Category”(订单日期/子类),并选择“隐藏列字段标签”。 ![列字段标签菜单](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_build4.png) 现在,您已经在仪表板中隐藏了不必要的信息,同时保留了数据细分。额外的空间使您可以更轻松地查看仪表板上的数据,但让我们更加焕然一新。 3. 右键单击**“Profit Map”(利润地图)**标题,并选择**“隐藏标题”**。 仪表板中即隐藏了“Profit Map”(利润地图)标题,甚至创造了更多空间。 4. 为**“Sales in the South”(南部销售额)**视图标题重复此步骤。 5. 每次打开工作表时,其筛选器也会一并加载。这意味着有重复的筛选器显示。选择视图右边的**“Sub-Category”(子类)**筛选器卡,在卡的顶部,单击**“移除”**图标 ![“从仪表板中移除”图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_build5.png)。 6. 为第二个**“Sub-Category”(子类)**筛选器卡和其中一个**“Year of Order Date”(订单日期年度)**筛选器卡重复此步骤。 7. 单击**“利润颜色图例”**,并将其从右边拖到“Sales in the South”(南部的销售额)下。 8. 最后,选择其余**“Year of Order Date”(订单日期年度)**筛选器,单击其下拉箭头,然后选择**“浮动”**。将其移到地图视图中的空白区域。在此示例中,它放在“Atlantic Ocean”(大西洋)中的“East Coast”(东海岸)附近。 在“订单日期年份”筛选器上尝试选择其他年份。您的数据经过了快速筛选,表明州/省/市/自治区的业绩因年而异。这样虽然很好,但是可以使其变得更容易比较。 10. 单击**“订单日期年份”**筛选器顶部的下拉箭头,然后选择**“单值(滑块)”**。 视图将更新为如下所示: ![带有利润地图和“Sales in the South”(南部销售额)工作表仪表板,列标题和筛选器较少](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_build6.png) 了解更多信息:区分仪表板上的浮动对象与平铺对象 仪表板上的对象可以设置为**“平铺”**或**“浮动”**。平铺项会按照其所放入到的区域自动调整大小。 浮动项能够从仪表板上的其他对象自由地移动和调整大小。如果需要,甚至可以将浮动项和平铺项放在同一仪表板上。 学习资料库中具有**关于排列仪表板的更多信息**(在顶部菜单中)。 现在您的仪表板看起来非常好!现在,您可以轻松地按年度比较利润和销售额。但是这与演示文稿中的几个图片没有太大的不同 - 而您使用的是 Tableau!让我们将您的仪表板变得更具吸引力。 检查您的工作!注意操作中的“排列仪表板” _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 添加交互功能 如果可以查看哪些子类在州/省/市/自治区中可盈利岂不是很好? 1. 在仪表板中选择**“Profit Map”(利润地图)**,并单击右上角的**“用作筛选器”**图标 ![“用作筛选器”图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_build7.png)。 2. 在地图的南部地区选择一个州/省/市/自治区。 “Sales in the South”(南部销售额)条形图将自动更新以仅显示所选州/省/市/自治区中的子类销售额。您可以快速查看哪些子类可盈利。 3. 单击地图上带有颜色的南部各州以外的区域以清除您的选择。 您还希望 Viewer(查看者)能够查看基于订单日期的利润变化。 5. 选择**“Year of Order Date”(订单日期年度)**筛选器,单击其下拉箭头,并选择**“应用于工作表”**\>**“使用此数据源的所有工作表”**。 使用新交互式仪表板按年浏览州/省/市/自治区业绩! 检查您的工作!注意操作中的“添加交互功能” 在此,我们将筛选“Sales in the South”(南部销售额),以仅显示北卡罗莱纳州中销售的商品,然后逐年浏览利润。 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 重命名并开始 您向上司显示了您的仪表板,她很喜欢此仪表板。她将其命名为“Regional Sales and Profit”(区域销售额和利润),并且您通过双击**“仪表板 1”**选项卡并键入**“Regional Sales and Profit”(区域销售额和利润)**,也进行了重命名。 在其调查中,您的上司还发现,2025 年在北卡罗来纳州市场引进计算机的决定是一个_糟糕的主意_。 您的上司很高兴拥有这款用于浏览的仪表板,但是她还希望您为更大的团队拿出一项明确的行动计划。她要求您用您的发现创建一个演示文稿。 幸好您知道 Tableau 中的故事。 请转到[步骤 7:生成故事以进行演示](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-story.htm)继续。 [跳转到主要内容](#main-content) # 步骤 7:生成故事以进行演示 您可能希望与较大团队共享您的发现。您的团队可能会一起重新评估北卡罗莱纳州的计算机销售情况。 您决定在 Tableau 中创建一个故事,而不是必须猜测您的团队感兴趣的重要见解,也不必将它们包括在演示文稿中。这样,您就可以指导 Viewer(查看者)完成数据发现过程,并且可以选择以交互方式浏览您的数据,以回答演示过程中出现的任何问题。 ## 创建您的第一个故事点 Tableau 中的故事几乎就像幻灯片放映。每个故事点本质上都是演示文稿中的一张独立幻灯片。与仪表板不同的是,每个故事点都可以显示具有独立状态的同一可视化项或仪表板。不确定这意味着什么?按照下面的说明进行操作,它应该会变得清晰。 为了演示,您将首先从概述开始。 1. 单击**“新建故事”**按钮。 ![“新建故事”图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story1.png) 这将打开一个空白的工作区,上面写着“将工作表拖到此处”。在此,您将创建您的第一个故事点。 空白故事看起来很像空白仪表板。就像仪表板一样,您可以将工作表拖过去以显示它们。在故事中,您还可以将仪表板拖到演示文稿中。 5. 从左侧的“故事”空格中,将**“南部销售额”**工作表拖到视图上。 6. 添加说明 - 或许是“按年度列出的销售额和利润”- 方法是在工作表上方的灰色框中编辑文本。 ![故事中显示的“南部销售额”工作表](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story2.png) 此故事点是让 Viewer(查看者)了解您的数据的有用方式。 但是,您想要讲述一个关于在北卡罗莱纳州中销售计算机的故事,所以让我们重点关注该数据。 ## 突出显示计算机销售额 若要在图片中引入计算机,您可以利用“南部”条形图内“销售额”中所包括的“子类”筛选器。 1. 在**“故事”**窗格中的“新建故事点”下,单击**“复制”**以复制第一个故事点。 从您离开的地方继续,但是您知道您的第一个故事点将与您离开时的完全一样。在此新故事点中,您可以更改筛选器和其他交互性,而无需更改第一个故事点或基础可视化项。 2. 由于您知道要讲述一个关于计算机的故事,因此请在“子类”筛选器上清除所选择的**“(所有)”**,然后选择**“计算机”**。 现在,您的 Viewer(查看者)可以按年度快速确定计算机的销售额和利润。 3. 添加说明以强调您的 Viewer(查看者)所看到的内容,例如“按年度列出的计算机销售额和利润”。 ![包括“南部销售额”工作表并针对计算机进行筛选的一个故事](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story4.png) 虽然您已成功地将关注重点转移到计算机,但是您意识到有些东西似乎很奇怪:在此视图中,您无法挑出哪个州造成了亏损。 您将通过引入地图在下一个故事点中解决此问题。 了解更多信息:故事点标题旁边的这个迷你工具栏是什么? 将您的第一个故事点拖到画布上并将鼠标指针悬停在导航器区域上时,“故事”工具栏 ![将鼠标悬停在故事点标题上时出现的图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_story_toolbar.png) 将显示在故事点标题旁边。使用它来恢复更改、将更新应用于故事点、删除故事点,或利用当前的定制故事点创建一个新故事点。您对故事点进行更改之后,所有选项都可用。否则只有删除选项可用。 检查您的工作!注意操作中的“创建您的第一个故事点”和“突出显示计算机销售额”的实际运行效果。 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 说明重点 底线是北卡罗来纳州的计算机会让您的公司亏本。您在自己创建的仪表板中发现了这一点。单靠按年度查看整体销售额和利润未证明这一点,但是区域利润却可以。 1. 在**“故事”**窗格中,选择**“空白”**以添加新的空白故事点。然后,将仪表板**“区域销售额和利润”**拖到画布上。 这会给 Viewer(查看者)提供一个观察您的数据的新视角:负利润格外引人注目。 ![使用“区域销售额和利润”仪表板的故事](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story6.png) 3. 添加说明,如“南部中的商品表现不佳”。 若要将您的结果缩小到仅限于北卡罗莱纳州,请从重复的故事点开始。 1. 选择**“复制”**以使用“区域利润”仪表板创建另一个故事点。 2. 在地图上选择**“North Carolina”(北卡罗莱纳州)**,请注意条形图会自动更新。 3. 在“Year of Order Date”(订单日期年份)筛选器卡上选择“全部”。 4. 添加一个说明,例如“2022 年 - 2025 年北卡罗莱纳州的利润”。 现在,您可以指导 Viewer(查看者)查看北卡罗莱纳州的年度利润变化。为此,您将需要创建四个故事点: 1. 选择**“复制”**以从重点关注北卡罗莱纳州的“区域利润”仪表板开始。 2. 在“Year of Order Date”(订单日期年份)筛选器上,单击右箭头按钮以显示**“2022”**年。 3. 添加一个说明,例如“2022 年北卡罗莱纳州的利润”。然后单击**“复制”**。 4. 为 2023 年、2024 年和 2025 年重复步骤 2 和 3。 现在,Viewer(查看者)将知道,哪些产品引入到了北卡罗莱纳州市场、何时引入的以及它们的销售情况如何。 检查您的工作!注意操作中的“说明重点”的实际运行效果。 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 最后的润色 在重点关注 2025 年的数据的此故事点上,您想要描述您的发现。让我们添加更多细节,而不仅仅是标题。 1. 在左侧窗格中,选择**“拖动以添加文本”**并将它拖到您的视图上。 2. 输入您的仪表板描述,强调北卡罗来纳州的计算机业绩不佳,例如“2025 年将计算机重新引入到北卡罗莱纳州市场导致严重亏损”。 为了获得引人注目的效果,您可以在演示时将光标悬停在“南方销售额”条形图中的“计算机”上,以显示有用的工具提示:损失将近 4000 美元。 ![“区域销售额和利润”仪表板带有文字标题,上面写着“2021 年将机器引入北卡罗来纳州市场导致损失大量资金。”](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story9.png) 现在,对于最终幻灯片,您将下钻查询至详细信息。 4. 在“故事”窗格中,单击**“空白”**。 5. 从“故事”窗格中,将**“负利润条形图”**拖到视图上。 6. 在**“Year of Order Date”(订单日期年份)**筛选器卡中,将视图范围缩小到 **2025** 年。 现在,您可以轻松地看到计算机利润的亏损完全是由北卡罗莱纳州伯灵顿市场造成的。 7. 在视图中,右键单击**“Burlington”(伯灵顿)**标记(条形),并选择**“添加注释”**\>**“标记”**。 8. 在出现的“编辑注释”对话框中,删除筛选器文本并键入:“伯灵顿的计算机 2025 年亏损近 4,000 美元”。 9. 单击**“确定”**。 10. 在视图中,单击注释并调整其出现的位置。 11. 为此故事点指定说明:“北卡罗莱纳州的哪个城市出现了计算机利润亏损?” 12. 双击**“故事 1”**标签,并将故事重命名为“提高南部的利润” 13. 通过选择**“窗口”**\>**“演示模式”**来查看您的故事。 了解更多信息: 适应大小。 在演示模式下,仪表板故事点右侧或底部的滚动条有什么作用? ![具有水平和垂直滚动条的故事](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story7.png) 您的仪表板似乎不太适合演示文稿。有点气人。按 **Esc** 键退出演示,然后选择工作簿底部的**“Regional Sales and Profit”(区域销售额和利润)**工作表。 在左侧窗格中的**“仪表板”**下,将**“大小”**下拉选项更改为**“Fit to Improve Profits in the South”(适合提高南部的利润)**。这将会自动调整仪表板大小,以获得最佳故事查看效果。 ![用于更改仪表板大小的“仪表板”窗格菜单](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Story10.png) 选择**“Fit to Improve Profits in the South”(适合提高南部的利润)**,然后再次进入演示模式。您的仪表板达到最佳适应效果。 检查您的工作!注意操作中的“最后的润色”的实际运行效果。 _单击图像可重播_ **注意**:此 gif 中的详细信息可能与屏幕上的内容不完全匹配。 ## 演示之后 您的演示效果很好。团队确信要完成一些工作来提高北卡罗来纳州伯灵顿的利润。并且,他们很想知道为什么机器在第一位表现得那么差。您的老板很兴奋:您不仅确定了解决负利润问题的方式,而且还让团队问出了有关数据的问题。 为了让团队对课程记忆深刻,您的老板要求您通过电子邮件将包含结果的文档发送给团队。幸好您知道使用 Tableau Server 和 Tableau Public 来分享可视化项。 继续[步骤 8:共享您的发现](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-share.htm)。 [跳转到主要内容](#main-content) # 步骤 8:共享您的发现 您做了一堆的工作(出色的工作),发现北卡罗来纳州的伯灵顿需要一些微调。让我们与您的队友分享这些信息。 **继续之前**,请选择以下一个选项: - 如果您或您的公司不使用 Tableau Cloud 或 Server,或者如果您想要了解免费的替代共享选项,请跳转到[使用 Tableau Public](#Use_Tableau_Public)。 **注意:**如果您使用 Tableau Desktop Free Edition,并且您的公司不允许将内容发布到 Tableau Public,则您必须使用付费许可证激活 Tableau Desktop,然后才能共享或发布您的作品。 - 如果您或您的公司使用 Tableau Cloud 或 Tableau Server,并且您熟悉分配给您的权限,请跳转到[使用 Tableau Cloud 或 Tableau Server](#Use_Tableau_Server)。 ## 使用 Tableau Public 您的故事很受欢迎。您将要将其发布到 Tableau Public,以便您的团队可以联机查看它。 **注意:** 当您发布到 Tableau Public 时,顾名思义,这些视图可公开访问。这意味着您将与能够访问 Internet 的任何人共享您的视图以及您的基础数据。共享机密信息时,请考虑使用 [Tableau Server](http://www.tableau.com/zh-cn/products/server) 或 [Tableau Cloud](http://www.tableau.com/zh-cn/products/cloud-bi)。 1. 选择**“服务器”**\>**“Tableau Public”**\>**“保存到 Tableau Public”**。 2. 在对话框中输入您的 Tableau Public 凭据。 ![Tableau Public 登录屏幕](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share7.png) 如果您没有 Tableau Public 配置文件,请单击**“立即免费创建一个”**并按照提示操作。 3. 如果您看到此对话框,请打开“数据源”页面。然后在右上角,将**“连接”**类型从**“实时”**更改为**“数据提取”**。 ![“需要数据提取”对话框,显示“尝试保存工作簿时出错”](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share10.png) 了解更多信息:为什么必须创建数据提取?数据提取究竟是什么? Tableau Public 不支持实时数据连接,这就是为什么在发布之前必须创建数据提取的原因。 数据提取是保存的数据源子集,您可以使用这些数据源子集来共享工作簿中数据的快照、改善性能,或利用基础数据中没有的 Tableau 功能。 学习资料库中具有**关于使用数据提取的更多信息**(在顶部菜单中)。 4. 再次(也是最后一次)选择**“服务器”**\>**“Tableau Public”**\>**“保存到 Tableau Public”**。 5. 当您的浏览器打开时,查看您的嵌入式故事。其内容将如下所示: ![上传到 Tableau Public 的可视化项,显示南部表现不佳的项](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share8.png) 6. 单击**“编辑详细信息”**以更新 VIZ 的标题、添加说明等等。 7. 单击**“保存”**。 现在,您的故事在 Web 上是实时故事。 8. 若要与同事共享,请单击 VIZ 底部的**“共享”**。 ![Tableau Public 中的“共享”对话框](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share9.png) 9. 您想要如何分享您的故事? 1. 嵌入在网站上:复制**嵌入代码**,并将其粘贴在您的网页 HTML 中。 2. 发送链接:复制**链接**,并将链接发送给您的同事。 3. 通过单击电子邮件图标,使用默认电子邮件客户端发送电子邮件。 4. 通过单击单击相应的图标,在 Twitter 或 Facebook 上共享。 完成这些步骤之后,请[单击此处](#Congrats,_you_did_it!)跳转到本教程的最后一个部分。 ## 使用 Tableau Cloud 或 Tableau Server 您的故事很受欢迎。您将要将其发布到 Tableau Server,以便您的团队可以联机查看它。 ### 发布到 Tableau Cloud 或 Tableau Server 1. 选择**“服务器”**\>**“发布工作簿”**,或在工具栏上单击“共享” ![“共享”图标](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/Share_Icon.png)。 2. 单击**“快速连接”**下的**“Tableau Cloud”**以连接到 Tableau Cloud,或在对话框中输入要连接到的 Tableau Server 的名称(或 IP 地址),并单击“连接”。 ![“通过 Tableau Server 或 Tableau Cloud 共享”对话框](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_share1.png) 3. 在“名称”字段中,输入**“提高南部的利润”**。 4. 如果需要,请输入参考描述,例如“提高南部利润的建议” 5. 在**“工作表”**下,单击**“编辑”**,然后清除所有工作表(**“Improve Profits in the South”(提高南部的利润)**除外。) 了解更多信息: 不只是共享故事。 如果需要,您可以在 Tableau Server 上与同事共享工作簿中的每个工作表。然而,您可能需要考虑想要向哪些同事提供哪些工作表。 **注意:** 取决于您的管理员,您的权限可能会有所不同。 学习资料库中具有**关于 Tableau Server 权限的更多信息**(在顶部菜单中)。 6. 单击**“发布”**。 Tableau Server 将在您的 Internet 浏览器中打开。如果遇到提示,请输入您的服务器凭据。 当您的故事可以查看时,“发布完成”对话框将会通知您。 ![“发布完成”对话框](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_share3.png) 做得好!您已使用 Tableau Server 成功发布了您的故事。 ### 发送工作链接 让我们与您的队友分享您的工作,以便他们可以在线与您的故事互动。 1. 在 Tableau Server 中,导航到您发布的“Improve Profits in the South”(提高南部的利润)故事。您将看到如下所示的屏幕: ![上载到 Tableau Server 的“提高南部的利润”故事](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share5.png) _如果您发布了工作簿中的其他工作表,那么这些工作表将列在“提高南部的利润”旁边。_ 2. 单击**“提高南部的利润”**。 3. 从菜单中,选择**“共享”**。 ![“共享”对话框](/tableau/next/zh-cn/guides/get-started-tutorial/zh-cn/Img/gs_Share4.png) 4. 您想要如何分享您的故事? 1. 通过复制**嵌入代码**,并将其粘贴在您的网页 HTML 中,从而嵌入在网站上。 2. 通过复制**链接**,并将链接发送给您的同事,从而发送链接。 3. 通过使用默认电子邮件客户端发送电子邮件:单击电子邮件图标。 ## 恭喜,您做到了! 您使用 Tableau Desktop 创建了产品数据视图、按区域绘制了产品销售额和盈利能力图、围绕着您的发现生成了一个仪表板、讲述了要演示的故事,在 Web 上共享了您的结果以便远程团队成员可以查看。 **您是数据明星。** 干得漂亮!您已成功练习了 Tableau“数据发现”方法: - 提出问题 - 收集数据 - 构造数据 - 浏览数据 - 共享见解 虽然您可能会发现与以前相比自己在每个阶段中做了更多的修改,但这是在 Tableau 中工作时将遵循的基本工作流程。例如,可能需要进行一些修改,以改进您的初始问题,将其从一般性问题(销售额是怎么回事?)更改为具体性问题(负利润由南部哪个城市造成的?)。 您的修改内容可能会将您带向意想不到的方向。这很好,而且这是我们希望发生的,我们发现,您将会发现一些机会,当您第一次查看数据时,您不知道存在这些机会。 如果您准备迅速行动并开始使用您的数据,那么就开始在 Tableau 中探索您的数据吧!但是,如果您想首先获得更多信息,请看看“学习资料库”。 请转到[学习资料库](https://help.tableau.com/v0.0/guides/get-started-tutorial/zh-cn/get-started-tutorial-next.htm)继续。 [跳转到主要内容](#main-content) # 第 1 部分 - 了解企业部署 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 第 1 部分更详细地描述了行业标准企业部署的功能和要求,Tableau Server 企业部署指南就是针对这些特性和要求而设计的。 以下网络图显示了带有 Tableau Server 参考架构的通用数据中心分层部署。 ## 行业标准和部署要求 以下是行业标准部署的功能。以下是参考体系结构的设计要求: - 多层网络设计:网络受所保护子网的限制,以限制每一层的访问:Web 层,应用程序层和数据层。由于所有通信都在下一个子网处终止,因此无法跨子网进行任何通信。 - 默认情况下阻止的端口和协议:默认情况下,每个子网或安全组将阻止所有入站和出站端口及协议。通过在端口或协议配置中打开例外来部分启用通信。 - 现成的 Web 身份验证:来自 Internet 的用户请求通过 Web 层中反向代理上的身份验证模块进行身份验证。因此,在传入受保护的应用程序层之前,将在 Web 层上验证对应用程序层的所有请求。 - 与平台无关:解决方案可以与本地服务器应用程序一起部署,也可以在云中部署。 - 与技术无关:解决方案可以部署在虚拟机环境或容器中。也可以部署在 Windows 或 Linux 上。但是,参考架构和支持文档的初始版本是为在 AWS 中运行的 Linux 开发的。 - 高度可用:系统中的所有组件均以群集方式部署,并设计为在主动/主动或主动/被动部署中运行 - 孤立角色:每个服务器都扮演不同的角色。这种设计对所有服务器进行了分区,以便可将特定于服务的管理员的访问降至最低。例如,DBA 管理 PostgreSQL for Tableau,身份管理员管理 Web 层中的身份验证模块,网络和云管理员启用流量和连接。 - 线性可扩展:作为不同的角色,您可以根据负载配置文件独立扩展每个层服务。 - 客户端支持:参考架构支持所有 Tableau 客户端:Tableau Desktop(版本 2021.2 或更高版本)、Tableau Mobile 和 Tableau Web Authoring。 ## 安全措施 如上所述,行业标准数据中心设计的主要功能是安全性。 - 访问:每个层受一个子网约束,该子网使用端口筛选在网络层实施访问控制。子网之间的通信访问也可以由应用程序层通过进程之间经过身份验证的服务来实施。 - 集成:体系结构设计为在 Web 层中的反向代理上插入身份验证提供程序 (IdP)。 - 隐私:客户端使用 SSL 对进入 Web 层的流量进行加密。进入内部子网的流量也可以根据需要进行加密。 ## Web 代理层 Web 层是 DMZ(也称为外围区域)中的一个子网,充当 Internet 与部署应用程序的内部子网之间的安全缓冲区。Web 层托管不存储任何敏感信息的反向代理服务器。反向代理服务器配置有一个 AuthN 插件,用于在将客户端请求重定向到 Tableau Server 之前,使用受信任的 IdP 对客户端会话进行预身份验证。有关详细信息,请参见[使用 AuthN 模块进行预身份验证](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part5.htm#Pre-auth)。 ### 负载平衡器 部署设计包括在反向代理服务器之前部署企业负载平衡解决方案。 负载平衡器通过以下方式提供了重要的安全性和性能增强: - 虚拟化应用程序层服务的前端 URL - 实施 SSL 加密 - 卸载 SSL - 在客户端和 Web 层服务之间实施压缩 - 抵御 DOS 攻击 - 提供高可用性 **注意**:Tableau Server 版本 2022.1 包括 Tableau Server 独立网关。独立网关是 Tableau 网关进程的独立实例,用作 Tableau 感知反向代理。在发布时,独立网关已经过验证,但尚未在 EDG 参考架构中进行全面测试。完整测试完成后,EDG 将使用 Tableau Server 独立网关说明性指南进行更新。 ## 应用程序层 应用程序层位于运行服务器应用程序核心业务逻辑的子网中。应用程序层由跨群集中的分布式节点配置的服务和流程组成。仅可从 Web 层访问应用程序层,用户不能直接访问。 通过配置应用程序进程,使具有不同资源使用配置文件(即,CPU 密集型与内存密集型)的进程位于同一位置,可以提高性能和可靠性。 ## 数据层 数据层是一个保存有价值数据的子网。进入此层的所有流量都来自应用程序层,因此已经过身份验证。除了具有端口配置的网络层上的访问要求外,该层还应包括经过身份验证的访问,以及可选的应用程序层加密流量。 [跳转到主要内容](#main-content) # 第 2 部分 - 了解 Tableau Server 部署参考体系结构 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 下图显示了相关的 Tableau Server 进程以及它们在参考架构中的部署方式。此部署被认为是适合企业的最小 Tableau Server 部署。 本主题中的流程图旨在显示每个节点的主要定义流程。许多支持进程也在图中未显示的节点上运行。有关所有进程的列表,请参见本指南的配置部分,即[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm)。 ## Tableau Server 进程 Tableau Server 参考体系结构是一个四节点的 Tableau Server 群集部署,在 PostgreSQL 上有外部存储库: - Tableau Server 初始节点(节点 1):运行所需的 TSM 管理和许可服务,这些服务只能在群集中的单个节点上运行。在企业情境中,Tableau Server 初始节点是群集中的主节点。此节点还与节点 2 一起运行冗余应用程序服务。 - Tableau Server 应用程序节点(节点 1 和节点 2):这两个节点提供客户端请求、连接并查询数据源以及数据节点。 - Tableau Server 数据节点(节点 3 和节点 4):两个专用于管理数据的节点。 - 外部 PostgreSQL:此主机运行 Tableau Server 存储库进程。对于 HA 部署,您必须运行额外的 PostgreSQL 主机以实现主动/被动冗余。 您还可以在 Amazon RDS 上运行 PostgreSQL。有关在 RDS 上运行存储库与在 EC2 实例上运行存储库之间的差异的详细信息,请参见_“Tableau Server 外部存储库”_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_repo.htm))。 使用外部存储库部署 Tableau Server 需要 Tableau Advanced Management 许可证。 如果您的组织没有内部 DBA 专业知识,您可以选择在默认的内部 PostgreSQL 配置中运行 Tableau Server 存储库进程。在默认情况下,存储库在具有嵌入式 PostgreSQL 的 Tableau 节点上运行。在这种情况下,我们建议在专用 Tableau 节点上运行存储库,并在其他专用节点上运行被动存储库以支持存储库故障转移。请参见“_存储库故障转移_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/distrib_ha_failover.htm))”。 例如,本指南中描述的 AWS 实现解释了如何在 EC2 实例上运行的 PostgreSQL 上部署外部存储库。 - 可选:如果您的组织使用外部存储,您可以将 Tableau 文件存储部署为外部服务。本指南不包括核心部署方案中的外部文件存储。请参见“_使用外部文件存储安装 Tableau Server_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_filestore_storage_new_install.htm))”。 使用外部文件存储部署 Tableau Server 需要 Tableau Advanced Management 许可证。 ### PostgresSQL 存储库 Tableau Server 存储库是用于存储服务器数据的 PostgresSQL 数据库。此数据包括有关 Tableau Server 用户、组和组分配、权限、项目、数据源和数据提取元数据的信息以及刷新信息。 ![两个 PostgreSQL 数据库之间正在进行数据复制,每个数据库都有标志性的大象标志。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-ref-arch-repo.png) 默认的 PostgresSQL 部署会消耗将近 50% 的系统内存资源。根据其使用情况(用于生产和大型生产部署),资源使用量可能会上升。因此,我们建议在未运行任何其他资源密集型服务器组件(比如 VizQL、后台程序或数据引擎)的计算机上运行存储库进程。与任何这些组件一起运行存储库进程将产生 IO 争用、资源约束,并降低部署的整体性能。 ## 节点 1:初始节点 初始节点运行少量重要进程,并与节点 2 共享应用程序负载。 您在其中安装 Tableau 的第一台计算机(即“初始节点”)有一些特有的特征。三个进程只能运行在初始节点上,并且不能转移到任何其他节点(除非在出现故障的情况下):许可证服务(许可证管理器)、激活服务和 TSM 控制器(管理控制器)。 ### 节点 1 故障转移和自动恢复 许可、激活和 TSM 控制器服务对于 Tableau Server 部署的运行状况至关重要。如果节点 1 发生故障,用户仍然可以连接到 Tableau Server 部署,因为正确配置的参考架构会将请求路由到节点 2。但是,如果没有这些核心服务,部署将处于挂起失败的临界状态。请参见[初始节点自动恢复](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part7.htm#Initial)。 ## 节点 1 和 2:应用程序服务器 ![Tableau 应用程序节点进程](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-ref-arch-appnodes.png) 节点 1 和 2 运行 Tableau Server 进程,这些进程提供客户端请求、查询数据源、生成可视化项、处理内容和管理以及其他核心 Tableau 业务逻辑。应用服务器不存储用户数据。 **注意**:“应用程序服务器”是一个术语,也指 TSM 中列出的 Tableau Server 进程。“应用程序服务器”的基础进程是 VizPortal。 并行运行时,节点 1 和节点 2 可扩展以服务来自反向代理服务器上运行的负载平衡逻辑的请求。作为冗余节点,如果这些节点之一出现故障,则客户端请求和服务由其余节点处理。 参考架构的设计使互补的应用程序进程在同一台计算机上运行。这意味着进程不会争用计算资源并产生争用。 例如,VizQL(应用程序服务器上的一个核心处理服务)受到 CPU 和内存的高度限制;VizQL 占用计算机上 CPU 和内存的近 60-70%。因此,设计参考体系结构的目的是使其他受内存或 CPU 约束的进程与 VizQL 不在同一节点上。测试表明,负载量或用户数不会影响 VizQL 节点上的内存或 CPU 使用率。例如,减少负载测试中的并发用户数只会影响仪表板或可视化项加载过程的性能,而不会降低资源利用率。因此,根据使用高峰期的可用内存和 CPU,您可以考虑添加更多 VizQL 进程。作为典型工作簿的起始位置,为每个 VizQL 进程分配 4 个内核。 ### 扩展应用服务器 参考架构旨在依据基于使用的模型进行扩展。作为一般起点,我们建议至少使用两个应用程序服务器,每个应用程序服务器最多支持 1000 个用户。随着用户群的增加,计划每增加 1000 个用户就添加一个应用程序服务器。监控使用情况和性能,为您的组织调整每台主机的用户群。 ## 节点 3 和 4:数据服务器 ![Tableau Server 数据节点进程](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-ref-arch-data.png) 由于以下原因,文件存储、数据引擎 (Hyper) 和后台程序进程位于节点 3 和 4 上的同一位置: - 数据提取优化:在同一节点上运行后台程序、Hyper 和文件存储可优化性能和可靠性。在提取过程中,后台程序查询目标数据库,在同一节点上创建 Hyper 文件,然后上载到文件存储。通过将这些过程放置在同一节点上,数据提取创建工作流程不需要跨网络或节点复制大量数据。 - 免费资源平衡:后台程序主要占用大量 CPU。数据引擎是一个占用大量内存的进程。将这些进程结合起来可以最大限度地利用每个节点上的资源。 - 数据进程的整合:由于这些进程都是后端数据进程,因此有必要在最安全的数据层中运行它们。在参考架构的未来版本中,应用程序和数据服务器将在不同的层中运行。但是,由于 Tableau 架构中的应用程序依赖性,此时应用程序和数据服务器必须在同一层中运行。 ### 扩展数据服务器 与应用程序服务器一样,规划 Tableau 数据服务器所需的资源需要基于使用的建模。通常,假设每个数据服务器每天最多可以支持 2000 个数据提取刷新作业。随着数据提取作业的增加,请在没有文件存储服务的情况下添加其他数据服务器。通常,双节点数据服务器部署适用于为文件存储服务使用本地文件系统的部署。请注意,添加更多应用程序服务器不会以线性方式影响数据服务器的性能或规模。事实上,除了来自额外用户查询的一些开销外,添加更多应用程序主机和用户的影响很小。 [跳转到主要内容](#main-content) # 第 3 部分 - 准备 Tableau Server 企业部署 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 第 3 部分描述了准备基础结构以部署 Tableau Server 参考体系结构的要求。在开始之前,我们建议您先阅读[第 2 部分 - 了解 Tableau Server 部署参考体系结构](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part2.htm)。 除了需求描述之外,本主题还提供了 AWS 环境中参考架构的实施示例。本指南的其余部分基于本主题中开始的 AWS 参考架构示例。 参考体系结构的核心原则是采用数据中心安全最佳实践进行标准化。具体而言,该体系结构旨在将服务隔离到受保护的网络子网中。子网间通信仅限于特定的协议和端口流量。 下图说明了本地部署或客户管理的云部署的参考体系结构子网设计。有关示例云部署,请参见下面的[示例:在 AWS 中配置子网和安全组](#AWSexampe)部分。 ## 子网 创建三个子网:  - Web 层 - 应用层 - 数据子网。 ### 防火墙/安全组规则 下面的选项卡描述了数据中心每一层的防火墙规则。有关 AWS 特定的安全组规则,请参见本主题后面的部分。 Web 层是一个公共 DMZ 子网,它将处理入站 HTTPS 请求并将请求代理到应用程序层。此设计针对可能以您的组织为目标的恶意软件提供了一层防御。Web 层阻止对应用层/数据层的访问。
流量类型协议端口范围源

入站

SSHTCP22Bastion 子网(用于云部署)
入站HTTPTCP80Internet (0.0.0.0/0)
入站HTTPSTCP443Internet (0.0.0.0/0)
出站所有流量所有所有 
应用程序子网是 Tableau Server 部署所在的位置。应用程序子网包括 Tableau 应用程序服务器(节点 1 和节点 2)。Tableau 应用程序服务器处理用户对数据服务器的请求并运行核心业务逻辑。 应用程序子网还包括 Tableau 数据服务器(节点 3 和节点 4)。 进入应用层的所有客户端流量都在 Web 层进行身份验证。对应用程序子网的管理访问通过堡垒主机进行身份验证和路由。
流量类型协议端口范围源

入站

SSHTCP22Bastion 子网(用于云部署)
入站HTTPSTCP443Web 层子网
出站所有流量所有所有 
数据子网是外部 PostgreSQL 数据库服务器所在的子网。
流量类型协议端口范围源

入站

SSHTCP22Bastion 子网(用于云部署)
入站PostgreSQLTCP5432应用程序层子网
出站所有流量所有所有 
大多数企业安全团队不允许从本地管理系统直接与部署在云中的节点通信。相反,所有进入云节点的管理 SSH 流量都通过堡垒主机(也称为“跳转服务器”)进行代理。对于云部署,我们建议将堡垒主机代理连接到参考架构中的所有资源。这是本地环境的可选配置。 堡垒主机对管理访问进行身份验证,并且只允许通过 SSH 协议传输的流量。
流量类型协议端口范围源Destination

入站

SSHTCP22管理计算机 IP 地址 
出站SSHTCP22 Web 层子网
出站SSHTCP22 应用程序层子网
## 示例:在 AWS 中配置子网和安全组 本部分提供了分步过程,用于在 AWS 中为 Tableau Server 参考架构部署创建和配置 VPC 网络环境。 下面的幻灯片显示了四个层中的参考架构。随着幻灯片的进行,组件元素将分层到拓扑图上: 1. VPC 子网拓扑和 EC2 实例:一台堡垒主机、两个反向代理服务器、四个 Tableau 服务器和至少一个 PostgreSQL 服务器。 2. 协议流程和 Internet 连接。所有入站流量都通过 AWS Internet 网关进行管理。到 Internet 的流量通过 NAT 路由。 3. 可用区。代理、Tableau Server 和 PostgreSQL 主机均匀部署在两个可用区中。 4. 安全组。四个安全组(Public、Private、Data 和 Bastion)在协议级别保护每一层。 ![具有服务器、数据库和用户的虚拟私有云的网络图。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-vpc-sg-1.png) ![具有服务器、数据库和用户的虚拟私有云的网络图。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-vpc-sg-2.png) ![具有服务器、数据库和用户的虚拟私有云的网络图。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-vpc-sg-3.png) ![具有服务器、数据库和用户的虚拟私有云的网络图。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-vpc-sg-4.png) ### AWS 可用区和高可用性 本指南中提供的参考架构指定了一种部署,该部署可在任何单一主机出现故障时通过冗余提供可用性。但是,在 AWS 中参考架构跨两个可用区部署的情况下,可用性在可用区发生故障的极少数情况下会受到影响。 ### VPC 配置 本部分介绍如何: - 安装和配置 VPC - 配置 Internet 连接 - 配置子网 - 创建和配置安全组 ### 配置 VPC 本节中的过程映射到“经典”VPC 体验中的 UI。您可以通过关闭 AWS VPC 仪表板左上角的新 VPC 体验来切换 UI 以显示经典视图。 运行 VPC 向导以创建默认的专用和公共子网,以及默认的路由和网络 ACL。 1. 在配置 VPC 之前,必须创建弹性 IP。使用所有默认值创建分配。 2. 运行 VPC 向导>“具有公用和专用子网的 VPC” 3. 接受大多数默认值。以下情况除外:  - 输入 VPC 名称。 - 指定弹性 IP 分配 ID。 - 指定以下 CIDR 掩码: - 公共子网的 IPv4 CIDR:10.0.1.0/24,将此子网重命名为 `Public-a`。 - 私有子网的 IPv4 CIDR:10.0.30.0/24,将此子网重命名为 `Private-a`。 - 可用区:对于两个子网,为您所在的区域选择“a”选项。 **注意**:出于本示例的目的,我们使用 **a** 和 **b** 来区分给定 AWS 数据中心中的可用区。在 AWS 中,可用区名称可能与此处显示的示例不匹配。例如,一些可用区包括数据中心内的 **c** 和 **d** 区。 4. 单击“创建 VPC”。 5. 创建 VPC 后,创建 `Public-b`、`Private-b`、`Data` 和 `Bastion` 子网。若要创建子网,请单击“子网”\>“创建子网”。 - `Public-b`:对于“可用区”,为您所在的区域选择“b”选项。CIDR 块:10.0.2.0/24 - `Private-b`:对于“可用区”,为您所在的区域选择“b”选项。CIDR 块:10.0.31.0/24 - `Data`:对于“可用区”,为您所在的区域选择“b”区。CIDR 块:10.0.50.0/24可选:如果您计划跨 PostgreSQL 群集复制外部数据库,则在可用区 b 中创建一个 Data-b 子网,其 CIDR 块为 10.0.51.0/24。 - `Bastion`:对于“可用区”,选择任一区域。CIDR 块:10.0.0.0/24 6. 创建子网后,编辑 Public 和 Bastion 子网上的路由表,以使用为关联 Internet 网关 (IGW) 配置的路由表。并编辑 Private 和 Data 子网以使用为网络地址转换器 (NAT) 配置的路由表。 - 若要确定哪个路由表配置了 IGW 或 NAT,请单击 AWS 仪表板中的“路由表”。选择两个路由表链接之一以打开属性页面。查看“Routes”\>“Destination”\>“0.0.0.0/0”处的 Target 值。Target 值区分路由的类型,并且将以 `igw-` 或 `nat-` 字符串开头。 - 若要更新路由表,请转到“VPC”\>“子网”\> \[子网名称\] >“路由表”\>“编辑路由表关联”。 ### 配置安全组 VPC 向导会创建一个您不会使用的安全组。创建以下安全组(“安全组”\>“创建安全组”)。EC2 主机将跨两个可用区安装到这些组中,如上面的幻灯片图中所示。 - 创建一个新的安全组:**Private**。这是将安装 Tableau Server 的所有 4 个节点的位置。稍后在安装过程中,Private 安全组将与 10.0.30.0/24 和 10.0.31.0/24 子网关联。 - 创建一个新的安全组:**Public**(公共)。这是将安装代理服务器的位置。稍后在安装过程中,Public 安全组将与 10.0.1.0/24 和 10.0.2.0/24 子网关联。 - 创建一个新的安全组:**Data**。这是将安装 PostgreSQL 外部 Tableau 存储库的位置。稍后在安装过程中,Data 安全组将与 10.0.50.0/24(以及可选的 10.0.51.0/24)子网关联。 - 创建一个新的安全组:**Bastion**。这是将安装堡垒主机的位置。稍后在安装过程中,Bastion 安全组将与 10.0.0.0/24 子网关联。 #### 指定入站和出站规则 在 AWS 中,安全组类似于本地环境中的防火墙。您必须指定允许传入和/或传出安全组的流量类型(例如 https、https 等)、协议(TCP 或 UDP)以及端口或端口范围(例如 80、443 等)。对于每个协议,您还必须指定目标流量或源流量。 #### 公共安全组规则
入站规则
类型协议端口范围源
HTTPTCP800.0.0.0/0
HTTPSTCP4430.0.0.0/0
SSHTCP22Bastion 安全组
出站规则
类型协议端口范围Destination
所有流量所有所有0.0.0.0/0
#### 专用安全组规则 Private 安全组包含一个入站规则,以允许来自 Public 安全组的 HTTP 流量。仅在部署过程中允许 HTTP 流量来验证连接。我们建议您在完成反向代理部署并将 SSL 配置到 Tableau 后移除 HTTP 入站规则。
入站规则
类型协议端口范围源
HTTPTCP80Public 安全组
HTTPSTCP443Public 安全组
PostgreSQLTCP5432Data 安全组
SSHTCP22Bastion 安全组
所有流量所有所有Private 安全组
出站规则
类型协议端口范围Destination
所有流量所有所有0.0.0.0/0
PostgreSQLTCP5432Data 安全组
SSHTCP22Bastion 安全组
#### 数据安全组规则
入站规则
类型协议端口范围源
PostgreSQLTCP5432Private 安全组
SSHTCP22Bastion 安全组
出站规则
类型协议端口范围Destination
所有流量所有所有0.0.0.0/0
PostgreSQLTCP5432Private 安全组
SSHTCP22Bastion 安全组
#### 堡垒主机安全组规则
入站规则
类型协议端口范围源
SSHTCP22您将用于登录 AWS(管理计算机)的计算机的 IP 地址和网络掩码。
SSHTCP22Private 安全组
SSHTCP22Public 安全组
出站规则
类型协议端口范围Destination
SSHTCP22您将用于登录 AWS(管理计算机)的计算机的 IP 地址和网络掩码。
SSHTCP22Private 安全组
SSHTCP22Public 安全组
SSHTCP22Data 安全组
HTTPSTCP4430.0.0.0/0(可选:如果需要上网下载堡垒主机上的配套软件,则创建此规则)
### 启用自动分配公共 IP 这为您提供了一个用于连接到代理服务器和堡垒主机的 IP 地址。 对于 Public 子网和 Bastion 子网: 1. 选择子网 2. 在“操作”菜单下,选择“修改自动分配 IP 设置”。 3. 单击“启用自动分配公用 Ipv4 地址”。 4. 单击“保存”。 ## 负载平衡器 **注意**:如果您要安装到 AWS 并按本指南中的示例部署进行操作,那么您应该稍后在部署过程安装和配置 AWS 负载平衡器,如[第 5 部分 - 配置 Web 层](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part5.htm)中所述。 对于本地部署,请与您的网络管理员合作部署负载均衡器以支持参考架构的 Web 层: - 面向 Web 的应用程序负载平衡器,它接受来自 Tableau 客户端的 HTTPS 请求并与反向代理服务器进行通信。 - 反向代理:  - 我们建议至少使用两个代理服务器以实现冗余和处理客户端负载。 - 从负载平衡器接收 HTTPS 流量。 - 支持 Tableau 主机的粘性会话。 - 为运行网关进程的每个 Tableau Server 配置循环负载平衡代理。 - 处理来自外部 IdP 的身份验证请求。 - 转发代理:Tableau Server 需要访问 Internet 以获得许可和地图功能。根据您的转发代理环境,您可能需要为 Tableau 服务 URL 配置转发代理安全列表。请参见_“与 Internet 通信_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/plan_network.htm))”。 ## 配置主机计算机 ### 最低推荐硬件 以下建议基于我们在参考体系结构中对真实数据的测试。 应用程序服务器: - CPU:8 个物理内核(16 个 vCPU), - RAM:128 GB(16 Gb/物理内核) - 磁盘空间:100 GB 数据服务器 - CPU:8 个物理内核(16 个 vCPU), - RAM:128 GB(16 Gb/物理内核) - 磁盘空间:1 TB。如果您的部署将使用 Tableau 文件存储的外部存储,您将需要计算适当的磁盘空间。请参见“_使用外部文件存储安装 Tableau Server_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_filestore_storage_new_install.htm))”。 代理服务器 - CPU:2 个物理内核(4 个 vCPU), - RAM:8 GB(4 Gb/物理内核) - 磁盘空间:100 GB 外部存储库数据库 - CPU:8 个物理内核(16 个 vCPU), - RAM:128 GB(16 Gb/物理内核) - 磁盘空间要求取决于您的数据负载及其对备份的影响。请参见_“磁盘空间要求_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/requ_diskspace.htm#backup-and-restore-processes))”中的_“备份和还原过程”_部分。 ### 目录结构 参考架构建议将 Tableau Server 软件包和数据安装到非默认位置: - 将软件包安装到: `/app/tableau_server`:在安装 Tableau Server 软件包之前创建此目录路径,然后在安装过程中指定此路径。 - 将 Tableau 数据安装到:`/data/tableau_data`。在安装 Tableau Server 之前不要创建此目录。相反,您必须在安装期间指定路径,然后 Tableau 安装程序将相应地创建该路径并授予其权限。 有关实现详细信息,请参见[运行安装包并初始化 TSM](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Run2)。 ## 示例:在 AWS 中安装和准备主机计算机 本部分说明如何为 Tableau Server 参考架构中的每种服务器类型安装 EC2 主机。 参考架构需要八个主机: - Tableau Server 的四个实例。 - 代理服务器 (Apache) 的两个实例。 - 堡垒主机的一个实例。 - 一个或两个 EC2 PostgreSQL 数据库实例 ### 主机实例详细信息 根据以下详细信息安装主机计算机。 #### Tableau Server - Amazon Linux 2 - 实例类型:m5a.8xlarge - 安全组 ID:Private - 存储:EBS,150 GiB,gp2 卷类型。如果您的部署将使用 Tableau 文件存储的外部存储,您将需要计算适当的磁盘空间。请参见“_使用外部文件存储安装 Tableau Server_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_filestore_storage_new_install.htm))”。 - 网络:在每个私有子网(10.0.30.0/24 和 10.0.31.0/24)中安装两个 EC2 主机。 - 将 Tableau Server 2021.2(或更高版本)rpm 软件包的最新维护版本从 [Tableau 下载页面](https://www.tableau.com/zh-cn/support/releases/server)复制到每个 Tableau 主机。 #### 堡垒主机 - Amazon Linux 2 - 实例类型:t3.micro - 安全组 ID:Bastion - 存储:EBS,50 GiB,gp2 卷类型 - 网络:Bastion 子网 10.0.0.0/24 #### Tableau Server 独立网关 - Amazon Linux 2 - 实例类型:t3.xlarge - 安全组 ID:Public - 存储:EBS,100 GiB,gp2 卷类型 - 网络:在每个公有子网(10.0.1.0/24 和 10.0.2.0/24)中安装一个 EC2 实例 #### PostgreSQL EC2 主机 - Amazon Linux 2 - 实例类型:r5.4xlarge - 安全组 ID:Data - 存储:磁盘空间要求取决于您的数据负载及其对备份的影响。请参见_“磁盘空间要求_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/requ_diskspace.htm#backup-and-restore-processes))”中的_“备份和还原过程”_部分。 - 网络:Data 子网 10.0.50.0/24。(如果您在 HA 群集中复制 PostgreSQL,则在 10.0.51.0/24 子网中安装第二台主机) ## 验证:VPC 连接 安装主机计算机后,请验证网络配置。通过使用 SSH 从 Bastion 安全组中的主机连接到每个子网中的主机,验证主机之间的连接。 ### 示例:连接到 AWS 中的堡垒主机 1. 为 ssh-agent 设置管理计算机。这使您可以连接到 AWS 中的主机,而无需将私钥文件放置在任何 EC2 实例上。 若要在 Mac 上配置 ssh-agent,请运行以下命令: `ssh-add -K myPrivateKey.pem`,或者对于最新的 Mac Os,请运行 `ssh-add --apple-use-keychain myPrivateKey.pem` 对于 Windows,请参见主题[安全地连接到在专用 Amazon VPC 中运行的 Linux 实例](https://aws.amazon.com/blogs/security/securely-connect-to-linux-instances-running-in-a-private-amazon-vpc/)。 2. 通过运行以下命令连接到堡垒主机: `ssh -A ec2-user@` 3. 然后,您可以使用专用 IP 地址从堡垒主机连接到 VPC 中的其他主机,例如: `ssh -A ec2-user@10.0.1.93` [跳转到主要内容](#main-content) # 第 4 部分 - 安装并配置 Tableau Server **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 本主题描述如何完成安装和配置基准 Tableau Server 部署。此处的过程继续使用 AWS 和 Linux 参考架构示例。 整个安装过程中的 Linux 示例显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 ## 开始之前 您必须按照[第 3 部分 - 准备 Tableau Server 企业部署](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm)中所述准备和验证环境。 ## 安装、配置 PostgreSQL 和创建 PostgreSQL 的 tar 备份 此 PostgreSQL 实例托管 Tableau Server 部署的外部存储库。在安装 Tableau 之前,您必须安装和配置 PostgreSQL。 您可以在 Amazon RDS 或 EC2 实例上运行 PostgreSQL。有关在 RDS 上运行存储库与在 EC2 实例上运行存储库之间的差异的详细信息,请参见_“Tableau Server 外部存储库”_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_repo.htm))。 例如,以下过程显示了如何在 Amazon EC2 实例上安装和配置 Postgres。此处显示的示例是参考架构中 PostgreSQL 的通用安装和配置。您的 DBA 应该根据您的数据规模和性能需求优化您的 PostgreSQL 部署。 要求:请注意,您必须运行 PostgreSQL 1.6,并且必须安装 uuid-ossp 模块。 ### PostgreSQL 版本控制 您必须为 Tableau Server 外部存储库安装兼容的 PostgreSQL 主要版本。此外,次要版本也必须满足最低要求。
Tableau Server 版本PostgreSQL 最低兼容版本

2022.3.0 - 2022.3.7

2023.1.0 - 2023.1.4

13.7
2022.1.17 - 2022.1.19

2022.3.8 - 2022.3.19

2023.1.5 - 2023.1.15

2023.3.0 - 2023.3.8

13.11
2022.3.20 - 2022.3.x

2023.1.16 - 2023.1.x

2023.3.9 - 2023.3.x

13.14
2024.0 - 2024.2.815.6
2024.2.9 - 2024.2.13

2025.1.0 - 2025.1.6

15.10
2024.2.14 - 2024.2.16

2025.1.7 - 2025.1.9

15.13

2024.2.17

2025.1.10

2025.3 - 2025.3.5

15.14
2025.3.615.16

2026.2.x

17.7
### 安装 PostgreSQL 此示例安装过程描述了如何安装 PostgreSQL 版本 13.6。 登录到您在上一部分中创建的 EC2 主机。 1. 运行更新以将最新修复应用到 Linux 操作系统: `sudo yum update` 2. 在 `/etc/yum.repos.d/` 路径中创建和编辑 pgdg.repo 文件。使用以下配置信息填充文件: \[pgdg13\] name=PostgreSQL 13 for RHEL/CentOS 7 - x86\_64 baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86\_64 enabled=1 gpgcheck=0 3. 安装 Posgres 13.6: sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86\_64 4. 安装 uuid-ossp 模块: sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86\_64 5. 初始化 Postgres: sudo /usr/pgsql-13/bin/postgresql-13-setup initdb ### 配置 Postgres 通过配置 Postgres 完成基本安装: 1. 使用以下两个条目更新 pg\_hba 配置文件 `/var/lib/pgsql/13/data/pg_hba.conf`。每个条目都必须包含将在其中运行 Tableau Server 的子网掩码:  `host all all 10.0.30.0/24 password` `host all all 10.0.31.0/24 password` 2. 通过以下这一行来更新 PostgreSQL 文件 `/var/lib/pgsql/13/data/postgresql.conf`: `listen_addresses = '*'` 3. 配置在重启时启动 Postgres: sudo systemctl enable --now postgresql-13 4. 设置超级用户密码: sudo su - postgres psql -c "alter user postgres with password 'StrongPassword'" **注意**:设置一个强密码。不要使用 `'StrongPassword`’,如此处的示例所示。 exit 5. 重新启动 Postgres: sudo systemctl restart postgresql-13 ## 进行 PostgreSQL 步骤 1 tar 备份 创建 PostgreSQL 配置的 tar 备份。如果您在继续部署时遇到故障,创建当前配置的 tar 快照将节省您的时间。 我们将此称为“步骤 1”备份。 在 PostgreSQL 主机上: 1. 停止 Postgres 数据库实例: sudo systemctl stop postgresql-13 2. 运行以下命令以创建 tar 备份: sudo su cd /var/lib/pgsql tar -cvf step1.13.bkp.tar 13 exit 3. 启动 Postgres 数据库: sudo systemctl start postgresql-13 还原步骤 1 如果 Tableau Server 初始节点在安装过程中出现故障,则还原到“步骤 1”。 1. 在运行 Tableau 的计算机上,运行 obliterate 脚本以从主机中完全移除 Tableau Server: sudo /app/tableau\_server/packages/scripts././tableau-server-obliterate -a -y -y -y -l 2. 还原 PostgreSQL 第 1 阶段的 tar。在运行 Postgres 的计算机上,运行以下命令: sudo su systemctl stop postgresql-13 cd /var/lib/pgsql tar -xvf step1.13.bkp.tar systemctl start postgresql-13 exit 继续安装 Tableau Server 的初始节点的安装过程。 ## 安装之前 如果您根据本指南中描述的示例 AWS/Linux 实施部署 Tableau,那么您可能能够运行自动安装脚本 TabDeploy4EDG。TabDeploy4EDG 会自动执行以下过程中描述的四节点 Tableau 部署的示例安装。请参见[附录 - AWS 部署工具箱](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part_app-aws.htm)。 ## 安装 Tableau Server 的初始节点 此过程描述了如何按照参考架构的定义安装 Tableau Server 的初始节点。除了包安装和 TSM 的初始化之外,这里的过程尽可能使用 TSM 命令行。除了与平台无关之外,使用 TSM CLI 还可以更无缝地安装到虚拟化和无头环境中。 ### 运行安装包并初始化 TSM 登录到节点 1 主机服务器。 1. 运行更新以将最新修复应用到 Linux 操作系统: sudo yum update 2. 将安装包从 [Tableau 下载页面](https://www.tableau.com/zh-cn/support/releases/server)复制到将运行 Tableau Server 的主机计算机。 例如,在运行类似 Linux RHEL 的操作系统的计算机上,运行: wget https://downloads.tableau.com/esdalt/2022/tableau-server-.rpm 其中 `` 是版本号。 3. 下载并安装依赖项: sudo yum deplist tableau-server-.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install 4. 在根目录中创建 `/app/tableau_server` 路径: sudo mkdir -p /app/tableau\_server 5. 运行安装程序并指定 `/app/tableau_server` 安装路径。例如,在类似 Linux RHEL 的操作系统上,运行: sudo rpm -i --prefix /app/tableau\_server tableau-server-.x86\_64.rpm 6. 切换到 `/app/tableau_server/packages/scripts./` 目录,并运行位于该处的 `initialize-tsm` 脚本: sudo ./initialize-tsm -d /data/tableau\_data --accepteula 7. 初始化完成后,退出 shell: exit ### 激活并注册 Tableau Server 1. 登录到节点 1 主机服务器。 2. 在此步骤中提供 Tableau Server 产品密钥。对您购买的每个许可证密钥运行以下命令: tsm licenses activate -k 3. 使用如下所示的格式创建一个 json 注册文件: { "zip" : "97403", "country" : "USA", "city" : "Springfield", "last\_name" : "Simpson", "industry" : "Energy", "eula" : "yes", "title" : "Safety Inspection Engineer", "company\_employees" : "100", "phone" : "5558675309", "company" : "Example", "state" : "OR", "opt\_in" : "true", "department" : "Engineering", "first\_name" : "Homer", "email" : "homer@example.com" } 4. 保存对文件进行的更改之后,使用 `--file` 选项传递该文件以注册 Tableau Server: tsm register --file path\_to\_registration\_file.json ### 配置身份存储 **注意**:如果您的部署将使用 Tableau 文件存储的外部存储,您需要在配置身份存储之前启用外部文件存储。请参见“_使用外部文件存储安装 Tableau Server_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_external_filestore_storage_new_install.htm))”。 默认参考架构使用本地身份存储。通过使用 `tsm settings import` 命令传递 `config.json` 文件,配置包含本地身份存储的初始主机。 根据您的操作系统导入 `config.json` 文件: `config.json`文件包含在 scripts.<版本> 目录路径(例如,`scripts.20204.21.0217.1203`)中,并经过格式设置以配置身份存储。 运行以下命令以导入 `config.json` 文件: tsm settings import -f /app/tableau\_server/packages/scripts./config.json ### 配置外部 Postgres 1. 创建具有以下配置设置的外部数据库 json 文件: { "flavor":"generic", "masterUsername":"postgres", "host":"", "port":5432 } 2. 保存对文件所做的更改后,使用以下命令传递文件: tsm topology external-services repository enable -f .json --no-ssl 将会提示您输入 Postgres 主用户名密码。 选项 `--no-ssl`将 Tableau 配置为仅在针对 SSL/TLS 配置了 Postgres 服务器时使用 SSL/TLS。如果没有为 SSL/TLS 配置 Postgres,则连接不会加密。[第 6 部分 - 安装后配置](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part6.htm)描述了在完成第一阶段部署后,如何为 Postgres 连接启用 SSL/TLS。 3. 应用更改。 运行此命令以应用更改并重新启动 Tableau Server: tsm pending-changes apply 4. 删除您在步骤 1 中使用的配置文件。 ### 完成节点 1 安装 1. 安装 Tableau Server 后,您必须初始化服务器。 运行以下命令: tsm initialize --start-server --request-timeout 1800 2. 初始化完成后,您必须创建 Tableau Server 管理员帐户。 与用于安装和管理 TSM 操作系统组件的计算机帐户不同,Tableau Server 管理员帐户是用于创建 Tableau Server 用户、项目和站点的应用程序帐户。Tableau Server 管理员还将权限应用于 Tableau 资源。运行以下命令以创建初始管理员帐户。在下面的例子中,用户名为 `tableau-admin`: tabcmd initialuser --server http://localhost --username "tableau-admin" Tabcmd 将提示您为此用户设置密码。 ### 验证:节点 1 配置 1. 运行以下命令以验证 TSM 服务是否正在运行: tsm status -v Tableau 应返回以下内容: external: Status: RUNNING 'Tableau Server Repository 0' is running (Active Repository). node1: localhost Status: RUNNING 'Tableau Server Gateway 0' is running. 'Tableau Server Application Server 0' is running. 'Tableau Server Interactive Microservice Container 0' is running. 'MessageBus Microservice 0' is running. 'Relationship Query Microservice 0' is running. 'Tableau Server VizQL Server 0' is running. ... 将列出所有服务。 2. 运行以下命令以验证 Tableau 管理站点是否正在运行: curl localhost 前几行应该显示 Vizportal html,类似于此: /./start-administrative-services 8. 在节点 1 上,运行 `tsm status` 命令在重新启动之前监视 TSM 状态。 在某些情况下,您会收到错误 `Cannot connect to server...`。出现此错误是因为 tabadmincontroller 服务尚未重新启动。继续定期运行 `tsm status`。如果此错误在 10 分钟后仍未消失,请再次运行 `start-administrative-services` 命令。 刻之后,`tsm status` 命令将返回 DEGRADED 状态,然后返回 ERROR 状态。在返回 STOPPED 状态之前不要启动 TSM。然后运行以下命令: tsm start 在其余节点上恢复安装 Tableau Server 的安装过程 ## 在其余节点上安装 Tableau Server 若要继续部署,请将 Tableau 安装程序复制到每个节点。 节点配置概述 本部分介绍配置节点 2-4 的过程。以下各部分提供了每个步骤的详细配置和验证过程。 Tableau Server 节点 2-4 的安装要求您在节点安装期间生成、复制和引用引导程序文件。 若要生成引导程序文件,您将在初始节点上运行 TSM 命令。然后,您会将引导程序文件复制到目标节点,并在其中运行它作为节点初始化的一部分。 以下 json 内容显示引导程序文件的示例。(证书和与密码相关值已被截断,以使示例文件更易于阅读。) { "initialBootstrapSettings" : { "certificate" : "-----BEGIN CERTIFICATE-----\\r\\...=\\r\\n-----END CERTIFICATE-----", "port" : 8850, "configurationName" : "tabsvc", "clusterId" : "tabsvc-clusterid", "cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==", "toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L", "sessionCookieMaxAge" : 7200, "nodeId" : "node1", "machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal", "cryptoEnabled" : true, "sessionCookieUser" : "tsm-bootstrap-user", "sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...", "sessionCookieName" : "AUTH\_COOKIE" } } 引导程序文件包括基于连接的验证,以对节点 1 进行身份验证,并为引导程序进程创建加密的通道。引导程序会话是有时间限制的,并且配置和验证节点非常耗时。配置节点时,请计划创建和复制新的引导程序。 运行引导程序文件后,登录到初始 Tableau Server 节点并为新节点配置进程。完成节点配置后,必须应用更改并重新启动初始节点。新节点已配置并启动。添加节点时,部署的配置和重新启动将连续花费更长的时间才能完成。 整个安装过程中的 Linux 示例显示了类似 RHEL 的发行版的命令。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 1. 运行更新以将最新修复应用到 Linux 操作系统: sudo yum update 2. 下载并安装依赖项: sudo yum deplist tableau-server-.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install 3. 在根目录中创建 `/app/tableau_server` 路径: sudo mkdir -p /app/tableau\_server 4. 运行安装程序并指定 `/app/tableau_server` 安装路径。例如,在类似 Linux RHEL 的操作系统上,运行: sudo rpm -i --prefix /app/tableau\_server tableau-server-.x86\_64.rpm ## 生成、复制并使用引导程序文件以初始化 TSM 以下程序显示了如何在另一个节点上初始化 TSM 时生成、复制和使用引导程序文件。在此示例中,引导程序文件名为 `boot.json`。 在此示例中,主机计算机在 AWS 中运行,其中 EC2 主机运行 Amazon Linux 2。 1. 连接到初始节点(节点 1),并运行以下命令: tsm topology nodes get-bootstrap-file --file boot.json 2. 将引导程序文件复制到节点 2。 scp boot.json ec2-user@10.0.31.83:/home/ec2-user/ 3. 连接到节点 2 并切换到 Tableau Server 脚本目录: cd /app/tableau\_server/packages/scripts. 4. 运行 `initialize-tsm` 命令并引用引导程序文件: sudo ./initialize-tsm -d /data/tableau\_data -b /home/ec2-user/boot.json --accepteula 5. `initialize-tsm` 完成后,删除 `boot.json`,然后退出或注销会话。 ## 配置进程 您必须在运行 Tableau Server 管理控制器(TSM 控制器)的节点上配置 Tableau Server 群集。TSM 控制器在初始节点上运行。 ![进程状态窗口,显示 Tableau Server 中运行的进程的实时状态。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-process-config.png) ### 配置节点 2 1. 在节点 2 上使用引导程序文件初始化 TSM 后,登录到初始节点。 2. 在初始节点 (`node1`) 上,运行以下命令以在节点 2 上配置进程: tsm topology set-process -n node2 -pr clustercontroller -c 1 tsm topology set-process -n node2 -pr gateway -c 1 tsm topology set-process -n node2 -pr vizportal -c 1 tsm topology set-process -n node2 -pr vizqlserver -c 2 tsm topology set-process -n node2 -pr cacheserver -c 2 tsm topology set-process -n node2 -pr searchserver -c 1 tsm topology set-process -n node2 -pr dataserver -c 2 tsm topology set-process -n node2 -pr clientfileservice -c 1 tsm topology set-process -n node2 -pr tdsservice -c 1 tsm topology set-process -n node2 -pr collections -c 1 tsm topology set-process -n node2 -pr contentexploration -c 1 如果您安装 2022.1 或更高版本,请同时添加索引和搜索服务: tsm topology set-process -n node2 -pr indexandsearchserver -c 1 如果您安装版本 2023.3 或更高版本,请仅包括索引和搜索服务。不要添加搜索和浏览 (searchserver) 服务 3. 在应用之前查看配置。运行以下命令: tsm pending-changes list 4. 在您确认您的更改在待处理列表中后(待处理列表中还有其他服务),应用更改: tsm pending-changes apply 更改将需要重新启动。配置和重新启动将花费一些时间。 5. 验证节点 2 配置。运行以下命令: tsm status -v ### 配置节点 3 在节点 3 上使用引导程序进程初始 TSM,然后运行下面的 `tsm topology set-process` 命令。 每当您设置进程时,都会显示一个协调服务警告。您可以在设置过程时忽略此警告。 1. 在节点 3 上使用引导引导程序文件初始 TSM 后,登录到初始节点 (`node1`),并运行以下命令来配置进程: tsm topology set-process -n node3 -pr clustercontroller -c 1 tsm topology set-process -n node3 -pr clientfileservice -c 1 tsm topology set-process -n node3 -pr backgrounder -c 4 tsm topology set-process -n node3 -pr filestore -c 1 如果您安装 2022.1 或更高版本,请同时添加索引和搜索服务: tsm topology set-process -n node3 -pr indexandsearchserver -c 1 2. 在应用之前查看配置。运行以下命令: tsm pending-changes list 3. 在您确认您的更改在待处理列表中后(该列表将包括其他自动配置的服务),应用更改: tsm pending-changes apply --ignore-warnings 更改将需要重新启动。配置和重新启动将花费一些时间。 4. 通过运行以下命令来验证配置: tsm status -v ## 将协调服务整体部署到节点 1-3 对于标准参考架构四节点部署,请运行以下过程: 1. 在节点 1 上运行以下命令: tsm stop tsm topology deploy-coordination-service -n node1,node2,node3 该过程包括重新启动 TSM,这将需要一些时间。 2. 协调服务部署完成后,启动 TSM: tsm start ## 执行步骤 3 tar 备份 验证安装后,进行四个 tar 备份: - PostgreSQL - Tableau 初始节点(节点 1) - Tableau 节点 2 - Tableau 节点 3 创建步骤 3 tar 文件 1. 在 Tableau 的初始节点上,停止 Tableau: tsm stop 2. TSM 停止后,在每个节点上停止 Tableau 管理服务。在每个节点上依次运行以下命令(节点 1、节点 2,然后是节点 3): sudo /app/tableau\_server/packages/scripts././stop-administrative-services 3. 在 PostgreSQL 主机上,停止 Postgres 数据库实例: sudo systemctl stop postgresql-12 4. 运行以下命令以创建 tar 备份: sudo su cd /var/lib/pgsql tar -cvf step3.12.bkp.tar 12 exit 5. 验证 Postgres tar 文件是否是使用 root 权限创建的: sudo ls -al /var/lib/pgsql 6. 在 Postgres 主机上,启动 Postgres 数据库: sudo systemctl start postgresql-12 7. 在节点 1、节点 2 和节点 3 上创建 tar 备份。在每个节点上运行以下命令: - cd /data sudo tar -cvf step3.tableau\_data.bkp.tar tableau\_data - 验证 Tableau tar 文件是否是使用 root 权限创建的: ls -al 8. 按顺序在每个节点上启动 Tableau 管理服务(节点 1、节点 2,然后是节点 3): sudo /app/tableau\_server/packages/scripts././start-administrative-services 9. 运行 `tsm status` 命令在重新启动之前监视 TSM 状态。 在大多数情况下,该命令将返回 DEGRADED 状态,然后返回 ERROR 状态。稍等片刻,然后再次运行该命令。如果返回 ERROR 或 DEGRADED 状态,请继续等待。在返回 STOPPED 状态之前不要尝试启动 TSM。然后运行以下命令: tsm start 还原步骤 3 此过程将还原 Tableau 节点 1、节点 2 和节点 3。它还会将 Postgres 实例还原到步骤 3。还原到此步骤后,您可以随后部署协调服务、节点 4,然后部署最终节点配置。 1. 在初始 Tableau 主机(节点 1)上停止 tsm 服务: tsm stop 2. TSM 停止后,停止节点 1、节点 2 和节点 3 上的 Tableau 管理服务。在每个节点上运行以下命令: sudo /app/tableau\_server/packages/scripts././stop-administrative-services 3. 还原 PostgreSQL 步骤 3 tar。在运行 Postgres 的计算机上,运行以下命令: sudo su systemctl stop postgresql-12 cd /var/lib/pgsql tar -xvf step3.12.bkp.tar systemctl start postgresql-12 exit 4. 在节点 1、节点 2 和节点 3 上还原 Tableau 步骤 3 tar。在每个 Tableau 节点上运行以下命令: cd /data sudo rm -rf tableau\_data sudo tar -xvf step3.tableau\_data.bkp.tar 5. 在 Tableau 节点 1 计算机上,移除以下文件: - sudo rm /data/tableau\_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch - sudo rm /data/tableau\_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch - sudo rm /data/tableau\_data/data/tabsvc/tabadminagent/0/servicestate.json 如果 shell 返回“找不到文件”错误,您可能需要更改路径名以增加路径此部分中的数字 ``:`.../appzookeeper//version-2/...`。 6. 重新启动节点 1、节点 2 和节点 3 上的管理服务。在每个节点上运行以下命令: sudo /app/tableau\_server/packages/scripts././start-administrative-services sudo su -l tableau -c "systemctl --user daemon-reload" sudo /app/tableau\_server/packages/scripts././start-administrative-services 7. 在节点 1 上,运行 `tsm status` 命令在重新启动之前监视 TSM 状态。 在某些情况下,您会收到错误 `Cannot connect to server...`。出现此错误是因为 tabadmincontroller 服务尚未重新启动。继续定期运行 `tsm status`。如果此错误在 10 分钟后仍未消失,请再次运行 `start-administrative-services` 命令。 刻之后,`tsm status` 命令将返回 DEGRADED 状态,然后返回 ERROR 状态。返回 STOPPED 状态之前不要启动 TSM。然后运行以下命令: `tsm start` 在节点 1-3 恢复部署协调服务的安装过程 ## 配置节点 4 节点 4 的配置过程与节点 3 相同。 设置与为节点 3 设置的进程相同的进程,运行与上图所示相同的命令集,但在命令中指定 `node4`,而不是 `node3`。 与节点 3 验证一样,通过运行 `tsm status -v` 来验证节点 4 配置。 在继续之前,请等待节点 4 上的文件存储进程完成同步。在完成之前,文件存储服务状态将返回 `is synchronizing`。当文件存储服务状态返回 `is running` 时,您可以继续。 ## 最终进程配置和验证 进程配置的最后一步是从节点 1 移除冗余进程。 1. 连接到初始节点 (`node1`)。 2. 停用节点 1 上的文件存储。这将导致有关从并置控制器中移除文件存储的警告。您可以忽略该警告。运行以下命令: tsm topology filestore decommission -n node1 3. 停用文件存储后,运行以下命令从节点 1 中移除后台程序进程: tsm topology set-process -n node1 -pr backgrounder -c 0 4. 在应用之前查看配置。运行以下命令: tsm pending-changes list 5. 确认您的更改在待处理列表中之后,应用更改: tsm pending-changes apply 更改将需要重新启动。配置和重新启动将花费一些时间。 6. 验证配置: `tsm status -v`。 在继续之前,请等待节点 4 上的文件存储进程完成同步。在完成之前,文件存储服务状态将返回 `is synchronizing`。当文件存储服务状态返回 `is running` 时,您可以继续。 ## 执行备份 Tableau Server 的完整恢复需要包括三个组件的备份组合: - 存储库和文件存储数据的备份文件。这个文件由 `tsm maintenance backup` 命令生成。 - 拓扑和配置导出文件。这个文件由 `tsm settings export` 命令生成。 - 身份验证证书、密钥和密钥表文件。 有关备份和还原过程的完整描述,请参见 Tableau Server 主题_执行 Tableau Server 的完整备份和还原_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/backup_restore.htm))。 在部署的这个阶段,完全还原所需的所有相关文件和资产都是通过运行 `tsm maintenance backup` 和 `tsm settings export` 命令包括的。 1. 运行以下命令将配置和拓扑设置导出到名为 `ts_settings_backup.json` 的文件 tsm settings export -f ts\_settings\_backup.json 2. 运行以下命令在名为 `ts_backup-.tsbak` 的文件中创建存储库和文件存储数据的备份。忽略有关文件存储不在控制器节点上的警告。 tsm maintenance backup -f ts\_backup -d --skip-compression 备份文件的位置: `/data/tableau_data/data/tabsvc/files/backups/` 3. 复制这两个文件并将它们保存在您的 Tableau Server 部署未共享的其他存储资产上。 [跳转到主要内容](#main-content) # 第 5 部分 - 配置 Web 层 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 参考架构的 Web 层应包括以下组件: - 面向 Web 的应用程序负载平衡器,它接受来自 Tableau 客户端的 HTTPS 请求并与反向代理服务器进行通信。 - 反向代理:  - 我们建议部署 Tableau Server 独立网关。 - 我们建议至少使用两个代理服务器以实现冗余和处理客户端负载。 - 从负载平衡器接收 HTTPS 流量。 - 支持 Tableau 主机的粘性会话。 - 为运行网关进程的每个 Tableau Server 配置循环负载平衡代理。 - 处理来自外部 IdP 的身份验证请求。 - 转发代理:Tableau Server 需要访问 Internet 以获得许可和地图功能。您必须为 Tableau 服务 URL 配置转发代理安全列表。请参见_“与 Internet 通信_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/plan_network.htm))”。 - 所有与客户端相关的流量都可以通过 HTTPS 加密: - 客户端到应用程序负载平衡器 - 应用程序负载平衡器到反向代理服务器 - 代理服务器到 Tableau Server - 反向代理上运行的身份验证处理程序到 IdP - Tableau Server 到 IdP ### Tableau Server 独立网关 Tableau Server 版本 2022.1 引入了 Tableau Server 独立网关。独立网关是 Tableau 网关进程的独立实例,用作 Tableau 感知反向代理。 独立网关支持对后端 Tableau Server 的简单循环负载平衡。然而,独立网关并不打算作为企业应用负载平衡器。我们建议在企业级应用程序负载平衡器后运行独立网关。 独立网关需要 Advanced Management 许可证。 ## 身份验证和授权 默认参考架构指定安装 Tableau Server 并配置本地身份验证。在此模型中,客户端必须连接到 Tableau Server 才能通过本机 Tableau Server 本地身份验证过程进行身份验证。我们不建议在参考架构中使用此身份验证方法,因为该场景要求未经身份验证的客户端与应用程序层通信,这存在安全风险。 相反,我们建议配置一个企业级外部身份提供程序和一个 AuthN 模块对所有进入应用程序层的流量进行预身份验证。使用外部 IdP 配置时,不使用本机 Tableau Server 本地身份验证过程。在 IdP 对用户进行身份验证后,Tableau Server 会授权访问部署中的资源。 ### 使用 AuthN 模块进行预身份验证 在本指南中记录的示例中,配置了 SAML SSO,但可以使用大多数外部身份提供程序和 AuthN 模块配置预身份验证过程。 在参考架构中,反向代理配置为在将这些请求通过代理传送到 Tableau Server 之前创建与 IdP 的客户端身份验证会话。我们将此过程称为_预身份验证_阶段。反向代理只会将经过身份验证的客户端会话重定向到 Tableau Server。然后,Tableau Server 将创建一个会话,使用 IdP 验证会话的身份验证,然后返回客户端请求。 下图显示了配置了 AuthN 模块的预身份验证和身份验证过程的分步详细信息。反向代理可能是通用的第三方解决方案或 Tableau Server 独立网关: ![上图所示的步骤。步骤 1:Tableau 客户端请求 Tableau Server 上的资源。步骤 2:反向代理创建一个身份验证请求,并将 URL 重定向到身份提供程序。步骤 3:身份提供程序向用户发送登录表单。步骤 4:系统提示用户输入凭据。步骤 5:身份提供程序验证用户提交的凭据。步骤 6:身份提供程序使用发布到反向代理服务提供程序的嵌入式 SAML 断言响应客户端。步骤 7:代理上的服务提供程序验证断言,创建会话,然后重定向到 Tableau Server 上的服务提供程序。步骤 8:Tableau Server 上的服务提供程序创建发送给身份提供程序的身份验证请求。步骤 9:身份提供程序验证当前会话。步骤 10:Tableau Server 上的服务提供程序验证并创建自己的会话,并将响应发送给用户。步骤 11:用户连接到 Tableau Server 以获取对指定资源的授权。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/pixel-transparent.png) ## 配置概览 这是配置 Web 层的过程的概述。在每个步骤之后验证连接: 1. 配置两个反向代理以提供对 Tableau Server 的 HTTP 访问。 2. 在代理服务器上使用粘性会话配置负载平衡逻辑,以连接到运行网关进程的每个 Tableau Server 实例。 3. 在 Internet 网关处使用粘性会话配置应用程序负载平衡,以将请求转发到反向代理服务器。 4. 使用外部 IdP 配置身份验证。您可以通过在反向代理服务器上安装身份验证处理程序来配置 SSO 或 SAML。AuthN 模块管理外部 IdP 和您的 Tableau 部署之间的身份验证握手。Tableau 还将充当 IdP 服务提供商并使用 IdP 对用户进行身份验证。 5. 若要在此部署中使用 Tableau Desktop 进行身份验证,您的客户端必须运行 Tableau Desktop 2021.2.1 或更高版本。 ## 使用 Tableau Server 独立网关的示例 Web 层配置 本主题的其余部分提供了一个端到端过程,该过程描述了如何使用 Tableau Server 独立网关在示例 AWS 参考架构中实现 Web 层:有关使用 Apache 作为反向代理的示例配置,请参见[附录 - 具有 Apache 示例部署的 Web 层](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part_app-apache.htm)。 示例配置由以下组件组成: - AWS 应用程序负载平衡器 - Tableau Server 独立网关 - Mellon 身份验证模块 - Okta IdP - SAML 身份验证 **注意**:本部分中提供的示例 Web 层配置包括部署第三方软件和服务的详细过程。我们已尽最大努力验证和记录启用 Web 层方案的过程。但是,第三方软件可能会发生变化,或者您的方案可能与此处描述的参考架构不同。请参考第三方文档以获得权威的配置详细信息和支持。 此部分中的 Linux 示例显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 在此示例中部署 Web 层遵循逐步配置和验证过程。核心 Web 层配置包含以下用于在 Tableau 和 Internet 之间启用 HTTP 的步骤。独立网关运行并配置为在 AWS 应用程序负载平衡器后面进行反向代理/负载平衡: 1. 准备环境 2. 安装独立网关 3. 配置独立网关服务器 4. 配置 AWS 应用程序负载平衡器 设置 Web 层并验证与 Tableau 的连接后,使用外部提供程序配置身份验证。 ### 准备环境 在部署独立网关之前完成以下任务。 1. AWS 安全组更改。将公共安全组配置为允许来自专用安全组的入站独立网关整理流量 (TCP 21319)。 2. 如[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm)中所述,在四节点 Tableau Server 群集上安装版本 22.1.1(或更高版本)。 3. 如[配置主机计算机](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm#Install)中所述,在 Public 安全组中配置两个代理 EC2 实例。 ### 安装独立网关 Tableau Server 独立网关需要 Advanced Management 许可证。 部署 Tableau Server 独立网关包括安装和运行 .rpm 包,然后配置初始状态。本指南中包含的过程为部署到参考架构中提供了说明性指导。 如果您的部署与参考架构不同,请参见核心 Tableau Server 文档“_安装带有独立网关_的 Tableau Server ([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_tsig_new_install.htm))”。 **重要信息**:配置独立网关可能是一个容易出错的过程。跨独立网关服务器的两个实例对配置问题进行故障排除非常困难。因此,我们建议一次配置一个独立网关服务器。配置第一台服务器并验证功能后,您应该配置第二台独立网关服务器。 尽管您将分别配置每个独立网关服务器,但在您安装到公共安全组中的两个 EC2 实例上运行此安装过程:  1. 运行更新以将最新修复应用到 Linux 操作系统: sudo yum update 2. 如果安装了 Apache,请将其移除: sudo yum remove httpd 3. 将版本 2022.1.1(或更高版本)的独立网关安装包从 [Tableau 下载页面](https://www.tableau.com/zh-cn/support/releases/server)复制到将运行 Tableau Server 的主机计算机。 例如,在运行类似 Linux RHEL 的操作系统的计算机上,运行: wget https://downloads.tableau.com/esdalt/2022/tableau-server-tsig-.x86\_64.rpm 4. 运行安装程序。例如,在类似 Linux RHEL 的操作系统上,运行: sudo yum install .x86\_64.rpm 5. 切换到 `/opt/tableau/tableau_tsig/packages/scripts./` 目录,并运行位于该处的 `initialize-tsig` 脚本:除了 `--accepteula` 标志外,您还必须包括运行 Tableau Server 部署的子网的 IP 范围。使用 `-c` 选项指定 IP 范围。下面的示例显示了指定了示例 AWS 子网的命令: sudo ./initialize-tsig --accepteula -c "ip 10.0.30.0/24 10.0.31.0/24" 6. 初始化完成后,打开 `tsighk-auth.conf` 文件并复制文件中的身份验证密文。作为后端 Tableau Server 配置的一部分,您需要为每个独立网关实例提交此代码: sudo less /var/opt/tableau/tableau\_tsig/config/tsighk-auth.conf 7. 在独立网关的两个实例上运行上述步骤后,准备 `tsig.json` 配置文件。配置文件由一个“independentGateways”数组组成。该数组包含配置对象,每个对象定义独立网关实例的连接详细信息。 复制以下 JSON 并根据您的部署环境对其进行自定义。此处的示例显示了示例 AWS 参考架构的文件。 下面的示例 JSON 文件仅包含一个独立网关的连接信息。在此过程的稍后部分,您将包括第二个独立网关服务器的连接信息。 为接下来的程序将文件另存为 `tsig.json`。 { "independentGateways": \[ { "id": "ip-10-0-1-169.ec2.internal", "host": "ip-10-0-1-169.ec2.internal", "port": "21319", "protocol" : "http", "authsecret": "13660-27118-29070-25482-9518-22453" }\] } - `"id"` - 运行独立网关的 AWS EC2 实例的私有 DNS 名称。 - `"host"` - 与 `"id"` 相同。 - `"port"`\- 整理端口,默认情况下为 `"21319"`。 - `"protocol"` - 客户端流量协议。为初始配置将此项保留为 `http`。 - `"authsecret"` - 您在上一步中复制的密文。 ### 独立网关:直接连接与中继连接 在继续之前,您必须决定在部署中配置哪种连接方案:直接连接或中继连接。此处简要描述了每个选项以及相关的决策数据点。 **中继连接**:您可以将独立网关配置为通过单个端口将客户端通信中继到 Tableau Server 上的网关进程。我们将此称为_中继_连接: - 中继进程导致从独立网关到后端 Tableau Server 网关进程的额外跃点。与直接连接配置相比,额外的跃点会降低性能。 - 中继模式支持 TLS。中继模式下的所有通信都仅限于单一协议(HTTP 或 HTTPS),因此可以使用 TLS 进行加密和身份验证。 **直接连接**:独立网关可以通过多个端口直接与后端 Tableau Server 进程通信。我们将这种通信称为_直接_连接: - 由于直接连接到后端 Tableau Server,因此与中继连接选项相比,客户端性能显着提高。 - 需要打开 16 个以上从公共子网到私有子网的端口,以便直接处理从独立网关到 Tableau Server 计算机的通信。 - 从独立网关到 Tableau Server 的进程尚不支持 TLS。 若要在 Tableau Server 和独立网关之间运行 TLS,您必须配置中继连接。EDG 中的示例场景配置有中继连接。 1. 将 `tsig.json` 复制到 Tableau Server 部署的节点 1。 2. 在节点 1 上运行以下命令以启用独立网关。 tsm stop tsm configuration set -k gateway.tsig.proxy\_tls\_optional -v none tsm pending-changes apply tsm topology external-services gateway enable -c tsig.json tsm start 由于直接连接不支持 TLS,我们建议只有当您能够通过其他方式保护所有网络流量时,才配置直接连接。若要在 Tableau Server 和独立网关之间运行 TLS,您必须配置中继连接。EDG 中的示例场景配置有中继连接。 如果您将独立网关配置为直接连接到 Tableau Server,则必须启用配置以触发通信。Tableau Server 与独立网关通信后,将建立协议目标。然后,您必须从独立网关计算机检索 `proxy_targets.csv`,并打开 AWS 中从 Public 安全组到 Private 安全组的相应端口。 1. 将 `tsig.json` 复制到 Tableau Server 部署的节点 1。 2. 在节点 1 上运行以下命令以启用独立网关。 tsm stop tsm topology external-services gateway enable -c tsig.json tsm start 3. 在独立网关计算机上运行以下命令以查看 Tableau Server 群集正在使用的端口: less /var/opt/tableau/tableau\_tsig/config/httpd/proxy\_targets.csv 4. 配置 AWS 安全组。添加 `proxy_targets.csv` 中列出的 TCP 端口,以允许从 Public 安全组到 Private 安全组的通信。 我们建议自动化端口入口配置,因为如果 Tableau Server 部署发生更改,端口可能会更改。在 Tableau Server 部署上添加节点或重新配置进程将触发对独立网关所需的端口访问的更改。 ### 验证:基本拓扑配置 您应该能够通过浏览到 `http://` 来访问 Tableau Server 管理员页面。 如果 Tableau Server 登录页面未加载,或者如果 Tableau Server 未启动,请遵循以下故障诊断步骤: 网络:  - 通过从 Tableau Server 节点 1 运行以下 `wget` 命令,验证 Tableau 部署和独立网关实例之间的连接:wget http://<独立网关的内部 IP 地址>:21319,例如: wget http://ip-10-0-1-38:21319 如果连接被拒绝或失败,请验证公共安全组是否配置为允许来自私有安全组的独立网关整理流量 (TCP 21319)。 如果安全组配置正确,则验证您在独立网关初始化期间指定了正确的 IP 地址或 IP 范围。您可以在位于 `/etc/opt/tableau/tableau_tsig/environment.bash` 的 `environment.bash` 文件中查看和更改此配置。如果您对此文件进行了更改,请按如下所述重新启动 tsig-http 服务。 在代理 1 主机上: 1. 用独立的网关存根文件覆盖 httpd.conf 文件: cp /var/opt/tableau/tableau\_tsig/config/httpd.conf.stub /var/opt/tableau/tableau\_tsig/config/httpd.conf 2. 作为故障排除的第一步,重新启动 tsig-httpd: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit 在 Tableau 节点 1 上 - 仔细检查 `tsig.json` 文件。如果发现错误,请修复它们,然后运行 `tsm topology external-services gateway update -c tsig.json`。 - 如果运行直接连接,请验证 `proxy_targets.csv` 中列出的 TCP 端口配置为从 Public 安全组到 Private 安全组的入口端口。 ### 配置 AWS 应用程序负载平衡器 将负载平衡器配置为 HTTP 侦听器。此处的过程描述了如何在 AWS 中添加负载平衡器。 #### 步骤 1:创建目标组 标组是定义运行代理服务器的 EC2 实例的 AWS 配置。这些是来自 LBS 的流量的目标。 1. “EC2”>“目标组”\>“创建目标组” 2. 在“创建”页面上: - 输入目标组名称,例如 `TG-internal-HTTP` - 目标类型:实例 - 协议:HTTP - 端口:80 - VPC:选择您的 VPC - 在“运行状况检查”\>“高级运行状况检查设置”\>“成功代码”下,将代码列表追加为:`200,303`。 - 单击“创建” 3. 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑”。 - 选择正在运行代理应用程序的 EC2 实例(或单个实例,如果您一次配置一个),然后单击“添加到已注册”。 - 单击“保存”。 #### 步骤 2:启动负载平衡器向导 1. “EC2”>“负载平衡器”\>“创建负载平衡器” 2. 在“选择负载平衡器类型”页面上,创建一个应用程序负载平衡器。 **注意**:为配置负载均衡器而显示的 UI 在 AWS 数据中心之间不一致。下面的过程“向导配置”映射到从**“步骤 1 配置负载均衡器”**开始的 AWS 配置向导。  如果您的数据中心在页面底部包含**“创建负载均衡器”**按钮的单个页面中显示所有配置,请按照下面的“单页面配置”过程进行操作。 1. “配置负载平衡器”页面: - 指定名称 - 方案:面向互联网(默认) - IP 地址类型:ip1v4(默认) - 侦听器(侦听器和路由): 1. 保留默认的 HTTP 侦听器 2. 单击“添加侦听器”并添加 `HTTPS:443` - VPC:选择您已安装所有内容的 VPC - 可用区: - 为您的数据中心区域选择 **a** 和 **b** - 在每个相应的下拉选择器中,选择 Public 子网(您的代理服务器所在的位置)。 - 单击:“配置安全设置” 2. “配置安全设置”页面 - 上载您的公共 SSL 证书。 - 单击“下一步:配置安全组”。 3. “配置安全组”页面: - 选择 Public 安全组。如果选择了“默认”安全组,则清除该选择。 - 单击“下一步:配置路由”。 4. “配置路由”页面 - 目标组:现有目标组。 - 名称:选择您之前创建的目标组 - 单击“下一步:注册目标”。 5. “注册目标”页面 - 应会显示您之前配置的两个代理服务器实例。 - 单击“下一步:审查”。 6. “查看”页面 单击“创建”。 基本配置 - 指定名称 - 方案:面向互联网(默认) - IP 地址类型:ip1v4(默认) 网络映射 - VPC:选择您已安装所有内容的 VPC - 映射: - 为您的数据中心区域选择 **a** 和 **b**(或类似的)可用区 - 在每个相应的下拉选择器中,选择 Public 子网(您的代理服务器所在的位置)。 安全组 - 选择 Public 安全组。如果选择了“默认”安全组,则清除该选择。 侦听器和路由 - 保留默认的 HTTP 侦听器。对于“默认操作”,指定您之前设置的目标组。 - 单击“添加侦听器”并添加 `HTTPS:443`。对于“默认操作”,指定您之前设置的目标组。 安全侦听器设置 - 上载您的公共 SSL 证书。 单击“创建负载平衡器”。 #### 步骤 3:启用粘性 1. 创建负载平衡器后,您必须在目标组上启用粘性。 - 打开 AWS 目标组页面(“EC2”\>“负载平衡”\>“目标组”),选择您刚刚设置的目标组实例。在“操作”菜单上,选择“编辑属性”。 - 在“编辑属性”页面上,选择“粘性” ,指定持续时间 `1 day`,然后保存更改。 2. 在负载平衡器上,在 HTTP 侦听器上启用粘性。选择您刚刚配置的负载平衡器,然后单击“侦听器”选项卡: - 对于“HTTP:80”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。删除现有 THEN 规则,并通过单击“添加操作”\>“转发至...”替换该规则。在生成的 THEN 配置中,指定您创建的相同目标组。在“组级粘性”下,启用粘性并将持续时间设置为 1 天。保存设置,然后单击“更新”。 #### 步骤 4:在负载平衡器上设置空闲超时 在负载平衡器上,将空闲超时更新为 400 秒。 选择您为此部署配置的负载平衡器,然后单击“操作”\>“编辑属性”。将“空闲超时”设置为 `400` 秒,然后单击“保存”。 #### 步骤 5:验证 LBS 连接 打开 AWS 负载平衡器页面(“EC2”\>“负载平衡器”),选择您刚刚设置的负载平衡器实例。 在“描述”下,复制 DNS 名称并将其粘贴到浏览器中以访问 Tableau Server 登录页面。 如果您收到 500 级错误,那么您可能需要重新启动代理服务器。 ### 使用公共 Tableau URL 更新 DNS 使用 AWS 负载平衡器描述中的域 DNS 区域名称在您的 DNS 中创建 CNAME 值。流向您的 URL (tableau.example.com) 的流量应发送到 AWS 公共 DNS 名称。 ### 验证连接 DNS 更新完成后,您应该能够通过输入您的公共 URL(例如 `https://tableau.example.com`)导航到 Tableau Server 登录页面。 ## 示例身份验证配置:带有外部 IdP 的 SAML 以下示例介绍如何使用 Okta IdP 和 Mellon 身份验证模块为在 AWS 参考架构中运行的 Tableau 部署设置和配置 SAML。 此示例取自上一节,并假设您一次配置一个独立网关。 该示例介绍了如何通过 HTTP 配置 Tableau Server 和独立网关。Okta 将通过 HTTPS 向 AWS 负载平衡器发送请求,但所有内部流量都将通过 HTTP 传输。针对此场景进行配置时,请在设置 URL 字符串时注意 HTTP 与 HTTPS 协议。 此示例使用 Mellon 作为独立网关服务器上的预身份验证服务提供程序模块。此配置可确保只有经过身份验证的流量连接到 Tableau Server,Tableau Server 还充当 Okta IdP 的服务提供商。因此,您必须配置两个 IdP 应用程序:一个用于 Mellon 服务提供商,另一个用于 Tableau 服务提供商。 ### 创建 Tableau 管理员帐户 配置 SAML 时的一个常见错误是在启用 SSO 之前忘记在 Tableau Server 上创建管理员帐户。 第一步是在 Tableau Server 上创建一个具有服务器管理员角色的帐户。对于示例 Okta 场景,用户名必须采用有效电子邮件地址格式,例如 user@example.com。您必须为此用户设置密码,但在配置 SAML 后将不再使用该密码。 ### 配置 Okta 预身份验证应用程序 本部分描述的端到端场景需要两个 Okta 应用程序: - Okta 预认证应用程序 - Okta Tableau Server 应用程序 这些应用程序中的每一个都与您需要分别在反向代理和 Tableau Server 上配置的不同元数据相关联。 此过程描述了如何创建和配置 Okta 预身份验证应用程序。在本主题的后面,您将创建 Okta Tableau Server 应用程序。有关用户受限的免费测试 Okta 帐户,请参见 [Okta 开发人员网页](https://developer.okta.com/signup/)。 为 Mellon 预身份验证服务提供商创建 SAML 应用程序集成。 1. 打开 Okta 管理仪表板 >“应用程序”\>“创建应用程序集成”。 2. 在“创建新的应用程序集成”页面上,选择“SAML 2.0”,然后单击“下一步”。 3. 在“常规设置”选项卡上,输入应用程序名称(例如 `Tableau Pre-Auth`),然后单击“下一步”。 4. 在“配置 SAML”选项卡上: - 单点登录 (SSO) URL。单点登录 URL 中路径的最后一个元素在 `mellon.conf` 配置文件称为 `MellonEndpointPath` ,该配置文件将在本过程的后面进行介绍。您可以指定您想要的任何端点。在此示例中,`sso` 是端点。最后一个元素 `postResponse` 是必须的:`https://tableau.example.com/sso/postResponse`。 - 清除复选框:“将此用于收件人 URL 和目标 URL”。 - 收件人 URL:与 SSO URL 相同,但使用 HTTP。例如,`http://tableau.example.com/sso/postResponse`。 - 目标 URL:与 SSO URL 相同,但带有 HTTP。例如,`http://tableau.example.com/sso/postResponse`。 - 受众 URI(SP 实体 ID)。例如,`https://tableau.example.com`。 - 名称 ID 格式:`EmailAddress` - 应用程序用户名:`Email` - 属性声明:名称 = `mail`;名称格式 = `Unspecified`;值 = `user.email`。 单击“下一步”。 5. 在“反馈”选项卡上,选择: - 我是添加内部应用程序的 Okta 客户 - 这是我们创建的内部应用程序 - 单击“完成”。 6. 创建预授权 IdP 元数据文件: - 在 Okta 中:“Applications”(应用程序)\>“Applications”(应用程序)\> 您的新应用程序(例如,`Tableau Pre-Auth`)>“Sign On”(登录) - 在“SAML 签名证书”旁边,单击“查看 SAML 设置说明”。 - 在“如何针对 <预授权> 应用程序配置 SAML 2.0”页面上,向下滚动到“可选”部分,向您的 SP 提供商提供以下 IDP 元数据。 - 复制 XML 字段的内容并将它们保存在一个名为 `pre-auth_idp_metadata.xml` 的文件中。 7. (可选)配置多重身份验证: - 在 Okta 中:“Applications”(应用程序)\>“Applications”(应用程序)\> 您的新应用程序(例如,`Tableau Pre-Auth`)>“Sign On”(登录) - 在“Sign On Policy”(登录策略)下,单击“Add Rule”(添加规则)。 - 在“App Sign On Rule”(应用程序登录规则)上,指定名称和不同的 MFA 选项。若要测试功能,您可以将所有选项保留为默认值。但是,在“Actions”(操作)下,您必须选择“Prompt for factor”(因素提示),然后指定用户必须登录的频率。单击“Save”(保存)。 ### 创建和分配 Okta 用户 1. 在 Okta 中,使用您在 Tableau 中创建的相同用户名 (user@example.com) 创建一个用户:“Directory”(目录)\>“People”(人员)\>“Add person”(添加人员)。 2. 创建用户后,将新的 Okta 应用程序分配给该人员:单击用户名,然后在“Assign Application”(分配应用程序)中分配应用程序。 ### 安装 Mellon 进行预身份验证 此示例使用常用的开源模块 mod\_auth\_mellon。一些 Linux 发行版从较旧的存储库中打包了过时的 mod\_auth\_mellon 版本。这些过时的版本可能包含未知的安全漏洞或功能问题。如果您选择使用 mod\_auth\_mellon,请检查您使用的是当前版本。 mod\_auth\_mellon 模块是第三方软件。我们已尽最大努力验证和记录启用此方案的过程。但是,第三方软件可能会发生变化,或者您的方案可能与此处描述的参考架构不同。请参考第三方文档以获得权威的配置详细信息和支持。 1. 在运行独立网关的活动 EC2 实例上,安装 Mellon 身份验证模块的当前版本。 2. 创建 `/etc/mellon` 目录: sudo mkdir /etc/mellon ### 将 Mellon 配置为预身份验证模块 在独立网关的第一个实例上运行此过程。 您必须有依据 Okta 配置创建的 `pre-auth_idp_metadata.xml` 文件的副本。 1. 更改目录: cd /etc/mellon 2. 创建服务提供程序元数据。运行 `mellon_create_metadata.sh` 脚本。您必须在命令中包含您组织的实体 ID 和返回 URL。 返回 URL 在 Okta 中称为_单点登录 URL_。返回 URL 中路径的最后一个元素在 `mellon.conf` 配置文件中称为 `MellonEndpointPath`,该配置文件将在本过程的后面进行介绍。在此示例中,我们指定 `sso` 作为端点路径。 例如: sudo /usr/libexec/mod\_auth\_mellon/mellon\_create\_metadata.sh https://tableau.example.com "https://tableau.example.com/sso" 该脚本返回服务提供商证书、密钥和元数据文件。 3. 重命名 `mellon` 目录中的服务提供商文件以便于阅读。我们将在文档中使用以下名称来引用这些文件: sudo mv \*.key mellon.key sudo mv \*.cert mellon.cert sudo mv \*.xml sp\_metadata.xml 4. 将 `pre-auth_idp_metadata.xml` 文件复制到同一文件夹。 5. 更改 `/etc/mellon` 目录中所有文件的所有权和权限: sudo chown tableau-tsig mellon.key sudo chown tableau-tsig mellon.cert sudo chown tableau-tsig sp\_metadata.xml sudo chown tableau-tsig pre-auth\_idp\_metadata.xml sudo chmod +r \* mellon.key sudo chmod +r \* mellon.cert sudo chmod +r \* sp\_metadata.xml sudo chmod +r \* pre-auth\_idp\_metadata.xml 6. 创建 `/etc/mellon/conf.d` 目录: sudo mkdir /etc/mellon/conf.d 7. 在 `/etc/mellon/conf.d` 目录中创建 `global.conf` 文件。 复制如下所示的文件内容,但使用您的根域名更新 `MellonCookieDomain`。举例来说,如果 Tableau 的域名是 `tableau.example.com`,请为根域输入 `example.com`。 AuthType Mellon MellonEnable auth Require valid-user MellonCookieDomain MellonSPPrivateKeyFile /etc/mellon/mellon.key MellonSPCertFile /etc/mellon/mellon.cert MellonSPMetadataFile /etc/mellon/sp\_metadata.xml MellonIdPMetadataFile /etc/mellon/pre-auth\_idp\_metadata.xml MellonEndpointPath /sso MellonEnable Off 8. 在 `/etc/mellon/conf.d` 目录中创建 `mellonmod.conf` 文件。 该文件包含一个指令,该指令指定 `mod_auth_mellon.so` 文件的位置。此处示例中的位置是文件的默认位置。验证文件是否在此位置,或更改此指令中的路径以匹配 `mod_auth_mellon.so` 的实际位置: LoadModule auth\_mellon\_module /usr/lib64/httpd/modules/mod\_auth\_mellon.so ### 在 Okta 中创建 Tableau Server 应用程序 1. 在 Okta 仪表板中:“Applications”(应用程序)\>“Applications”(应用程序)\>“Browse App Catalog”(浏览应用程序目录) 2. 在“Browse App Integration Catalog”(浏览应用程序集成目录)中,搜索 `Tableau`,选择“Tableau Server”磁贴,然后单击“Add”(添加)。 3. 在“Add Tableau Server”(添加 Tableau Server) >“General Settings”(常规设置)”上,输入标签,然后单击“Next”(下一步)。 4. 在“Sign-On Options”(登录选项)中,选择“SAML 2.0”,然后向下滚动到“Advanced Sign-on Settings”(高级登录设置): - “SAML Entity ID”(SAML 实体 ID):输入公共 URL,例如 https://tableau.example.com。 - “Application user name format”(应用程序用户名格式):“Email”(电子邮件) 5. 单击“Identity Provider metadata”(身份提供程序元数据)链接以启动浏览器。复制浏览器链接。这是您在以下过程中配置 Tableau 时将使用的链接。 6. 单击“Done”(完成)。 7. 将新的 Tableau Server Okta 应用程序分配给您的用户 (user@example.com):单击用户名,然后在“Assign Application”(分配应用程序)中分配应用程序。 ### 在 Tableau Server 上设置身份验证模块配置 在 Tableau Server 节点 1 上运行以下命令。这些命令指定 Mellon 配置文件在远程独立网关计算机上的文件位置。仔细检查这些命令中指定的文件路径是否映射到远程独立网关计算机上的路径和文件位置。 tsm configuration set -k gateway.tsig.authn\_module\_block -v "/etc/mellon/conf.d/mellonmod.conf" --force-keys tsm configuration set -k gateway.tsig.authn\_global\_block -v "/etc/mellon/conf.d/global.conf" --force-keys 为了减少停机时间,在启用 SAML 之前请不要应用更改,如下一部分所述。 ### 在 Tableau Server 上为 IdP 启用 SAML 在 Tableau Server 节点 1 上运行此过程。 1. 从 Okta 下载 Tableau Server 应用程序元数据。使用您在上一过程中保存的链接: wget https://dev-66144217.okta.com/app/exk1egxgt1fhjkSeS5d7/sso/saml/metadata -O idp\_metadata.xml 2. 将 TLS 证书和相关密钥文件复制到 Tableau Server。密钥文件必须是 RSA 密钥。有关 SAML 证书和 IdP 要求的详细信息,请参见“_SAML 要求_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/saml_requ.htm))”。 为了简化证书管理和部署,以及作为安全最佳实践,我们建议使用由主要受信任的第三方证书颁发机构 (CA) 生成的证书。或者,您可以为 TLS 生成自签名证书或使用 PKI 中的证书。 如果您没有 TLS 证书,则可以使用下面的嵌入式过程生成自签名证书。 生成自签名证书 在 Tableau Server 节点 1 上运行此过程。 1. 生成签名根证书颁发机构 (CA) 密钥: openssl genrsa -out rootCAKey-saml.pem 2048 2. 创建根 CA 证书: openssl req -x509 -sha256 -new -nodes -key rootCAKey-saml.pem -days 3650 -out rootCACert-saml.pem 系统将提示您输入证书字段的值。例如: Country Name (2 letter code) \[XX\]:US State or Province Name (full name) \[\]:Washington Locality Name (eg, city) \[Default City\]:Seattle Organization Name (eg, company) \[Default Company Ltd\]:Tableau Organizational Unit Name (eg, section) \[\]:Operations Common Name (eg, your name or your server's hostname) \[\]:tableau.example.com Email Address \[\]:example@tableau.com 3. 创建证书和相关密钥(在下面的示例中为 `server-saml.csr` 和 `server-saml.key`)。证书的使用者名称必须与 Tableau 主机的公共主机名称匹配。使用者名称是使用 `-subj` 选项以`"/CN="` 格式设置的,例如: openssl req -new -nodes -text -out server-saml.csr -keyout server-saml.key -subj "/CN=tableau.example.com" 4. 使用您在上面创建的 CA 证书签署新证书。以下命令还将以 `crt` 格式输出证书: openssl x509 -req -in server-saml.csr -days 3650 -CA rootCACert-saml.pem -CAkey rootCAKey-saml.pem -CAcreateserial -out server-saml.crt 5. 将密钥文件转换为 RSA。Tableau 需要用于 SAML 的 RSA 密钥文件。若要转换密钥,请运行以下命令: openssl rsa -in server-saml.key -out server-saml-rsa.key 3. 配置 SAML。运行以下命令,指定您的实体 ID 和返回 URL,以及元数据文件、证书文件和密钥文件的路径: tsm authentication saml configure --idp-entity-id "https://tableau.example.com" --idp-return-url "https://tableau.example.com" --idp-metadata idp\_metadata.xml --cert-file "server-saml.crt" --key-file "server-saml-rsa.key" tsm authentication saml enable 4. 如果您的组织运行的是 Tableau Desktop 2021.4 或更高版本,则您必须运行以下命令以通过反向代理服务器启用身份验证。 Tableau Desktop 2021.2.1 - 2021.3 的版本无需运行此命令也可工作,前提是您的预身份验证模块(例如 Mellon)配置为允许保留顶级域 Cookie。 tsm configuration set -k features.ExternalBrowserOAuth -v false 5. 应用配置更改: tsm pending-changes apply #### 重新启动 tsig-httpd 服务 当您的 Tableau Server 部署应用更改时,重新登录到 Tableau Server 独立网关计算机并运行以下命令以重新启动 tsig-httpd 服务: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit ### 验证 SAML 功能 若要验证端到端 SAML 功能,请使用您在此过程开始时创建的 Tableau 管理员帐户通过公共 URL(例如 https://tableau.example.com)登录到 Tableau Server。 如果 TSM 不启动(“网关错误”),或者在尝试连接时出现浏览器错误,请参见[Tableau Server 独立网关故障排除](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part7.htm#Troubles)。 ## 配置独立网关的第二个实例上的身份验证模块 成功配置独立网关的第一个实例后,部署第二个实例。此处的示例是安装本主题中描述的 AWS/Mellon/Okta 方案的最终过程。该过程假定您已经在第二个实例上安装了独立网关,如本主题前面所述([安装独立网关](#Install))。 部署第二个独立网关的过程需要以下步骤: 1. 在独立网关的第二个实例上:安装 Mellon 身份验证模块。 不要按照本主题前面的描述配置 Mellon 身份验证模块,而是必须按照后续步骤中的描述克隆配置。 2. 在已配置的(第一个)独立网关实例上: 获取现有 Mellon 配置的 tar 副本。tar 备份将保留所有目录层次结构和权限。运行以下命令: cd /etc sudo tar -cvf mellon.tar mellon 将 `mellon.tar` 复制到独立网关的第二个实例。 3. 在独立网关的第二个实例上: 将 tar 文件提取(“解压缩”)到 `/etc` 目录中的第二个实例中。运行以下命令: cd /etc sudo tar -xvf mellon.tar 4. 在 Tableau Server 部署的节点 1 上:使用来自第二个独立网关的连接信息更新连接文件 (`tsig.json`)。您将需要按照本主题前面([安装独立网关](#Install))中的描述检索身份验证密钥。 此处显示了一个示例连接文件 (`tsig.json`): { "independentGateways": \[ { "id": "ip-10-0-1-169.ec2.internal", "host": "ip-10-0-1-169.ec2.internal", "port": "21319", "protocol" : "http", "authsecret": "13660-27118-29070-25482-9518-22453" }, { "id": "ip-10-0-2-230.ec2.internal", "host": "ip-10-0-2-230.ec2.internal", "port": "21319", "protocol" : "http", "authsecret": "9055-27834-16487-27455-30409-7292" }\] } 5. 在 Tableau Server 部署的节点 1 上:运行以下命令以更新配置: tsm stop tsm topology external-services gateway update -c tsig.json tsm start 6. 在独立网关的两个实例上:在 Tableau Server 启动时,重新启动 `tsig-httpd` 进程: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit 7. 在 AWS 的“EC2”>“目标组”中:更新目标组以包含运行第二个独立网关实例的 EC2 实例。 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑”。 - 选择第二台独立网关计算机的 EC2 实例,然后单击“添加到已注册”。单击“保存”。 [跳转到主要内容](#main-content) # 第 6 部分 - 安装后配置 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 ## 配置从负载平衡器到 Tableau Server 的 SSL/TLS 一些组织需要从客户端到后端服务的端到端加密通道。到目前为止所描述的默认参考架构指定了从客户端到在您组织的 Web 层中运行的负载均衡器的 SSL。 本部分介绍如何在示例 AWS 参考架构中为 Tableau Server 和独立网关配置 SSL/TLS。有关描述如何在 AWS 参考架构中在 Apache 上配置 SSL/TLS 的配置示例,请参见[示例:在 AWS 参考架构中配置 SSL/TLS](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part_app-apache.htm#Example:)。 目前,在 8000-9000 范围内运行的后端 Tableau Server 进程不支持 TLS。若要启用 TLS,您必须为独立网关配置与 Tableau Server 的中继连接。 此过程介绍如何针对独立网关到 Tableau Server 以及 Tableau Server 到独立网关的连接启用和配置 TLS。该过程加密通过 HTTPS/443 的中继流量和通过 HTTPS/21319 的整理流量。 此示例中的 Linux 程序显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 此处的指南是对本指南中介绍的特定 AWS 示例参考架构的规定。因此,不包括可选配置。有关完整的参考文档,请参见_在独立网关上配置 TLS_([Linux](https://help.tableau.com/current/server-linux/zh-cn/server_tsig_configure_tls.htm))。 ### 配置 TLS 之前 在工作时间之外执行 TLS 配置。配置至少需要重新启动一次 Tableau Server。如果您正在运行完整的四节点参考架构部署,则重新启动可能需要一段时间。 - 验证客户端是否可以通过 HTTP 连接到 Tableau Server。使用独立网关配置 TLS 是一个多步骤过程,可能需要进行故障排除。因此,我们建议在配置 TLS 之前从完全可操作的 Tableau Server 部署开始。 - 收集 TLS/SSL 证书、密钥和相关资产。您将需要适用于独立网关和 Tableau Server 的 SSL 证书。为了简化证书管理和部署,以及作为安全最佳实践,我们建议使用由主要受信任的第三方证书颁发机构 (CA) 生成的证书。或者,您可以为 TLS 生成自签名证书或使用 PKI 中的证书。 本主题中的示例配置使用以下资产名称作为说明: - `tsig-ssl.crt`:独立网关的 TLS/SSL 证书。 - `tsig-ssl.key`:独立网关上 `tsig-ssl.crt` 的私钥。 - `ts-ssl.crt`:Tableau Server 的 TLS/SSL 证书。 - `ts-ssl.key`:Tableau Server 上 `tsig-ssl.crt` 的私钥。 - `tableau-server-CA.pem`:为 Tableau Server 计算机生成证书的 CA 的根证书。如果您使用来自主要可信第三方的证书,通常不需要此证书。 - `rootTSIG-CACert.pem`:为独立网关计算机生成证书的 CA 的根证书。如果您使用来自主要可信第三方的证书,通常不需要此证书。 - 本指南的第 5 部分详细介绍了 SAML 所需的其他证书和密钥文件资产。 - 如果您的实施需要使用证书链文件,请参见知识库文章[使用具有证书链的证书时在独立网关上配置 TLS](https://kb.tableau.com/articles/HowTo/configure-tls-on-independent-gateway-when-using-intermediate-certificate?lang=zh-cn)。 - 验证您是否有权访问 IdP。如果您使用 IdP 进行身份验证,您可能需要在配置 SSL/TLS 后更改 IdP 上的收件人和目标 URL。 ### 为 TLS 配置独立网关计算机 配置 TLS 可能是一个容易出错的过程。由于跨独立网关的两个实例进行故障排除可能非常耗时,我们建议仅使用一个独立网关在 EDG 部署上启用和配置 TLS。在您验证 TLS 可在整个部署中工作后,然后配置第二台独立网关计算机。 #### 步骤 1:将证书和密钥分发到独立网关计算机 只要 tsig-httpd 用户具有对文件的读取访问权限,您就可以将资产分发到任意目录。其他过程中引用了这些文件的路径。我们在整个主题中将使用 `/etc/ssl` 下的示例路径,如下所示。 1. 为私钥创建目录: sudo mkdir -p /etc/ssl/private 2. 将证书和密钥文件复制到 `/etc/ssl` 路径。例如, sudo cp tsig-ssl.crt /etc/ssl/certs/ sudo cp tsig-ssl.key /etc/ssl/private/ 3. (可选)如果您在 Tableau Server 上为 SSL/TLS 使用自签名或 PKI 证书,则您还必须将 CA 根证书文件复制到独立网关计算机。例如, sudo cp tableau-server-CA.pem /etc/ssl/certs/ #### 步骤 2:更新 TLS 的环境变量 您必须更新独立网关配置的端口和协议环境变量。 通过更新文件 `/etc/opt/tableau/tableau_tsig/environment.bash` 来更改这些值,如下所示: TSIG\_HK\_PROTOCOL="https" TSIG\_PORT="443" TSIG\_PROTOCOL="https" #### 步骤 3:更新 HK 协议的存根配置文件 手动编辑存根配置文件 (`/var/opt/tableau/tableau_tsig/config/httpd.conf.stub`),为整理 (HK) 协议设置与 TLS 相关的 Apache httpd 指令。 存根配置文件包含一个与 TLS 相关的指令块,这些指令已使用 `#TLS#` 标记注释掉。从指令中移除标记,如下例所示。请注意,该示例显示借助 `SSLCACertificateFile` 选项,为 Tableau Server 上使用的 SSL 证书使用根 CA 证书的情况。 #TLS# SSLPassPhraseDialog exec:/path/to/file SSLEngine on #TLS# SSLHonorCipherOrder on #TLS# SSLCompression off SSLCertificateFile /etc/ssl/certs/tsig-ssl.crt SSLCertificateKeyFile /etc/ssl/private/tsig-ssl.key SSLCACertificateFile /etc/ssl/certs/tableau-server-CA.pem #TLS# SSLCARevocationFile /path/to/file 如果您重新安装独立网关,这些更改将丢失。我们建议制作备份副本。 #### 步骤 4:复制存根文件并重新启动服务 1. 复制您在上一步中更新的文件,以使用更改更新 httpd.conf: cp /var/opt/tableau/tableau\_tsig/config/httpd.conf.stub /var/opt/tableau/tableau\_tsig/config/httpd.conf 2. 重新启动独立网关服务: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit 重新启动后,独立网关将无法运行,直到您在 Tableau Server 上运行下一组步骤。在 Tableau Server 上完成这些步骤后,独立网关将获取更改并联机。 ### 为 TLS 配置 Tableau Server 节点 1 在 Tableau Server 部署中的节点 1 上运行这些步骤: #### 步骤 1:复制证书和密钥并停止 TSM 1. 确认您已将 Tableau Server“外部 SSL”证书和密钥复制到节点 1。 2. 为了最大限度地减少停机时间,我们建议停止 TSM,运行以下步骤,然后在应用更改后启动 TSM: `tsm stop` #### 步骤 2:设置证书资产并启用独立网关配置 1. 指定独立网关的证书和密钥文件的位置。这些路径引用独立网关计算机上的位置。请注意,此示例假定使用相同的证书和密钥对来保护 HTTPS 和整理流量: tsm configuration set -k gateway.tsig.ssl.cert.file\_name -v /etc/ssl/certs/tsig-ssl.crt --force-keys tsm configuration set -k gateway.tsig.ssl.key.file\_name -v /etc/ssl/private/tsig-ssl.key --force-keys 2. 为独立网关的 HTTPS 和 HK 协议启用 TLS: tsm configuration set -k gateway.tsig.ssl.enabled -v true --force-keys tsm configuration set -k gateway.tsig.hk.ssl.enabled -v true --force-keys 3. (可选)如果您在独立网关上为 SSL/TLS 使用自签名或 PKI 证书,则必须上载 CA 根证书文件。CA 根证书文件是用于为独立网关计算机生成证书的根证书。例如, tsm security custom-cert add -c rootTSIG-CACert.pem 4. (可选)如果您在 Tableau Server 上为 SSL/TLS 使用自签名或 PKI 证书,则您还必须将 CA 根证书文件复制到独立网关 `/etc/ssl/certs` 目录。CA 根证书文件是用于为 Tableau Server 计算机生成证书的根证书。将证书复制到独立网关后,必须使用以下 tsm 命令指定证书在节点 1 上的位置。例如, tsm configuration set -k gateway.tsig.ssl.proxy.gateway\_relay\_cluster.cacertificatefile -v /etc/ssl/certs/tableau-server-CA.pem --force-keys 5. (可选:仅用于测试目的)如果您在计算机之间使用共享自签名或 PKI 证书,因此证书上的使用者名称与计算机名称不匹配,那么您必须禁用证书验证。  tsm configuration set -k gateway.tsig.ssl.proxy.verify -v optional\_no\_ca --force-keys #### 步骤 3:为 Tableau Server 启用“外部 SSL”并应用更改 1. 在 Tableau Server 上启用和配置“外部 SSL”: tsm security external-ssl enable --cert-file ts-ssl.crt --key-file ts-ssl.key 2. 应用更改。 tsm pending-changes apply #### 步骤 4:更新网关配置 JSON 文件并启动 tsm 1. 在 Tableau Server 端更新独立网关配置文件(例如,`tsig.json`),为独立网关对象指定 `https` 协议: "protocol" : "https", 2. 移除(或注释掉)独立网关第二个实例的连接信息。在保存之前,请务必在外部编辑器中验证 JSON。 为独立网关的单个实例配置和验证 TLS 后,您将使用独立网关的第二个实例的连接信息更新此 JSON 文件。 3. 运行以下命令以更新独立网关配置: tsm topology external-services gateway update -c tsig.json 4. 启动 TSM。 tsm start 5. 在 TSM 启动时,登录到独立网关实例并重新启动 `tsig-httpd` 服务: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit ### 将 IdP 身份验证模块 URL 更新为 HTTPS 如果您为 Tableau 配置了外部身份提供程序,则您可能需要更新 IdP 管理仪表板中的返回 URL。 举例来说,如果您使用 Okta 预身份验证应用程序,您将需要更新应用程序以对收件人 URL 和目标 URL 使用 HTTPS 协议。 ### 为 HTTPS 配置 AWS 负载平衡器 如果您按照本指南中的说明使用 AWS 负载平衡器进行部署,那么您可以重新配置 AWS 负载平衡器以将 HTTPS 流量发送到运行独立网关的计算机: 1. 删除现有 HTTP 目标组: 在“目标组”中,选择已为负载平衡器配置的 HTTP 目标组,单击“操作”,然后单击“删除”。 2. 创建 HTTPS 目标组 “目标组”\>“创建目标组” - 选择“实例” - 输入目标组名称,例如 `TG-internal-HTTPS` - 选择您的 VPC - 协议:HTTPS 443 - 在“运行状况检查”\>“高级运行状况检查设置”\>“成功代码”下,将代码列表追加为:`200,303`。 - 单击“创建”。 3. 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑” - 选择正在运行已配置的 Tableau Server 独立网关的 EC2 实例,然后单击“添加到已注册”。 - 单击“保存”。 4. 创建目标组后,您必须启用粘性: - 打开 AWS 目标组页面(“EC2”\>“负载平衡”\>“目标组”),选择您刚刚设置的目标组实例。在“操作”菜单上,选择“编辑属性”。 - 在“编辑属性”页面上,选择“粘性” ,指定持续时间 `1 day`,然后保存更改。 5. 在负载平衡器上,更新侦听器规则。选择您为此部署配置的负载平衡器,然后单击“侦听器”选项卡。 - 对于“HTTP:80”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。删除现有 THEN 规则,并通过单击“添加操作”\>“重定向至...”替换该规则。在生成的 THEN 配置中,指定 `HTTPS` 和端口 `443`,并将其他选项保留为默认设置。保存设置,然后单击“更新”。 - 对于“HTTPS:443”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。删除现有 THEN 规则,并通过单击“添加操作”\>“转发至...”替换该规则。将目标组指定为您刚刚创建的 HTTPS 组。在“组级粘性”下,启用粘性并将持续时间设置为 1 天。保存设置,然后单击“更新”。 6. 在负载平衡器上,将空闲超时更新为 400 秒。选择您为此部署配置的负载平衡器,然后单击“操作”\>“编辑属性”。将“空闲超时”设置为 `400` 秒,然后单击“保存”。 ## 验证 TLS 若要验证 TLS 功能,请使用您在此过程开始时创建的 Tableau 管理员帐户通过公共 URL(例如 https://tableau.example.com)登录到 Tableau Server。 如果 TSM 没有启动或出现其他错误,请参见[Tableau Server 独立网关故障排除](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part7.htm#Troubles)。 ## 为 SSL 配置独立网关的第二个实例 成功配置独立网关的第一个实例后,部署第二个实例。 部署第二个独立网关的过程需要以下步骤: 1. 在已配置的(第一个)独立网关实例上;将以下文件复制到第二个独立网关实例上的相应位置: - `/etc/ssl/certs/tsig-ssl.crt` - `/etc/ssl/private/tsig-ssl.key`(您需要在第二个实例上创建 `private`目录)。 - `/var/opt/tableau/tableau_tsig/config/httpd.conf.stub` - `/etc/opt/tableau/tableau_tsig/environment.bash` 2. 在 Tableau Server 部署的节点 1 上:使用来自第二个独立网关的连接信息更新连接文件 (`tsig.json`)。 此处显示了一个示例连接文件 (`tsig.json`): { "independentGateways": \[ { "id": "ip-10-0-1-169.ec2.internal", "host": "ip-10-0-1-169.ec2.internal", "port": "21319", "protocol" : "https", "authsecret": "13660-27118-29070-25482-9518-22453" }, { "id": "ip-10-0-2-230.ec2.internal", "host": "ip-10-0-2-230.ec2.internal", "port": "21319", "protocol" : "https", "authsecret": "9055-27834-16487-27455-30409-7292" }\] } 3. 在 Tableau Server 部署的节点 1 上:运行以下命令以更新配置: tsm stop tsm topology external-services gateway update -c tsig.json tsm start 4. 在独立网关的两个实例上:在 Tableau Server 启动时,在独立网关的两个实例上重新启动 `tsig-httpd` 进程: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit 5. 在 AWS 的“EC2”>“目标组”中:更新目标组以包含运行第二个独立网关实例的 EC2 实例。 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑”。 - 选择第二台独立网关计算机的 EC2 实例,然后单击“添加到已注册”。单击“保存”。 ## 针对 Postgres 配置 SSL 您可以选择为 Tableau Server 上外部存储库连接的 Postgres 连接配置 SSL (TLS)。 为了简化证书管理和部署,以及作为安全最佳实践,我们建议使用由主要受信任的第三方证书颁发机构 (CA) 生成的证书。或者,您可以为 TLS 生成自签名证书或使用 PKI 中的证书。 此过程描述了如何使用 OpenSSL,在示例 AWS 参考架构中类似于 RHEL 的 Linux 发行版上的 Postgres 主机上生成自签名证书。 生成并签署 SSL 证书后,您必须将 CA 证书复制到 Tableau 主机。 **在运行 Postgress 的主机上:** 1. 生成签名根证书颁发机构 (CA) 密钥: openssl genrsa -out pgsql-rootCAKey.pem 2048 2. 创建根 CA 证书: openssl req -x509 -sha256 -new -nodes -key pgsql-rootCAKey.pem -days 3650 -out pgsql-rootCACert.pem 系统将提示您输入证书字段的值。例如: Country Name (2 letter code) \[XX\]:US State or Province Name (full name) \[\]:Washington Locality Name (eg, city) \[Default City\]:Seattle Organization Name (eg, company) \[Default Company Ltd\]:Tableau Organizational Unit Name (eg, section) \[\]:Operations Common Name (eg, Postgres server's hostname) \[\]:ip-10-0-1-189.us-west-1.compute.internal Email Address \[\]:example@tableau.com 3. 为 Postgres 计算机创建证书和相关密钥(在下面的示例中为 `server.csr` 和 `server.key`)。证书的使用者名称必须与 Postgres 主机的 EC2 私有 DNS 名称匹配。使用者名称是使用 `-subj` 选项以`"/CN="` 格式设置的,例如: openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=ip-10-0-1-189.us-west-1.compute.internal" 4. 使用您在步骤 2 中创建的 CA 证书签署新证书。以下命令还将以 `crt` 格式输出证书: openssl x509 -req -in server.csr -days 3650 -CA pgsql-rootCACert.pem -CAkey pgsql-rootCAKey.pem -CAcreateserial -out server.crt 5. 将 crt 和 key 文件复制到 Postgres`/var/lib/pgsql/13/data/` 路径: sudo cp server.crt /var/lib/pgsql/13/data/ sudo cp server.key /var/lib/pgsql/13/data/ 6. 切换到根用户: sudo su 7. 设置证书和密钥文件的权限。运行以下命令: cd /var/lib/pgsql/13/data chown postgres.postgres server.crt chown postgres.postgres server.key chmod 0600 server.crt chmod 0600 server.key 8. 更新 pg\_haba 配置文件 `/var/lib/pgsql/13/data/pg_hba.conf` 以指定 md5 信任: 将现有的连接语句从 `host all all 10.0.30.0/24 password`, 和 `host all all 10.0.31.0/24 password` 更改为 `host all all 10.0.30.0/24 md5`, 和 `host all all 10.0.31.0/24 md5`。 9. 通过以下这一行来更新 postgresql 文件 `/var/lib/pgsql/13/data/postgresql.conf`: ssl = on 10. 退出根用户模式: exit 11. 重新启动 Postgres: sudo systemctl restart postgresql-13 ### 可选:在 Tableau Server 上针对 Postgres SSL 启用证书信任验证 如果您遵循了[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm)中的安装过程,那么 Tableau Server 将为 Postgres 连接配置可选的 SSL。这意味着在 Postgres 上配置 SSL(如上所述)将导致加密连接。 如果希望对连接进行证书信任验证,则必须在 Tableau Server 上运行以下命令来重新配置 Postgres 主机连接: tsm topology external-services repository replace-host -f .json -c CACert.pem 其中 `.json` 是[配置外部 Postgres](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Configur3)中描述的连接文件。 `CACert.pem` 是 Postgres 使用的 SSL/TLS 证书的 CA 证书文件。 可选:验证 SSL 连接 若要验证 SSL 连接,您必须: - 在 Tableau Server 节点 1 上安装 Postgres 客户端。 - 将您在前面的过程中创建的根证书复制到 Tableau 主机。 - 从节点 1 连接到 Postgres 服务器 ### 在节点 1 上安装 Postgres 客户端 此示例演示如何安装版本 Postgres 13.4。安装与您为外部存储库运行的版本相同的版本。 1. 在节点 1 上,在 `/etc/yum.repos.d` 路径中创建和编辑 pgdg.repo 文件,使用以下配置信息填充该文件。 \[pgdg13\] name=PostgreSQL 13 for RHEL/CentOS 7 - x86\_64 baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86\_64 enabled=1 gpgcheck=0 2. 安装 Postgres 客户端: sudo yum install postgresql13-13.4-1PGDG.rhel7.x86\_64 ### 将根证书复制到节点 1 将 CA 证书 (`pgsql-rootCACert.pem`) 复制到 Tableau 主机: scp ec2-user@:/home/ec2-user/pgsql-rootCACert.pem /home/ec2-user ### 通过 SSL 从节点 1 连接到 Postgres 主机: 从节点 1 运行以下命令,指定 Postgres 服务器主机 IP 地址和根 CA 证书: psql "postgresql://postgres@:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem" 例如: psql "postgresql://postgres@10.0.1.189:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem" Postgres 将提示您输入密码。登录成功后,shell 会返回: psql (13.4) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=# ## 配置 SMTP 和事件通知 Tableau Server 向管理员和用户发送电子邮件通知。为了实现这一点,您必须配置 Tableau Server 以将邮件发送到您的电子邮件服务器。您还必须指定要发送的事件类型、阈值和订阅信息。 对于 SMTP 和通知的初始配置,我们建议您使用下面的配置文件模板创建一个 json 文件。您还可以使用_“tsm configuration set”_([Linux](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration_tsm.htm#TSMSet)) 中描述的语法设置下面列出的任何单一配置键。 在 Tableau Server 部署中的节点 1 上运行此过程: 1. 将以下 json 模板复制到文件。使用您的 SMTP 配置选项以及组织的订阅和警报通知自定义文件。 - 若要查看所有 SMTP 选项的列表和描述,请参见_“SMTP CLI 配置参考”_([Linux](https://help.tableau.com/current/server-linux/zh-cn/config_smtp.htm#config_reference))。 - 若要查看所有通知事件选项的列表和描述,请参见_“配置服务器事件通知”_([Linux](https://help.tableau.com/current/server-linux/zh-cn/email.htm)) 的“CLI”部分。 { "configKeys": { "svcmonitor.notification.smtp.server": "_SMTP server host name_", "svcmonitor.notification.smtp.send\_account": "_SMTP user name_", "svcmonitor.notification.smtp.port": 443, "svcmonitor.notification.smtp.password": "_SMTP user account password_", "svcmonitor.notification.smtp.ssl\_enabled": true, "svcmonitor.notification.smtp.from\_address": "_From email address_", "svcmonitor.notification.smtp.target\_addresses": "_To email address1,address2_", "svcmonitor.notification.smtp.canonical\_url": "_Tableau Server URL_", "backgrounder.notifications\_enabled": true, "subscriptions.enabled": true, "subscriptions.attachments\_enabled": true, "subscriptions.max\_attachment\_size\_megabytes": 150, "svcmonitor.notification.smtp.enabled": true, "features.DesktopReporting": true, "storage.monitoring.email\_enabled": true, "storage.monitoring.warning\_percent": 20, "storage.monitoring.critical\_percent": 15, "storage.monitoring.email\_interval\_min": 25, "storage.monitoring.record\_history\_enabled": true } } 2. 运行 `tsm settings import -f file.json` 以将 json 文件传递至 Tableau 服务管理器。 3. 运行 `tsm pending-changes apply` 命令以应用更改。 4. 运行 `tsm email test-smtp-connection` 以查看和验证连接配置。 ## 安装 PostgreSQL 驱动程序 若要在 Tableau Server 上查看管理员视图,必须在 Tableau Server 部署的节点 1 上安装 PostgreSQL 驱动程序。 1. 转到 [Tableau 驱动程序下载](https://www.tableau.com/zh-cn/support/drivers)页面,并复制 PostgreSQL jar 文件的 URL。 2. 在 Tableau 部署的每个节点上运行以下过程: - 创建以下文件路径: `sudo mkdir -p /opt/tableau/tableau_driver/jdbc` - 从新路径中,下载最新版本的 PostgreSQL jar 文件:例如: `sudo wget https://downloads.tableau.com/drivers/linux/postgresql/postgresql-42.2.22.jar` 4. 在初始节点上,重新启动 Tableau Server: `tsm restart` ## 配置强密码策略 如果您不使用 IdP 身份验证解决方案部署 Tableau Server,我们建议对默认 Tableau 密码策略进行安全强化。 如果您使用 IdP 部署 Tableau Server,则必须使用 IdP 管理密码策略。 以下过程包括用于在 Tableau Server 上设置密码策略的 json 配置。有关以下选项的详细信息,请参见“_本地身份验证_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/local_auth.htm))”。 1. 将以下 json 模板复制到文件。使用您的密码策略配置填入键值。 { "configKeys": { "wgserver.localauth.policies.mustcontainletters.enabled": true, "wgserver.localauth.policies.mustcontainuppercase.enabled": true, "wgserver.localauth.policies.mustcontainnumbers.enabled": true, "wgserver.localauth.policies.mustcontainsymbols.enabled": true, "wgserver.localauth.policies.minimumpasswordlength.enabled": true, "wgserver.localauth.policies.minimumpasswordlength.value": 12, "wgserver.localauth.policies.maximumpasswordlength.enabled": false, "wgserver.localauth.policies.maximumpasswordlength.value": 255, "wgserver.localauth.passwordexpiration.enabled": true, "wgserver.localauth.passwordexpiration.days": 90, "wgserver.localauth.ratelimiting.maxbackoff.minutes": 60, "wgserver.localauth.ratelimiting.maxattempts.enabled": false, "wgserver.localauth.ratelimiting.maxattempts.value": 5, "vizportal.password\_reset": true } } 2. 运行 `tsm settings import -f file.json`,以将 json 文件传递给 Tableau 服务管理器,从而配置 Tableau Server。 3. 运行 `tsm pending-changes apply` 命令以应用更改。 [跳转到主要内容](#main-content) # 第 7 部分 - 验证、工具和故障排除 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 本主题包括安装后验证步骤和故障排除指南。 ## 故障转移系统验证 配置部署后,我们建议运行简单的故障转移测试来验证系统冗余。 我们建议运行以下步骤来验证故障转移功能: 1. 关闭独立网关的第一个实例 (TSIG1)。所有入站流量都应通过独立网关的第二个实例 (TSIG2) 进行路由。 2. 重新启动 TSIG1,然后关闭 TSIG2。所有入站流量都应通过 TSIG1 路由。 3. 重新启动 TSIG2。 4. 关闭 Tableau Server 节点 1。所有 Vizportal/应用服务流量将故障转移到节点 2。 **注意:**截至 2022 年 9 月,Tableau Server 2021.4 及更高版本的某些版本上的节点 1 高可用性受到影响。如果节点 1 关闭,客户端连接将失败。此问题已在这些维护版本中得到修复: \- 2021.4.15 及更高版本 \- 2022.1.11 及更高版本 \- 2023.1.3 及更高版本 为了确保使用 ATR 激活的 Tableau Server 安装在初始节点故障后有 72 小时的宽限期,请安装或升级到这些版本之一。有关更多详细信息,请参见 Tableau 知识库中的[使用 ATR 的 Tableau Server HA 在初始节点故障后没有宽限期](https://kb.tableau.com/articles/issue/tableau-server-ha-using-atr-does-not-have-a-grace-period-after-the-initial-node-failure?lang=zh-cn "有关高可用性故障的 Tableau 知识库文章。")。 5. 重新启动节点 1 并关闭节点 2。所有 Vizportal/应用服务流量将故障转移到节点 1。 6. 重新启动节点 2。 在此上下文中,“关闭”或“重新启动”是通过关闭操作系统或虚拟机来完成的,而无需事先尝试应用程序的正常关闭。目标是模拟硬件或虚拟机故障。 每个故障转移测试的最小验证步骤是验证用户身份并执行基本的视图操作。 当您在模拟失败后尝试登录时,可能会收到“错误请求”浏览器错误。即使您清除了浏览器中的缓存,也可能会看到此错误。当浏览器缓存来自先前 IdP 会话的数据时,通常会发生此问题。如果即使在您清除本地浏览器缓存后此错误仍然存在,请通过连接其他浏览器来验证 Tableau 方案。 ## 初始节点自动恢复 Tableau Server 版本 2021.2.4 及更高版本在脚本目录 (`/app/tableau_server/packages/scripts.`) 中包括自动初始节点恢复脚本 `auto-node-recovery`。 如果初始节点存在问题,并且节点 2 上有冗余进程,则无法保证 Tableau Server 可以继续运行。在初始节点出现故障后,Tableau Server 最多可以继续运行 72 小时,然后才会因为缺少许可服务而影响其他进程。如果是这样,在初始节点出现故障后,您的用户或许能够继续登录并且查看和使用其内容,但您将无法重新配置 Tableau Server,原因是您没有管理控制器的访问权限。 即使配置了冗余进程,在初始节点出现故障后,Tableau Server 也可能无法继续运行。 恢复初始节点(节点 1)故障: 1. 登录 Tableau Server 节点 2。 2. 切换到脚本目录: cd /app/tableau\_server/packages/scripts. 3. 运行以下命令以启动脚本: sudo ./auto-node-recovery -p node1 -n node2 -k 其中 `` 是用于您的部署的许可证密钥的逗号分隔(无空格)列表。如果您无权访问许可证密钥,请访问 [Tableau 客户门户](http://customer.tableausoftware.com/?_fsi=v45oWMAM)以检索它们。例如: sudo ./auto-node-recovery -p node1 -n node2 -k TSB4-8675-309F-TW50-9RUS,TSNM-559N-ULL6-22VE-SIEN 自动节点恢复脚本将执行大约 20 个步骤以将服务恢复到节点 2。随着脚本的进行,每个步骤都显示在终端中。更详细的状态会记录到 `/data/tableau_data/logs/app-controller-move.log`。在大多数环境中,脚本需要 35 到 45 分钟才能完成。 ### 对初始节点恢复进行故障排除 如果节点恢复失败,您可能会发现以交互方式运行脚本以允许或禁止过程中的离散步骤很有用。举例来说,如果脚本在整个过程中失败,您可以查看日志文件,更改配置,然后再次运行脚本。通过以交互模式运行,您可以随后跳过所有步骤,直到到达失败的步骤。 若要以交互模式运行,请向 script 参数中添加 `-i` 开关。 ### 重建故障节点 运行脚本后,节点 2 将运行以前在出现故障的节点 1 主机上的所有服务。若要在 4 节点中添加,您需要使用引导程序文件部署新的 Tableau Server 主机,并按照第 4 部分中指定的原始节点 2 的方式对其进行配置。请参见[配置节点 2](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Configur2)。 ## switchto Switchto 是 Tim 的一个脚本,它可以轻松地完成窗口之间的切换。 1. 将以下代码复制到堡垒主机上主目录中名为 `switchto` 的文件中。 #!/bin/bash #------------------------------------------------------------------- # switchto # # Helper function to simplify SSH into the various AWS hosts when # following the Tableau Server Enterprise Deployment Guide (EDG). # # Place this file on your bastion host and provide your AWS hosts' # internal ip addresses or machine names here. # Example: readonly NODE1="10.0.3.187" # readonly NODE1="" readonly NODE2="" readonly NODE3="" readonly NODE4="" readonly PGSQL="" readonly PROXY1="" readonly PROXY2="" usage() { echo "Usage: switchto.sh \[ node1 | node2 | node3 | node4 | pgsql | proxy1 | proxy2 \]" } ip="" case $1 in node1) ip="$NODE1" ;; node2) ip="$NODE2" ;; node3) ip="$NODE3" ;; node4) ip="$NODE4" ;; pgsql) ip="$PGSQL" ;; proxy1) ip="$PROXY1" ;; proxy2) ip="$PROXY2" ;; ?) usage exit 0 ;; \*) echo "Unkown option $1." usage exit 1 ;; esac if \[\[ -z $ip \]\]; then echo "You must first edit this file to provide the ip addresses of your AWS hosts." exit 1 fi ssh -A ec2-user@$ip 3. 更新脚本中的 IP 地址以映射到您的 EC2 实例,然后保存文件。 4. 对脚本文件应用权限: sudo chmod +x switchto 用法: 若要切换到主机,请运行以下命令: `./switchto ` 例如,若要切换到节点 1,请运行以下命令: `./switchto node1` ## Tableau Server 独立网关故障排除 在 Tableau Server 上配置独立网关、Okta、Mellon 和 SAML 可能是一个容易出错的过程。最常见的失败根本原因是字符串错误。例如,在配置期间指定的 Okta URL 上的尾部斜杠 (`/`) 可能会导致与 SAML 断言相关的不匹配错误。这只是一个例子。在配置期间有很多机会在任何应用程序中输入不正确的字符串。 ### 重新启动 tableau-tsig 服务 始终通过重新启动独立网关计算机上的 tableau-tsig 服务来开始(和完成)故障排除。重新启动此服务很快,并且通常会触发更新的配置从 Tableau Server 加载。 在独立网关计算机上运行以下命令: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit ### 查找不正确的字符串 如果您犯了字符串错误(复制/粘贴错误、字符串被截断等),请花时间浏览您配置的每个设置: - Okta 预身份验证配置。仔细查看您设置的 URL。查找尾部斜杠。验证 HTTP 与 HTTPS。 - 节点 1 上 SAML 配置的 Shell 历史记录。审查您运行的 `tsm authentication saml configure` 命令。验证所有 URL 是否与您在 Okta 中配置的 URL 匹配。当您从节点 1 查看 shell 历史记录时,请验证指定 Mellon 配置文件路径的 `tsm configuration set` 命令是否准确映射到您在独立网关上复制文件的文件路径。 - 独立网关上的 Mellon 配置。查看 shell 历史记录以验证您创建的元数据是否使用您在 Okta 和 Tableau SAML 中配置的相同 URL 字符串。验证 `/etc/mellon/conf.d/global.conf` 中指定的所有路径是否正确,并且 `MellonCookieDomain` 设置为您的根域,而不是您的 Tableau 子域。 ### 搜索相关日志 如果所有字符串似乎都设置正确,那么您应该检查日志是否有错误。 Tableau Server 将错误和事件记录到数十个不同的日志文件中。独立网关也记录到一组本地文件。我们建议按以下顺序检查这些日志。 #### 独立网关日志文件 这些独立网关日志文件的默认位置为 `/var/opt/tableau/tableau_tsig/logs`。 - `access.log`:此日志非常有用,因为它具有显示来自 Tableau Server 节点的连接的条目。如果您在尝试启动 TSM 时遇到网关错误(不会启动),并且 `access.log` 文件中没有条目,则存在核心连接问题。始终将验证 AWS 安全组配置作为第一步。另一个常见问题是 `tsig.json` 中的拼写错误。如果您对 tsig.json 进行更新,请在运行 `tsm topology external-services gateway update -c tsig.json` 之前运行 `tsm stop`。tsig.json 更新后,运行 `tsm start`。 - `error.log`:除其他条目外,此日志还包括 SAML 和 Mellon 错误。 #### Tableau Server tabadminagent 日志文件 `tabadminagent`(而不是 `tabadmincontroller`)文件集是解决独立网关相关错误的唯一相关日志文件。 您必须找到已将独立网关错误记录到 `tabdminagent`的位置。这些错误可以在任何节点上,但它们只在一个节点上。在 Tableau Server 群集中的每个节点上执行以下步骤,直到找到“independent”字符串: 1. 在 EDG 设置中找到 Tableau Server 节点 1-4 上的 tabadminagent 日志文件位置: cd /data/tableau\_data/data/tabsvc/logs/tabadminagent 2. 打开要读取的最新日志: less tabadminagent\_nodeN.log (将 N 替换为节点编号) 3. 搜索“Independent”和“independent”的所有实例 - 使用以下搜索字符串: /ndependent 如果没有匹配,则转到下一个节点并重复步骤 1-3。 4. 当您得到一个匹配:`Shift + G` 移动到底部以获取最后的错误消息。 ### 重新加载 httpd 存根文件 独立网关管理 Apache 的 httpd 配置。通常可以修复暂时问题的一个通用操作是重新加载 httpd 存根文件,该文件是底层 Apache 配置的种子。在独立网关的两个实例上运行以下命令。 1. 将存根文件复制到 httpd.conf: cp /var/opt/tableau/tableau\_tsig/config/httpd.conf.stub /var/opt/tableau/tableau\_tsig/config/httpd.conf 2. 重新启动独立网关服务: sudo su - tableau-tsig systemctl --user restart tsig-httpd exit ### 删除或移动日志文件 独立网关记录所有访问事件。您需要管理日志文件存储以避免填满磁盘空间。如果您的磁盘已满,独立网关将无法写入访问事件,服务将失败。以下消息将被记录到独立网关上的 error.log 中: (28)No space left on device: \[client 10.0.2.209:54332\] AH00646: Error writing to /var/opt/tableau/tableau\_tsig/logs/access.%Y\_%m\_%d\_%H\_%M\_%S.log 当您在 Tableau 节点 1 上运行 `tsm status -v` 时,此故障将导致 `external` 节点处于 `DEGRADED` 状态。状态输出中的 `external` 节点是指独立网关。 为了解决此问题,请删除或移动磁盘上的 access.log 文件。访问日志文件的存储位置为 `/var/opt/tableau/tableau_tsig/logs`。清除磁盘后,请重新启动 tableau-tsig 服务。 ### 浏览器错误 **错误请求**:这种情况下的一个常见错误是来自 Okta 的“错误请求”错误。当浏览器缓存来自先前 Okta 会话的数据时,通常会发生此问题。举例来说,如果您以 Okta 管理员身份管理 Okta 应用程序,然后尝试使用不同的启用 Okta 的帐户访问 Tableau,则来自管理员数据的会话数据可能会导致“错误请求”错误。如果即使在您清除本地浏览器缓存后此错误仍然存在,请尝试通过连接其他浏览器来验证 Tableau 方案。 “错误请求”错误的另一个原因是您在 Okta、Mellon 和 SAML 配置过程中输入的许多 URL 之一中的拼写错误。检查您输入的所有这些内容都没有错误。 通常独立网关服务器上的 `error.log`文件将指定导致错误的 URL。 **未找到 - 在此服务器上找不到请求的 URL**:此错误表示许多配置错误之一。 如果用户使用 Okta 进行身份验证,然后收到此错误,则很可能是您在配置 SAML 时将 Okta 预身份验证应用程序上载到 Tableau Server。验证您是否在 Tableau Server 上配置了 Okta Tableau Server 应用程序元数据,而不是 Okta 预身份验证应用程序元数据 其他疑难解答步骤: - 查看 Okta 预身份验证应用程序设置。确保按照本主题中指定的方式设置 HTTP 与 HTTPS 协议。 - 在两个独立网关服务器上重新启动 tsig-httpd。 - 验证 `sudo apachectl configtest` 在两个独立网关上是否都返回“Syntax OK”。 - 验证测试用户是否已分配给 Okta 中的两个应用程序。 - 验证是否在负载平衡器和关联的目标组上设置了粘性。 ### 验证从 Tableau Server 到独立网关的 TLS 连接 使用 `wget` 命令来验证从 Tableau Server 到独立网关的连接和访问。此命令的变体可以帮助您了解证书问题是否导致连接问题。 例如,运行此 `wget` 命令以从 Tableau Server 中验证整理 (HK) 协议: `wget https://ip-10-0-1-38.us-west-1.compute.internal:21319` 使用您为 tsig.json 文件的 host 选项包含的相同主机地址构造 URL。指定 `https` 协议,并在 URL 后面加上 HK 端口 `21319`。 检查连接并忽略证书验证: `wget https://ip-10-0-1-38.us-west-1.compute.internal:21319 --no-check-certificate` 验证 TSIG 的根 CA 证书是否有效: `wget https://ip-10-0-1-38.us-west-1.compute.internal:21319 --ca-certificate=tsigRootCA.pem` 如果 Tableau 能够通信,那么您可能仍会收到与内容相关的错误,但不会收到与连接相关的错误。如果 Tableau 根本无法连接,则首先验证防火墙/安全组中的协议配置。例如,独立网关所在的安全组的入站规则必须允许 TCP 21319。 [跳转到主要内容](#main-content) # 规划您的迁移 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 本主题将引导您完成迁移前应完成的两项重要规划任务:数据连接策略和建立身份验证机制。您可以在 Tableau Server 帮助主题_“从 Tableau Server 迁移到 Tableau Cloud 的技术注意事项”_ ( [Windows](https://help.tableau.com/current/server/zh-cn/migrate_server_to_cloud_overview.htm) | [Linux](https://help.tableau.com/current/server-linux/zh-cn/migrate_server_to_cloud_overview.htm)) 中找到功能差异的汇总列表。运行 [Tableau Cloud 迁移技术就绪性评估](https://exchange.tableau.com/zh-cn/products/921),了解在迁移到 Tableau Cloud 之前是否有任何可能需要调整的用例。 ## 了解 Tableau Cloud 如果您是 Tableau Cloud 的新手,我们建议您在线注册[自学课程](https://www.tableau.com/zh-cn/learn/training/elearning)了解有关该平台的更多信息。这些课程可以作为 Tableau Cloud 的介绍,并在您计划迁移时为您提供一些背景信息。 如果您现在熟悉 Tableau Server 的管理,您会发现许多任务在 Tableau Cloud 中大体相同。不过,随着迁移到 Tableau Cloud,与部署和管理软件相关的任务将由 Tableau 作为托管服务处理。您可以将升级交由我们完成。前往博客文章[我应该将我的分析迁移到 Tableau Cloud 吗?](https://www.tableau.com/zh-cn/blog/should-i-move-my-analytics-cloud)了解更多详细信息。借助 Tableau Cloud,您将能够将更多精力集中在确保顺畅的数据连接、为用户提供最佳实践和发展分析社区上。有关管理 Tableau Cloud 站点涉及的内容的更多详细信息,以及帮助您以管理员身份入门的大量资源,请访问 [Tableau Cloud 站点管理员](https://www.tableau.com/zh-cn/learn/get-started/online-admin)页面。 ## 规划您的 Tableau Cloud 数据策略 Tableau Cloud 可以连接到数十个数据源,但您必须在开始迁移之前制定数据连接计划。在本部分中,我们将向您介绍执行此操作的最佳方式,并且我们将描述 Tableau Cloud 连接到数据的两种方式。 此时的目标是验证您在迁移到 Tableau Cloud 后是否可以支持当前的数据要求。 ### 大扫除:您的内容给您带来快乐吗? 在您开始评估各种数据类型以及如何将您的所有数据源、工作簿和项目迁移到 Tableau Cloud 之前,我们建议您将此迁移作为一次大扫除的机会。大多数运行 Tableau Server 超过一两年的组织都会收集一些过时的内容:工作簿、数据源、项目和流程。我们建议您在迁移之前采取以下步骤: - 您可以使用 Tableau Server 中的_“过时内容”_([Windows](https://help.tableau.com/current/server/zh-cn/adminview-stale-content.htm) | [Linux](https://help.tableau.com/current/server-linux/zh-cn/adminview-stale-content.htm)) 管理视图来识别不再使用的内容。将陈旧的存档内容迁移到 Tableau Cloud 通常没有意义。放手吧! - 与大多数已经运行 Tableau Server 一段时间的组织一样,您的内容层次结构和权限结构可能已经有机地“进化”了,而且可能有点混乱。在规划迁移时,制定一个策略来优化新 Tableau Cloud 站点中的项目、组和权限结构。 - 如果您是 Tableau Data Management 客户,请使用这些工具来管理待处理迁移的数据清理、合并和处理。 ### 优化仪表板性能 谈到性能,一个很好的经验法则是,如果您的仪表板在 Tableau Server 上运行缓慢,那么它们在 Tableau Cloud 上运行也可能很慢。迁移之前,请使用[优化工作簿性能](https://help.tableau.com/current/pro/desktop/zh-cn/performance_tips.htm)中的步骤解决仪表板性能问题。迁移之前进行调整可确保您在 Tableau Cloud 上享受同样改进的性能。 ### 建立清单并创建数据源策略 清理现有内容后,就该清点数据源了。本练习的目的是确定您将如何使用用户当前使用的数据源来支持您组织中的用户。 对于每个数据源: - 使用以下部分中的 Tableau Cloud 连接器表对其进行交叉检查。如果它受支持,您就有了一条直接的前进道路。如果它不在表中... - 使用[与 Bridge 的连接](https://help.tableau.com/current/online/zh-cn/to_sync_local_data.htm)对其进行交叉检查,以确定 Tableau Bridge 是否支持您的数据类型。 - 如果数据源是静态文件,Tableau Cloud 支持直接从浏览器或 Tableau Desktop 上载 Excel 或基于文本的数据源(.xlsx、.csv、.tsv)。您可以上载的最大文件大小为 1 GB。更有可能的是,您的用户正在连接到共享的公共目录中这些类型的文件。如果是这种情况,您可以将这些文件上载到公共云空间,例如 Google Drive、Dropbox 或 OneDrive。或者,您可以使用 Bridge。然后,您(或您的用户)可以将 Tableau Cloud 配置为连接到这些空间以进行实时数据连接。 - 运行 [Tableau Cloud 迁移技术就绪性评估](https://exchange.tableau.com/zh-cn/products/921),了解在迁移到 Tableau Cloud 之前是否有任何可能需要调整的用例。 #### 支持的 Tableau Cloud 连接器 Tableau Cloud 中支持以下连接器

Alibaba AnalyticsDB for MySQL‡

Alibaba Data Lake Analytics‡

Amazon Athena‡

Amazon Aurora for MySQL‡

Amazon EMR Hadoop Hive‡

Amazon Redshift‡

Apache Drill‡

Azure Data Lake Storage Gen2‡

Azure Synapse Analytics(兼容 SQL Server)

Box‡

Cloudera Hadoop‡

Databricks‡

Datorama by Salesforce‡

Denodo‡

Dremio by Dremio‡

Dropbox*‡

Esri 连接器‡

Exasol‡

Google BigQuery*‡

Google Cloud SQL(兼容 MySQL)‡§

Google 云端硬盘‡

Hortonworks Hadoop Hive

Impala‡

Kyvos‡

MariaDB‡

Microsoft Azure SQL Database‡

Microsoft Azure Synapse Analytics‡

Microsoft SQL Server‡

MongoDB BI Connector‡

MySQL‡

OData‡

OneDrive*‡

Oracle‡

Pivotal Greenplum Database‡

PostgreSQL‡

Presto‡

Qubole Presto‡

Salesforce‡

SAP HANA(仅适用于虚拟连接)‡

Sharepoint 列表‡

SingleStore(前身为 MemSQL)‡

Snowflake‡

Spark SQL‡

Teradata**‡

Vertica‡

\* 有关在 Tableau Cloud 中对 Google BigQuery、OneDrive 和 Dropbox 连接使用 OAuth 2.0 标准的详细信息,请参见 [OAuth 连接](https://help.tableau.com/current/online/zh-cn/protected_auth.htm)。 \*\*Teradata Web 制作当前不支持查询分段功能。有关详细信息,请参见 [Teradata](https://help.tableau.com/current/pro/desktop/zh-cn/examples_teradata.htm)。 ‡支持虚拟连接(如果您有 Data Management)。有关详细信息,请参见 Tableau Cloud 帮助中的[关于虚拟连接和数据策略](https://help.tableau.com/current/online/zh-cn/dm_vconn_overview.htm)。 §Tableau Cloud 不支持使用 Google Cloud SQL 的 SSL。 ## 用户帐户和身份验证 第二个基本规划步骤是确定您希望用于 Tableau Cloud 用户的身份验证机制。 Tableau Cloud 上的默认用户帐户名为 TableauID。TableauID 需要多重身份验证 (MFA) 以确保安全访问 Tableau Cloud。请参见 Tableau Cloud 文档中的[关于多重身份验证和 Tableau Cloud](https://help.tableau.com/current/online/zh-cn/security_auth.htm#mfa_requirement)。 如果您的组织使用身份提供程序 (IdP) 来启用身份验证,您可能可以将其用于 Tableau Cloud。我们原生支持 Salesforce 身份验证和 Google OpenID。您还可以为 Azure、Okta、OneLogin、AD FS、PingOne 或任何支持标准 SAML 2.0 身份验证的 IdP 配置 SAML。 在继续之前,请查看 Tableau Cloud[身份验证](https://help.tableau.com/current/online/zh-cn/security_auth.htm)选项以制定计划。 如果您的组织使用 Azure AD、Okta 或 OneLogin 管理身份,那么您还可以在 Tableau Cloud 中自动预置用户和组。请参见[通过外部身份提供程序自动进行用户配置和组同步](https://help.tableau.com/current/online/zh-cn/scim_config_online.htm)。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. **您在此处**:规划您的迁移 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. [迁移虚拟连接](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2-5.htm) 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 迁移虚拟连接 您正在阅读 [Tableau Cloud 手动迁移指南](https://help.tableau.com/current/guides/migration/zh-cn/emg_intro.htm)。本指南介绍如何将用户少于 100 人的 Tableau Server 部署手动迁移到 Tableau Cloud。 如果您的组织依赖 Tableau Server 中的虚拟连接,您必须先迁移这些连接,然后才能继续。如果您没有为 Tableau Server 配置虚拟连接,请跳过此过程。 将虚拟连接从 Tableau Server 迁移到 Tableau Cloud 是一个手动过程。您必须在 Tableau Cloud 站点上重新创建虚拟连接(或已发布的数据源和虚拟连接),用新的虚拟连接替换每个工作簿中的数据源,然后将原始工作簿数据源中的任何计算公式复制/粘贴到更新的数据源。 **步骤 1:在 Tableau Cloud 上重新创建并测试虚拟连接** 请参见[创建虚拟连接](https://help.tableau.com/current/online/zh-cn/dm_vconn_create_conn.htm)。 **步骤 2:重新创建使用虚拟连接构建的已发布数据源** 您将需要重新创建使用虚拟连接的所有已发布数据源: 1. 按照[使用虚拟连接](https://help.tableau.com/current/online/zh-cn/dm_vconn_use.htm)中的过程进行操作。 2. 在 Tableau Cloud 中[创建已发布的数据源](https://help.tableau.com/current/pro/desktop/zh-cn/publish_datasources.htm),使其完全镜像原始 Server 数据源。以下详细信息必须匹配: - 原始数据源中的所有字段必须存在于新数据源中 - 字段名称:大小写也必须匹配 - 度量和维度必须从原始字段映射到新字段 - 默认字段设置。请参见[编辑字段的默认设置](https://help.tableau.com/current/pro/desktop/zh-cn/datafields_fieldproperties.htm)。 3. 记下数据源是否需要 Tableau Bridge。 **步骤 3:更新工作簿以替换以前的数据源** 对于要迁移到 Tableau Cloud 的每个工作簿,从 Tableau Desktop 运行以下过程: 1. 登录到 Tableau Server,导航到要迁移的工作簿,然后下载该工作簿。 2. 在工作簿中选择**“文件”>“关闭”**。不要关闭 Tableau Desktop。 3. 注销 Tableau Server:**“Server”>“登录 http://example” >“注销”**。连接到 Tableau Server 时您将收到有关注销的警告。单击**“确定”**。 4. 登录到 Tableau Cloud:**“Server”>“登录”>“Tableau Cloud”**。 5. 从 Desktop 主屏幕中,选择工作簿文件以再次将其打开。 您将收到两条_“无法完成操作”_错误消息。关闭错误消息。当工作表打开时,它将显示_“工作表不可用_”消息。不要从主窗口编辑连接。 6. 如果您已创建新的已发布数据源,请跳至步骤 8。否则,请导航到**“数据” >“新建数据源”**来更新数据源。 - 导航到您为此工作簿创建的新虚拟连接,然后单击**“连接”**。 - 打开原始 Tableau Server 工作簿并复制公式。将公式粘贴到更新的 Cloud 工作簿中。 7. 创建与先前数据源完全匹配的新数据源。字段名称必须完全匹配。 8. 替换数据源:在“数据”选项卡上,右键单击刚刚创建的数据源,然后单击**“替换数据源”**。在**“替换数据源”**中,在**“替换”**选择器中指定正确的数据源,然后单击**“确定”**。 9. 右键单击已发布数据源,并单击**“关闭”**。 10. 发布数据源: - 单独到 Tableau Cloud,选择**“发布”>“数据源”>“数据源名称”**。 - 嵌入工作簿中,选择**“发布”>“工作簿”**。 ## 迁移工作流程 本指南根据迁移到 Tableau Cloud 的分步过程进行组织: 1. [规划您的迁移](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part1.htm) 2. [创建和配置 Tableau Cloud 站点](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part2.htm) 3. **您在此处**:迁移虚拟连接 4. [将数据源、工作簿和 Prep 流程迁移到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part3.htm#clou) 5. [为 Tableau Cloud 重新创建刷新计划](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part4.htm) 6. [为迁移的用户配置权限和内容访问](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part5.htm) 7. [将剩余用户添加到 Tableau Cloud](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part6.htm) 8. [最终用户迁移检查清单](https://help.tableau.com/v0.0/guides/migration/zh-cn/cloud_migration_part7.htm) [跳转到主要内容](#main-content) # 附录 - AWS 部署工具箱 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 本主题包括在 AWS 中部署时参考架构的工具和备用部署选项。具体而言,本主题描述了如何自动完成整个 EDG 中描述的示例 AWS 部署。 ## TabDeploy4EDG 自动安装脚本 [TabDeploy4EDG 脚本](https://help.tableau.com/samples/en-us/edg/tabdeploy4edg.txt)自动执行[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm)中描述的四节点 Tableau 部署。如果您遵循本指南中描述的示例 AWS/Linux 实施,那么您可能能够运行 TabDeploy4EDG。 **要求。**若要运行该脚本,您必须根据[第 3 部分 - 准备 Tableau Server 企业部署](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm)中的示例实现来准备和配置 AWS 环境: - VPC、子网和安全组已按所述方式进行配置。IP 地址不必与示例实现中显示的地址相匹配。 - 运行最新、更新的 AWS Linux 2 版本的四个 EC2 实例 - PostgreSQL 已安装并已按照[安装、配置 PostgreSQL 和创建 PostgreSQL 的 tar 备份](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Install,) 中所述方式进行配置。 - 步骤 1 tar 备份文件位于安装了 PostgreSQL 的 EC2 实例上,如[进行 PostgreSQL 步骤 1 tar 备份](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Take)中所述。 - 将运行 Tableau Server 部署的节点 1 的 EC2 实例已配置为与 PostgreSQL 通信,如[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Configur)中所述。 - 您已使用来自堡垒主机的 SSH 会话登录到每个 EC2 实例。 该脚本大约需要 1.5-2 小时来安装和配置四个 Tableau 服务器。该脚本根据参考架构的规定设置配置 Tableau。该脚本执行以下操作: - 如果指定 PostgreSQL 主机的 tar 文件的路径,则还原 PostgreSQL 主机的第 1 阶段备份。 - 清除所有节点上的现有 Tableau 安装。 - 在所有节点上运行 `sudo yum update`。 - 将 Tableau rpm 包下载并复制到每个节点。 - 下载并安装每个节点的依赖项。 - 创建 `/app/tableau_server` 并在所有节点上安装包。 - 使用本地身份存储安装节点 1,并使用 PostgreSQL 配置外部存储库。 - 执行节点 2-节点 4 的引导程序安装和初始配置。 - 删除引导程序文件和 TabDeploy4EDG 的配置文件。 - 根据参考架构规范跨 Tableau 集群配置服务。 - 验证安装并返回每个节点的状态。 **下载脚本并复制到堡垒主机** 1. 从 [TabDeploy4EDG 示例页面](https://help.tableau.com/samples/en-us/edg/tabdeploy4edg.txt)复制脚本,并将代码粘贴到名为 `TabDeploy4EDG` 的文件中。 2. 将文件保存到充当堡垒主机的 EC2 主机上的主目录。 3. 运行以下命令以更改文件模式以使其可执行: sudo chmod +x TabDeploy4EDG **运行 TabDeploy4EDG** TabDeploy4EDG 必须从堡垒主机运行。该脚本编写时假设您正在 ssh 转发代理的上下文中运行,如[示例:连接到 AWS 中的堡垒主机](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm#Example:)中所述。如果您没有使用 ssh 转发代理上下文运行,那么在整个安装过程中将提示您输入密码。 1. 创建、编辑和保存注册文件 (`registration.json`)。该文件必须是格式正确的 json 文件。复制并自定义以下模板: { "zip" : "97403", "country" : "USA", "city" : "Springfield", "last\_name" : "Simpson", "industry" : "Energy", "eula" : "yes", "title" : "Safety Inspection Engineer", "phone" : "5558675309", "company" : "Example", "state" : "OR", "department" : "Engineering", "first\_name" : "Homer", "email" : "homer@example.com" } 2. 运行以下命令以生成模板配置文件: ./TabDeploy4EDG -g edg.config 3. 打开配置文件进行编辑: sudo nano edg.config 至少,您必须添加每个 EC2 主机的 IP 地址、注册文件的文件路径,以及有效的许可证密钥。 4. 完成配置文件的编辑后,保存该文件并将其关闭。 5. 若要运行 TabDeploy4EDG,请运行以下命令: ./TabDeploy4EDG -f edg.config ## 示例:使用 Terraform 自动完成 AWS 基础设施部署 本部分介绍如何配置和运行 Terraform 以在 AWS 中部署 EDG 参考架构。此处提供的示例 Terraform 配置部署了一个 AWS VPC,其中包含[第 3 部分 - 准备 Tableau Server 企业部署](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm)中描述的子网、安全组和 EC2 实例。 Tableau 示例网站上提供了示例 Terraform 模板,网址为 [https://help.tableau.com/samples/en-us/edg/edg-terraform.zip](https://help.tableau.com/samples/en-us/edg/edg-terraform.zip) 。必须为您的组织配置和自定义这些模板。本部分提供的配置内容介绍了您必须自定义才能部署的最低所需模板更改。 ### 目标 此处提供的 Terraform 模板和内容旨在提供一个工作示例,使您能够在开发测试环境中快速部署 EDG。 我们已尽最大努力测试和记录示例 Terraform 部署。但是,使用 Terraform 在生产环境中部署和维护 EDG 需要 Terraform 专业知识,这超出了本示例的范围。Tableau 不为此处记录的示例 Terraform 解决方案提供支持。 ### 结束状态 按照本部分的过程在 AWS 中设置 VPC,该 VPC 的功能等同于[第 3 部分 - 准备 Tableau Server 企业部署](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm)中指定的 VPC。 ![Tableau Server 的 AWS 架构图。](/tableau/next/zh-cn/guides/enterprise-deployment/zh-cn/Img/edg-vpc-terraform.png) 本部分中的示例 Terraform 模板和支持内容: - 按上文所示方式创建具有弹性 IP 地址、两个可用区和子网组织的 VPC(IP 地址不同) - 创建 Bastion、Public、Private 和 Data 安全组。 - 在安全组上设置大多数入口和出口规则。在 Terraform 运行后,您将需要编辑安全组。 - 创建以下 EC2 主机(每个都运行 AWS Linux2):堡垒、代理 1 代理 2、Tableau 节点 1、Tableau 节点 2、Tableau 节点 3、Tableau 节点 4。 - 未创建 PostgreSQL 的 EC2 主机。您必须在 Data 安全组中手动创建 EC2,然后按照[安装、配置 PostgreSQL 和创建 PostgreSQL 的 tar 备份](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm#Install,)中所述安装和配置 PostgreSQL。 ### 要求 - AWS 帐户 - 您必须有权访问允许您创建 VPC 的 AWS 账户。 - 如果您从 Windows 计算机运行 Terraform,则需要安装 AWS CLI。 - 您的 AWS 帐户中可用的弹性 IP 地址。 - 在 AWS Route 53 中注册的域。Terraform 将在 Route 53 中创建一个 DNS 区域和相关的 SSL 证书。因此,运行 Terraform 的配置文件也必须在 Route 53 中具有适当的权限。 ### 开始之前 - 此过程中的命令行示例适用于带有 Apple OS 的终端。如果您在 Windows 上运行 Terraform,您可能需要根据需要调整带有文件路径的命令。 - Terraform 项目由许多文本配置文件(.tf 文件扩展名)组成。您可以通过自定义这些文件来配置 Terraform。如果您没有强大的文本编辑器,请安装 Atom 或 Text++。 - 如果您要与他人共享 Terraform 项目,我们建议将项目存储在 Git 中以进行变更管理。 ### 步骤 1 - 准备环境 #### A. 下载并安装 Terraform [https://www.terraform.io/downloads](https://www.terraform.io/downloads) #### B. 生成公私钥对 这是您将用于访问 AWS 和生成的 VPC 环境的密钥。当您运行 Terraform 时,您将包括公钥。 打开终端并运行以下命令: 1. Create a private key. For example, `my-key.pem`: openssl genrsa -out my-key.pem 1024 2. 创建公钥。此密钥格式不用于 Terraform。您稍后将在此过程中将其转换为 ssh 密钥: openssl rsa -in my-key.pem -pubout > my-key.pub 3. 设置私钥的权限: sudo chmod 0600 my-key.pem 在 Windows 上设置权限: - 在 Windows 资源管理器中找到该文件,右键单击它,然后选择“属性”s。导航到“安全”选项卡,然后单击“高级”。 - 将所有者更改为您,禁用继承并删除所有权限。授予自己完全控制权,然后单击“保存”。将文件标记为只读。 4. 创建 ssh 公钥。这是稍后您将复制到 Terraform 中的密钥。 ssh-keygen -y -f my-key.pem >my-key-ssh.pub #### C. 下载项目并添加 state 目录 1. 下载并解压缩 [EDG Terraform 项目](https://help.tableau.com/samples/en-us/edg/edg-terraform.zip),并将它们保存到本地计算机。解压缩下载的项目后,您将拥有一个顶级目录 edg-terraform 和一系列子目录。 2. 创建一个名为 `state` 的目录,作为顶级 `edg-terraform` 目录的对等目录。 ### 步骤 2:自定义 Terraform 模板 您必须自定义 Terraform 模板以适合您的 AWS 和 EDG 环境。此处的示例提供了大多数组织需要进行的最少模板自定义。您的特定环境可能需要其他定制。 本部分按模板名称组织。 在继续执行_“步骤 3 - 运行 Terraform”_之前,请务必保存所有更改。 #### versions.tf There are three instances of `versions.tf` files where the `required_version` field must match the version of terraform.exe you're using. Check the version of terraform (`terraform.exe -version`) and update each of the following instances: - `edg-terraform\versions.tf` - `edg-terraform\modules\proxy\versions.tf` - `edg-terraform\modules\tableau_instance\versions.tf` #### key-pair.tf 1. 打开您在步骤 1B 中生成的公钥并复制该密钥: less my-key-ssh.pub Windows:复制公钥的内容。 2. 将公钥字符串复制到 public\_key 参数中,例如: resource "aws\_key\_pair" "tableau" { key\_name = "my-key" public\_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQ (truncated example) dZVHambOCw==" Ensure that the `key_name` value is unique in the datacenter or `terraform apply` will fail. #### locals.tf Update `user.owner` to your name or alias. The value you enter here will be used for the "Name" tag in AWS on the resources that Terraform creates. #### providers.tf 1. 根据组织的要求添加标签。例如: default\_tags { tags = { "Application" = "tableau", "Creator" = "alias@example.com", "DeptCode" = "8675309", "Description" = "EDG", "Environment" = "test", "Group" = "itcloud@example.com" } } 2. If using `provider`, comment out the `assume_role` lines: /\* assume\_role { role\_arn = "arn:aws:iam::310946706895:role/terraform-backend" session\_name = "terraform" }\*/ #### elb.tf Under `'resource "aws_lb" "tableau" {'` choose a unique value to use for `name` and `tags.Name`. If another AWS load balancer has the same name in the datacenter, then `terraform apply` will fail. Add `idle_timeout`: resource "aws\_lb" "tableau" { name = "edg-again-alb" load\_balancer\_type = "application" subnets = \[for subnet in aws\_subnet.public : subnet.id\] security\_groups = \[aws\_security\_group.public.id\] drop\_invalid\_header\_fields = true idle\_timeout = 400 tags = { Name = "edg-again-alb" } } #### variables.tf 更新根域名。此名称必须与您在 Route 53 中注册的域相匹配。 variable "root\_domain\_name" { default = "example.com" } 默认情况下,将为 VPC DNS 域名指定子域 `tableau`。若要更改此设置,请更新 `subdomain`: variable "subdomain" { default = "tableau" } #### modules/tableau\_instance/ec2.tf There are two ec2.tf files in the project. This customization is for the Tableau instance of the ec2.tf in the directory: `modules/tableau_instance/ec2.tf`. - 如果需要,添加标签 blob: tags = { "Name" : var.ec2\_name, "user.owner" = "ALIAS", "Application" = "tableau", "Creator" = "ALIAS@example.com", "DeptCode" = "8675309", "Description" = "EDG", "Environment" = "test", "Group" = "itcloud@example.com" } } - 根据需要,可选择更新您的存储以处理您的数据要求: 根卷: root\_block\_device { volume\_size = 100 volume\_type = "gp3" } 应用程序卷: resource "aws\_ebs\_volume" "tableau" { availability\_zone = data.aws\_subnet.tableau.availability\_zone size = 500 type = "gp3" } ### 步骤 3 - 运行 Terraform #### A. 初始化 Terraform 在终端中,切换到 `edg-terraform` 目录并运行以下命令: terraform init 如果初始化成功,继续执行下一步。如果初始化失败,请按照 Terraform 输出中的说明进行操作。 #### B. 规划 Terraform 从同一目录中,运行 plan 命令: terraform plan 该命令可以多次运行。根据需要运行多次以修复错误。当此命令运行无错误时,继续执行下一步。 #### C. 应用 Terraform 从同一目录中,运行 apply 命令: terraform apply Terraform will prompt you to verify deployment, type `Yes`. #### 可选:销毁 Terraform 您可以通过运行 destroy 命令销毁整个 VPC: terraform destroy destroy 命令只会销毁它创建的内容。如果您对 AWS 中的某些对象(即安全组、子网等)进行了手动更改,则 `destroy` 将失败。若要退出失败/挂起的销毁操作,请键入 `Control + C`。然后,您必须手动将 VPC 清理到 Terraform 最初创建它时的状态。然后,您可以运行 `destroy` 命令。 ### 步骤 4 - 连接到堡垒 所有命令行连接都通过 TCP 22(SSH 协议)上的堡垒主机进行。 1. 在 AWS 中,在 bastion 安全组中创建一个入站规则(**“AWS”**\>**“Security Groups”(安全组)**\>**“Bastion SG”(堡垒 SG)**\>**“Edit inbound rules”(编辑入站规则)**),并创建一个规则以允许来自将运行终端命令的 IP 地址或子网掩码的 SSH (TCP 22) 连接. 可选:您可能会发现,在部署期间允许在 Private 组和 Public 组中的 EC2 实例之间复制文件很有帮助。创建入站 SSH 规则: - Private:创建入站规则以允许来自 Public 的 SSH - Public:创建入站规则以允许来自 Private 和 Public 的 SSH 2. 使用您在步骤 1.B 中创建的 pem 密钥连接到堡垒主机: **在 Mac 终端上:** 从存储 pem 密钥的目录运行以下命令: ssh-add —apple-use-keychain .pem If you get a warning about private key being accessible by others, then run this command: `chmod 600 ` and then run the `ssh-add` command again. Connect to the bastion host with this command: `ssh -A ec2-user@IPaddress` For example: `ssh -A ec2-user@3.15.12.112`. **在 Windows 上,使用 PuTTY 和 Pageant:** 1. 从 pem 密钥创建 ppk:使用 PuTTY 密钥生成器。打开您在步骤 1.B 中创建的 pem 密钥。密钥导入后,点击**“Save private key”(保存私钥)**。这将创建一个 ppk 文件。 2. 在 PuTTY 中 - 打开配置并进行以下更改: - “Sessions”(会话)>“Host Name”(主机名):添加堡垒机的 IP 地址。 - “Sessions”(会话)>“Port”(端口):22 - “Connection”(连接)>“Data”(数据)>“Auto-login username”(自动登录用户名):ec2-user - “Connection”(连接)>”SSH”>“Auth”(授权)>“Allow agent forwarding”(允许代理转发) - “Connection”(连接)>“SSH”>“Auth”(授权)> 对于私钥,单击“Browse”(浏览)并选择您刚刚创建的 .ppk 文件。 3. 安装 Pageant 并将 ppk 加载到应用程序中。 ### 步骤 5:安装 PostgreSQL Terraform 模板不安装 PostgreSQL 用作外部存储库。但是,会创建关联的安全组和子网。如果您要在运行 PostgreSQL 的 EC2 实例上安装外部存储库,则必须按照[第 3 部分 - 准备 Tableau Server 企业部署](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part3.htm)中所述部署 EC2 实例。 然后安装、配置 PostgreSQL 并创建 PostgreSQL 的 tar 备份,如[第 4 部分 - 安装并配置 Tableau Server](https://help.tableau.com/v0.0/guides/enterprise-deployment/zh-cn/edg_part4.htm)中所述。 ### 步骤 6 -(可选)运行 DeployTab4EDG TabDeploy4EDG 会自动执行第 4 部分中描述的四节点 Tableau 部署的实施。请参见[TabDeploy4EDG 自动安装脚本](#EDGSetup)。 [跳转到主要内容](#main-content) # 附录 - 具有 Apache 示例部署的 Web 层 **注意**:Tableau 不再更新《Enterprise 部署指南》。尽管我们仍然推荐将此处描述的参考架构作为 AWS 中 Tableau Server 的有效部署模型,但自上次更新以来,特定的配置过程可能已更改。请始终将这些步骤与最新的 [Tableau Server 帮助](https://help.tableau.com/current/server/zh-cn/get_started_server.htm)文档进行交叉引用,以确保准确性。 本主题提供了一个端到端过程,该过程描述了如何在示例 AWS 参考架构中实现 Web 层:示例配置由以下组件组成: - AWS 应用程序负载平衡器 - Apache 代理服务器 - Mellon 身份验证模块 - Okta IdP - SAML 身份验证 **注意**:本部分中提供的示例 Web 层配置包括部署第三方软件和服务的详细过程。我们已尽最大努力验证和记录启用 Web 层方案的过程。但是,第三方软件可能会发生变化,或者您的方案可能与此处描述的参考架构不同。请参考第三方文档以获得权威的配置详细信息和支持。 此部分中的 Linux 示例显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 在此示例中部署 Web 层遵循逐步配置和验证过程。核心 Web 层配置包含以下用于在 Tableau 和 Internet 之间启用 HTTP 的步骤。Apache 运行并配置为在 AWS 应用程序负载平衡器后面进行反向代理/负载平衡: 1. 安装 Apache 2. 配置反向代理以测试与 Tableau Server 的连接 3. 在代理上配置负载平衡 4. 配置 AWS 应用程序负载平衡器 设置 Web 层并验证与 Tableau 的连接后,使用外部提供程序配置身份验证。 ## 安装 Apache 在两个 EC2 主机(代理 1 和代理 2)上运行以下过程。如果您根据参考架构示例在 AWS 中进行部署,那么您应该有两个可用区并在每个可用区中运行单个代理服务器。。 1. 安装 Apache: sudo yum update -y sudo yum install -y httpd 2. 配置在重启时启动 Apache: sudo systemctl enable --now httpd 3. 验证您安装的 httpd 版本是否包括 `proxy_hcheck_module`: sudo httpd -M `proxy_hcheck_module` 为必需。如果您的 httpd 版本不包含此模块,则更新到包含它的 httpd 版本。 ## 配置代理以测试与 Tableau Server 的连接 在其中一台代理主机(代理 1)上运行此过程。此步骤的目的是验证 Internet 到您的代理服务器与私有安全组中的 Tableau Server 之间的连接。 1. 创建一个名为 `tableau.conf` 的文件,并将其添加到 `/etc/httpd/conf.d` 目录。 复制以下代码,并使用 Tableau Server 节点 1 的专用 IP 地址指定 `ProxyPass` 和 `ProxyPassReverse` 键。 **重要信息**:下面显示的配置不安全,不应在生产中使用。此配置仅应在安装过程中用于验证端到端连接。 举例来说,如果节点 1 的专用 IP 地址是 `10.0.30.32`,则 `tableau.conf` 文件的内容将为: ProxyPreserveHost On ProxyPass "/" "http://10.0.30.32:80/" ProxyPassReverse "/" "http://10.0.30.32:80/" 2. 重启 httpd: sudo systemctl restart httpd ### 验证:基本拓扑配置 您应该能够通过浏览到 `http://` 来访问 Tableau Server 管理员页面。 如果您的浏览器中未加载 Tableau Server 登录页面,请在代理 1 主机上执行以下故障排除步骤: - 作为故障排除的第一步,停止然后启动 httpd。 - 仔细检查 `tableau.conf` 文件。验证节点 1 专用 IP 是否正确。验证双引号并仔细检查语法。 - 使用节点 1 专用 IP 地址在反向代理服务器上运行 `curl` 命令,例如 `curl 10.0.1.90`。如果 shell 不返回 html,或者如果返回 Apache 测试网页的 html,请验证“公共”和“专用”安全组之间的协议/端口配置。 - 使用代理 1 专用 IP 地址运行 `curl` 命令,例如 `curl 10.0.0.163`。如果 shell 返回 Apache 测试网页的 html 代码,则说明代理文件配置不正确。 - 在对代理文件或安全组进行任何配置更改之后,请始终停止/启动 httpd (`sudo systemctl restart httpd`)。 - 确保 TSM 在节点 1 上运行。 ## 在代理上配置负载平衡 1. 在您创建 `tableau.conf` 文件的同一代理主机(代理 1)上,移除现有的虚拟主机配置,并编辑文件以包含负载平衡逻辑。 例如: ServerAdmin admin@example.com #Load balancing logic. ProxyHCExpr ok234 {%{REQUEST\_STATUS} =~ /^\[234\]/} Header add Set-Cookie "ROUTEID=.%{BALANCER\_WORKER\_ROUTE}e; path=/" env=BALANCER\_ROUTE\_CHANGED #Replace IP addresses below with the IP addresses to the Tableau Servers running the Gateway service. BalancerMember http://10.0.3.40/ route=1 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico BalancerMember http://10.0.4.151/ route=2 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico ProxySet stickysession=ROUTEID ProxyPreserveHost On ProxyPass / balancer://tableau/ ProxyPassReverse / balancer://tableau/ 2. 停止然后启动 httpd: sudo systemctl stop httpd sudo systemctl start httpd 3. 通过浏览到代理 1 的公共 IP 地址来验证配置。 ## 将配置复制到第二个代理服务器 1. 从代理 1 中复制 `tableau.conf` 文件,并将其保存到代理 2 主机上的 `/etc/httpd/conf.d` 目录。 2. 停止然后启动 httpd: sudo systemctl stop httpd sudo systemctl start httpd 3. 通过浏览到代理 2 的公共 IP 地址来验证配置。 ## 配置 AWS 应用程序负载平衡器 将负载平衡器配置为 HTTP 侦听器。此处的过程描述了如何在 AWS 中添加负载平衡器。 #### 步骤 1:创建目标组 标组是定义运行代理服务器的 EC2 实例的 AWS 配置。这些是来自 LBS 的流量的目标。 1. “EC2”>“目标组”\>“创建目标组” 2. 在“创建”页面上: - 输入目标组名称,例如 `TG-internal-HTTP` - 目标类型:实例 - 协议:HTTP - 端口:80 - VPC:选择您的 VPC - 在“运行状况检查”\>“高级运行状况检查设置”\>“成功代码”下,将代码列表追加为:`200,303`。 - 单击“创建” 3. 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑”。 - 选择正在运行代理应用程序的 EC2 实例(或单个实例,如果您一次配置一个),然后单击“添加到已注册”。 - 单击“保存”。 #### 步骤 2:启动负载平衡器向导 1. “EC2”>“负载平衡器”\>“创建负载平衡器” 2. 在“选择负载平衡器类型”页面上,创建一个应用程序负载平衡器。 **注意**:为配置负载均衡器而显示的 UI 在 AWS 数据中心之间不一致。下面的过程“向导配置”映射到从**“步骤 1 配置负载均衡器”**开始的 AWS 配置向导。  如果您的数据中心在页面底部包含**“创建负载均衡器”**按钮的单个页面中显示所有配置,请按照下面的“单页面配置”过程进行操作。 1. “配置负载平衡器”页面: - 指定名称 - 方案:面向互联网(默认) - IP 地址类型:ip1v4(默认) - 侦听器(侦听器和路由): 1. 保留默认的 HTTP 侦听器 2. 单击“添加侦听器”并添加 `HTTPS:443` - VPC:选择您已安装所有内容的 VPC - 可用区: - 为您的数据中心区域选择 **a** 和 **b** - 在每个相应的下拉选择器中,选择 Public 子网(您的代理服务器所在的位置)。 - 单击:“配置安全设置” 2. “配置安全设置”页面 - 上载您的公共 SSL 证书。 - 单击“下一步:配置安全组”。 3. “配置安全组”页面: - 选择 Public 安全组。如果选择了“默认”安全组,则清除该选择。 - 单击“下一步:配置路由”。 4. “配置路由”页面 - 目标组:现有目标组。 - 名称:选择您之前创建的目标组 - 单击“下一步:注册目标”。 5. “注册目标”页面 - 应会显示您之前配置的两个代理服务器实例。 - 单击“下一步:审查”。 6. “查看”页面 单击“创建”。 基本配置 - 指定名称 - 方案:面向互联网(默认) - IP 地址类型:ip1v4(默认) 网络映射 - VPC:选择您已安装所有内容的 VPC - 映射: - 为您的数据中心区域选择 **a** 和 **b**(或类似的)可用区 - 在每个相应的下拉选择器中,选择 Public 子网(您的代理服务器所在的位置)。 安全组 - 选择 Public 安全组。如果选择了“默认”安全组,则清除该选择。 侦听器和路由 - 保留默认的 HTTP 侦听器。对于“默认操作”,指定您之前设置的目标组。 - 单击“添加侦听器”并添加 `HTTPS:443`。对于“默认操作”,指定您之前设置的目标组。 安全侦听器设置 - 上载您的公共 SSL 证书。 单击“创建负载平衡器”。 #### 步骤 3:启用粘性 1. 创建负载平衡器后,您必须在目标组上启用粘性。 - 打开 AWS 目标组页面(“EC2”\>“负载平衡”\>“目标组”),选择您刚刚设置的目标组实例。在“操作”菜单上,选择“编辑属性”。 - 在“编辑属性”页面上,选择“粘性” ,指定持续时间 `1 day`,然后保存更改。 2. 在负载平衡器上,在 HTTP 侦听器上启用粘性。选择您刚刚配置的负载平衡器,然后单击“侦听器”选项卡: - 对于“HTTP:80”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。删除现有 THEN 规则,并通过单击“添加操作”\>“转发至...”替换该规则。在生成的 THEN 配置中,指定您创建的相同目标组。在“组级粘性”下,启用粘性并将持续时间设置为 1 天。保存设置,然后单击“更新”。 #### 步骤 4:在负载平衡器上设置空闲超时 在负载平衡器上,将空闲超时更新为 400 秒。 选择您为此部署配置的负载平衡器,然后单击“操作”\>“编辑属性”。将“空闲超时”设置为 `400` 秒,然后单击“保存”。 #### 步骤 5:验证 LBS 连接 打开 AWS 负载平衡器页面(“EC2”\>“负载平衡器”),选择您刚刚设置的负载平衡器实例。 在“描述”下,复制 DNS 名称并将其粘贴到浏览器中以访问 Tableau Server 登录页面。 如果您收到 500 级错误,那么您可能需要重新启动代理服务器。 ## 使用公共 Tableau URL 更新 DNS 使用 AWS 负载平衡器描述中的域 DNS 区域名称在您的 DNS 中创建 CNAME 值。流向您的 URL (tableau.example.com) 的流量应发送到 AWS 公共 DNS 名称。 ## 验证连接 DNS 更新完成后,您应该能够通过输入您的公共 URL(例如 `https://tableau.example.com`)导航到 Tableau Server 登录页面。 ## 示例身份验证配置:带有外部 IdP 的 SAML 以下示例介绍如何使用 Okta IdP 和 Mellon 身份验证模块为在 AWS 参考架构中运行的 Tableau 部署设置和配置 SAML。该示例介绍了如何配置 Tableau Server 和 Apache 代理服务器以使用 HTTP。Okta 将通过 HTTPS 向 AWS 负载平衡器发送请求,但所有内部流量都将通过 HTTP 传输。针对此场景进行配置时,请在设置 URL 字符串时注意 HTTP 与 HTTPS 协议。 此示例使用 Mellon 作为反向代理服务器上的预身份验证服务提供程序模块。此配置可确保只有经过身份验证的流量连接到 Tableau Server,Tableau Server 还充当 Okta IdP 的服务提供商。因此,您必须配置两个 IdP 应用程序:一个用于 Mellon 服务提供商,另一个用于 Tableau 服务提供商。 ### 创建 Tableau 管理员帐户 配置 SAML 时的一个常见错误是在启用 SSO 之前忘记在 Tableau Server 上创建管理员帐户。 第一步是在 Tableau Server 上创建一个具有服务器管理员角色的帐户。对于示例 Okta 场景,用户名必须采用有效电子邮件地址格式,例如 user@example.com。您必须为此用户设置密码,但在配置 SAML 后将不再使用该密码。 ### 配置 Okta 预身份验证应用程序 本部分描述的端到端场景需要两个 Okta 应用程序: - Okta 预认证应用程序 - Okta Tableau Server 应用程序 这些应用程序中的每一个都与您需要分别在反向代理和 Tableau Server 上配置的不同元数据相关联。 此过程描述了如何创建和配置 Okta 预身份验证应用程序。在本主题的后面,您将创建 Okta Tableau Server 应用程序。有关用户受限的免费测试 Okta 帐户,请参见 [Okta 开发人员网页](https://developer.okta.com/signup/)。 为 Mellon 预身份验证服务提供商创建 SAML 应用程序集成。 1. 打开 Okta 管理仪表板 >“应用程序”\>“创建应用程序集成”。 2. 在“创建新的应用程序集成”页面上,选择“SAML 2.0”,然后单击“下一步”。 3. 在“常规设置”选项卡上,输入应用程序名称(例如 `Tableau Pre-Auth`),然后单击“下一步”。 4. 在“配置 SAML”选项卡上: - 单点登录 (SSO) URL。单点登录 URL 中路径的最后一个元素在 `mellon.conf` 配置文件称为 `MellonEndpointPath` ,该配置文件将在本过程的后面进行介绍。您可以指定您想要的任何端点。在此示例中,`sso` 是端点。最后一个元素 `postResponse` 是必须的:`https://tableau.example.com/sso/postResponse`。 - 清除复选框:“将此用于收件人 URL 和目标 URL”。 - 收件人 URL:与 SSO URL 相同,但使用 HTTP。例如,`http://tableau.example.com/sso/postResponse`。 - 目标 URL:与 SSO URL 相同,但带有 HTTP。例如,`http://tableau.example.com/sso/postResponse`。 - 受众 URI(SP 实体 ID)。例如,`https://tableau.example.com`。 - 名称 ID 格式:`EmailAddress` - 应用程序用户名:`Email` - 属性声明:名称 = `mail`;名称格式 = `Unspecified`;值 = `user.email`。 单击“下一步”。 5. 在“反馈”选项卡上,选择: - 我是添加内部应用程序的 Okta 客户 - 这是我们创建的内部应用程序 - 单击“完成”。 6. 创建预授权 IdP 元数据文件: - 在 Okta 中:“Applications”(应用程序)\>“Applications”(应用程序)\> 您的新应用程序(例如,`Tableau Pre-Auth`)>“Sign On”(登录) - 在“SAML 签名证书”旁边,单击“查看 SAML 设置说明”。 - 在“如何针对 <预授权> 应用程序配置 SAML 2.0”页面上,向下滚动到“可选”部分,向您的 SP 提供商提供以下 IDP 元数据。 - 复制 XML 字段的内容并将它们保存在一个名为 `pre-auth_idp_metadata.xml` 的文件中。 7. (可选)配置多重身份验证: - 在 Okta 中:“Applications”(应用程序)\>“Applications”(应用程序)\> 您的新应用程序(例如,`Tableau Pre-Auth`)>“Sign On”(登录) - 在“Sign On Policy”(登录策略)下,单击“Add Rule”(添加规则)。 - 在“App Sign On Rule”(应用程序登录规则)上,指定名称和不同的 MFA 选项。若要测试功能,您可以将所有选项保留为默认值。但是,在“Actions”(操作)下,您必须选择“Prompt for factor”(因素提示),然后指定用户必须登录的频率。单击“Save”(保存)。 ### 创建和分配 Okta 用户 1. 在 Okta 中,使用您在 Tableau 中创建的相同用户名 (user@example.com) 创建一个用户:“Directory”(目录)\>“People”(人员)\>“Add person”(添加人员)。 2. 创建用户后,将新的 Okta 应用程序分配给该人员:单击用户名,然后在“Assign Application”(分配应用程序)中分配应用程序。 ## 安装 Mellon 进行预身份验证 1. 在运行 Apache 代理服务器的 EC2 实例上,运行以下命令以安装 PHP 和 Mellon 模块: sudo yum install httpd php mod\_auth\_mellon 2. 创建 `/etc/httpd/mellon` 目录 ## 将 Mellon 配置为预身份验证模块 在两个代理服务器上运行此过程。 您必须有依据 Okta 配置创建的 `pre-auth_idp_metadata.xml` 文件的副本。 1. 更改目录: cd /etc/httpd/mellon 2. 创建服务提供程序元数据。运行 `mellon_create_metadata.sh` 脚本。您必须在命令中包含您组织的实体 ID 和返回 URL。 返回 URL 在 Okta 中称为_单点登录 URL_。返回 URL 中路径的最后一个元素在 `mellon.conf` 配置文件中称为 `MellonEndpointPath`,该配置文件将在本过程的后面进行介绍。在此示例中,我们指定 `sso` 作为端点路径。 例如: sudo /usr/libexec/mod\_auth\_mellon/mellon\_create\_metadata.sh https://tableau.example.com "https://tableau.example.com/sso" 该脚本返回服务提供商证书、密钥和元数据文件。 3. 重命名 `mellon` 目录中的服务提供商文件以便于阅读。我们将在文档中使用以下名称来引用这些文件: sudo mv \*.key mellon.key sudo mv \*.cert mellon.cert sudo mv \*.xml sp\_metadata.xml 4. 将 `pre-auth_idp_metadata.xml` 文件复制到同一文件夹。 5. 在 `/etc/httpd/conf.d` 目录中创建 `mellon.conf` 文件: sudo nano /etc/httpd/conf.d/mellon.conf 6. 将以下内容复制到 `mellon.conf` 中。 MellonSPPrivateKeyFile /etc/httpd/mellon/mellon.key MellonSPCertFile /etc/httpd/mellon/mellon.cert MellonSPMetadataFile /etc/httpd/mellon/sp\_metadata.xml MellonIdPMetadataFile /etc/httpd/mellon/pre-auth\_idp\_metadata.xml MellonEndpointPath /sso MellonEnable "info" 7. 将以下内容添加到现有 `tableau.conf` 文件中: 在 `` 块内部,添加以下内容。使用实体 ID 中的公共主机名更新 `ServerName` : DocumentRoot /var/www/html ServerName tableau.example.com ServerSignature Off ErrorLog logs/error\_sp.log CustomLog logs/access\_sp.log combined LogLevel info 在 `` 块外部添加 Location 块。使用顶级域更新 `MellonCookieDomain` 以保存 Cookie 信息,如下所示: AuthType Mellon MellonEnable auth Require valid-user MellonCookieDomain example.com 完整的 `tableau.conf` 文件看起来应类似于以下示例: ServerAdmin admin@example.com ProxyHCExpr ok234 {%{REQUEST\_STATUS} =~ /^\[234\]/} Header add Set-Cookie "ROUTEID=.%{BALANCER\_WORKER\_ROUTE}e; path=/" env=BALANCER\_ROUTE\_CHANGED BalancerMember http://10.0.3.36/ route=1 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico BalancerMember http://10.0.4.15/ route=2 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico ProxySet stickysession=ROUTEID ProxyPreserveHost On ProxyPass / balancer://tableau/ ProxyPassReverse / balancer://tableau/ DocumentRoot /var/www/html ServerName tableau.example.com ServerSignature Off ErrorLog logs/error\_sp.log CustomLog logs/access\_sp.log combined LogLevel info AuthType Mellon MellonEnable auth Require valid-user MellonCookieDomain example.com 8. 验证配置。运行以下命令: sudo apachectl configtest 如果配置测试返回错误,请修复所有错误并再次运行 configtest。一个成功的配置将返回,`Syntax OK` 。 9. 重启 httpd: sudo systemctl restart httpd ## 在 Okta 中创建 Tableau Server 应用程序 1. 在 Okta 仪表板中:“Applications”(应用程序)\>“Applications”(应用程序)\>“Browse App Catalog”(浏览应用程序目录) 2. 在“Browse App Integration Catalog”(浏览应用程序集成目录)中,搜索 `Tableau`,选择“Tableau Server”磁贴,然后单击“Add”(添加)。 3. 在“Add Tableau Server”(添加 Tableau Server) >“General Settings”(常规设置)”上,输入标签,然后单击“Next”(下一步)。 4. 在“Sign-On Options”(登录选项)中,选择“SAML 2.0”,然后向下滚动到“Advanced Sign-on Settings”(高级登录设置): - “SAML Entity ID”(SAML 实体 ID):输入公共 URL,例如 https://tableau.example.com。 - “Application user name format”(应用程序用户名格式):“Email”(电子邮件) 5. 单击“Identity Provider metadata”(身份提供程序元数据)链接以启动浏览器。复制浏览器链接。这是您在以下过程中配置 Tableau 时将使用的链接。 6. 单击“Done”(完成)。 7. 将新的 Tableau Server Okta 应用程序分配给您的用户 (user@example.com):单击用户名,然后在“Assign Application”(分配应用程序)中分配应用程序。 ### 在 Tableau Server 上为 IdP 启用 SAML 在 Tableau Server 节点 1 上运行此过程。 1. 从 Okta 下载 Tableau Server 应用程序元数据。使用您在上一过程中保存的链接: wget https://dev-66144217.okta.com/app/exk1egxgt1fhjkSeS5d7/sso/saml/metadata -O idp\_metadata.xml 2. 将 TLS 证书和相关密钥文件复制到 Tableau Server。密钥文件必须是 RSA 密钥。有关 SAML 证书和 IdP 要求的详细信息,请参见“_SAML 要求_ ([Linux](https://help.tableau.com/current/server-linux/zh-cn/saml_requ.htm))”。 为了简化证书管理和部署,以及作为安全最佳实践,我们建议使用由主要受信任的第三方证书颁发机构 (CA) 生成的证书。或者,您可以为 TLS 生成自签名证书或使用 PKI 中的证书。 如果您没有 TLS 证书,则可以使用下面的嵌入式过程生成自签名证书。 生成自签名证书 在 Tableau Server 节点 1 上运行此过程。 1. 生成签名根证书颁发机构 (CA) 密钥: openssl genrsa -out rootCAKey-saml.pem 2048 2. 创建根 CA 证书: openssl req -x509 -sha256 -new -nodes -key rootCAKey-saml.pem -days 3650 -out rootCACert-saml.pem 系统将提示您输入证书字段的值。例如: Country Name (2 letter code) \[XX\]:US State or Province Name (full name) \[\]:Washington Locality Name (eg, city) \[Default City\]:Seattle Organization Name (eg, company) \[Default Company Ltd\]:Tableau Organizational Unit Name (eg, section) \[\]:Operations Common Name (eg, your name or your server's hostname) \[\]:tableau.example.com Email Address \[\]:example@tableau.com 3. 创建证书和相关密钥(在下面的示例中为 `server-saml.csr` 和 `server-saml.key`)。证书的使用者名称必须与 Tableau 主机的公共主机名称匹配。使用者名称是使用 `-subj` 选项以`"/CN="` 格式设置的,例如: openssl req -new -nodes -text -out server-saml.csr -keyout server-saml.key -subj "/CN=tableau.example.com" 4. 使用您在上面创建的 CA 证书签署新证书。以下命令还将以 `crt` 格式输出证书: openssl x509 -req -in server-saml.csr -days 3650 -CA rootCACert-saml.pem -CAkey rootCAKey-saml.pem -CAcreateserial -out server-saml.crt 5. 将密钥文件转换为 RSA。Tableau 需要用于 SAML 的 RSA 密钥文件。若要转换密钥,请运行以下命令: openssl rsa -in server-saml.key -out server-saml-rsa.key 3. 配置 SAML。运行以下命令,指定您的实体 ID 和返回 URL,以及元数据文件、证书文件和密钥文件的路径: tsm authentication saml configure --idp-entity-id "https://tableau.example.com" --idp-return-url "https://tableau.example.com" --idp-metadata idp\_metadata.xml --cert-file "server-saml.crt" --key-file "server-saml-rsa.key" tsm authentication saml enable 4. 如果您的组织运行的是 Tableau Desktop 2021.4 或更高版本,则您必须运行以下命令以通过反向代理服务器启用身份验证。 Tableau Desktop 2021.2.1 - 2021.3 的版本无需运行此命令也可工作,前提是您的预身份验证模块(例如 Mellon)配置为允许保留顶级域 Cookie。 tsm configuration set -k features.ExternalBrowserOAuth -v false 5. 应用配置更改: tsm pending-changes apply ## 验证 SAML 功能 若要验证端到端 SAML 功能,请使用您在此过程开始时创建的 Tableau 管理员帐户通过公共 URL(例如 https://tableau.example.com)登录到 Tableau Server。 ## 验证故障排除 **错误请求**:这种情况下的一个常见错误是来自 Okta 的“错误请求”错误。当浏览器缓存来自先前 Okta 会话的数据时,通常会发生此问题。举例来说,如果您以 Okta 管理员身份管理 Okta 应用程序,然后尝试使用不同的启用 Okta 的帐户访问 Tableau,则来自管理员数据的会话数据可能会导致“错误请求”错误。如果即使在您清除本地浏览器缓存后此错误仍然存在,请尝试通过连接其他浏览器来验证 Tableau 方案。 “错误请求”错误的另一个原因是您在 Okta、Mellon 和 SAML 配置过程中输入的许多 URL 之一中的拼写错误。仔细检查所有这些 URL。 通常是 Apache 服务器上的 httpd `error.log` 文件将指定导致错误的 URL。 **未找到 - 在此服务器上找不到请求的 URL**:此错误表示许多配置错误之一。 如果用户使用 Okta 进行身份验证,然后收到此错误,则很可能是您在配置 SAML 时将 Okta 预身份验证应用程序上载到 Tableau Server。验证您是否在 Tableau Server 上配置了 Okta Tableau Server 应用程序元数据,而不是 Okta 预身份验证应用程序元数据 其他疑难解答步骤: - 仔细检查 `tableau.conf` 中是否有拼写错误或配置错误 - 查看 Okta 预身份验证应用程序设置。确保按照本主题中指定的方式设置 HTTP 与 HTTPS 协议。 - 在两个代理服务器上重新启动 httpd。 - 验证 `sudo apachectl configtest` 在两个代理服务器上是否都返回“Syntax OK”。 - 验证测试用户是否已分配给 Okta 中的两个应用程序。 - 验证是否在负载平衡器和关联的目标组上设置了粘性 ## 配置从负载平衡器到 Tableau Server 的 SSL/TLS 一些组织需要从客户端到后端服务的端到端加密通道。到目前为止所描述的默认参考架构指定了从客户端到在您组织的 Web 层中运行的负载均衡器的 SSL。 若要配置从从负载平衡器到 Tableau Server 的 SSL,您必须: - 在 Tableau 和代理服务器上安装有效的 SSL 证书。 - 配置从负载平衡器到反向代理服务器的 SSL。 - 配置从代理服务器到 Tableau Server 的 SSL。 - 您还可以配置从 Tableau Server 到 PostgreSQL 实例的 SSL。 本主题的其余部分在示例 AWS 示例参考架构的上下文中描述了此实现。 ## 示例:在 AWS 参考架构中配置 SSL/TLS 本节介绍如何在 Tableau 上配置 SSL 以及在 Apache 代理服务器上配置 SSL这些都在示例 AWS 参考架构中运行。 此示例中的 Linux 程序显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。 ### 步骤 1:收集证书和相关密钥 为了简化证书管理和部署,以及作为安全最佳实践,我们建议使用由主要受信任的第三方证书颁发机构 (CA) 生成的证书。 或者,您可以为 TLS 生成自签名证书或使用 PKI 中的证书。 以下过程描述如何生成自签名证书。如果您按照我们的建议使用第三方证书,则可以跳过此过程。 在代理主机之一上运行此过程。生成证书和关联的密钥后,您将与其他代理主机和 Tableau Server 节点 1 共享它。 1. 生成签名根证书颁发机构 (CA) 密钥: `openssl genrsa -out rootCAKey.pem 2048` 2. 创建根 CA 证书: `openssl req -x509 -sha256 -new -nodes -key rootCAKey.pem -days 3650 -out rootCACert.pem` 系统将提示您输入证书字段的值。例如: Country Name (2 letter code) \[XX\]:US State or Province Name (full name) \[\]:Washington Locality Name (eg, city) \[Default City\]:Seattle Organization Name (eg, company) \[Default Company Ltd\]:Tableau Organizational Unit Name (eg, section) \[\]:Operations Common Name (eg, your name or your server's hostname) \[\]:tableau.example.com Email Address \[\]:example@tableau.com 3. 创建证书和相关密钥(在下面的示例中为 `serverssl.csr` 和 `serverssl.key`)。证书的使用者名称必须与 Tableau 主机的公共主机名称匹配。使用者名称是使用 `-subj` 选项以`"/CN="` 格式设置的,例如: `openssl req -new -nodes -text -out serverssl.csr -keyout serverssl.key -subj "/CN=tableau.example.com"` 4. 使用您在步骤 2 中创建的 CA 证书签署新证书。以下命令还将以 `crt` 格式输出证书: `openssl x509 -req -in serverssl.csr -days 3650 -CA rootCACert.pem -CAkey rootCAKey.pem -CAcreateserial -out serverssl.crt` ### 步骤 2:为 SSL 配置代理服务器 在两个代理服务器上运行此过程。 1. 安装 Apache ssl 模块: `sudo yum install mod_ssl` 2. 创建 `/etc/ssl/private` 目录: `sudo mkdir -p /etc/ssl/private` 3. 将 crt 和 key 文件复制到以下 `/etc/ssl/` 路径: `sudo cp serverssl.crt /etc/ssl/certs/` `sudo cp serverssl.key /etc/ssl/private/` 4. 使用以下更新对现有 `tableau.conf` 进行更新: - 添加 SSL 重写块: RewriteEngine on RewriteCond %{SERVER\_NAME} =tableau.example.com RewriteRule ^ https://%{SERVER\_NAME}%{REQUEST\_URI} \[END,NE,R=permanent\] - 在 SSL 重写块中,更新 `RewriteCond` 服务器名称:添加您的公共主机名,例如,`tableau.example.com` - 将 `` 更改为 ``。 - 使用以下内容封装 `` 和 `` 块: `` ...``。 - `BalancerMember`: 将协议从 `http` 更改为 `https`。 - 在 `` 块内添加 `SSL*` 元素: SSLEngine on SSLCertificateFile /etc/ssl/certs/serverssl.crt SSLCertificateKeyFile /etc/ssl/private/serverssl.key SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off - 在 `LogLevel` 元素中:添加 `ssl:warn`。 - 可选:如果您已安装并配置了身份验证模块,则 tableau.conf 文件中可能包含其他元素。例如, ` ` 块将包含元素。 此处显示了针对 SSL 配置的示例 tableau.conf 文件: RewriteEngine on RewriteCond %{SERVER\_NAME} =tableau.example.com RewriteRule ^ https://%{SERVER\_NAME}%{REQUEST\_URI} \[END,NE,R=permanent\] ServerAdmin admin@example.com ProxyHCExpr ok234 {%{REQUEST\_STATUS} =~ /^\[234\]/} Header add Set-Cookie "ROUTEID=.%{BALANCER\_WORKER\_ROUTE}e; path=/" env=BALANCER\_ROUTE\_CHANGED BalancerMember https://10.0.3.36/ route=1 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico BalancerMember https://10.0.4.15/ route=2 hcmethod=GET hcexpr=ok234 hcuri=/favicon.ico ProxySet stickysession=ROUTEID ProxyPreserveHost On ProxyPass / balancer://tableau/ ProxyPassReverse / balancer://tableau/ DocumentRoot /var/www/html ServerName tableau.example.com ServerSignature Off ErrorLog logs/error\_sp.log CustomLog logs/access\_sp.log combined LogLevel info ssl:warn SSLEngine on SSLCertificateFile /etc/ssl/certs/serverssl.crt SSLCertificateKeyFile /etc/ssl/private/serverssl.key SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off #If you have configured a pre-auth module (e.g. Mellon) include those elements here. 5. 添加 index.html 文件以抑制 403 错误: sudo touch /var/www/html/index.html 6. 重启 httpd: sudo systemctl restart httpd ### 步骤 3:为外部 SSL 配置 Tableau Server 将 serverssl.crt 和 serverssl.key 文件从代理 1 主机复制到初始 Tableau Server(节点 1)。 在节点 1 上运行以下命令: tsm security external-ssl enable --cert-file serverssl.crt --key-file serverssl.key tsm pending-changes apply ### 步骤 4:可选身份验证配置 如果您为 Tableau 配置了外部身份提供程序,则您可能需要更新 IdP 管理仪表板中的返回 URL。 举例来说,如果您使用 Okta 预身份验证应用程序,您将需要更新应用程序以对收件人 URL 和目标 URL 使用 HTTPS 协议。 ### 步骤 5:为 HTTPS 配置 AWS 负载平衡器 如果您按照本指南中的说明使用 AWS 负载平衡器进行部署,那么您可以重新配置 AWS 负载平衡器以将 HTTPS 流量发送到代理服务器: 1. 取消注册现有 HTTP 目标组: 在“目标组”中,选择已为负载平衡器配置的 HTTP 目标组,单击“操作”,然后单击“注册和注销实例”。 在“注册和注销目标”页面上,选择当前配置的实例,单击“注销”,然后单击“保存”。 2. 创建 HTTPS 目标组 “目标组”\>“创建目标组” - 选择“实例” - 输入目标组名称,例如 `TG-internal-HTTPS` - 选择您的 VPC - 协议:HTTPS 443 - 在“运行状况检查”\>“高级运行状况检查设置”\>“成功代码”下,将代码列表追加为:`200,303`。 - 单击“创建”。 3. 选择刚刚创建的目标组,然后单击“目标”选项卡:  - 单击“编辑” - 选择正在运行代理应用程序的 EC2 实例,然后单击“添加到已注册”。 - 单击“保存”。 4. 创建目标组后,您必须启用粘性: - 打开 AWS 目标组页面(“EC2”\>“负载平衡”\>“目标组”),选择您刚刚设置的目标组实例。在“操作”菜单上,选择“编辑属性”。 - 在“编辑属性”页面上,选择“粘性” ,指定持续时间 `1 day`,然后保存更改。 5. 在负载平衡器上,更新侦听器规则。选择您为此部署配置的负载平衡器,然后单击“侦听器”选项卡。 - 对于“HTTP:80”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。删除现有 THEN 规则,并通过单击“添加操作”\>“重定向至...”替换该规则。在生成的 THEN 配置中,指定 `HTTPS` 和端口 `443`,并将其他选项保留为默认设置。保存设置,然后单击“更新”。 - 对于“HTTP:443”,单击“查看/编辑规则”。在生成的“规则”页面上,单击编辑图标(一次位于页面顶部,然后再次位于规则旁边)以编辑规则。在“THEN”配置中的“转发到...”下,将目标组更改为您刚刚创建的 HTTPS 组。在“组级粘性”下,启用粘性并将持续时间设置为 1 天。保存设置,然后单击“更新”。 #### 步骤 6:验证 SSL 通过浏览到 https://tableau.example.com 来验证配置。