安装步骤
软件包为什么是定制的
Section titled “软件包为什么是定制的”CloudFormation 模板中的账号、区域、VPC、环境和源账号都已经 确定。安装时没有任何 需要选择的内容。
这是刻意的设计,而不是限制。这些决定会改变 模板所声明的资源本身:使用现有存储桶的 数据湖,与需要新建存储桶的数据湖声明的资源并不相同;跨账号的数据来源会引入单账号安装 所没有的策略。若把这些做成安装程序中的选项,要么产生不起作用的选择,要么更糟——创建出 不一致的资源,而问题只会在之后才暴露出来。
安装程序本身也拒绝在错误的位置运行:它会把你的凭证与软件包对应的账号和区域进行比对, 不一致就停止。
在交付之前,我们会与你一起确定:
| 内容 | 为什么会改变软件包 |
|---|---|
| 账号与区域 | 会写入模板和清单文件 |
| VPC 与子网 | 使用现有 VPC 还是新建;决定作业在哪里运行 |
| 数据湖存储桶 | 复用你已有的存储桶,还是新建一个 |
| 环境 | prd、hom 等,会出现在每个资源的名称中 |
| 目录数据库 | Glue 中的数据库名称(默认为 datalake) |
| 源账号 | 每个跨账号的账号都会向模板追加权限 |
| 版本 | 由你选择;历史版本仍然可用 |
随后你会收到一个包含模板、清单文件和脚本的软件包——针对这一套场景、这一个账号。
CO2 Lab 在任何时候都不会获得你账号的访问权限。 运行脚本的是你自己,使用的是你自己的 凭证。
什么时候需要新的软件包
Section titled “什么时候需要新的软件包”有些变更在安装之后无法通过配置调整,因为它们会改变模板本身:
- 接入新的源账号 — 该账号的权限必须存在于模板中
- 更换 VPC 或数据湖存储桶
- 升级版本
遇到这些情况,请联系我们,然后把新的软件包覆盖安装上去—— 差异由 CloudFormation 处理。
1. 安装堆栈
Section titled “1. 安装堆栈”解压软件包,并在其目录内执行:
sh install-datapump.sh脚本会核对你的凭证是否属于软件包对应的账号和区域——把它应用到别处会创建出不一致的 资源,而这些问题只会在之后才暴露出来。如果一切正常,脚本会创建(或更新)堆栈。
升级到新版本时,使用新软件包执行同一条命令即可,差异由 CloudFormation 处理。
2. 配置登录 URL
Section titled “2. 配置登录 URL”sh post-install.sh控制台地址只有在负载均衡器创建之后才存在,而 CloudFormation 不允许它与 Cognito 之间 形成循环依赖。这个脚本用来闭合这个环。
重复执行是安全的——它会用当前值覆盖这些 URL。
3. 启用 HTTPS
Section titled “3. 启用 HTTPS”sh setup-https.sh除 localhost 外,Cognito 会拒绝 http 的回调 URL。没有 HTTPS,登录无法工作。
如果没有自有域名,脚本会生成一个自签名证书并导入 ACM。 浏览器会提示该证书不受信任——这是没有域名的代价。要消除该提示,请使用你自己的证书:
CERTIFICATE_ARN=arn:aws:acm:... sh setup-https.sh4. 创建第一个用户
Section titled “4. 创建第一个用户”控制台通过 Cognito 进行认证。请在 AWS 控制台的 datapump-* 用户池中创建第一个用户。
之后的用户管理就在 Data Pump 自身的 Acessos(访问管理)中完成。
5. 访问控制台
Section titled “5. 访问控制台”控制台位于 内部 负载均衡器之后,不对公网开放。你可以从 VPC 内部、通过 VPN,或者 通过 Session Manager 隧道访问。
地址可在堆栈的输出中查看:
aws cloudformation describe-stacks --stack-name DatapumpStack \ --query "Stacks[0].Outputs[?OutputKey=='DatapumpConsoleUrl'].OutputValue" \ --output text安装会创建基础设施,但数据湖此时仍是空的:还没有任何数据库被勾选接入。请继续阅读 配置数据接入。