在AWS Redshift 中使用联邦查询 MySQL

目录

    • [1️⃣ 前言](#1️⃣ 前言)
    • [2️⃣ 创建密钥](#2️⃣ 创建密钥)
    • [3️⃣ 创建IAM角色](#3️⃣ 创建IAM角色)
    • [4️⃣ 绑定Redshift Serverless](#4️⃣ 绑定Redshift Serverless)
    • [5️⃣ 启用增强型 VPC 路由](#5️⃣ 启用增强型 VPC 路由)
    • [6️⃣ 创建外部SCHEMA](#6️⃣ 创建外部SCHEMA)

1️⃣ 前言

通过在 Amazon Redshift 中使用联邦查询,我们可以跨操作数据库、数据仓库和数据湖查询和分析数据。目前支持 Amazon RDS for PostgreSQL、Amazon Aurora PostgreSQL 兼容版本、Amazon RDS for MySQL 和 Amazon Aurora MySQL 兼容版本中的外部数据库。本文讲解 Redshift Serverless 对 Amazon RDS for MySQL 的联合查询。

您可能会问,Redshift 联邦查询计算资源用的什么❓

为了减少网络上的数据移动并提高性能,Amazon Redshift 将联邦查询的计算部分直接分发到远程操作数据库中。Amazon Redshift 还根据需要使用其并行处理能力来支持运行这些查询。-- 官网

在同区域内部署时,除外部 DB 本身的 I/O 成本外,联邦查询只消耗 Redshift 集群的已有计算容量。若需要更高并发,只能 垂直扩容(升级节点类型/数量)或 使用 Serverless 并调高 RPU。-- 博客

注意❗️

如果您的 Amazon Redshift 集群位于与您的 RDS 或 Aurora MySQL 实例不同的 VPC 中,需启用增强型 VPC 路由,否则运行联合查询时会收到超时错误。下文中有如何启用。

2️⃣ 创建密钥

搜索 Secrets Manager

保存新密钥

这里就是保存连接MySQL的用户名和密码,避免创建外部schema时使用明文

选择MySQL实例

命名密钥

记住这个密钥ARN,创建外部schema时需要用

ARN(Amazon Resource Name,亚马逊资源名称) 是一种全局唯一的资源标识符,用于精确标识云平台中的各类资源(如实例、存储桶、数据库、IAM 角色等),避免不同区域、不同账户下的资源混淆。

3️⃣ 创建IAM角色

搜索 IAM (Identity and Access Management) ,创建Role

选择Redshift

添加这三个Policy

4️⃣ 绑定Redshift Serverless

需要将上面创建的角色绑定到Redshift Serverless

绑定角色

记住这个角色ARN,创建外部schema时需要用

5️⃣ 启用增强型 VPC 路由

找到Workgroup,选择Data access,点击编辑

启用增强型 VPC 路由

6️⃣ 创建外部SCHEMA

sql 复制代码
CREATE EXTERNAL SCHEMA IF NOT EXISTS my_db
    FROM MYSQL
    DATABASE 'my_db'
    URI 'ip' PORT 3306
    IAM_ROLE 'arn:aws:iam::xxx:role/redshift_role' -- 第三步的角色ARN
    SECRET_ARN 'arn:aws:secretsmanager:xxx:secret:test/prev-edVRW7'; -- 第二步的密钥ARN
drop schema my_db;

创建完就可以直接用了

sql 复制代码
select * from my_db.books_table limit 10;
相关推荐
敲个大西瓜22 分钟前
Java项目常用数据归档方式
mysql
kyriewen2 小时前
面试官让我查各部门工资最高的员工,我用AI三秒写出窗口函数,他愣了
后端·mysql·面试
小码工作室3 小时前
使用 HAVING 进行 MySQL 集合筛选
mysql
罗超驿3 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
小江的记录本4 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
木心术14 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql
这个DBA有点耶4 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
小江的记录本5 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
Java成神之路-5 小时前
深入拆解 MySQL InnoDB 隔离级别:从 MVCC 到临键锁
mysql
zhojiew5 小时前
使用Redis Stream订阅HUATUO发布SSE内核可观测性事件并进行AI分析的数据管道实践
运维·hbase·aws