开始使用对 MySQL 的联合查询
要创建对 MySQL 数据库的联合查询,请遵循以下常规方法:
设置 Amazon Redshift 集群与 Amazon RDS 或 Aurora MySQL 数据库实例的连接。
为此,请确保 RDS MySQL 或 Aurora MySQL 数据库实例可以接受来自 Amazon Redshift 集群的连接。我们建议您的 Amazon Redshift 集群和 Amazon RDS 或 Aurora MySQL 实例位于相同的 Virtual Private Cloud (VPC) 和子网组中。这样一来,您就可以将 Amazon Redshift 集群的安全组添加到 RDS 或 Aurora MySQL 数据库实例的安全组的入站规则中。
您还可以设置 VPC 对等连接或其他联网来允许 Amazon Redshift 与 RDS 或 Aurora MySQL 实例建立连接。有关 VPC 联网的更多信息,请参阅以下内容。
《Amazon VPC 对等连接指南》中的什么是 VPC 对等连接?
《Amazon RDS 用户指南》中的在 VPC 中使用数据库实例
注意
如果您的 Amazon Redshift 集群位于与您的 RDS 或 Aurora MySQL 实例不同的 VPC 中,则启用增强型 VPC 路由。否则,运行联合查询时可能会收到超时错误。
在 AWS Secrets Manager 中为您的 RDS MySQL 和 Aurora MySQL 数据库设置密钥。然后,在 AWS Identity and Access Management (IAM) 访问策略和角色中引用密钥。有关更多信息,请参阅 创建密钥和 IAM 角色以使用联合查询。
注意
如果您的集群使用增强型 VPC 路由,您可能需要为 AWS Secrets Manager 配置接口 VPC 端点。当您的 Amazon Redshift 集群的 VPC 和子网无权访问公有 AWS Secrets Manager 端点时,需要执行此操作。当您使用 VPC 接口端点时,VPC 中的 Amazon Redshift 集群和 AWS Secrets Manager 之间的通信将从 VPC 私密路由到端点接口。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建接口端点。
将之前创建的 IAM 角色应用于 Amazon Redshift 集群。有关更多信息,请参阅 创建密钥和 IAM 角色以使用联合查询。
使用外部 schema 连接到 RDS MySQL 和 Aurora MySQL 数据库。有关更多信息,请参阅 CREATE EXTERNAL SCHEMA。有关如何使用联合查询的示例,请参阅使用联合查询 与 MySQL 的示例。
运行您的引用外部 schema 的 SQL 查询,该 schema 引用了 RDS MySQL 和 Aurora MySQL 数据库。